当前位置:   article > 正文

Verilog 二进制补码截断直流问题及四舍五入截断_补码的四舍五入

补码的四舍五入

Verilog 二进制补码截断直流问题及四舍五入截断

大家都知道,二进制补码数据如果直接丢掉低bit位进行trunction截断,那么截断后的数据会带有直流成分,这个直流成分在某些应用场合是不可接受的,为此,很多工程师需要把较长的二进制补码数据进行四舍五入截断,这样就可以避免人为产生的不必要的直流成分。这个操作其实很简单,我举一个例子,大家一看就明白了:

reg [32:0] dout= 0;
wire [46: 0] m_axis_data_tdata;
dout<= (m_axis_data_tdata[46:0] +
{ ~m_axis_data_tdata[46], { 13{ m_axis_data_tdata[46] } } } ) >>>14;

这里是把47位数据低14位按照四舍五入截掉,无论正数负数,都适用。Get到了吧,记得给我点赞!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/272403
推荐阅读
相关标签
  

闽ICP备14008679号