【发布时间】:2013-01-07 13:37:18
【问题描述】:
我有一个这样声明的寄存器:
logic signed [15:0][2:0][15:0] registers;
当我将 2 的补码数放入数组并算术移位该数字时,它会进行逻辑移位:
registers[0][0] = 16'b1000000000000000;
registers[0][0] = registers[0][0]>>>2;
显然,如果数字没有符号,系统将进行逻辑移位而不是算术移位。但是,您可以清楚地看到,“寄存器”肯定是签名的。
有人知道我在这里可能缺少什么吗?
谢谢!
【问题讨论】:
标签: verilog bit-shift system-verilog