Vivado2019.1调试(ILA抓取跨时钟域信号波形问题总结)

文章讲述了ILA抓取波形问题的排查,涉及ILA时钟、DeBugHub时钟与JTAG时钟的关系,以及如何通过MarkDebug和SetUpDebug设置正确时钟连接。同时,介绍了多模块ILA调试的流程,强调了按数据流逐级查找问题的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.ILA抓取不到波形或波形无变化的问题

 1.1 dbg_hub时钟  ila时钟  jatg时钟 三者关系及要求

(1)两个ILA时钟CLKA和CLKB分别为跨时钟域的两个快慢时钟,通过(Mark Debug+Set Up Debug)方式添加的信号会自动连接到相应的时钟信号.

(2)DeBug Hub时钟为ILA时钟和JTAG时钟的中间连接部分, dbg_hub >= ila时钟 > jatg时钟,三者时钟关系需要满足要求。

(3)DeBug Hub时钟在通过(Mark Debug+Set Up Debug)方式添加待测信号时会自动选择某一个ILA时钟或者单纯就是一个clk(不知道是什么时钟),这一步最容易出问题,问题就是最后布线完成上板测试时显示(NO DeBug Hub Cores)完全看不到波形。

由于dbg_hub时钟 >= ila时钟,所以这一步在通过(Mark Debug+Set Up Debug)方式添加待测信号后保存工程,重新打开XDC约束文件,查看ILA最后四行,修改connect_debug_port dbg_hub/clk [get_nets clk_axi],使得dbg_hub时钟连接到频率最高的ILA时钟,即DeBug Hub=CLKB(高)>CLKA(次高)>CLKC(低)

set_property C_CLK_INPUT_FREQ_HZ 300000000 [get_debug_cores dbg_hub]
set_property C_ENABLE_CLK_DIVIDER false [get_debug_cores dbg_hub]
set_property C_USER_SCAN_CHAIN 1 [get_debug_cores dbg_hub]
connect_debug_port dbg_hub/clk [get_nets clk_axi]

(4)如果看到波形,然而波形无变化,如下图所示

首先,看一下ILA时钟是否大于JTAG时钟频率,JTAG时钟可以在连接板子时选择(open new target),从0.75M到12M不等,取决于JTAG线。

 

 其次,如果时钟关系没有问题,那么大概就是你的模块中某一个信号出问题了。

2.多模块ILA调试流程

        如果你完成上述操作,确定是你模块中的某一个信号的问题导致ILA抓取到的波形无变化,那么接下来的ILA调试中,建议你按照数据流的路线从头开始查找问题。

        时钟源->一级子模块->二级子模块->问题信号所在模块->四级模块,虽然这个过程繁琐,但是是查找问题最稳妥、最有效的方法了。

VivadoILA(Integrated Logic Analyzer)是一个非常强大的工具,可以帮助您分析FPGA设计中的信号状态和时序问题抓取上电时序是指记录设备启动过程中各个关键节点的状态变化情况,这对于调试硬件初始化过程非常重要。 要在Vivado中使用ILA捕捉上电时序,请按照以下步骤操作: ### 准备工作 1. **插入ILA核**:在您的RTL设计中加入Xilinx提供的集成逻辑分析仪IP core,并连接到需要监控的关键内部节点。 2. **配置触发条件**:设置合适的触发事件,如复位释放、PLL锁定等常见于系统初启阶段发生的标志点作为起始参考位置。 3. **设定采样深度与时钟源**:根据预期的数据量调整缓冲区大小;选择一个稳定可靠的全局时钟驱动采集进程,确保数据完整性。 ### 捕获流程 4. **生成比特流并下载至板卡**:完成综合布局布线后产生bit文件烧录进目标器件内。 5. **激活ILA会话**:通过 Vivado 的 Hardware Manager 打开实际运行环境下的调试通道。 6. **开始收集波形信息**:手动或自动响应之前定义好的触发规则实施捕获动作。 7. **保存&分析结果**:将获取到的时间轴视图导出供后续检查错误所在之处及优化方案制定依据。 请注意,在某些应用场景下,由于上电瞬间电源波动较大以及各模块唤醒顺序差异等因素影响,初次尝试未必能顺利得到理想样本,这时可以适当放宽阈值范围或者多次试验直至找到最适宜观察窗口为止。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值