数字电路之乘法器(四)

目录

布斯乘法器(booth)

基2乘法器 radix-2

基4乘法器 radix-4


布斯乘法器(booth)

在设计乘法器时,我们希望面积更小,延时更小。布斯编码可以使延时更小。方法是减少累加的次数。

基-n是什么意思?对于kbits数据,通过某种编码仍然转成kbits,那么编码后的数可称为基2数,该编码叫做基2编码。

对于kbits数据,通过某种编码仍然转成k/2bits,那么编码后的数可称为基4数,该编码叫做基4编码。

对于kbits数据,通过某种编码仍然转成k/3bits,那么编码后的数可称为基8数,该编码叫做基8编码。

基2乘法器 radix-2

看下面这个公式

例如无符号数 1111 = 15 = 2^3 + 2^ 2 + 2 ^ 1 + 2 ^ 0 = 2 ^ 4 - 2 ^ 0 = 16 - 1 = 15

例如无符号数 1110 = 14 = 2^3 + 2^ 2 + 2 ^ 1 = 2 ^ 4 - 2 ^ 1 = 16 - 2 = 14

booth编码可以缩短带有一连串1的数的计算

对于任意的二进制数,可以通过如下对应关系进行二进制编码。要得到yi,需要同时判断xi和xi-1。例如判断y0,需要同时判断x0及其后一个数x-1,因为没有x-1,所以用0补。

需要注意的是:如果是无符号数,kbits数据布斯编码后为k+1bits

如果是有符号数,kbits数据布斯编码后为kbits

例如4bit无符号 1111 通过布斯编码后得到5bit 1000-1

例如4bit无符号 0111 通过布斯编码后得到5bit 0100-1

例如4bit有符号 1111 通过布斯编码后得到4bit 000-1

例如4bit有符号 0111 通过布斯编码后得到4bit 100-1

布斯编码每一位都有可能是0,-1,1,因此没有有符号或者无符号之分。

基2布斯编码器实际上不会减小乘法器面积或者延时,只是为了能够理解基4乘法器

基4乘法器 radix-4

在介绍基4布斯乘法器之前,先看下另一种基4乘法器。

我们将任意二进制数两两编组,那么可能会得到 0,1,2,3。对于原来的4*4乘法器,本需要4次加法,现在只需要2次加法,大大减少了延时。对于编组后的值,0*a, 1*a,2*a(通过移位)都容易得到。3*a可以通过4*a-1*a来得到,本轮加法直接加-1*a,并产生一个进位。因此稍微改进下,将任意二进制数两两编码,得到0,1,2,-1。在设计乘法器时,如果检测到-1,那么产生一个进位。

还有一种情况也会产生进位,那就是上一轮编码产生了一个进位,当前轮编码为3*a,怎么办呢?发现3*a + 1*a = 4*a,那么本轮加法可以直接加0*a,并产生一个进位。

接下来介绍基4布斯乘法器。该原理就是将[0,3]转成[-2,2]。0-3是4个数,-2-2是5个数,怎么对应?答案是参考前一个数,也就是说总共参考3bits。基4布斯编码表如下。先用xi+1与xi产生yi+1,xi与xi-1产生yi,再用yi+1与yi产生zi/2。

-2*a,-1*a,0*a,1*a, 2*a都可以通过移位来实现。

看如下一个无符号数例子,通过基4布斯编码将16bits数转成9bits

如果将上面的数当成有符号数,通过基4布斯编码,将16bits数转成8bits

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
乘法器是一种常见的电子元件,其基本含义是将两个数字相乘,并输出其乘积。在数字电路系统中有着广泛的应用。数字集成电路是指将多个晶体管、二极管、电阻等电子元件集成在一起,形成一个完整的电路系统。数字集成电路中的乘法器是一种重要的电子元件,它可以实现精确的数字乘法运算,并且可以进一步优化数字电路系统的性能,使其具有更高的效率和可靠性。 数字集成电路中的乘法器可以分为以下几类: 1. 串行乘法器:串行乘法器是一种基本的乘法器,它通过将两个数字逐位相乘,并将结果相加得到最终的乘积。串行乘法器的优点是结构简单,但是速度较慢。 2. 并行乘法器:并行乘法器是一种高速的乘法器,它可以同时处理多个数字的乘法运算。并行乘法器的优点是速度快,但是结构较为复杂。 3. Booth乘法器Booth乘法器是一种基于串行乘法器的改进型乘法器,它通过对乘数进行编码,从而减少了乘法器的运算次数,提高了乘法器的运算速度。 4. Wallace树乘法器:Wallace树乘法器是一种基于并行乘法器的改进型乘法器,它通过将多个部分积相加得到最终的乘积,从而提高了乘法器的运算速度。 在数字集成电路中,乘法器的设计和实现是一个复杂的过程,需要考虑多个因素,例如乘法器的精度、速度、功耗等。因此,乘法器的设计和实现需要有专业的知识和技能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值