afei6969 发表于 2020-12-27 18:26:29

Verilog HDL 的移位运算符

在Verilog HDL中有两种移位运算符:
<< (左移位运算符) 和 >>(右移位运算符)。
其使用方法如下:
a >> n 或 a << n
a代表要进行移位的操作数,n代表要移几位。这两种移位运算都用0来填补移出的空位。下面举例说明:
module shift;
reg 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]
查看完整版本: Verilog HDL 的移位运算符