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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2163|回复: 3

[原创] 位宽一定要对齐,要不害死人

[复制链接]
发表于 2013-6-20 22:40:13 | 显示全部楼层 |阅读模式

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

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

x
以前一直觉得VHDL规则这么多,一点都没verilog灵活好用,昨天调试pcie接口时遇到的一个问题让我真真切切的感觉到了规则的威力
synplify下综合下面两种表述的结果是不一样的
表述1:
if((waddr-raddr) <= 1)
     alempty = 1'b1;
else
     alempty = 1'b0;

表述2:
if((waddr-raddr) <= 6'd1)
     alempty = 1'b1;
else
     alempty = 1'b0;

其中waddr和raddr均为6bit
表述1中如果waddr<raddr 例如6'h00 - 6'h3f , alempty为1的条件是不成立的

做fpga的兄弟们,任何时候位宽都要对齐啊
这种如果在vhdl中是会报错的
发表于 2013-6-21 06:06:12 | 显示全部楼层
在verilog里面不会报错
发表于 2013-6-21 09:26:27 | 显示全部楼层
以前我写VHDL,也是FIFO地址处理时,通常会加两种判断,
if (addr_a > addr_b + num) or (addr_a < addr_b && addr_a + fifo_deep > addr_b + num)
大致如此,语法现在都印象模糊了。
发表于 2013-6-21 11:53:35 | 显示全部楼层
判断要用加法呀,怎么用减法呢
又不是有符号数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-21 10:08 , Processed in 0.022942 second(s), 8 queries , Gzip On, MemCached On.

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