vivado之ila抓包改值问题

今天小编在调试FPGA时又遇到一个奇葩的问题!说其奇葩,不知道是我道行不够还是它确实罕见,最后,请一个学长看了半天也没看出来为什么。
我来说说这个奇葩问题吧:
首先有如下vivado工程示意图:
在这里插入图片描述

我在模块B中定义了一个位宽为32的变量,然后通过top连接,将数据发送到模块A,最后再传输到PC端的上位机上。然后我在A中例化了一个ila的逻辑分析仪,给他的输入时钟为50mhz,最终显示的值确实为真确值,如下图所示,且值保持不变:
在这里插入图片描述
以上都是正常现象。
但当我把A模块中的ila例化换到B模块中时问题就来了,同样采用50mhz的时钟,最终逻辑分析仪出了就成下面这个样子了:
在这里插入图片描述
值出现了很大波动,大部分值都成了3CDE*2的值,少部分目前看不出什么规律。更加不可思议的是usb模块输出到上位机的值也改变了,也就是说这个ila确确实实改变了模块变量的数值。我确信我连接代码都是没有问题的,虽然vivado每跑一次都需要很长时间,但小编还是不辞麻烦,两种清楚交替尝试好几次,结果都跟上面一致。
最后,希望有大佬能看到这篇博客,最后潇洒的在评论区留下这种现象出现的原因。另外我自己在之后的调试中若找出原因,也会在评论区给出答案滴!

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值