在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4300|回复: 4

[原创] 最富盛名的补码乘法器——Baugh-Wooley乘法器

[复制链接]
发表于 2020-4-15 20:55:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
[size=18.6667px]最富盛名的补码乘法器——Baugh-Wooley乘法器
转发自微信公众号“纸上谈芯”

一、Baugh-Wooley算法
Baugh-Wooley算法是由Baugh和Wooley于1973年提出的二进制补码并行阵列相乘算法。该算法转化为等效并行阵列相加,其中每个部分和为乘数和被乘数比特相与,并且所有的部分和符号位为“+”。将n比特X,Y,乘法结果2n比特的P表示如下:
1.png
2.png
                              
从上式看出,XY相乘,结果P=XY相当于前两项减去后两项正数,设为A和B.
按顺序用字母表示以上项,即P = C+D-(A+B)。
将最后两项A和B,补0扩展表示成2n位,以便在阵列中相加:
3.png
其中ai=y(n-1)*xi
A的二进制表示如下:
4.png
-A,即A的二进制补码,对A“取反加一”,表示如下:
取反:
5.png
加一:
6.png
B的补码表示与A同理。
所以,-(A+B)的结果如下,即-A-B:
7.png
将-A-B代入P的表达式,所以P的结果如下:
8.png
以n=4比特X,Y相乘为例,P=XY为8比特:
9.png
该4*4 乘法器结构如下:

10.png
4*4Baugh-Wooley乘法器结构
以上结果中每个框均为全加器,有微小差距。
蓝色框,其中某个输入为xiyi相与;
绿色框,其中某个输入为xiyi相与后取反;
右下斜对角为P的传播路径,上下为进位传播路径,最长的进位传播链为P0的进位至P7的进位传播。
11.png
绿色框与蓝色框模块
二、Verilog设计
设计一个16比特或者32比特的Baugh-Wooley乘法器,位宽N可自定义,默认为16比特。
几个要点:
(1)蓝色框与绿色框全加器;
(2)橙色框模块,最后一级加法器,作为示例,此处采用RCA加法器;
(3)xiyi, ci, si, co, so信号生成;
(4)Baugh-Wooley结构连接;
(5)乘法结果输出P选择。
根据以上结构拓展成16比特的结构如下:
12.png
16*16 Baugh-Wooley乘法器结构
在Verilog中,可罗列出每个模块,并连接。为了便于参数化,根据如上结构划分为5部分,每一部分使用generate…endgenerate生成。
13.png
生成xi & yi
14.png
生成si和ci
15.png
全加器例化
16.png
最后一级加法器
17.png
最后一级乘法输出
18.png
32比特Baugh-Wooley乘法器测试部分打印信息
Baugh-Wooley乘法器,Verilog源码公众号回复“00e”。
参考资料:
《A Two's Complement Parallel Array Multiplication Algorithm》
《Baugh-Wooley Multiplier》
欢迎批评指正,更多阅读,关注“纸上谈芯”,不定期更新,共同学习:
19.png

发表于 2020-4-16 09:28:21 | 显示全部楼层
Thanks
发表于 2021-10-29 09:31:23 | 显示全部楼层
点赞!!!
发表于 2024-7-26 21:52:08 | 显示全部楼层
本帖最后由 wu_bo 于 2024-7-26 22:14 编辑

点赞
发表于 昨天 18:11 | 显示全部楼层
无符号数和有符号数都能算吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-25 15:44 , Processed in 0.019711 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表