赋值问题
reg [3:0] a = 3; 与 reg a = 3’d3; 这样的不等价啊不等价! 必须要 [3:0] 这样的来指定位宽,后面那个是指定数字位宽的!
所以位宽作用?
位宽扩展:如果所规定的位宽太小,那个将会截断高的几个位(如2’b1101,将变成2’b01),如果指定的位宽太大,则会用0或者x/z来向左扩展数值,但不会扩展符号位。
对于有符号数:如果位宽位宽小于数值规定,符号位可能被截断(如数-4‘sd15,即1111_0001,将会被截断,代表的值为+1,即0001);
如果位宽大于数值规定,都是用0来扩充,因此负数可能被扩充为正数。
给我注意变量名有没有写错啊啊啊啊啊啊啊啊
ref: