0
点赞
收藏
分享

微信扫一扫

Verilog >>>


signed

unsigned

>>(逻辑右移)

左侧补0

左侧补0

>>>(算术右移)

左侧补符号位

左侧补0

<<(逻辑左移)和<<<(算术左移)

右侧补0

右侧补0

有符号数的>>>(算术右移)左侧补符号位,其他移位都是补0 。

signed与unsigned不同类型的赋值,单纯的将对应的二进制复制过去,所谓的有符号数据和无符号数,本质上是对二进制的不同解释而已。

不等位宽的赋值,应该先将对应的bit补齐或者截断,有符号数高位扩展填充符号位,有符号数直接从二进制进行截断。

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

如果未定义为signed,则默认为unsigned。


举报

相关推荐

0 条评论