java中的左移和右移 verilog怎么样实现带符号的右移?(算术右移)?

verilog怎么样实现带符号的右移?(算术右移)?例如:11111 001<<;111111 0001111011<<<;411110000右移位有点麻烦,如下:>>N是

verilog怎么样实现带符号的右移?(算术右移)?

例如:11111 001<<;111111 0001111011<<<;411110000右移位有点麻烦,如下:>>N是这样操作的:右移位n位,如果高位是1,则左补码1;如果高位是0,则左补码0(Java是这样的,C语言,如果高位是1,右补码0或1取决于硬件)例如:11111 001>>11111110001111011>>100111101>>>>;GTN的操作如下:右移n位,无论高位是0还是1,所有补码0,例如:11111 001>>1011110010111111011>>100111101