上文介绍了基4 Booth乘法器,并且设计了具有基本功能的Booth乘法器,其中在文末留下了几个有待优化的问题,本文将优化“生成部分和”与“符号位扩展”两部分,参考:
纸上谈芯:【HDL系列】乘法器(6)——Radix-4 Booth乘法器zhuanlan.zhihu.com本文原理部分意译自《Sign Extension in Booth Multipliers》,需要说明的是其中的表述存在多处歧义,且Booth编码表负数认定有误,请注意鉴别,其中位宽的问题更值得注意。对于有符号数乘法,其实在用如下符号位扩展时无需自动扩展部分和的符号位,这在参考的文档中是致命的误导,但好在可以通过图片获得该符号位扩展算法的启发。
先给出符号位扩展算法如下(算法有效,已验证):
(1)将每个部分和的最高比特位取反;
(2)对第一个部分和的最高比特位加“1”;
(3)在所有部分和的