一、Booth乘法器原理

Booth算法可以减少乘法运算中加法/减法次数,是二进制乘法补码运算的高效算法。

我们已经很熟悉,在乘法运算中包含2部分:(1):生成部分和;(2)部分和累积

而Booth算法可以减少部分和个数和加速累积,在连续比特“0”或“1”将产生更少的部分和。

在介绍Booth算法前,我们来重新回忆下往期中数的表示:

N比特数B,将其展开,其中B-1=0:

将A与B相乘,则:

对于B的第n位和第n-1位,从上式可以发现,B可以通过相邻比特的减法和2的n次方相乘而得。

如果AB两数相乘,从B的-1和0位逐次向高位检查,累积A*B的结果的话:

当Bn=Bn-1,则可以省去B与A相乘和加法,只需要进行移位即可。

如果Bn=1,Bn-1=0,则为-A*2的n次

如果Bn=0,Bn-1=1,则为+A*2的n次

通过以上A*B两数的认识,结合以上原理,我们来看Booth算法的基本过程,下文的A为累积寄存器,与上文示例不同。

Booth算法的基本过程为:

1. 被乘数和乘数分别存入M和Q寄存器;

2. 中间结果存入A和Q寄存器;

3. A和Q-1寄存器初始为0;Q-1为1比特寄存器,索引为“-1”;

4. Q-1寄存器放置于Q寄存器最低比特Q0比特的右方;

5. 在每个周期,检查Q0和Q-1:

5.1. 如果Q0Q-1 = 00 或 11, {A,Q,Q-1}将直接右移1比特。

5.2. 如果Q0Q-1 = 01,则被乘数M与A相加,{A,Q,Q-1}右移1比特。

5.3. 如果Q0Q-1 = 10,则A减去M,{A,Q,Q-1}右移1比特。

Booth算法的流程图如下,其中M为被乘数,Q为乘数,N为M和Q的M的比特位数,A为与M位宽相等的寄存器:

Booth算法流程图

以上是Radix-2 Booth算法,姑且翻译为基2布什算法,以下是一个例子:

7*(-5)= -35 ;

如果设计一个面积小,性能要求不高的乘法器,可以采用迭代的方法,根据流程图描述即可。

因在实际中基2 Booth算法使用较少,此处不特别展示基2 Booth算法的功能性Verilog设计,下期Radix-4 Booth再见。

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

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

【HDL系列】乘法器(5)——Radix-2 Booth乘法器相关推荐

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

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

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

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

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

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

  4. booth乘法器原理

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

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

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

  6. Booth乘法器和wallace树乘法器的理解

    <span style="font-family: FangSong_GB2312; color: rgb(51, 51, 51);"><span style=& ...

  7. booth乘法器 c语言,二进制乘法器的FPGA实现(常规和Booth乘法器)

    二进制乘法器的主要操作就是加发法操作和移位操作. 我们知道计算机存储数据都是以二进制形式进行存储的,以4位数为例解释一下被乘数和乘数如何操作,首先把被乘数扩展成2倍的位宽,高4位为0,低4位为被乘数, ...

  8. (88)FPGA乘法器设计(移位相加乘法器)

    (88)FPGA乘法器设计(移位相加乘法器) 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)FPGA乘法器设计(移位相加乘法器) 5)技术交流 6)参考资料 2 F ...

  9. 乘法器之五(混和式乘法器(Hybrid multiplication))

    4)    混和式乘法器(Hybrid multiplication) 混合乘法器模式结合了半并行和乘加两种乘法器模式,它有不同的两个输入位流,并且乘以不同的系数. 这种模式在象FFTs这样的有复数乘 ...

最新文章

  1. Maya制作风格化的女性跑步动画学习教程
  2. javaWeb实现文件上传与下载 (转)
  3. java url 生成图片_JAVA 通过URL生成水印图
  4. [Java] System.arraycopy 数组复制
  5. python wms_webGIS实践:4_2_python django整合geoserver wms服务
  6. linux 踢出在线用户
  7. ie浏览器在线使用_关于登录深圳市住房公积金管理中心网站在线办理平台的温馨提示...
  8. 【编译原理笔记01】什么是编译,编译系统各结构作用
  9. 解决:fatal error: opencv2/xfeatures2d.hpp: No such file or directory
  10. 【docker】如何在docker中执行redis命令
  11. stagefright
  12. 通过Modbus转EtherNetIP网关连接AB PLC的配置案例
  13. mPaaS 月度小报|魔方卡片(Cube)公测,十个卡片模板任意使用
  14. 云服务器查看物理MAC地址的方法
  15. 开源java数据库库
  16. vue:监听浏览器地址栏变化
  17. 【vue3】vue3+ts+vite项目设置路径别名
  18. 周鸿祎《智能主义》读书笔记
  19. 基于MATLAB的矩阵基础(附例题与代码)
  20. Hadoop配置—完全分布式

热门文章

  1. 如何监控Windows进程的句柄资源
  2. 2021年中国油气储气阀市场趋势报告、技术动态创新及2027年市场预测
  3. 我的世界服务器清道夫配置文件,清道夫环保网分享:废液焚烧炉烟气处理标准配置...
  4. LOJ #109. 并查集
  5. 我们是如何将一个项目做烂的
  6. 苹果无线耳机连接不上_苹果AirPods Pro鉴别真伪最简单有效的方法
  7. 热经-北京中地时空数码科技有限公司-研发工程师(WEBGIS方向)
  8. 18 | 安全标准和框架:怎样依“葫芦”画出好“瓢”?
  9. 怎么申请好用的企业邮箱?外贸公司企业邮箱托管
  10. 成为软件行业的福尔摩斯,还是苏格兰场?