Verilog编程-15. 算术右移的问题
在verilog中实现算术右移,使用>>>符号,例如in >>> 5,即代表向右算术右移5位。
但问题在于,此时verilog将in视为无符号数,而无符号数逻辑右移(>>)和算术右移没有区别,都是高位补0。此时可使用$signed(in)将in转变为有符号数,此时就会在高位补符号位。
$signed和$unsigned都是可综合的。$signed是将无符号数转变为有符号数返回,不改变数的类型和内容,$unsigned同理。
文档信息
- 本文作者:Polaris
- 本文链接:https://polaris-chn.github.io/2023/11/29/Verilog-practice-15/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
