在紫光同创盘古50K开发板上进行DDR读写测试

news2024/11/29 2:42:35

本原创文章由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处

适用于板卡型号:

紫光同创PGL50H开发平台(盘古50K开发板)

一:软硬件平台

软件平台:PDS_2022.1

硬件平台:小眼睛科技盘古50K开发板

二:IP介绍

紫光同创的HMIC_S IP只支持DDR3,IP顶层使用了精简的 AXI4 总线接口,最大支持32bit的数据位宽。IP的一次读写操作是burst地址8,选择32bit数据位宽下的IP数据接口位宽是32*8=256bit。

三:IP接口

如图所示,整个IP包括Simplified AXI4 接口、Config接口,还有物理接口。物理接口是连接片外DDR3的接口;Config接口为APB配置接口,通过该接口,用户可读取 DDR SDRAM 的状态,实现低功耗和MRS的控制;Simplified AXI4 接口包括写地址通道、读地址通道、写数据通道和读数据通道四个部分。具体可参考紫光IP Compiler下的DDR使用手册。

四:IP核参数配置

由于开发板外接了两块16bit数据位宽的DDR3,所以总数据位宽需要选择32;

因开发板的DDR3型号与默认项一致,step2不需要更改配置;

由于开发板的DDR3的控制/地址信号与默认项不一致,所以需要根据实际开发板的接口来自定义相关配置,最简单的方法复制一份有DDR3的开发板例程中fdc,勾选Enable fdc file select,导入fdc文件,DDR3的相关配置便会自动更改,而不需要手动一个一个更改。

五:测试读写逻辑

自增计数对DDR所有地址写一遍,写完后对所有地址读一遍,读出来的数据与写进去的数据做一个比较,比较错误则产生一个错误标志error_flag,error_flag接到LED1。

六:测试结果

如图所示,LED1为ddr3_init_done 的心跳灯,会以1s切换一次状态;LED2为error_flag指示灯,DDR3读写正确error_flag保持熄灭状态;LED3为写完成指示灯;LED4为读完成指示灯。

如图所示,为写DDR的时序图,当awvalid 和awready信号同时置1时,写地址发生传输。当wready信号置1时,数据发生传输,wusero_last信号为写数据最后一个标志。

如图所示,为读DDR的时序图,当arvalid和arready信号置1时,读地址发生传输。当rvalid信号置1时,代表读数据有效,rlast信号为读数据最后一个标志。

注意,IP的用户接口交互时钟是IP内部产生的100MHz,且不能配置更改。Debugger中waveform的刻度与信号是不对齐的,且有时候不容易看出信号有效周期是多少,在调试时可以在Debugger中的设置里的waveform里选择Pulse Width,且在Hardware Parameter里设置对应的采样时钟频率,这样可以帮助我们更容易分析单bit信号的正确性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1166269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DI93a HESG440355R3 通过其Achilles级认证提供网络安全

DI93a HESG440355R3 通过其Achilles级认证提供网络安全 施耐德电气宣布推出Modicon M580以太网PAC (ePAC)自动化控制器,该控制器采用开放式以太网标准,通过其Achilles级认证提供网络安全。M580 ePAC使工厂操作员能够设计、实施和运行一个积极利用开放网…

vue:js中合并对象的方法

目前比较常用的一共有三种 1、使用object.assign() 它可以将一个或多个对象的属性复制到目标对象中&#xff0c;第一个参数就是目标对象&#xff0c;这里举个例子&#xff1a; <template><div>{{data}}</div> </template> <script> export de…

【t5 pytorch版源码学习】t5-pegasus-pytorch源码学习

0. 项目来源 中文生成式预训练模型&#xff0c;以mT5为基础架构和初始权重&#xff0c;通过类似PEGASUS的方式进行预训练。 bert4keras版&#xff1a;t5-pegasus pytorch版&#xff1a;t5-pegasus-pytorch 本次主要学习pytorch版的代码解读。 项目结构&#xff1a; train…

一站式IT统一运维管理平台有哪些?大家都在用哪个?

随着公司业务的加大&#xff0c;不少企业从最初的一个运维系统增加到了几个运维系统&#xff0c;每个都是独立存在的&#xff0c;因此给运维小伙伴带来了不少困扰。因此不少小伙伴在问&#xff0c;有没有一站式IT统一运维管理平台&#xff1f;有哪些&#xff1f;大家都在用哪个…

HMDD 4.0:miRNA-疾病关系数据库

拥有多项自主专利技 术和软件著作权&#xff0c;具 有丰富的数据库平台 搭建经验。 凌恩-盈飞团队 MicroRNA&#xff08;miRNA&#xff09;是一类重要的小非编码RNA&#xff0c;在疾病诊断和治疗中发挥着重要作用。人类 MicroRNA 疾病数据库 (HMDD) 为 miRNA 相关医学提供了…

zookeeper节点类型

节点类型 持久节点&#xff08;Persistent Nodes&#xff09; 这些是Zookeeper中最常见的一种节点类型&#xff0c;当创建一个持久类型节点时&#xff0c;该值会一直存在zookeeper中&#xff0c;直到被显式删除或被新值覆盖。 临时节点&#xff08;Ephemeral Nodes&#xff…

基于Qt 的可视化图片处理程序——图片的加载与保存

基于Qt 的可视化图片处理程序——图片的加载与保存 Chapter1 基于Qt 的可视化图片处理程序——图片的加载与保存图片的加载图片加载到 Label完整代码图片的保存保存图片完整代码 void MainWindow::loadPixmap() {QImage img,image;QPixmap pixmap;LoadPicPath QFileDialog::ge…

(免费领源码)java#ssm#mysql爱心捐赠物资维护系统09536-计算机毕业设计项目选题推荐

摘要 随着信息技术的快速发展&#xff0c;计算机应用已经进入成千上万的家庭。随着物资数量的增加&#xff0c;物资库存管理也存在许多问题。物资数据的处理量正在迅速增加&#xff0c;原来的手工管理模式不适合这种形式。使用计算机可以完成数据收集、处理和分析&#xff0c;减…

vue3框架全局修改样式(字体颜色以及初始化定义基础elemplent颜色)

问题1、全局修改vue管理系统框架的字体颜色&#xff08;index.scss目录下修改&#xff09; 问题2、vue3中使用elemplent-plus中的el-select组件&#xff0c;默认选中二级或三级的一个数据&#xff0c;没有显示label只显示了id 问题如下 原因是因为 这个属性为true了&#xff0…

springboot+mybatis查询两次数据库结果不一致

最近遇到个bug记录一下。情景再现&#xff1a;在一个方法里有多次查询数据库的操作&#xff0c;但查询出的数据字段会被自动翻译。&#xff08;比如1翻译成是&#xff0c;2翻译成否&#xff09;。原因&#xff1a;mybatis缓存会被代码修改。在同一个sqlsession下&#xff0c;第…

彩色颜料背景的团建活动策划PPT模板

这是一套彩色颜料背景的团建活动策划PPT模板&#xff0c;共24页&#xff1b; PPT模板封面&#xff0c;使用了彩色颜料墨迹背景图片。中间放置带有阴影效果的白色矩形文本框&#xff0c;填写团建活动策划PPT标题。界面风格充满青春朝气。 PowerPoint模板内容页&#xff0c;由2…

Rust语言和curl库编写程序

这是一个使用Rust语言和curl库编写的爬虫程序&#xff0c;用于爬取视频。 use std::env; use std::net::TcpStream; use std::io::{BufReader, BufWriter}; ​ fn main() {// 获取命令行参数let args: Vec<String> env::args().collect();let proxy_host args[1].clon…

JVM 内存和 GC 算法

文章目录 内存布局直接内存执行引擎解释器JIT 即时编译器JIT 分类AOT 静态提前编译器&#xff08;Ahead Of Time Compiler&#xff09; GC什么是垃圾为什么要GC垃圾回收行为Java GC 主要关注的区域对象的 finalization 机制GC 相关算法引用计数算法&#xff08;Reference Count…

【嵌入式开发学习】__软件工程师的关键原则-18个系统设计概念

目录 前言 01. 域名系统 (DNS) 02. 负载均衡器 03. API 网关 04. 内容交付网络 (CDN) 05. 正向代理与反向代理 06. 缓存 07. 数据分区 08. 数据库复制 09. 分布式消息系统 10. 微服务 11. 数据库 12. 前端缓存 13. 后端缓存 14. 安全性 15. 高可用性与容错性 …

阿里云双11优惠活动:新老用户99元服务器和代金券领取攻略

2023阿里云双11优惠活动开启了&#xff0c;轻量2核2G3M带宽服务器87元一年、2核4G4M带宽165元一年&#xff0c;云服务器ECS经济型e实例2核2G3M固定带宽优惠价格99元一年&#xff0c;新老用户同享&#xff0c;并且续费不涨价&#xff0c;第二年99元续费。阿里云个人和企业用户还…

JAVA技术栈的有福啦!这款IDEA插件,写完代码即可调试

国产API调试工具 Apipost 推出IDEA插件&#xff0c;写完代码就可以调试接口并一键生成接口文档&#xff01;而且还可以根据已有的方法帮助您快速生成 url 和 params。Apipost Helper API 调试工具 API 管理工具 API 搜索工具。 在商店中搜索或直接点击下方链接即可下载&…

天猫商品评论API接口(评论内容|日期|买家昵称|追评内容|评论图片|评论视频..)

要获取天猫商品评论接口&#xff0c;您需要使用天猫开放平台提供的API接口。以下是一些可能有用的步骤&#xff1a; 注册并登录天猫开放平台&#xff0c;获取开发者账号。在开发者中心创建一个应用&#xff0c;获取应用的App Key和App Secret。使用天猫开放平台的API接口&…

Yolov8目标识别与实例分割——算法原理详细解析

前言 YOLO是一种基于图像全局信息进行预测并且它是一种端到端的目标检测系统&#xff0c;最初的YOLO模型由Joseph Redmon和Ali Farhadi于2015年提出&#xff0c;并随后进行了多次改进和迭代&#xff0c;产生了一系列不同版本的YOLO模型&#xff0c;如YOLOv2、YOLOv3、YOLOv4&a…

【进程控制⑦】:制作简易shell理解shell运行原理

【进程控制⑦】&#xff1a;制作简易shell&&理解shell运行原理 一.交互问题&#xff0c;获取命令行二.字串分割问题&#xff0c;解析命令行三.指令的判断四.普通命令的执行五.shell原理本质 一.交互问题&#xff0c;获取命令行 shell刚启动时就会出现一行命令行&#x…

如何建立个人百科,事半功倍

在现代社会&#xff0c;人们越来越重视个人品牌建设&#xff0c;而打造个人百科是其中重要的一环。那么&#xff0c;什么是个人百科呢&#xff1f;简单来说&#xff0c;它是一本介绍个人生平、成就和贡献的百科全书&#xff0c;其好处不言而喻。 首先&#xff0c;它可以提高个人…