PL通过NoC读写DDR4实验
实验VIvado工程为“pl_rw_ddr”
1.1硬件介绍
开发板的PL端有4颗16bit ddr4
1.2Vivado工程建立
Versal的DDR4是通过NoC访问,因此需要添加NoC IP进行配置。
1.2.1创建一个Block design并配置NoC
1)选择Create Block Design
2)添加CIPS
3)双击CIPS,选择PL_Subsystem,只有PL端的逻辑
4)添加NoC IP
5)配置NoC
选择一个AXI Slave和AXI Clock,选择”Single Memory Controller”
选择Inputs为PL
连接port
DDR4配置
配置完成,点击OK
6)配置CIPS,添加复位
点击Finish
7)添加Clocking Wizard,配置输出时钟150MHz,作为PL端读写时钟
8)添加IBUFDS为NoC和Clocking Wizard提供参考时钟,并导出S00_AXI,CH0_DDR4_0等总线,添加axi_clk,axi_resetn为PL端提供时钟和复位。
双击参考时钟引脚,并配置频率为200MHz
双击AXI总线,并配置
9)分配地址
10)Create HDL
1.2.2添加其他测试代码
其他代码主要功能是读写ddr4并比较数据是否一致,这里不做详细介绍,可参考工程代码。
1)在mem_test.v中添加mark_debug调试
2)引脚绑定
3)综合
4)综合完成后点击Set up debug
根据需求设置采样点数
之后保存,并生成pdi文件
1.3下载调试
生成pdi文件以后,使用JTAG下载到开发板,在MIG_1窗口会显示DDR4校准等信息
在hw_ila_1中可以查看调试信号
1.4实验总结
本实验通过PL端Verilog代码直接读写ddr4,主要了解NoC的配置方法,如何通过NoC访问DDR4,后续的实验中都要用到此配置。
文章来源:ALINX