发 帖  
原厂入驻New

【MYD-CZU3EG开发板试用体验】【内存篇】PS-DDR 测试

2019-10-3 16:23:28  1018 ARM FPGA Zynq MPSoC
分享
0
本帖最后由 agdhun 于 2019-10-3 19:17 编辑

测试软件平台:Vivado/SDK2019.1               硬件平台:MYD-CZU3EG
打开Vivado,建立如下的BD工程:
he1.png
he2.png

PL部分设计主要分为几块:AXIDMA、Bram Ctrl、Bram生成器和复位同步和很常见的AXI Interconnect IP,PL在设计时要引入PS的大黑盒子:
he1.png
这就是PS的配置IP,使用它配置PS,最终会生成一个适用于PS运行的C/Tcl文件,用于初始化PS,这就是这个IP的作用之一,另一个作用就是提供显式接口来控制PL端的综合、实现。
PS IP支持预置TCL脚本配置,也可以手动选择控制,支持配置完将当前配置保存为tcl,以便于下一次快捷配置;这个工程里配置l使用一组AXI HPM FPD(High speed Master Full-Power Domain DMA)总线和AXI HPC(High Speed Control) FPD和DDR一组,QSPI。
配置完成后可以Generate Outputs,如果不需要对PL端编程,可以直接到出HDF文件到SDK。
下一步,转移到SDK,可以通过Vivado内的Launch SDK启动,也可以手动在点击SDK程序;在SDK内新建一个工程,工程模板选择Zynq MP DRAM Test
这是xilinx的一份专门用于ZynqMP上PS端DDR测试的代码,它包括速度测试、眼图测试等,
第一步本程序会读取DDR的配置信息,然后初始化相应的变量,
XMt_ GetDdrConfigParams

读取DDR总线宽度、DDR的Rank信息(Rank的详细介绍请百度,我并不是很懂这个)、DDR的ECC功能是否启用、DDR的输入时钟源选择和DDR输入分频比(根据这个可以计算出当前DDR的工作频率);
he1.png
第二步就是选择测试项,在测试之前需要根据ECC来确定是否启用D-Cache,如果启用了EC则需要禁用D-Cache。测试项:
一、内存测试
内存测试提供了16M到8GB的定容量测试和自定义容量测试,测试步骤是相同的,
第一步接受需要测试的大小;
第二步生成测试数据
第三步填入测试数据到DDR
第四步设置D-Cache使用的区域范围(如果D-cache使用)
第五步读取DDR数据并与测试数据对比,确定有没有出现内存错误、Lane错误
第六步打印测试结果并通过串口发出

测试代码共提供了15种测试模式,各种测试模式生成不同类别随机数进行测试;同时它也提供了计算总耗时功能,此记时与ARM主频有很大的关系,时间仅可以粗略估算,具体测试DDR速度还需要用DMA进行测试。粗略估算为(16*2^index/time*2)
he1.png
16MB容量测试
he2.png
4GB容量测试
二、眼图测试
眼图测试主要提供了读写眼图测试和2-D读写眼图测试及一些眼图参数控制,例如Rank和测试起始地址,
第一步备份当前Sync_int和Serror异常的设置
第二步修改当前Sync_int和Serror异常调用的函数以适应于眼图测量的处理
第三步清除眼图相关寄存器、禁用DF(一维眼图读眼图没有进行这个操作)I、VT compensation;备份眼图中心值
第四步测量眼图左边沿右边沿(实质是修改时序参数,对DDR重新进行读写比对测试,获取错误结果)(二维的对Vref也进行扫描)
        1-D模式有一个Position为基准,线性控制Qsd、Qnsd(读)和Wdq、Wdqsl,然后进行特定范围的DDR读写测试,检查出DDR读写没问题胡Position区间;而2-D模式再加上一个Vref胡控制,2-D模式提供胡打印信息不多,可以稍微修改程序实现Ibert眼图的图形。
第五步恢复眼图中心值、启用DFI、恢复Sync_int和Serror异常的设置;
一位眼图是基于位置列出每个lane存在错误数据个数;
he1.png
1-D读测试结果
二维眼图是基于Vref找出每个lane存在读写问题区间
he2.png
2-D读测试结果
三、控制选项
这个提供了切换DDR测试使用的总线位宽(间接控制DDR的Lane数,只支持物理总线位宽为64)、D-Cache的启用与禁用和调试信息开关(Verbose)。

相关经验

blingbling111 2019-10-10 17:15:37
很详细, 感谢分享
回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发经验
关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表