讲述fpga在vivado中硬件调试的方法。
网上有很多的相关资料,在学习的时候进行了一翻查找,但是感觉对于新手而言,快速上手的的话需要清晰的思路。
主要调试思路如下:(硬件调试仿真)
- 标记想要观察的信号
- 例化ila核,标记的信号连接到ila核的probe端口
明确了硬件调试的主要这两点,就可以按照思路一步步完成,
接下来:1.标记信号
标记信号的方法主要有两种,第一种方法通过在程序中添加
(mark_debug=“true”),完成了对信号的标记
如:(mark_debug=“ture”)wire[7:0] led;
上述操作就是对led信号进行了标记。
这种方法可以在程序编写的时候随时添加,而且在综合布局时不会被优化。
第二种方法:通过netlist进行标记,在进行综合后,打开综合中的选项open synthesized design,(图1)右侧打开netlist,选择想要观测的信号,右键添加mark_debug,左侧的netlist和右侧的schematic是对应的,也可以在右侧的图中选中信号线添加,效果是一样的
这两种添加mark的方法都可以,标记之后在界面下方debug选项中,会存在unassigned debug nets.(图2)这些信号就是标记的信号。接下来将是第二步操作,例化ila核,连接端口线。
- 例化ila 连接端口
该操作同样有两种不同的方法,
第一种方法是手动例化,在程序中添加IP核,该方法和正常的例化IP是一样的操作,具体的参数(图3)请根据实际情况进行。
另一种方式是通过设置向导进行例化ila核。
通过点击set up debug进入向导,可以通过综合下面的set up debug选项进入,也可以通过第一步标记信号中的debug下方中的unassigned debug net 中的信号选中,点击右键选择set up debug也可以进入设置向导(图4)
然后可以根据实际情况进行设置(图5)(可以参考网上设置过程)
至此,硬件调试的准备工作就已经完成了,生成bitstream文件,连接硬件设备,下载程序,等到硬件完成后在软件右侧就可以看到和simulation相似的界面了,根据程序目的进行实际调试工作。