欢迎光临
我们一直在努力

16位乘法器第三篇---部分积求和

图片

当利用BOOTH编码和符号位扩展后就得到下图中第一个图,图中红色圆点代表的是原有的操作数,而蓝色圆点代表的是进行3-2压缩后的结果。绿色圆点代表的是未经过计算直接传递下来的结果。

乘法部分积求和有很多种处理思路,本文中给出的是4次3-2压缩+一次全加计算的思路。

图片

图片

图片

图片

图片

图中的压缩过程是经过验证的感兴趣的同学,可以自行参考前两篇文章结合这第三篇文章,自行编写一些Verilog代码。然后自己编写一些测试激励验证一下正确性。这里面提示一点,简单的数据正确很容易,关键点在于怎么保证所有16位数据的计算都是正确的。

容易出错的点:

1、符号位的处理,有符号数和无符号数之间的乘法

2、如果是有符号计算,当被乘数是负数时,这里需要将补码转成原码进行计算。考虑时序的话,这里补码转原码时需要进行取反+1的操作,这里的+1操作有巧妙处理方式。

3、每个部分积前面的S的值,怎么得到正确的值。

4、E的值怎么得到正确的值。

上面这些都是实战验证中遇到的问题点,大家在实操时很可能会遇到。

另外感兴趣的同学,如果需要原代码和测试环境的,可以关注同名公众号留言或私信。如果需求强烈我会把源码分享给大家。

赞(0)
未经允许不得转载:171主机测评 » 16位乘法器第三篇---部分积求和
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址