Xilinx ILA调试——Xilinx 硬件调试ILA

本文转载自:Linest-5的CSDN博客

什么是ILA?
FPGA综合出来的电路都在芯片内部,基本上是没法用示波器或者逻辑分析仪器去测量信号的,所以xilinx等厂家就发明了内置的逻辑分析仪。在vivado中叫 ILA(Integrated Logic Analyzer),之前在ISE中是叫ChipScope。基本原理就是用FPGA内部的门电路去搭建一个逻辑分析仪,综合成一个ILA的core核伸出许多probe去探测信号线。

硬件调试简介:
1、在整个FPGA设计中,硬件调试与验证会花费超过40%的时间。

2、低效的策略可能导致产品发布延迟。

调试FPGA设计是一个不断迭代的过程:

创建设计->探针&布局设计->下载&在硬件中分析设计->如果没有bug则完成设计->如果有bug,则会通过探针传递出来,找出bug并修复bug

Xilinx硬件调试解决方案:
①Vivado工具集成了逻辑分析仪,用于替换外部的逻辑分析仪

②添加ILA核和VIO核实现硬件调试

③通过JTAG接口和PC连接

ILA(Integrated Logic Analyzer)

监控逻辑内部信号和端口信号

VIO(Virtual Input/Output)

实时监控和驱动逻辑内部信号和端口信号

ILA是通过探测IP核的信号传递出来到PC端显示,而VIO正好相反通G过外部的PC端输入一个信号传递到内部进行驱动IP,另外ILA可以显示一段数据,它具有储存的功能,但是VIO没有,他只能做一个简单的驱动或检测的功能。

添加ILA核的几种方法:
①通过HDL语言写这样的IP核

②可以在原理图中添加这样的debug

③在网络报表中添加ILA核

④可以直接在block design中添加ILA核

ILA调试常用的两种方法:
一、通过添加ILA IP进行调试
①打开工程的界面,点击IP Catalog的界面,搜索ILA双击打开配置界面,配置相应的参数(引脚数以及相应的位宽等),再点击ok即可。

②对其进行例化操作,在IP Sources界面点击ila的instantiation templa(例化模板),将例化的模板复制到 verilog的.v文件中,保存好即可生成比特流文件。

③生成完比特流即可给开发板上电,点击open target->auto connect,然后点击program device,接着会跳出一个界面,在下图圈出的文件即为我们探针文件,点击program。

④接着出现调试界面,途中标识的数字,①为连续触发选项,②为开始触发选项,③为立即触发选项,也可以单独给某个波形设置条件触发,可以根据图中所示的箭头将信号拖至方框内,可以看复位信号、计数信号等,并设置相应的触发条件,点击开始触发即可。

二、在网表中插入探针进行调试
①打开原有的工程,点击打开open synthesized design,打开之后在右上角选择debug的选项,在左侧的netlist有各个引脚,由于软件的设定,需要在verilog代码的添加一段以解除软件对管脚的省略(*mark_debug = "ture"*),然后关闭原有的界面,重新对其进行综合,在打开open synthesized design,即可看到全部的管脚。


②可以发现软件已经自动帮我们把需要debug的管脚信号自动加到了debug的界面,如果没有的话,需要自己手动添加,注意先要将ibuf和obuf加进去,因为buf是缓冲器,端口信号需要先经过buf才能进到fpga里面,而输出同理,需要经过一个obuf。

③选择需要探测的信号,选中并点击set up debug,接下来正常情况一路点击next、ok即可,完成之后ctrl+s保存即可,然后关闭,在synthesis右击关闭即可,然后重新生成比特流。这时候就可以看到在xdc约束文件中就会加入一些调试debug的信息,之前做的操作也就是为了得到这些信息。

④打开开发板上电,并连接和program device即可,接下来的操作和第一种方法中调试的方法一样。

最新文章