本文内容学习自正点原子ZYNQ领航者FPGA视频-P7
1.ILA介绍
ILA(Integrated Logic Analyzer)集成逻辑分析器:即Vivado的在线逻辑分析仪,其借用了传统逻辑分析仪的理念以及大部分的功能,并利用FPGA 中的逻辑资源,将这些功能植入到FPGA 的设计当中。ILA是用IP核的形式实现的。
在线逻辑分析仪通过一个或多个探针(Probe)来采集希望观察的信号,然后通过片内的JTAG 硬核组件,来将捕获到的数据传送给下载器,进而上传到Vivado IDE 以供用户查看。Vivado IDE 也能够按照上述数据路径,反向地向FPGA 中的在线逻辑分析仪传送一些控制信号。
Vivado 提供了三种具有不同集成层次的插入ILA 方法:
1.1HDL 实例化调试探针流程
ILA IP 核可以在IP Catalog(IP 目录)中找到,并对其进行配置,以符合所需的调试需求。这是最直接的方法,但其灵活性也较差。在调试工作完毕之后,还需要在HDL 源代码中删除ILA IP 核,然后重新综合并实现,以生成最终的比特流。
1.2网表插入调试探针流程
在综合后的网表中,分别标记要进行调试观察的各个信号,然后通过一个简单的“Setup Debug”向导来设置各个探针和ILA IP 核的工作参数,然后工具会根据用户设置的参数,自动地生成各个ILA IP 核。在此流程中,用户不需要修改HDL 源代码,并且能够单独控制每个ILA IP 核以及每个探针,这样就提供了很大的灵活性。用户设置的调试信息会以TclXDC 调试命令的形式保存到XDC 约束文件中,在实现阶段,Vivado 会读取这些XDC 调试命令,并在布局布线时加入这些ILA IP 核。在调试工作完毕之后,用户就可以在综合后的网表中删除ILA IP 核,然后再对设计进行实现,以生成最终的比特流。
1.3集成层次最低的方法,是手动地在XDC 约束文件中书写对应的Tcl XDC 调试命令,在实现阶段工具会自动读取这些命令,并在布局布线时加入这些ILA IP 核。在调试工作完毕之后,用户还需要在XDC 约束文件中删除这些命令,然后实现最终的设计。
2.ILA使用方法(1)HDL 实例化调试探针流程
“HDL 实例化调试探针流程”需要在HDL 源代码中实例化ILA IP 核。我们点击“Flow Navigator”窗口中的“IP Catalog”按钮,如下图所示&#x