Verilog移位运算符

在Verilog HDL中,有两种运算符,分别是左移运算符和右移运算符。

使用方法为:a>>n,a<

a代表要进行移位的操作数,n代表要移几位。

如:

4'h1001<<1 = 5'h10010;

4'b1001<<2 = 6'b100100;

1<<6 = 32'b1000000;

4'b1001>>1 = 4'b0100;

4'b1001>>4 = 4'b0000;

换一种说法。

移位操作符包括左移(<<),右移(>>),算术左移(<<<),算术右移(>>>)。移位操作符是双目操作符,两个操作数分别表示要进行移位的向量信号(操作符左侧)与移动的位数(操作符右侧)。算术左移和逻辑左移时,右边低位会补 0。逻辑右移时,左边高位会补 0;而算术右移时,左边高位会补充符号位,以保证数据缩小后值的正确性。

A = 4'b1100 ;

B = 4'b0010 ;

A = A >> 2 ;        //结果为 4'b0011

A = A << 1;         //结果为 4'b1000

A = A <<< 1 ;       //结果为 4'b1000

C = B + (A>>>2);    //结果为 2 + (-4/4) = 1, 5'b00001

// C = 5'b00010 + 5'b11111 = 6'b100001, 取五位有效数据

你可能感兴趣的:(Verilog,学习,学习,其他)