目录

一、Wallace树

二、Verilog设计


一、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个加数,循环往复。参考往期文章《进位保存加法器原理与设计》:https://zhuanlan.zhihu.com/p/102387648

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

加法树:来自《A Suggestion for a Fast Multiplier》

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

A*B阵列乘法器

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

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

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

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

3、继续每3个加数分组

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

5、分组

6、求和与进位

7、分组

8、求和与进位

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

验证:

‘b10100111 = 167

‘b11011001 = 217

‘b1000110110001111 = 36239 = 167 * 217

二、Verilog设计

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

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

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

输入XY相与

CSA level 0/1

CSA level 2/3

最后一级加法器

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

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

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

【HDL系列】乘法器(4)——图解Wallace树相关推荐

  1. 原码一位乘法器设计_数字IC校招基础知识点复习(七)——超前进位加法器、Wallace树、Booth乘法器...

    1.超前进位加法器 看了一些面经,提到会让你用基础的门搭加法器,因此首先得熟悉半加器,全加器等最基础的加法器才能理解之后的超前进位加法器,树型加法器等复杂的加法器. 半加器的输入为a,b,输出为结果s ...

  2. 【HDL系列】乘法器(6)——Radix-4 Booth乘法器

    目录 一.Radix-4 Booth乘法器原理 二.Verilog设计 一.Radix-4 Booth乘法器原理 上文中介绍了基2 Booth乘法器,本文继续介绍基4 Booth乘法器. 对于N比特数 ...

  3. Wallace树专题研究

    Wallace树乘法器专题研究 绪论:在乘法器的设计中采用树形乘法器,可以减少关键路径和所需的加法器单元数目,Wallace树乘法器就是其中的一种.下面以一个4*4位乘法器为例介绍Wallace树乘法 ...

  4. Wallace树乘法器

    当前乘法器的设计主要有两种方式,Wallace树乘法器和booth编码乘法器.本篇主要讲述的是Wallace树乘法器. 1.算法讲解 以4×4位乘法器为例,如表1-1所示,列出了各个部分的积 表1-1 ...

  5. 乘法器——Wallace树型乘法器

    文章转自https://www.cnblogs.com/wangkai2019/p/11153887.html,在此保存一下 博主最近在看乘法器相关的知识,发现现在用的比较多的是booth编码的乘法器 ...

  6. 乘法器——基于Wallace树的4位乘法器实现

    博主最近在学习加法器乘法等等相关知识,在学习乘法器booth编码加Wallace树压缩时,发现在压缩部分积的时候用到了进位保留加法器(Carry Save Adder),博主对这种加法器不是很理解,而 ...

  7. [ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器

    原文:[ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器 上一章 [ 搭建Redis本地服务器实践系列二 ] :图解CentOS7配置Redis  介绍了Red ...

  8. 四位行波进位加法器_【HDL系列】硬件加法器原理与设计小结

    硬件加法器种类繁多,对于不同的设计,加法器的需求也不一样.在前端设计中,使用符号"+"便可轻而易举地实现加法器.只是在特殊的情况下,指定选择加法器类型,或许可以用到.其他情况,可以 ...

  9. 四位行波进位加法器_【HDL系列】Sklansky加法器原理与设计

    Sklansky加法器是另一种并行高速的树形加法器,由Sklansky于1959年发表,该加法器对比特位进位层级分组,根据对不同比特组所有可能的进位计算所有可选的和与进位,所以也叫Conditiona ...

最新文章

  1. 使用pg_stat_statement监控pgsql遇到的问题
  2. 企业网络推广——企业网络推广专员讲述网站友链交换如何做
  3. python可以自学吗-大家觉得自学python多久能学会?
  4. js生成元素的事件不执行问题
  5. [改善Java代码]不使用stop方法停止线程
  6. 关于最小化的另辟蹊径
  7. SQL 性能优化梳理 —— 基本概念、创建时优化、查询时优化
  8. 【渝粤教育】国家开放大学2018年秋季 1021t劳动与社会保障法 参考试题
  9. Apache配置URL重定向
  10. Apache JMeter web 应用测试工具使用快速入门
  11. cpu win10 安装yolo_Win10 超详细 0基础 搭建YOLOV5教程【环境搭建篇】
  12. mysql修改数据库与级别_数据库MySQL查看和修改事务隔离级别的实例讲解
  13. matlab的小波分析,MATLAB小波分析学习.pdf
  14. 异常详细信息: System.ComponentModel.Win32Exception: 信号灯超时时间已到
  15. AB PLC仿真过程
  16. 淘宝运营之:店铺信用分计算规则
  17. 类型的Overflow与underflow
  18. 离散数学对学计算机有什么用?
  19. opencv报错file too short
  20. MSF外网渗透+shellcode免杀

热门文章

  1. Aspose.Words使用word模板中的书签插入图片(导出含有图片的word)
  2. EDA实验(Quartus Ⅱ+fpga) (二)---时序电路的设计-模可变计数器设计
  3. Python 爬虫进公司必会项目
  4. 最好用的Python爬虫推荐
  5. 几何画板使用技巧——自动乘法器的设计
  6. print函数python_Python学习之print()函数
  7. 小基耶萨人物志:年少天赋平平曾留级 偶像是卡卡
  8. 标准中文电码查询易语言代码
  9. Bouncy Castle的Java JCE安装方法
  10. IPB60R950C6-ASEMI代理英飞凌高压MOS管IPB60R950C6