本章主要介绍ZYNQ 7020的PL端在PS的控制下实现对DDR的访问,通过debug的方式抓取DDR S_AXI_HP接口的时序,方便在PL内以verilog的形式直接访问DDR/OCM
本设计中软件版本:VIVADO2018.1,对应SDK也为 2018.1
硬件开发环境:MYIR ZYNQ-7020开发板 + xilinx usb JTAG + usb uart
一 、PL端设计
block design端的block配置参考该链接完成,Using the AXI DMA in Vivado,本文不再做描述
布线完成后如下如所示:
图 1 BLOCK框图
如图2所示,PL通过PS端的S_AXI_HP接口访问DDR及OCM(on chip memory)中的数据:
图2 PS内部结构框图
high performance AXI slave接口可配置为32bit/64bit带宽模式,协议类型为AXI3, 使用时可通过AXI SMART模块转换为AXI4协议。AXI SMART 配置界面如下:
图3 AXI-SMART core 配置界面
二、debug
1、 上述链接中的布线完成后,点击SYNTHESIS选项中的set up debug,将AXI SMC模块S_D00端口的所有信号加入到debug net中,重新综合。如下图所示:
2、连接JTAG:Open Hardware Manager->Open Target->Auto Connect,并将bit文件及ila文件烧写到FPGA中,如下图:
3、打开Window->Debug Probes ,选中要观察的信号,右键add probes to waveform,将待观察信号加入到wave试图中,如下图所示:
4、设置触发信号,点击右下角的Trigger Setup窗口的“+”,add probre,在value中选择触发方式,1为高电平,R为上升沿触发,如下图所示:
5、点击run trigger按钮,开始触发信号
6、launch SDK,SDK中代码已按照参考链接中的调试好。 点击run->debug,完成后点击run->run,软件代码执行完成,返回vivado,波形已经触发。
7、查看波形,可以看到波形中AXI_SMART的读地址通道及读数据通道