Vivado在线调试之集成逻辑分析仪(ILA)的使用
引言
由于在对FPGA进行编程时,当出现问题时,免不了要对内部信号进行一些监测和调试,以找出问题所在并加以解决,本文主要介绍在Vivado平台下如何利用集成逻辑分析仪(ILA)进行在线调试。调试的例子是利用串口通信连续发送0-255这256个数据。
具体操作步骤
- 建立工程(建立工程的基本操作在这里就不详细介绍了,按照一般建立工程的操作进行即可)
Creat Project->工程命名->选择工程存放路径->选择目标器件->添加源文件->添加测试文件
- 由于之前我们对代码的仿真已经通过,所以接下来进行RTL ANALYSIS
- I/O约束
- 保存约束文件
- 综合
- 时钟约束(由于我们目前的例子比较简单,时序也不复杂,所以只需要对输入时钟进行约束即可,时钟约束为50MHz)
时钟约束完成后记得Reload约束文件。
- 添加Debug信号
添加debug信号直接从Netlist窗口中从把Net往Net to Debug窗口中拉就行
- 设置采样深度(不同采样深度导致调试时单次触发存储的数据量不同,范围从1024-131072,这里我们选1024)
完成后记得Reload约束文件,在debug窗口ctrl+s保存即可
- 实现
由于插入debug core后可能导致时序不收敛,所以要在实现之后查看时序报告,看时序是否收敛。
- 产生bit流
- open target
- 编程设备
- 编程下载后就出现Debug窗口了
setting窗口用于设置窗口数据深度,刷新速率等,status窗口用于显示当前调试的状态,trigger setup用于设置触发条件。
至此,我们就可以根据Debug波形来进行程序的调试与修改了。