作者:碎碎思,来源:<span id="profileBt"><a href="https://mp.weixin.qq.com/s?__biz=Mzg4ODA5NzM1Nw==&mid=2247487905&idx=1&…; OpenFPGA微信公众号</a></span>
在《AXI-Lite 自定义IP》章节基础上,添加ila\vio等调试ip,完成后的BD如下图:
<center><img src="http://xilinx.eetrend.com/files/2020-10/%E5%8D%9A%E5%AE%A2/100056491-11…; alt=""></center>
<p align="center"><strong>图4‑53 添加测试信号</strong></p>
加载到SDK,并且在Vivado中连接到开发板。
Trigger Setup,点击“+”,选择 AXI_WVALID,双击添加。设置 Radix 为 B,触发条件 Value 为 1。
<center><img src="http://xilinx.eetrend.com/files/2020-10/%E5%8D%9A%E5%AE%A2/100056491-11…; alt=""></center>
<p align="center"><strong>图4‑54 添加信号</strong></p>
设置触发位置为 512
<center><img src="http://xilinx.eetrend.com/files/2020-10/%E5%8D%9A%E5%AE%A2/100056491-11…; alt=""></center>
<p align="center"><strong>图4‑55 设置触发位置</strong></p>
单击运行按钮,启动触发,进入等待触发状态。
<center><img src="http://xilinx.eetrend.com/files/2020-10/%E5%8D%9A%E5%AE%A2/100056491-11…; alt=""></center>
<p align="center"><strong>图4‑56 等待触发</strong></p>
单击 SDK 中的运行按钮后, VIVADO 中 HW_ILA2 窗口采集到波形输出,可以看到 AXI 总线的工作时序。
SDK中 mian.c 程序功能是向 AXI4 总线写入 1~4,再从 AXI4 总线读数据,从上面对未修改直接封装的 IP 分析,可以读出的数据应等于写入的数据。
从波形图可以看出,写入的数据是 1、 2、 3、 4,对应基地址的偏移地址是 0、 4、 8、 12。
<center><img src="http://xilinx.eetrend.com/files/2020-10/%E5%8D%9A%E5%AE%A2/100056491-11…; alt=""></center>
<p align="center"><strong>图4‑57 仿真结果</strong></p>