VIVADO和SDK的联合硬件调试

参考Miz702N手册和https://blog.csdn.net/qq_34322603/article/details/72854621
Miz702N手册给出的调试方法包括ILA和VIO,ILA又包括添加Debug Mark和插入ILA IP。
第一步,在Block Design中搭建硬件系统,并且要使能Cross Triger功能。
VIVADO和SDK的联合硬件调试_第1张图片
第二步,在Block Design中完成硬件设计后,对于想要抓取的信号标记Debug Mark或者连接到ILA_IP, 在这里,AXI总线用Mark Debug的方法,LED输出用ILA_IP,VIO在线查看修改MATH_IP的输入输出情况。
第三步,保存工程,此时系统会重新生成约束文件,对现有的约束文件进行填充,打开约束文件进行Reload即可,然后生成bitstream并将硬件导入SDK,运行SDK。
第四步,设置软件调试断点,在SDK下Program FPGA。
第五步,回到VIVADO界面连接目标板,进入硬件调试界面。
左边栏hardware会显示系统添加的硬件调试IP,我的硬件中手动加入了一个ila ip和vio ip,在进行set up debug的操作时系统会自动添加一个ila ip,左边栏显示了三个调试ip。
第六步,设置触发信号,触发窗口
第七步,启动循环触发,进行软件调试。

添 加 Mark Debug 观 察 AXI4-Lite 总 线 上 的 工 作 情 况 , 添 加 VIO CORE 观 察
MATH_IP 的工作情况, 添加 ILA CORE 观察 LED 的 PIN 脚输出情况:这三者的区别是什么?
Mark Debug 主要是用在总线协议
ILA 主要是用在不能添加总线的需要被观察的信号
VIO 是虚拟IO, 可以在线查看修改

2019年6月在做的基于ZYNQ的信号发生器联合仿真结果:
通过SW3实现波形可变,SW2实现频率的调节。遇到的难点是一开始仿真出来的正弦波是图4的样子,显然只显示了完整正弦波的1/4,解决的方法是读地址的增量乘以4,原因是RAM存储的位宽是32位,而ZYNQ最小可寻单元为字节,所以一个存储内容占据4个字节空间。

VIVADO和SDK的联合硬件调试_第2张图片
VIVADO和SDK的联合硬件调试_第3张图片
VIVADO和SDK的联合硬件调试_第4张图片

你可能感兴趣的:(ZYNQ)