了解改进的Baugh-Wooley乘法算法 [英] Understanding Modified Baugh-Wooley multiplication algorithm
问题描述
对于修改后的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屋!