问题定位方法-某信号一直为0的警告

本文为明德扬原创文章,转载请注明出处!
作者:潘老师

 在综合时发现会有很多如下警告出现

在这里插入图片描述

意思是该信号的值始终为0,在优化过程中可能被优化。

但是该信号为数据输入,是不可以被优化的,所以找到该代码处查找问题。

在这里插入图片描述

检查代码后,在此always块中并未发现f2p_data_in信号的书写有何问题。所以尝试查找是否是与f2p_data_in信号相关或者相连接的信号出现问题,导致该警告的出现。

在这里插入图片描述

从代码可以分析,f2p_data_in一直为0,有可能是条件一直没满足,也有可能是条件满足的时候,data_out一直为0。

情况不太明确,先排除是不是data_out的影响。方法如下:将图中1和2处的data_out信号改成固定输入值,16’hffff,和 16’h0000 ,修改后重新综合发现之前出现的警告并未出现。这说明了条件是有满足的时候的,问题应该出现在data_out信号上。

然后找到data_out输出模块查看问题。

在这里插入图片描述

此always块就是对data_out这个输入信号打2拍。按照前面的思路,将图中rx_done位置修改为1,查看情况是否与data_out有关(将之前给f2p_data_in赋固定值的操作取消)。

重新综合后发现,警告也没有出现,说明该警告的生成和data_out无关,而是与条件rx_done信号有关,可能该信号一直为0。

下一步找到rx_done信号模块查找问题。

在这里插入图片描述

在检查该模块时发现,rx_done为1的条件并不成立,所以rx_done一直无法为1,导致后续data_out一直输出为0。

总结:

  1. 对于警告等信息,一定要读懂,并理解其含义。例如本课说某信号一直为0,这是问题,那为什么?则是要根据这个含义去分析。

  2. 对于难以分析的,可以尝试修改代码,以方便验证。注意,这只是为了验证某种设想,验证完后,代码要改回来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值