天天看點

Verilog >>>

signed unsigned
>>(邏輯右移) 左側補0 左側補0
>>>(算術右移) 左側補符号位 左側補0
<<(邏輯左移)和<<<(算術左移) 右側補0 右側補0

有符号數的>>>(算術右移)左側補符号位,其他移位都是補0 。

signed與unsigned不同類型的指派,單純的将對應的二進制複制過去,所謂的有符号資料和無符号數,本質上是對二進制的不同解釋而已。

reg signed [7:0]  m =8'h80;
reg        [15:0] n  ;
initial begin
    n=m;//預計16‘hFF80
end