4位先行进位加法器_【HDL系列】乘法器(4)——图解Wallace树

v2-d7a0cb428942d3dd0b6392dcf8796d0d_1440w.jpg?source=172ae18b

一、Wallace树

1963年,C.S.Wallace提出的一种高效快速的加法树结构,被后人称为Wallace树。其基本思想如下在其文章中描述如下:

Assuming that all summands are generated simultaneously the best possible first step is to group the summands into threes, and introduce each group into its own pseudoadder, thus reducing the count of numbers by a factor of 1.5 ( or a little less, if the number of summands is not multiple of three). The best possible second step is to group the numbers resulting from the first step into threes and again add each group in its own pseudoadder. By continuing such steps until only two numbers remain, the addition is completed in a time proportional to the logarithm of the number of summands.

简单地讲即许多个加数求和,每3个加数分为一组,压缩至2个加数,循环往复。参考往期文章《进位保存加法器原理与设计》:

纸上谈芯:【HDL系列】进位保存加法器原理与设计​zhuanlan.zhihu.com
v2-7478de49800a35cf0c007abc08d8ef51_180x120.jpg

以下是加数W1-W39的Wallace结构例子:

v2-3dc5598fc72fb731b35b7bf4bc39901b_b.jpg
加法树:来自《A Suggestion for a Fast Multiplier》

在乘法器中,乘法的积为许多个部分和之和。Wallace结构可以加快乘法器的计算速度。

v2-010059ec61007353f4f641f3f09c3905_b.jpg
A*B阵列乘法器

AB两数相乘,按照一般的阵列乘法器,上图中黄色和绿色每一列的加法进位输入依赖于前一列的进位输出,而Wallace结构将部分和分组,并同时计算,在最后一级使用加法器传播进位。

以下是8*8比特的阵列乘法器Wallace树结构例子:

1、每3个加数一组,分组,不足3个保持

v2-633c96ecdeaa4fc3900f0f421d141326_b.jpg

2、求出以上3个数的和与进位,参考往期文章:进位保存加法器

v2-3e8462ff9c85b635f742cc5ae21dfecd_b.jpg

3、继续每3个加数分组

v2-e4043d03536d3a72fb3d9452b53d106a_b.jpg

4、求出以上3个数的和与进位

v2-618b9c48a713825a2895d42a01601750_b.jpg

5、分组

v2-8b453d9b399e2282244cd04e3258a377_b.jpg

6、求和与进位

v2-9e1485d988ea6a882f42c7f37e4efe24_b.jpg

7、分组

v2-1e18f4bd67590785fae62b22bd9fc0b4_b.jpg

8、求和与进位

v2-6bd935b49519fcd2f3f8288a8d869799_b.jpg

9、最终结果求和,进位传播加法器

v2-3fa49360e3f1000efe5ef3c20e214236_b.jpg

验证:

‘b10100111 = 167

‘b11011001 = 217

‘b1000110110001111 = 36239 = 167 * 217

二、Verilog设计

设计一个8*8 Wallace树型阵列乘法器。

(1)设计CSA加法器,此部分很简单,与全加器类似;

(2)Wallace结构连接,为了连线简单,只做原理性的连接,就使用较大的位宽,让综合器去优化;

v2-6350cb592c33bde56ef151f5aacb735e_b.jpg
输入XY相与

v2-9c5d3969b9b4bcf42047a6dcf4f110a4_b.jpg
CSA level 0/1

v2-f875f8c63a6bd4de651ccb89174a13b6_b.jpg
CSA level 2/3

v2-2b4689518eb3ad2d9806a7a144b31e02_b.jpg
最后一级加法器

Wallace树阵列乘法器,源码公众号回复“00f”。

原创不易,如果对您有帮助,记得点赞关注哦。欢迎批评指正,谢谢鼓励!

一起“纸上谈芯”,共同学习:

http://weixin.qq.com/r/5Uhza1zEFAFrrRgI9x33 (二维码自动识别)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值