VIVADO在线逻辑分析仪(ILA)的使用
在实际调试有些可能会遇到一些意想不到的问题,而且有时候仿真并不能直接反映出问题所在。以往很多时候时只能通过把待测信号引到输出引脚然后用示波器或者逻辑分析仪进行测试分析,但这么做非常麻烦,而且对于多bit数据来说这样抓取更加麻烦。而Xilinx的vivado已经可以通过使用内置的ILA(在线逻辑分析仪)进行板上调试,为调试带来不少便捷。具体操作如下:
方法1:例化ILA 核
1.点击IP Catalog
2.在IP Catalog查找栏输入ILA,并选择红框处IP
3.在根据实际需求配置相关参数,红框处2个参数最为重要。前一个参数表示需要测信号的个数;后一个参数表示待测信号的长度(以clk时钟个数为单位)数值越大越消耗资源。第二页设置每路通道的位宽,这里默认1位。
4.接着在工程待测信号的代码模块中例化ILA
5.编译生成bit文件,然后连接JTAG,板卡上电,检测到板卡型号匹配,这里用的是7020
6.xc7z20_1右键,点击Program Device进行烧录
7.显示除了.bit文件外还有.ltx文件,说明ILA例化成功,点解Program即可。
方法2:综合后Debug,该方法笔者经常用,更方便
1.保持源码的基础上点击Run Synthesis或者Generate Bitstream
2.综合结束后,选择Synthesis下的Set Up Debug,然后跳出如下图,把红框的Cancel选中点击。
3.选中Netlist需要抓取的信号,右键选择Mark Debug;如果这里没显示想要抓取的信号,则须在步骤1的源码里头信号声明前添加(* dont_touch = "yes" *),这样信号才不会在综合时被优化。
4.选择完所有需要抓取的信号如图
5.选择Set Up Debug,点击弹出框的next
6.先选择抓取时钟,然后点击next
7.选择采用长度,然后next,然后对弹出的窗口点击finish。
8.此时点击Generate Bitstream.一路按下图依次完成即可
此时打开引脚约束文件,发现多了很多Debug的约束语句。
9.生成bit文件之后,按正常步骤进行烧录即可,其余与方法1一致。
最后对ILA界面做下简单介绍
区域 1:设置采样的启动停止,和采样的方式
区域 2:设置触发信号
区域 3:被观察的信号名字
区域 4:被观察的信号波形
区域 5:触发模式设置
区域 6:触发设置
点击run之后可看到波形