在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 347|回复: 6

[求助] 想问下为何使用组合逻辑赋值会导致初值是一个完全不相干的数

[复制链接]
发表于 2025-11-14 23:12:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×

                               
登录/注册后可看大图


                               
登录/注册后可看大图

(这张是网表仿真的波形图)

这段代码我在DC综合后,跑网表的仿真,发现shift_adder1这个变量在复位后会去到{15‘b0,111},但复位后我的sign_adder1 与 bit state 变量都维持在0,shift_adder1理想值应该是18'b0才对,请问这是什么情况导致的,这段代码跑rtl的仿真正常没有任何问题,跑网表仿真则会出现问题,假如我把这一段对shift_adder1赋值改成时序赋值,网表仿真也没有问题,为何组合逻辑赋值会出现这种问题,求大神解答(网表仿真没有加相关的延时参数与命令,仅是验证网表的功能仿真)

 楼主| 发表于 2025-11-14 23:53:51 | 显示全部楼层
signed adder1上面这张图没有贴上去 复位之后,这个值也是0
回复 支持 反对

使用道具 举报

发表于 2025-11-16 10:27:10 | 显示全部楼层
有一种可能是DC综合优化的时候对某些内部逻辑信号进行了bit翻转,这种情况下网表仿真需要看最顶层的信号值是否和RTL代码一致。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-11-16 11:05:10 | 显示全部楼层


   
liuguangxi 发表于 2025-11-16 10:27
有一种可能是DC综合优化的时候对某些内部逻辑信号进行了bit翻转,这种情况下网表仿真需要看最顶层的信号值 ...


我查了下网表的代码跟后续运行的波形,发现在工作时该段波形运行的逻辑已经跟我rtl仿真时的逻辑不同,看来是dc综合后的网表功能出现了变化,我想问下你说的顶层信号指的是哪些
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-11-16 11:07:33 | 显示全部楼层


   
nic23 发表于 2025-11-16 11:05
我查了下网表的代码跟后续运行的波形,发现在工作时该段波形运行的逻辑已经跟我rtl仿真时的逻辑不同,看 ...


我的设计本意是想要根据bit_state的信号去完成不同的移位步长,但现在综合后的网表没办法执行这个功能
回复 支持 反对

使用道具 举报

发表于 2025-11-17 11:27:45 | 显示全部楼层
我解释一下哈,其实有几个可能性,一个是综合阶段优化路径,这个信号上有插反向。实际逻辑里和你的0是一致的。
如果是这样,那么这整个设计的功能其实没有变,但只看中间某些信号时不一样。所以需要你检查该功能到整个综合的top-level上的影响。那么综合的顶层就是你问的顶层。不如说顶层信号有哪些,应该你自己比较明白。又或者你自己翻翻网表,捋一捋逻辑和你的设计是否一致?时序逻辑不会变。
(如果实在不知道,可以试试:如果是简单的反向,那么你送各种各样输入的情况下应该都有对应的bit是反向的。做个case往里面送送。)

第二个就是真的综合有问题了(可能性不大)。那么最好你们综合的同事做下一致性检查。
回复 支持 反对

使用道具 举报

发表于 2025-11-17 11:59:30 | 显示全部楼层
综合后经常会出现某些信号取反,甚至某些跨模块信号都会取反,还有一个多bit信号其中某几个bit取反的情况。
只要你仿真结果符合预期就行。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

手机版| 小黑屋| 关于我们| 联系我们| 用户协议&隐私声明| 版权投诉通道| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 ) |网站地图

GMT+8, 2025-12-16 04:03 , Processed in 0.080197 second(s), 5 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表