FPGA学习 Vivado使用篇之ILA(逻辑分析仪)

ILA(Integrated Logic Analyzer),集成逻辑分析仪,允许用户在FPGA设备上执行系统内的调试。作为一名FPGA工程师,掌握在线调试工具进行时序分析是必备的职业技能之一。

ILA通过一个或者多个探针(Probe)来实时抓取FPGA内部数字信号的波形,分析逻辑错误的原因,帮助debug。

下面我将介绍Vivado中ILA的两种使用方式:

一、IP核方式调用

在vivado中,打开IP核目录(IP Catalog),在搜索框中输入ILA(不区分大小写),按图示方式进行选择即可。
FPGA学习 Vivado使用篇之ILA(逻辑分析仪)_第1张图片
在等待一段加载时间后,我们会看到下图所示的打开界面:FPGA学习 Vivado使用篇之ILA(逻辑分析仪)_第2张图片

  • 探针数根据我们要测量的信号数进行选择,选择后会在左边的模块框内看到对应的端口(若无法正常显示,取消左上角Show disabled ports的√即可);
  • 采样数据深度可根据计算机资源进行设置,可以偏大,一般情况下选择默认的1024即可;
  • 其他按默认设置。

下一步对测量信号的位宽进行设置:

由于我们要检测的信号为“reg[31:0] timer_cnt”和“output reg[3:0] led”,因此位宽选择32和4。FPGA学习 Vivado使用篇之ILA(逻辑分析仪)_第3张图片 FPGA学习 Vivado使用篇之ILA(逻辑分析仪)_第4张图片
至此,ILA已经生成,我们可在Source区看到我们已经命名的ILA,点击其下的.v文件,找到如下例化模板,将其添加到需要测量的模块中。
FPGA学习 Vivado使用篇之ILA(逻辑分析仪)_第5张图片
FPGA学习 Vivado使用篇之ILA(逻辑分析仪)_第6张图片

将其加入到模块中后,我们需要进行修改,如下图所示,具体的verilog语法请参考夏宇闻老师的《Verilog经典教程第三版》。
FPGA学习 Vivado使用篇之ILA(逻辑分析仪)_第7张图片
然后生成比特流文件(Generate Bitstream)并将打开硬件调试(Open Hardware Manager)。

二、直接添加调试语句 (*MARK_DEBUG=“true” *)

FPGA学习 Vivado使用篇之ILA(逻辑分析仪)_第8张图片
将此语句添加到我们要测量的信号前,如(* MARK_DEBUG=“true” *)output reg [3:0] led 。

而后进行综合(Run synthesis),在综合完成后,点击“Set Up Debug”,打开后逐步点击next即可。
FPGA学习 Vivado使用篇之ILA(逻辑分析仪)_第9张图片
FPGA学习 Vivado使用篇之ILA(逻辑分析仪)_第10张图片
硬件调试部分在此就不进行演示了。

至此就是ILA部分的全部介绍啦!

你可能感兴趣的:(Vivado,fpga开发)