FPGA学习日记(五)ZYNQ——在线逻辑分析仪(ILA)硬件调试及simulator仿真软件的创建使用
一、在线逻辑分析仪(ILA)
vivado的在线逻辑分析仪(ILA)其借用了传统逻辑分析仪的理念以及大部分的功能, 并利用 FPGA 中的逻辑资源, 将这些功能植入到 FPGA 的设计当中。如下图所示,ILA占用一部分FPGA内部逻辑资源,可看做一个模块,被设计模块所调用。ILA使用时需要与下载器连接,将FPGA的测试信号传回到vivadoIDE中,显示波形以供调试。运行过程如下:
ILA的创建使用有两种方法:综合前创建IP核和综合后使用网表添加被测信号。
(1)使用IP核创建并使用ILA
1.首先找到ILA ip核,设置要检测的probe数量、深度及数据位宽,建议选择综合选项选ooc,减少综合时间;
2.找到ILA的例化文件,复制到被测文件下,并修改io端口名;
3.综合实现并生成比特流文件,通过JTAG下载器下载到FPGA芯片中,在vivado中进入时序调试界面;
4.调试界面使用
[1]是添加触发待测信号,当待测信号按照[2]的条件被触发,上面的红标记线会移到触发位置,[3]用来设置窗口的触发位置
5.当调试完成后,可删除ILA单元,并去除ILA的例化,避免其占用FPGA内部资源。
(2)网表添加待测信号
1.将待测信号添加入mark debug,有两种方式:在定义待测信号前加(* mark_debug = ""true*);或者在网表中选择待测信号手动加入mark debug,重新综合;
2.进入set up debug,添加待测信号,保存,关闭综合;
3.生成比特流下载,后面与IP核创建调试过程一致。
二、simulator仿真软件
仿真操作:
1.创建仿真文件
2.编写test_bench文件并保存
3.tb文件编写完成后,选择仿真类型,进行仿真
4.添加待测波形信号
5.观看波形进行调试,可以在调试过程中更改代码,点击relunch即可看到更改后的波形,设置中可设置仿真的时间