Vivado中Debug操作方式总结(ILA)

本文介绍了Vivado中三种调试操作方式:使用ILAIP核、通过网表标记和代码中Mark_debug。详细阐述了如何设置信号宽度、触发方式、采样深度,并提示注意某些信号可能无法直接MarkDebug,需要尝试替代方法。同时提到,setupdebug只对网表中添加的信号生效,而ILA添加的信号属于不同的debugcore。对于找不到的信号,可以通过添加keep属性防止优化。
摘要由CSDN通过智能技术生成

Vivado中提供了多种Debug的操作方式,下面就来总结一下:

方式一:代码中例化ILA IP核

在这里插入图片描述
需要探测多少个信号,信号的位宽是多少,直接选择即可:
在这里插入图片描述
下面界面可以选择探测信号宽度以及触发方式:
在这里插入图片描述

方式二:通过网表标记

综合后生成网表,在网表中设置Debug:Mark Debug
在这里插入图片描述
或者在综合后的原理图中Mark Debug,这和网表debug是一致的:
在这里插入图片描述
在标记Debug后,就等于选择了需要debug的信号,之后在综合设置里设置Debug参数即可:
在这里插入图片描述
选择需要Debug的信号,设置时钟域以及触发方式等:
在这里插入图片描述
选择采样深度:
在这里插入图片描述
之后,重新综合,实现生成bit流文件即可完成debug,准备上板子吧。

注意:有些信号能够Mark Debug,有些则不能,例如模块直接的输入信号不能:
在这里插入图片描述
它经过一个Buf之后就可以:
在这里插入图片描述
最后的输出也不能?
在这里插入图片描述

哎呀, 具体什么个原则我也不知道了,不如就直接在网表中试试吧,如果不行,就找类似的代替呗。

综合后,也许你说自己找不到原理图在哪里,那就看这里:
在这里插入图片描述
方式二已经很实用了吧,不用修改代码!

方式三:代码中Mark_debug

在这里插入图片描述
之后综合,再set up debug,之后的操作同方式二。

最后说一下,set up debug只会对通过在网表中添加的信号起作用,也即如果你之前通过例化ILA IP核已经添加了一些debug信号,那么在set up debug窗口中是不显示的。

通过ILA添加的debug信号和通过在网表中添加的debug信号属于不同的debug core,在调试窗口可以切换。即使都是通过网表添加的debug信号,由于是不同时间添加的以及设置问题也可能属于不同的debug core。

如果一些信号在网表中找不到,可能是被优化掉了,那么可以在代码里的信号前面加上keep标记以使信号避免被优化,如下所示:

(* KEEP="TRUE" *)     wire                     clk_125M;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值