Verilog中的大小(size)与符号
Verilog根据表达式中变量的长度对表达式的值自动地进行调整。
Verilog自动截断或扩展赋值语句中右边的值以适应左边变量的长度。
当一个负数赋值给无符号变量如reg时,Verilog自动完成二进制补码计算
module sign_size;
reg [3:0] a, b;
reg [15:0] c;
initial begin
a = -1; // a是无符号数,因此其值为1111
b = 8; c= 8; // b = c = 1000
#10 b = b + a; // 结果10111截断, b = 0111
#10 c = c + a; // c = 10111
#10 c = b + a;
end
endmodule
1