集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1067|回复: 9

Verilog HDL 的移位运算符

[复制链接]
afei6969 发表于 2020-12-27 18:26:29 | 显示全部楼层 |阅读模式
在Verilog HDL中有两种移位运算符:
<< (左移位运算符) 和 >>(右移位运算符)。
其使用方法如下:
a >> n 或 a << n
a代表要进行移位的操作数,n代表要移几位。这两种移位运算都用0来填补移出的空位。下面举例说明:
module shift;
reg [3:0] start, result;
initial
begin
start = 1; //start在初始时刻设为值0001
result = (start<<2);
//移位后,start的值0100,然后赋给result。
end
endmodule
从上面的例子可以看出,start在移过两位以后,用0来填补空出的位。
进行移位运算时应注意移位前后变量的位数,下面将给出一例。
例:4’b1001<<1 = 5’b10010; 4’b1001<<2 = 6’b100100;
1<<6 = 32’b1000000; 4’b1001>>1 = 4’b0100; 4’b1001>>4 = 4’b0000;
zhangyukun 发表于 2020-12-28 10:46:31 | 显示全部楼层
Verilog HDL 的移位运算符
zxopenljx 发表于 2024-5-31 17:50:42 | 显示全部楼层
Verilog HDL 的移位运算符
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-23 11:46 , Processed in 0.084188 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表