数字电路设计(4)——乘法器 chenille chenille

文章介绍了数字电路系统中乘法器的重要性和常见类型,包括阵列乘法器和Booth编码乘法器,特别是如何通过Booth编码减少部分积,提高运算效率。此外,还讨论了Wallace树在部分积求和中的作用,以压缩运算路径,加快乘法运算速度,节省资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

link

在数字电路系统中,乘法器是一种不可或缺的运算单元。数字信号处理、卷积运算的本质上是对乘法操作的复用,因此在运用数字电路系统进行信号处理时,往往要用到各种各样的乘法器。不同乘法器的性能、功耗依赖于设计的电路结构。近年来,对于优化乘法器结构设计,提高运算效率的研究层出不穷,乘法器的发展也日趋成熟。本文将介绍几种典型的乘法器结构,包括阵列乘法器改进的booth编码乘法器,以及介绍Wallace tree压缩结构对部分积求和速度的影响。

1.乘法运算过程

在数字系统中,乘法运算是以二进制的形式进行的,假设乘数为A,被乘数为B,那么写成二进制数为

其中 a−1a_{2k-1}+a_{2k}-a_{ak+1} )的值,也就是乘数A相邻三位的值。因此依据乘数A的相邻三位进行编码,可以得出部分积对应的操作。这种编码方式被称为基4-booth编码。

由公式可知:采用基4-booth编码乘法器的部分积只有位数的一半。

由推导的公式可以得出基4-booth乘法器的编码表

具体操作过程如下:

假设A=1001,B=1101

在乘数A的末尾补上0,前面补上符号位,然后对乘数A的每三位进行booth编码,编码数{0,-1,1,-2,2}分别对应无操作、-B、+B、-2B、+2B五种部分积的操作。每次进行部分积求和操作前左移2位。因此:

运算过程:

与传统的乘法计算过程相比,采用booth编码的方式能够使运算产生的部分积减少一半,从而大大减少后续的求和操作次数,节省了运算资源,降低延时,性能得到提升。

4.Wallace tree压缩

经过booth编码并输出相应的部分积后,下一步要进行的是对部分积进行求和,这个过程可以使用阵列加法器来完成,但部份积较多的情况下,用加法器阵列来求和效率不高,并且消耗的加法器运算资源较多,乘法器运算时间取决于最长路径延时。为了提高乘法器的运算速度,节省运算资源,C.S.Wallace提出了树形部份积压缩的方法,后人称之为Wallace 树压缩。其方法思想是:采用进位保留加法器(CSA),将三行部份积压缩成sumcarry两行,然后再输入下一级CSA中,进行进一步的压缩,直到最后剩下两行,采用进位传播加法器(Carry propagating adder)相加得到最后的乘法结果。

具体3-2压缩过程:

在Ubuntu 20.04系统上切换到阿里云的ARM架构(通常指arm64或aarch64)软件包源,你需要先确保你的系统支持ARM架构,并安装`software-properties-common`工具来管理软件源。以下是步骤: 1. **更新软件列表:** ```bash sudo apt update ``` 2. **添加阿里云社区的ARM源:** 首先打开终端,复制以下行替换`deb [trusted=yes]`后的URL,这里假设你想要使用Mirrors.Aliyun.com作为镜像源: ```bash sudo sed -i 's/deb https:\/\/blue-sea-697d.quartiers047.workers.dev:443\/http\/archive.ubuntu.com\/ubuntu focal main restricted universe multiverse/deb [trusted=yes] https:\/\/blue-sea-697d.quartiers047.workers.dev:443\/http\/mirrors.aliyun.com\/ubuntu\/focal arm64 main restricted universe multiverse/g' /etc/apt/sources.list ``` 3. **添加公钥:** ```bash curl -fsSL https://mirrors.aliyun.com/ubuntu/archive-keyring/2020.03.00~main.gpg | sudo gpg --dearmor -o /usr/share/keyrings/aliyun-archive-keyring.gpg ``` 4. **刷新并启用新源:** ```bash sudo apt update sudo apt install -y software-properties-common sudo add-apt-repository ppa:chenille/mirrors-aliyun -y sudo apt update ``` 5. **确认更换源成功:** 查看当前的软件源列表,确认阿里云源已经生效: ```bash cat /etc/apt/sources.list ``` 注意:这可能会涉及到一些库的兼容性问题,特别是那些专为x86架构设计的应用。如果遇到问题,可以尝试使用`apt --allow-unauthenticated`临时解决,但推荐在官方支持的镜像源中寻找ARM版本的软件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值