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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 22930|回复: 12

关于verilog中移位操作符的问题

[复制链接]
发表于 2009-3-29 12:47:56 | 显示全部楼层 |阅读模式

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

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

x
在学习夏宇闻老师的《verilog数字系统设计教程(第二版)》,其中关于移位运算符的表述中,我有点质疑,在这里请教下大家
4‘b1001<<1=5’b10010,
4‘b1001<<2=6'100100;
请问上面的表述对吗?4'b1001<<1=4'0010,4'b1001<<2=4'b0100才对吧,为什么会出现上面的五位和六位呢?移位操作符左移和右移什么时候才会出现位的扩展呢
 楼主| 发表于 2009-3-30 22:41:10 | 显示全部楼层

终于明白了

这个问题困扰我很久了。今天在modelsim里面写了个小测试程序终于搞明白了其中的真谛
发表于 2009-4-1 14:43:20 | 显示全部楼层
ddddddddddd
发表于 2009-8-2 00:13:40 | 显示全部楼层
真谛是什么呢?不好意思,我是菜鸟,能解释一下吗?
发表于 2009-10-25 14:54:16 | 显示全部楼层
什么原因啊? 2# yangjing113
发表于 2010-8-28 17:12:24 | 显示全部楼层
期待原因啊
发表于 2012-4-11 01:25:24 | 显示全部楼层
就是4‘1001>>2如果赋给一个只有4个bit的变量,那变量值是4'b0100;
如果赋给一个有6个bit的变量,则变量值为6'b100100;
发表于 2012-4-11 08:58:45 | 显示全部楼层
回复 1# yangjing113


   怎么会出现扩位呢?
发表于 2012-4-11 09:20:59 | 显示全部楼层
kankan
发表于 2012-5-2 17:00:27 | 显示全部楼层
左移需要位扩展,右移不需要,通俗一点说,左移一般是用来实现加法器或乘法器,需要考虑进位,因此需要扩展位数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2025-7-20 19:31 , Processed in 0.028431 second(s), 9 queries , Gzip On, Redis On.

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