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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2184|回复: 2

[求助] 為什麼 合成bit數會自己砍掉?

[复制链接]
发表于 2012-9-16 16:57:12 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 popwqw520 于 2012-9-16 20:28 编辑

合成前

合成前

合成後

合成後

以下是我的verilog 節錄相關
wire [16:0]F0_1,F0_3,F0_r1;
wire [16:0]F0_r1_D;
assign F0_r1_D=F0_1+F0_3;

DF  #(.widthbit(17)) DFr1(.clk(clk),.D(F0_r1_D),.Q(F0_r1));

為什麼合成後電路把我砍了一個bit(參考我兩張紅色框出來處)??

是我的打法有問題嗎?? 合成前的值這樣是對的,但是合成完它把我砍了一個bit,造成出錯,跑的DATA都變z

有同學遇過這問題嗎?? 麻煩同學指教??
发表于 2013-3-15 10:43:37 | 显示全部楼层
firstly, it is a combination logic, after synthesis, you can not assure that combination logic name is kept. Some bits might be renamed by tool.
As it is an adder, you can try to find the adder instance and check the input and output bit width.
发表于 2013-3-16 21:02:49 | 显示全部楼层
1. 如樓上所言, synthesize 之後, 名稱未必會 keep, 有可能 wire nxxx 就是其中的 1 bit, check designware 用了幾 bit 的 adder
2. 也有可能是 DFF 之後 latch 的 sum 值, pass 到後級電路時, 只用了其中幾個 bits, 某些 bits 用不到, 前端的電路便是 redundant, 會被 tool 化簡, 造成你所謂的不一致.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-23 22:15 , Processed in 0.020066 second(s), 9 queries , Gzip On, Redis On.

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