一、乘法原理

如图所示,二进制乘法和十进制乘法类似,都是单bit相乘,移位后相加
​​​​​​
如a(4bit)*b(4bit)

将上图中所有数相加时,我们会用到阵列乘法器

其中,HA表示半加器,FA表示全加器,虚线表示进位链
上图红色和紫色线表示最长路径,代表了组合逻辑深度,我们对其进行优化

优化后,进位链变短
由此我们可以得出,乘法运算由2部分组成:生成部分积、通过加法树对数据压缩
二、部分积生成


如图所示,红框中的数即为部分积
我们知道,01110 = 10000 - 00010
因此,上述5个数相加就可化简为2个数相减
110100000-110100
减法可以用加补码表示
110100000+001100
因此,当有连续的“1”时,这种方法可以减少部分积的个数,加法树的层级变小
这就是radix编码

对于二进制有符号数,其二进制好十进制的转化方法为:

1、Radix-2编码
B可以展开为:

A*B可以写为:

Radix-2编码可以消除2bit连续的“1”,但是对于硬件电路来说,加法树的层级并没有得到减少,反而引入了编码电路,由此引出radix-4编码

2、Radix-4编码

其基系数为:

B可以展开为:

A*B可以写为:

对每一组A、B相乘

由上表可以看出,我们只需要对A进行取补码或者移位操作,就可完成部分积的计算
相比于Radix-2 Booth编码,Radix-4 Booth编码将使得乘法累积的部分和数减少一半,部分积只涉及到移位和补码计算。

3、符号位扩展

假设16*16无符号乘法器的所有部分积均为正数,除了底部的部分和为16bit,其他部分和的位宽均为17bit。

这是因为Radix-4编码是基于最高bit是符号位,所以对于1616的无符号乘法,需要对高位补0

以公式

为例,如图所示,紫色是与基系数的项,蓝色是补充的符号位
对于
来说,Bn-1、Bn-2均为0,所以基系数只可能是1或-1,因此底部的部分和为16bit,而其他的基系数的取值范围是0~2(假设均为正数),所以位宽是17bit
如图

假设16
16无符号乘法器的所有部分积均为负数,用二进制补码表示,需要取反,最低bit加1

我们对高位的1进行化简,由于上图中所有的数相加后即为乘法结果,我们先将高位的1相加,结果如图

由此,部分积为正数或负数的情况我们都有了,这时候,我们需要对这两种情况进行区分
我们可以看出,两者的区别在于两个部分,一个是低位是否加1;另一个是高位扩展的2bit数的值。
对于低位加1,我们设置变量S,让低位加S,若部分积为负值,则S为1,若部分积为正值,则S为0
对于高位扩展数的值,如下图所示,若

booth乘法器的原理与verilog实现相关推荐

  1. 流水线乘法器的原理及verilog代码

    1.乘法原理 二进制数乘法的显著特点就是可以将乘法转换为移位,乘2就是左移一位,乘2^n就是左移n位.而一个二进制数又可以看成是由若干个2的i次方的和. 设被乘数和乘数分别为M.N,且都是32位的二进 ...

  2. 基2-booth乘法器原理及verilog代码

    1.booth乘法器原理 对于一个n位的有符号二进制数B,首位是0则B可以表示为: 首位是1,B[n-2:0]是实际数字的补码,所以可以得到 . 可以得到合并的公式如下所示: 将公式展开: 除了n-1 ...

  3. FPGA系统性学习笔记连载_Day8【4位乘法器、4位除法器设计】 【原理及verilog实现、仿真】篇

    FPGA系统性学习笔记连载_Day8[4位乘法器.4位除法器设计] [原理及verilog实现.仿真]篇 连载<叁芯智能fpga设计与研发-第8天> [4位乘法器.4位除法器设计] [原理 ...

  4. booth乘法器原理

    在微处理器芯片中,乘法器是进行数字信号处理的核心,同时也是微处理器中进行数据处理的关键部件.乘法器完成一次操作的周期基本上决定了微处理器的主频.乘法器的速度和面积优化对于整个CPU的性能来说是非常重要 ...

  5. 基于Basys2的Booth乘法器的设计

    目录 一.设计指标(老样子,鲲鲲定的,我直接贴上来) 二.Booth乘法原理 三.Verilog代码 1.Booth乘法器: 2.显示转换模块: 3.数值位译码器: 4.符号位译码器: 5.时钟分频模 ...

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

    一.Booth乘法器原理 Booth算法可以减少乘法运算中加法/减法次数,是二进制乘法补码运算的高效算法. 我们已经很熟悉,在乘法运算中包含2部分:(1):生成部分和:(2)部分和累积 而Booth算 ...

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

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

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

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

  9. 计算机组成原理乘法器实验报告,Booth乘法器实验报告

    计算机组成原理Booth乘法器实验报告及源码 运算器部件实验:Booth乘法器 班级:软件工程 一. 实验目的 理解并掌握乘法器的原理. 二. 实验原理 Booth算法是一种十分有效的计算有符号数乘法 ...

最新文章

  1. Mol Plant | 多家单位联合发布小麦组学大数据可视化和在线分析平台WheatOmics
  2. PICRUSt2分析实战:16S扩增子OTU或ASV预测宏基因组EC、通路、KO(200806更新)
  3. 对Transformer、XLNet、 ALBERT、 CRF等技术仍然一知半解?再不学习就OUT了!
  4. socket编程报异常java.io.EOFException
  5. PHP 中提示undefined index如何解决(多种方法)
  6. 破windows xp登陆密码
  7. python中的序列化与反序列化
  8. Linux应用程序和驱动程序如何完成交互,应用程序和驱动的简易交互方式的实现...
  9. 复选框 ComboBox 1129
  10. Rafy 框架 - 使用 SqlTree 查询
  11. python中字典类型中的item是什么-Python中的字典介绍
  12. 港科大郑光廷院士问诊未来,探讨 AI 最新应用与实践
  13. jsp操作mysql
  14. Visual Studio附加调试进程时找不到
  15. EasyPR转qt5-vs2013
  16. 小书童开源免费的二维码批量生成工具
  17. C#excelpackage读写Excel文件
  18. 2022-2023年华南师范大学工商管理硕士(MBA)招生简章
  19. 深度linux系统初始化,deepin官方论坛-深度科技官网旗下网站
  20. 亚马逊这样做竞争大的产品更有优势

热门文章

  1. 2021-2025年中国脱水泵行业市场供需与战略研究报告
  2. 知乎关注度人数最多的问题排行榜 TOP10
  3. 电容介绍|电容的种类和作用
  4. 苹果三代耳机_华强北airpods2 华强北三代耳机 airpodspro可调通透 主动降噪 定位改名 苹果airpodspro...
  5. JS树结构操作:查找、遍历、筛选、树结构和列表结构相互转换
  6. 手机号注册过,被遗忘的网站有哪些?
  7. java 医保接口对接_读:HIS 与医保系统的接入方案及实现
  8. HAL库实践记录之串口接收不定长数据
  9. linux内核协议栈 TCP层数据发送之TSO/GSO
  10. 微信图文信息自动跳转