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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[求助] verilog位扩展规则

[复制链接]
发表于 2024-4-30 03:40:55 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 plplpo 于 2024-4-30 03:45 编辑

各位老师好,IEEE verilog标准 2005版 47页 有这样一个例子




                               
登录/注册后可看大图




关于intA=-4'd12,我个人的理解是这样的:

-4'd12用补码表示是(1)0100,最高位(符号位)被截断

如果把-4'd12看作一个unsigned常数,则应该用0扩展高位,即扩展成 0000_0000_0000_0100
如果把-4'd12看作一个signed的常数,-4’d12的符号位也因为宽度原因被截断了,实际的最高位(符号位)是0,也应该扩展成 0000_0000_0000_0100

可是根据注释来看,-4’d12 被扩展成了1111_1111_1111_0100,这是为什么呢?

发表于 2024-4-30 10:22:46 | 显示全部楼层
4bit赋给16bit不会截断吧,直接按16bit的-12算,除非你先把-4‘d12赋值给4bit寄存器,然后把该寄存器赋给16bit。
短赋给长,不会截断,长赋给短,高位被截断
 楼主| 发表于 2024-5-6 14:17:38 | 显示全部楼层


pumpkin777 发表于 2024-4-30 10:22
4bit赋给16bit不会截断吧,直接按16bit的-12算,除非你先把-4‘d12赋值给4bit寄存器,然后把该寄存器赋给16 ...


请问这个短赋给长的规则在verilog标准里哪个章节可以查到呢?
我只找到了长赋给短的,在5.6章


谢谢!

                               
登录/注册后可看大图

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

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-18 01:06 , Processed in 0.030062 second(s), 7 queries , Gzip On, Redis On.

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