三、ILA逻辑分析仪抓取及查看波形

FPGA测试过程中可能会遇到一些信号状态定位困难的问题,有时候仿真并不能找出问题所在,尤其是使用Xilinx IP的设计。针对这种情况我们可以使用Vivado工具内置的ILA(在线逻辑分析仪),先在版本里插入逻辑分析仪,然后将测试机与单板通过JTAG接口连接,通过Vivado软件和串口操作进行波形抓取,定位问题所在。

1 逻辑分析仪插入方法一

2 逻辑分析仪插入方法二

1.在代码中进行标记,在需要抓取的信号定义前面加上 (* mark_debug = "true" *) 即可进行标记,如下所示:

2.对工程进行综合,点击【Run Synthesis】,综合完成之后,综合完成后点击【Set up Debug】:

点击Next后,可以看到先前(*mark_debug = "true"*)标记的信号均已添加至列表,但有些信号的时钟未定义,选中后右键点击Select Clock Domain,选择一个频率相对较快的时钟即可:

点击Next后,可对抓取波形的深度进行设置,根据实际需求和资源情况按需设置,勾选Trigger and Storage Setting:

3.设置完成后会生成新的xdc约束文件,保存后生成bitstream。

4.在测试机打开vivado,点击[Open Hardware Manger]。jtag接线完成的情况下,点击Open target,再点击auto connect:

5.连接成功后,右键选择Program Device烧录对应bit文件和ltx文件。

6.bitstream文件和debug文件烧录完成后会自动出现如下图所示界面,该界面即 ILA 调试界面。

1)波形显示窗口,可以通过点击+添加想查看的波形的信号,这里面包括之前所有标记的信号;

2)ILA Croe 的状态控制和显示窗口,四个按键从左到右功能依次是

<1>设置采样执行过程为循环采样。

<2>启动采样按钮。按下后将启动 ILA 采样,记录触发条件第一次满足的波形,最常用。根据是单次采样还是循环采样,以及是有条件触发还是无条件触发,启动采样后,会呈现 ILA 状态的周期性变化或等待触发条件的到来。

<3>无条件执行 ILA 采样(记录当前最新时间波形)。

<4>停止采样。

3)触发信号设置窗口,点击窗口内+添加产生触发条件的信号,添加之后如可以设置其触发条件和触发情况。支持设置多个信号产生触发信号时的条件,与、或、同或、异或;也可以只设置一个信号的触发条件。

7、触发条件设置完成后,点击运行,此时等待触发状态为50%。软件进行发流测试,满足触发后状态变为100%,波形输出显示:

3 综合实现均正常通过情况下,bitstream生成失败

Vivado综合和实现完成后,在生成bitstream文件时出现已知设计原理的DRC错误,例如下面图中的DRC LUTLP-1的loop错误是添加ILA IP后引入的:

对于这种设计可接受的错误,可以在每次生成bitstream在setting设置界面的tcl.pre出添加一个tcl文件,文件内使用set peoperty设置把对应规则从error降为warning:

另一种方法是,将上述两条命令加到xdc文件的最后。

设置完成后,即可生成工程的bitstream。

相关推荐
qq_小单车11 小时前
xilinx-DNA
fpga开发·xilinx
Flamingˢ12 小时前
FPGA中的嵌入式块存储器RAM:从原理到实现的完整指南
fpga开发
Flamingˢ14 小时前
FPGA中的存储器模型:从IP核到ROM的深度解析与应用实例
网络协议·tcp/ip·fpga开发
FPGA小c鸡1 天前
【FPGA深度学习加速】RNN与LSTM硬件加速完全指南:从算法原理到硬件实现
rnn·深度学习·fpga开发
Aaron15881 天前
通信灵敏度计算与雷达灵敏度计算对比分析
网络·人工智能·深度学习·算法·fpga开发·信息与通信·信号处理
博览鸿蒙2 天前
IC 和 FPGA,到底区别在哪?
fpga开发
思尔芯S2C2 天前
FPGA原型验证实战:如何应对外设连接问题
fpga开发·risc-v·soc设计·prototyping·原型验证
Flamingˢ2 天前
FPGA实战:VGA成像原理、时序详解与Verilog控制器设计与验证
fpga开发
FPGA_小田老师2 天前
xilinx原语:OSERDES2(并串转换器)原语详解
fpga开发·lvds·xilinx原语·oserdese·并串转换
Blossom.1182 天前
从数字大脑到物理实体:具身智能时代的大模型微调与部署实战
人工智能·python·深度学习·fpga开发·自然语言处理·矩阵·django