本文构建一个AXI4-Lite Master IP来实现PL读写DDR3。最后用sdk 程序验证pl 读写过程中写入的数据。
本文参考 https://www.eefocus.com/antaur/blog/17-08/423773_0818c.html 学习而来,但我添加了数据验证部分。
我的另篇博文是:zynq 7000 自定义IP 实验https://blog.youkuaiyun.com/leon_zeng0/article/details/78674832
对于理解本文也有很多帮助。那篇是 构建一个AXI4-Lite Slave IP,本文是AXI4-Lite Master IP。
对于代码的解说,请见:PL读写DDR3 实现PS和PL间的数据交互 代码分析
1:新建一个试验工程
这里只是简单介绍一下,详细的设置,可以查看我的上文:自定义IP 实验。
打开Vivado, 点击新建工程,工程取名 RWddr。
一路Next , 在硬件设置界面设置好你所用的硬件。
点击Create Block Design,取名system。
在原理图里右键添加ip , 添加ZYNQ Processing System. 添加完成后点击 Run Block Automation。
然后 点击图标, recustom ip, 设置处理器。首先设置好DDR,设置信息监控端口, UART1,
时钟设置比较重要,选择Clock Configuration,点开 IO Peripheral Clocks, PL Fabric Clocks, 检查FCLK_CLK0 是否已勾上,并且频率设置为100 MHZ。
PS-PL Configuration 这里是本文与上文自定义IP 实验的差异。上面红箭是上文中选择了的,使用 AXI4-Lite Slave IP 就要勾上一个。
下面的红箭则是因为我们要用到AXI4-Lite Master IP
2:建立自定义IP
菜单选择 Tools -> Crea