当前位置: 首页 > news >正文

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

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

适用于板卡型号:

紫光同创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.lryc.cn/news/216365.html

相关文章:

  • MySQL BinLog实战应用之二
  • Visual Studio Code 快 捷 键
  • 有色金属冶炼VR虚拟场景互动教学有何优势
  • Python将知网导出的endnote题录转为Refworks模式
  • 单元测试反射注解
  • Android 交叉编译openssl 、libxml2静态库
  • 神经网络气温预测
  • 体验SOLIDWORKS钣金切口工具增强 硕迪科技
  • (八)Flask之app.route装饰器函数的参数
  • ES6.8集群配置注意点
  • Powercli批量修改分布式交换机端口组
  • ZKP10.2 Efficient Recursion via Statement Folding (Nova)
  • 高浓度cod废水怎么处理
  • Docker学习——②
  • VSCode 设置平滑光标
  • Spring、SpringMVC、Mybatis
  • Kubernetes 架构
  • python---数据类型(列表)
  • CentOS 7升级gcc/G++版本
  • uni-app开发微信公众号 H5打开扫一扫功能
  • k8s-服务网格实战-入门Istio
  • 金属压铸件自动化3D全尺寸测量设备自动外观检测三维检测-CASAIM
  • Android笔记(十):结合Navigation组件实现Compose界面的导航
  • linux内核tcp配置--断网后连接卡住
  • Apache Pulsar 在腾讯云上的最佳实践
  • VMware 虚拟机安装 CentOS 7
  • UnityAI——个体AI角色的操控行为脚本
  • ssh登录界面变成vim提示,进不去系统
  • 虹科示波器 | 汽车免拆检修 | 2012 款上汽大众帕萨特车 发动机偶尔无法起动
  • UE5.0.3版本 像素流送 Pixel Streaming