了解改进的Baugh-Wooley乘法算法 [英] Understanding Modified Baugh-Wooley multiplication algorithm

查看:391
本文介绍了了解改进的Baugh-Wooley乘法算法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于修改后的Baugh-Wooley乘法算法,为什么是(A0 * B5)而不是(A0 * B5)吗?

!(A1 * B5),!(A2 * B5),!(A3 * B5),!(A4 * B5),!(A5 * B4),!(A5 * 3),!( A5 * B2),!(A5 * B1)和!(A5 * B0)

此外,为什么还有两个额外的"1"?

解决方案

为什么还要再加上两个"1"?

请参阅Matt Timmermans的回答中的先前解释

注意:两个补码中的"-2"为110,这会影响进位,因此又增加了两个"1"

为什么翻转某些部分乘积位的值.

这是由于MSB(A5和B5)中的有符号位.

此外,请借助 的情况下,修改baugh-wooley算法的对策

我为此算法编写了硬件Verilog代码 希望这篇文章对一些读者有所帮助.

For Modified Baugh-Wooley multiplication algorithm , why is it !(A0*B5) instead of just (A0*B5) ?

Same questions for !(A1*B5), !(A2*B5), !(A3*B5), !(A4*B5), !(A5*B4), !(A5*3), !(A5*B2), !(A5*B1) and !(A5*B0)

Besides, why there are two extra '1' ?

解决方案

why two extra '1'?

See some previous explanation in Matt Timmermans's answer

Note : '-2' in two complement is 110, and this contributes to the carries, thus two extra '1'

why flipping the values of some of the partial product bits.

It is due to signed bit in the MSB (A5 and B5).

Besides, please see below the Countermeasure for modified baugh-wooley algorithm in the case of A_WIDTH != B_WIDTH with the help of others.

I have written a hardware verilog code for this algorithm Hopefully, this post helps some readers.

这篇关于了解改进的Baugh-Wooley乘法算法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆