Vivado在线调试之集成逻辑分析仪(ILA)的使用

引言

       由于在对FPGA进行编程时,当出现问题时,免不了要对内部信号进行一些监测和调试,以找出问题所在并加以解决,本文主要介绍在Vivado平台下如何利用集成逻辑分析仪(ILA)进行在线调试。调试的例子是利用串口通信连续发送0-255这256个数据。

具体操作步骤

  • 建立工程(建立工程的基本操作在这里就不详细介绍了,按照一般建立工程的操作进行即可)

       Creat Project->工程命名->选择工程存放路径->选择目标器件->添加源文件->添加测试文件

  • 由于之前我们对代码的仿真已经通过,所以接下来进行RTL ANALYSIS

Vivado在线调试之集成逻辑分析仪(ILA)的使用

  •  I/O约束

Vivado在线调试之集成逻辑分析仪(ILA)的使用

Vivado在线调试之集成逻辑分析仪(ILA)的使用

  • 保存约束文件

Vivado在线调试之集成逻辑分析仪(ILA)的使用

  • 综合

Vivado在线调试之集成逻辑分析仪(ILA)的使用

  • 时钟约束(由于我们目前的例子比较简单,时序也不复杂,所以只需要对输入时钟进行约束即可,时钟约束为50MHz)

Vivado在线调试之集成逻辑分析仪(ILA)的使用

Vivado在线调试之集成逻辑分析仪(ILA)的使用

时钟约束完成后记得Reload约束文件。

  • 添加Debug信号

Vivado在线调试之集成逻辑分析仪(ILA)的使用

添加debug信号直接从Netlist窗口中从把Net往Net to Debug窗口中拉就行 

Vivado在线调试之集成逻辑分析仪(ILA)的使用

  • 设置采样深度(不同采样深度导致调试时单次触发存储的数据量不同,范围从1024-131072,这里我们选1024)

Vivado在线调试之集成逻辑分析仪(ILA)的使用

完成后记得Reload约束文件,在debug窗口ctrl+s保存即可

  • 实现

Vivado在线调试之集成逻辑分析仪(ILA)的使用

由于插入debug core后可能导致时序不收敛,所以要在实现之后查看时序报告,看时序是否收敛。

Vivado在线调试之集成逻辑分析仪(ILA)的使用

  •  产生bit流

Vivado在线调试之集成逻辑分析仪(ILA)的使用

  • open target

Vivado在线调试之集成逻辑分析仪(ILA)的使用

  • 编程设备

Vivado在线调试之集成逻辑分析仪(ILA)的使用

Vivado在线调试之集成逻辑分析仪(ILA)的使用

  • 编程下载后就出现Debug窗口了

       setting窗口用于设置窗口数据深度,刷新速率等,status窗口用于显示当前调试的状态,trigger setup用于设置触发条件。

Vivado在线调试之集成逻辑分析仪(ILA)的使用

至此,我们就可以根据Debug波形来进行程序的调试与修改了。