CN102662624A - 乘法器 - Google Patents
乘法器 Download PDFInfo
- Publication number
- CN102662624A CN102662624A CN2012101093377A CN201210109337A CN102662624A CN 102662624 A CN102662624 A CN 102662624A CN 2012101093377 A CN2012101093377 A CN 2012101093377A CN 201210109337 A CN201210109337 A CN 201210109337A CN 102662624 A CN102662624 A CN 102662624A
- Authority
- CN
- China
- Prior art keywords
- multiplier
- unit
- multiplicand
- partial product
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
本发明提供一种应用于电力线载波通信系统中、基于Radix-4Booth编码的乘法器,包括:比特位选取单元、Booth编码单元、部分积累加值选通单元、加法单元、寄存单元、以及时钟控制单元;相较于现有技术,本发明充分利用了电力线载波系统中调制解调电路实现的特点,并且合理运用改进的Radix-4booth编码降低部分积个数,大大降低了乘法器的面积。
Description
技术领域
本发明涉及电力线载波通信技术,特别地,更涉及一种应用于电力线载波通信系统中的乘法器。
背景技术
电力线载波通信技术是一种利用电力线作为通信媒介来传输数据信息的通信方式,其以载波的方式实现数据、语音、视频等的传输通信。现在该技术广泛应用于通信、电力、工业控制等行业领域,这种通信技术是当今通信行业中一种先进的技术。
在电力线载波通信系统中,调制电路和解调电路通常要用到乘法器实现,即,在发送部分的调制电路中需要利用乘法器将基带信号调制到载波频段,而在接收部分的解调电路中需要利用乘法器将载波信号解调至基带信号。一般而言,所述调制电路中需要一个乘法器,而在所述解调电路中则需要两个乘法器(如图1所示)。
在电力线载波通信系统中,乘法器的乘数和被乘数都是12比特位,最后的乘积结果只取高12比特位。乘数和被乘数直接相乘的话用工具综合后的面积是比较大的,例如:在时钟频率为50MHz的情形下,每一个乘法器的面积都超过1400门,那么若在整个电力线载波通信系统中,三个乘法器的面积则大约为5300门。如此,会占用大量的系统资源。
另一方面,Booth编码也是常用的用来优化乘法器的一种方法。当两个多比特位数相乘时,相乘的过程中往往需要用乘数的每一位去乘被乘数,每一次得到的乘积称为部分积。
通常部分积的个数是由乘数的位数决定的,即乘数中的每一位都会对应一个部分积。相乘的最终结果是各个部分积之和。
Booth编码的本质是考察乘数中连续“1”的情况,然后将连续出现的“1”改造成更高一位的正“1”和更低一位的负“1”。例如,对二进制数“0011110”,既可以写为(24+23+22+21),也可以经过编码后改变为“010000(-1)”,即,(25-20)。这样,在与被乘数相乘的时候可以减少部分积的个数。只不过,此时的部分积不仅是被乘数乘以“1”或者乘以“0”的结果,还可能是乘以“-1”的结果。更高级的Booth编码可以使部分积个数更少,只不过部分积的形式会更多一些。
根据Booth编码而改进的Radix-4Booth编码是一种常见的产生部分积的方法,其原理是每一次考虑乘数中相邻的三个比特位,即,将乘数中相邻三个比特位进行编码,可以最终使部分积的个数减少一半。具体来讲,改进的Radix-4Booth编码考虑的乘数中的相邻三位分别称为:本比特位,相邻高比特位和相邻低比特位。
现以12比特位的乘数Y(Y11 Y10 Y9 Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0)为例,其中,Y11代表Y的最高比特位,Y0代表Y的最低比特位,中间Y10~Y1代表中间从高到低的其他比特位。在对乘法进行编码时,乘数需要在最低位第0位后,补充一位,即,第-1位Y-1,该位恒为0。那么,第一次取的三个比特位是{Y1,Y0,Y-1}(即,{Y1,Y0,0}),第二次取的三个比特位是{Y3,Y2,Y1},......直至最后一次取的三个比特位是{Y11,Y10,Y9}。可以看出,每相邻两次选取的三个比特位中有一个比特位是重叠的,所以实际相当于每次平均处理了两个比特位,所以总的部分积会比每次只考虑一个比特位时减少一半。
请参阅表一,其显示了Radix-4Booth编码的规则。如表一所示,其中,X代表被乘数,Y表示乘数,表1中两倍的被乘数2X可以通过被乘数左移1位得到,补码表示的被乘数相反数-X可以通过对被乘数取反加1实现。当部分积为正数时,补偿位S为0;当部分积为负数时,对被乘数取反,补偿位S为1,从而实现取反加1的操作。
Yi+1,Yi,Yi-1 | 部分积 | 补偿位S |
000 | +0 | 0 |
001 | +X | 0 |
010 | +X | 0 |
011 | +2X | 0 |
100 | -2X | 1 |
101 | -X | 1 |
110 | -X | 1 |
111 | -0 | 1 |
表一 Radix-4 Booth编码
注意:表一中的部分积都是和Yi相对应的,所以最终部分积相加时需要把相应比特位对齐。
但是,我们发现,如果直接经过改进的Radix-4 Booth编码来优化乘法器,用综合工具综合后发现其面积并不比单纯使用综合器产生的乘法器面积小,仍会占用大量的系统资源。
发明内容
本发明的目的在于提供一种乘法器,用于解决现有技术中乘法器结构复杂度和/或计量精度等问题。
为解决上述目的及其他目的,本发明在一方面提供一种基于Radix-4 Booth编码的乘法器,包括:比特位选取单元、Booth编码单元、部分积累加值选通单元、加法单元、寄存单元、以及时钟控制单元;所述时钟控制单元用于产生分别控制所述比特位选取单元、所述部分积累加值选通单元以及所述寄存单元的第一时钟控制信号、第二时钟控制信号以及第三时钟控制信号;所述比特位选取单元用于基于Radix-4 Booth编码对乘数的比特位进行选取;在所述Radix-4 Booth编码中,在每一个时钟内每一次选取乘数中相邻的三个比特位,且相邻两次选取的三个比特位中有一个比特位是重叠的;所述乘数具有N比特位;所述Booth编码单元用于将所述比特位选取单元选取的乘数的比特位与被乘数进行相乘以获得对应的部分积;所述被乘数具有N比特位;所述部分积累加值选通单元用于从初始值和所述寄存单元寄存的前一次的部分积累加值中选择其中之一予以输出;所述部分积累加值选通单元选择前一次的部分积累加值是选取的前一次的部分积累加值的高N比特位;所述加法单元用于将所述Booth编码单元输出的部分积与所述部分积累加值选通单元输出的选通值相加以得到当前次的部分积累加值;所述寄存单元用于将所述加法单元得到的当前次的部分积累加值予以寄存,并将当前次的部分积累加值延时后输出至所述部分积累加值选通单元,以供进行下一次的部分积累加。
可选地,所述寄存单元还包括在经过最后一次部分积累加以得到的乘数与被乘数的相乘结果之后将所述相乘结果予以锁存。
可选地,基于Radix-4 Booth编码,完成一次的乘数与被乘数相乘运算所需要的相乘运算周期为N/2个时钟。
可选地,所述N为12,即,乘数和被乘数都是12比特位;乘数与被乘数的相乘结果取其中的高12比特位。
可选地,所述初始值为0。
本发明在另一方面提供一种基于Radix-4 Booth编码的乘法器,所述乘法器包括:乘数选通单元、比特位选取单元、被乘数选通单元、被乘数控制单元、Booth编码单元、部分积累加值选通单元、加法单元、第一寄存单元、第二寄存单元以及时钟控制单元;所述时钟控制单元用于产生控制所述比特位选取单元和所述被乘数控制单元的第一时钟控制信号、控制所述部分积累加值选通单元的第二时钟控制信号、以及控制所述第二寄存单元的第三时钟控制信号;所述乘数选通单元用于根据状态控制信号从第一乘数和第三乘数中选择其中之一予以输出;所述乘数选通单元在所述状态控制信号表示的是解调状态的情况下选择第一乘数,所述乘数选通单元在所述状态控制信号表示的是调制状态的情况下选择第三乘数;第一乘数和第三乘数具有N比特位;所述比特位选取单元用于根据所述乘数选通单元的选通结果、基于Radix-4 Booth编码对乘数的比特位进行选取;在所述Radix-4 Booth编码中,在每一个时钟内每一次选取乘数中相邻的三个比特位,且相邻两次选取的三个比特位中有一个比特位是重叠的;所述比特位选取单元在所述状态控制信号表示的是解调状态的情况下在第一个相乘运算周期内对第一乘数的比特位进行选取并在第二个相乘运算周期内对第二乘数的比特位进行选取;所述比特位选取单元在所述状态控制信号表示的是调制状态的情况下在一个相乘运算周期内对第三乘数的比特位进行选取;第二乘数具有N比特位;被乘数选通单元用于根据所述被乘数控制单元输出的被乘数选通控制信号对第一被乘数、第二被乘数以及第三乘数进行选通并予以输出;所述被乘数控制单元根据输入的所述第一时钟控制信号和所述状态控制信号而输出被乘数选通控制信号;所述被乘数选通单元在所述状态控制信号表示的是解调状态的情况下在第一个相乘运算周期内选通第一被乘数并在第二个相乘运算周期内选通第二被乘数;所述被乘数选通单元在所述状态控制信号表示的是调制状态的情况下在一个相乘运算周期内选通第三被乘数;第一被乘数、第二被乘数以及第三被乘数具有N比特位;所述Booth编码单元用于将所述比特位选取单元选取的乘数的比特位与所述被乘数选通单元选通的被乘数进行相乘以获得对应的部分积;所述部分积累加值选通单元用于从初始值和所述第一寄存单元寄存的前一次的部分积累加值中选择其中之一予以输出;所述部分积累加值选通单元选择前一次的部分积累加值是选取的前一次的部分积累加值的高N比特位;所述加法单元用于将所述Booth编码单元输出的部分积与所述部分积累加值选通单元输出的选通值相加以得到当前次的部分积累加值;所述第一寄存单元用于将所述加法单元得到的当前次的部分积累加值予以寄存,并将当前次的部分积累加值延时后输出至所述部分积累加值选通单元,以供进行下一次的部分积累加;所述第二寄存单元用于在一个相乘运算周期内经过最后一次部分积累加以得到的乘数与被乘数的相乘结果之后将所述相乘结果予以锁存;所述第二寄存单元在所述状态控制信号表示的是解调状态的情况下锁存第一个运算周期内第一乘数与第一被乘数的相乘结果和第二个运算周期内第二乘数与第二被乘数的相乘结果;所述第二寄存单元在所述状态控制信号表示的是调制状态的情况下锁存一个运算周期内第三乘数与第三被乘数的相乘结果。
可选地,基于Radix-4 Booth编码,完成一次的乘数与被乘数相乘运算所需要的相乘运算周期为N/2个时钟。
可选地,所述N为12,即,乘数和被乘数都是12比特位;乘数与被乘数的相乘结果取其中的高12比特位。
可选地,所述初始值为0。
本发明提供的乘法器,合理运用改进的Radix-4 booth编码降低了部分积个数;并且在进行部分积累加时仅提取累加结果的高N比特位,从而使得乘法器最后取值只取部分积累加得到的相乘结果的高N比特位,进一步降低乘法器的面积。
另外,本发明提供了解调/调制复用的乘法器,充分利用了电力线载波通信系统中调制解调电路实现的特点,通过资源复用,使得最终的乘法器结构可以完全地承担原本需要的3个独立乘法器才能完成的功能,大大节约了乘法器的面积;并且,由于减少了部分积的个数,即使在需要完成两次乘法运算的解调电路部分,仍可以在两个运算周期内完成两次乘法运算。
附图说明
图1为现有电力线载波通信系统中乘法器应用于解调电路的框图。
图2为本发明乘法器在第一实施例中的电路结构图。
图3为本发明乘法器进行多步相乘时被乘数X的对位示意图。
图4为本发明乘法器在第二实施例中的电路结构图。
具体实施方式
鉴于现有电力线载波通信系统中的乘法器面积很大、占用大量的系统资源等问题,本发明的发明人对现有技术进行了改进,提出了一种乘法器,合理运用改进的Radix-4 booth编码降低了部分积个数,并且在进行部分积累加时仅提取累加结果的高12比特位,从而使得乘法器最后取值只取部分积累加得到的相乘结果的高12比特位,从而降低乘法器的面积。
以下通过特定的具体实例说明本发明乘法器进行详细说明,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在以下实施例中,本发明提供的乘法器是应用于电力线载波通信系统中,所述电力线载波通信系统工作频率在48MHz,而接收端的信号采样率为750KHz,在发送端的信号采样率则为3MHz。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
第一实施例:
图2显示了本发明乘法器在第一实施例中的电路结构图。如图2所示,第一实施例中的乘法器包括:比特位选取单元11、Booth编码单元12、部分积累加值选通单元13、加法单元14、寄存单元15、以及时钟控制单元16。
以下对上述各个单元组件进行详细说明。
时钟控制单元16用于产生时钟控制信号。在本实施例中,时钟控制单元16产生有:控制比特位选取单元11的第一时钟控制信号Ctrl 1、控制部分积累加值选通单元13的第二时钟控制信号Ctrl 2、以及控制寄存单元15的第三时钟控制信号Ctrl 3。
比特位选取单元11用于基于Radix-4 Booth编码对乘数的比特位进行选取。在这里,所述乘数具有N比特位。
Booth编码单元12用于将比特位选取单元11选取的乘数的比特位与被乘数进行相乘以获得对应的部分积。在这里,所述被乘数具有N比特位。
部分积累加值选通单元13用于从初始值和寄存单元15寄存的前一次的部分积累加值中选择其中之一予以输出。在这里,由于所述乘法器最后取值只需要保留乘数与被乘数的相乘结果中最高的N位,所以只要保证不会产生进位的低比特数据都可以丢弃,因此,部分积累加值选通单元13选择前一次的部分积累加值是选取的前一次的部分积累加值的高N比特位。特别地,当比特位选取单元11是在进行第一次取的三个比特位与被乘数相乘时,则部分积累加值选通单元13选通初始值。在本实施例中,所述初始值为0。
加法单元14用于将Booth编码单元12输出的部分积与部分积累加值选通单元13输出的选通值相加以得到当前次的部分积累加值。
寄存单元15用于将加法单元得到的当前次的部分积累加值予以寄存,并将当前次的部分积累加值延时后输出至部分积累加值选通单元13,以供进行下一次的部分积累加。
由上可知,图2所示的乘法器,合理运用改进的Radix-4 booth编码降低了部分积个数;并且在进行部分积累加时仅提取累加结果的高N比特位,从而使得乘法器最后取值只取部分积累加得到的相乘结果的高N比特位,进一步降低乘法器的面积。
现以一具体实例来进行说明。
现假设应用所述乘法器的乘数Y和被乘数X均为12比特位。根据Booth编码而改进的Radix-4 Booth编码是一种常见的产生部分积的方法,其原理是每一次考虑乘数中相邻的三个比特位(即:本比特位,相邻高比特位和相邻低比特位)。如上所述,12比特位的乘数Y(Y11 Y10Y9 Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0)(可以Y[11:0]表示)为例,其中,Y11代表Y的最高比特位,Y0代表Y的最低比特位,中间Y10~Y1代表中间从高到低的其他比特位。在对乘法进行编码时,乘数需要在最低位第0位后,补充一位,即,第-1位Y-1,该位恒为0。那么,第一次取的三个比特位是{Y1,Y0,Y-1}(即,{Y1,Y0,0}),第二次取的三个比特位是{Y3,Y2,Y1},第三次取的三个比特位是{Y5,Y4,Y3},第四次取的三个比特位是{Y7,Y6,Y5},第五次取的三个比特位是{Y9,Y8,Y7},第六次(即,最后一次)取的三个比特位是{Y11,Y10,Y9}。可以看出,每相邻两次选取的三个比特位中有一个比特位是重叠的,所以实际相当于每次平均处理了两个比特位,所以总的部分积会比每次只考虑一个比特位时减少一半。因此,每一次从乘数Y[11:0]中选择三个相邻的比特位与被乘数相乘得到部分积是在1个时钟内完成的,那么完成乘数Y[11:0]与被乘数X[11:0]相乘得到相乘结果的相乘运算周期则仅需要6个时钟。
因为是分步运算,每一步都会从乘数Y[11:0]中选择相邻的三个比特位,然后根据这三个比特位数据产生部分积。比特位选取单元11会根据时钟控制单元16输出的第一时钟控制信号,从乘数Y[11:0]中选择相邻的三个比特位Y_sel[2:0];这三个比特位Y_sel[2:0]和被乘数X[11:0]进入Booth编码单元12后产生部分积X1[12:0],根据Booth编码规则,X1[12:0]可能取值在-2X和2X之间,故X1[12:0]比X[11:0]多一位;利用加法单元14,X1[12:0]和部分积累加值选通单元13选通的X2[11:0]相加得到X3[13:0],实际上,这是完成部分积累加的过程,另外,特别地,当每次乘法运算在第一步的时候,X2取值为0;部分积的累加值X3[13:0]输入到寄存单元15,寄存单元15将X3[13:0]延迟一个时钟周期得到X3_d[13:2],并返至部分积累加值选通单元13,以供进行下一次的部分积累加。
特别地,在上述过程中,因为该乘法器最后取值只需要保留最高的12位,所以只要保证不会产生进位的低比特数据都可以丢弃,故X2[11:0]和X1[12:0]做加法时,X2[11:0]只取X3_d[13:2]的高12位,丢弃低2位,这样X1和X2相加实际上完成了前两步产生的部分积的累加,只不过是丢弃了部分积的低两位,这样,就可以使电路面积进一步减小。
此后的每一步都会是取上一步累加值的高12比特,这个过程也是由时钟控制单元16来控制的。
因为Y是12比特位,故会产生6个部分积,其中第一次的部分积最低位与Y0对齐,第二次产生的部分积最低位与Y2对齐;......;依次类推,直到第六次产生的部分积最低位与Y10对齐。所以当前次产生的部分积最低位都比前一次产生的部分积的最低位高两位。
请参阅图2,每一步产生的值就是和X1对应的值:本发明实现乘法的流程如下:
步骤1:X1最低位和Y0对齐,X2为零,X3=X1;
步骤2:X1最低位和Y2对齐,X3_d是步骤1中X3的值也就是步骤1中的X1值。因为该乘法器最后取值只需要保留最高的12位,所以只要保证不会产生进位的低比特数据都可以丢弃,故X2和X1做加法的时候,X2只取X3_d的高12位,丢弃低两位,这样可以使电路面积进一步减小。这样X1和X2相加实际上完成了前两步产生的部分积的累加,只不过是丢弃了部分积的低两位;
步骤3至步骤6,其过程和步骤2相仿,直至在步骤6得到最终结果后利用寄存单元15将相乘结果予以锁存。
使用上述方法实现乘法器,总共面积大约仅为540门左右,比每个直接实现的乘法器节约了60%多的面积。
第二实施例:
图4显示了本发明乘法器在第二实施例中的电路结构图。如图4所示,第二实施例中的乘法器包括:乘数选通单元21、比特位选取单元22、被乘数控制单元23、被乘数选通单元24、Booth编码单元25、部分积累加值选通单元26、加法单元27、第一寄存单元28、第二寄存单元29以及时钟控制单元20。
以下对上述各个单元组件进行详细说明。
时钟控制单元20用于产生控制比特位选取单元22和被乘数控制单元23的第一时钟控制信号Ctrl 1、控制部分积累加值选通单元26的第二时钟控制信号Ctrl 2、以及控制第二寄存单元29的第三时钟控制信号Ctrl 3;
乘数选通单元21用于根据状态控制信号Rx_txb从第一乘数Y1和第三乘数Y3中选择其中之一予以输出;具体地,乘数选通单元21包括:在状态控制信号Rx_txb表示的是解调状态的情况下(Rx_txb=1)选择第一乘数Y1,在状态控制信号Rx_txb表示的是调制状态的情况下(Rx_txb=0)选择第三乘数Y3。这里,第一乘数和第三乘数具有N比特位。
比特位选取单元22用于根据乘数选通单元21的选通结果、基于Radix-4 Booth编码对乘数的比特位进行选取。具体地,比特位选取单元22包括:在状态控制信号Rx_txb表示的是解调状态的情况下(Rx_txb=1)在第一个相乘运算周期内对第一乘数Y1的比特位进行选取并在第二个相乘运算周期内对第二乘数Y2的比特位进行选取;在状态控制信号Rx_txb表示的是调制状态的情况下(Rx_txb=0)在一个相乘运算周期内对第三乘数Y3的比特位进行选取。在这里,第二乘数具有N比特位。
被乘数选通单元24用于根据被乘数控制单元23输出的被乘数选通控制信号对第一被乘数X1、第二被乘数X2以及第三乘数Y3进行选通并予以输出。被乘数控制单元23是根据输入的第一时钟控制信号Ctrl 1和状态控制信号Rx_txb而输出被乘数选通控制信号。具体地,被乘数控制单元23包括:在状态控制信号Rx_txb表示的是解调状态的情况下(Rx_txb=1)在第一个相乘运算周期内选通第一被乘数X1并在第二个相乘运算周期内选通第二被乘数X2;在状态控制信号Rx_txb表示的是调制状态的情况下(Rx_txb=0)在一个相乘运算周期内选通第三被乘数X3。在这里,第一被乘数X1、第二被乘数X2以及第三被乘数X3具有N比特位。
Booth编码单元25用于将比特位选取单元22选取的乘数的比特位与被乘数选通单元24选通的被乘数进行相乘以获得对应的部分积。
部分积累加值选通单元26用于从初始值0和第一寄存单元28寄存的前一次的部分积累加值中选择其中之一予以输出。在这里,由于所述乘法器最后取值只需要保留乘数与被乘数的相乘结果中最高的N位,所以只要保证不会产生进位的低比特数据都可以丢弃,因此,部分积累加值选通单元26选择前一次的部分积累加值是选取的前一次的部分积累加值的高N比特位。特别地,当比特位选取单元22是在进行第一次取的三个比特位与被乘数相乘时,则部分积累加值选通单元26选通初始值。在本实施例中,所述初始值为0。
加法单元27用于将Booth编码单元25输出的部分积与部分积累加值选通单元26输出的选通值相加以得到当前次的部分积累加值。
第一寄存单元28用于将加法单元27得到的当前次的部分积累加值予以寄存,并将当前次的部分积累加值延时后输出至部分积累加值选通单元26,以供进行下一次的部分积累加;
第二寄存单元29用于在一个相乘运算周期内经过最后一次部分积累加以得到的乘数与被乘数的相乘结果之后将所述相乘结果予以锁存。具体地,第二寄存单元29包括:在状态控制信号Rx_txb表示的是解调状态的情况下(Rx_txb=1)锁存第一个运算周期内第一乘数与第一被乘数的相乘结果和第二个运算周期内第二乘数与第二被乘数的相乘结果;在状态控制信号Rx_txb表示的是调制状态的情况下(Rx_txb=0)锁存一个运算周期内第三乘数与第三被乘数的相乘结果。
如上所述,第二实施例提供的乘法器,充分利用了电力线载波通信系统中调制解调电路实现的特点,通过资源复用,实现了解调/调制复用,即,当状态控制信号Rx_txb表示的是解调状态的情况下(Rx_txb=1),分别选取X1/Y1和X2/Y2作为解调电路中乘法器输入;当状态控制信号Rx_txb表示的是调制状态的情况下(Rx_txb=0),分别选取X3/Y2作为解调电路中乘法器输入。如此,使得最终的乘法器结构可以完全地承担原本需要的3个独立乘法器才能完成的功能,大大节约了乘法器的面积。
现以一具体实例来进行说明。
由于乘法器的工作原理已在前述的第一实施例中予以详细说明。因此为便于说明,在此就不再赘述。
现假设应用所述乘法器的乘数Y和被乘数X均为12比特位。根据Radix-4 Booth编码,每一次从乘数Y中选择三个相邻的比特位与被乘数相乘得到部分积是在1个时钟内完成的,那么完成乘数Y与被乘数X相乘得到相乘结果的相乘运算周期则仅需要6个时钟。
当处于解调状态(Rx_txb=1)时,在第一个相乘运算周期内第一乘数X1和第一被乘数Y1相乘,在第二个相乘运算周期内第二乘数X2和第二被乘数Y2相乘,两者会共用一个乘法器。因为,解调时工作始终频率(48MHz)远远高于信号采样率(750KHz),故可以保证至少在12个连续的时钟内,组合X1/Y1,X2/Y2均保持不变。具体地,在解调过程中,乘数选通单元21首先会选择第一乘数Y1,即Y_mux[11:0]=Y1;然后Y_mux[11:0]和第二乘数Y2会进入比特位选取单元22,时钟控制单元20会对比特位选取单元22进行如下操作:在前6个时钟(即第一相乘运算周期)内,选择第一乘数Y1来产生Y_sel[2:0],在之后的6个时钟(即第二相乘运算周期)内,选择第二乘数Y2来产生Y_sel[2:0];同时,被乘数选通单元24也会在前6个时钟(即第一相乘运算周期)内选择第一被乘数X1,在之后的6个时钟(即第二相乘运算周期)内选择第二被乘数X2。这样,就相当于前6个时钟(即第一相乘运算周期)X1/Y1占用乘法器资源,后6个时钟(即第二相乘运算周期)X2/Y2占用乘法器资源。如此,就实现了X1/Y1和X2/Y2共享了乘法器资源。另外,时钟控制单元20产生的第三时钟控制信号Ctrl 3会分别在第7个和第13个时钟的时候利用第二寄存单元29锁存第一乘数X1与第一被乘数Y1的相乘结果和第二乘数X2与第二被乘数Y2的相乘结果。
当处于调制状态(Rx_txb=0)时,只有第三乘数和第三被乘数(X3/Y3)占用乘法器,控制相对比较简单,乘数选通单元21直接选择第三乘数Y3,并且在连续的6个时钟(一个相乘运算周期)内,比特位选取单元22会使用第三乘数Y3来产生Y_sel[2:0];同理,在相同的6个时钟(一个相乘运算周期)内,被乘数选通单元24会选择第三被乘数X3进入Booth编码单元25,从而在一个相乘运算周期内完成第三乘数X3和第三被乘数Y3的相乘运算。时钟控制单元20产生的第三时钟控制信号Ctrl 3会在第7时钟的时候利用第二寄存单元29锁存第三乘数X3与第三被乘数Y3的相乘结果。
如上所述,由于电力线载波系统是半双工系统(即接收和发送不会同时发生),所以所述乘法器最长需要12个时钟完成解调电路的两次乘法运算,或者6个时钟完成调整电路的一次乘法运算。
在第二实施例中的乘法器综合后面积约为800门,相比于现有技术中比之前的总共近5300门的乘法器节省了近85%的面积。
综上所述,本发明提供的乘法器,合理运用改进的Radix-4 booth编码降低了部分积个数;并且在进行部分积累加时仅提取累加结果的高N比特位,从而使得乘法器最后取值只取部分积累加得到的相乘结果的高N比特位,进一步降低乘法器的面积。
另外,本发明提供了解调/调制复用的乘法器,充分利用了电力线载波通信系统中调制解调电路实现的特点,通过资源复用,使得最终的乘法器结构可以完全地承担原本需要的3个独立乘法器才能完成的功能,大大节约了乘法器的面积;并且,由于减少了部分积的个数,即使在需要完成两次乘法运算的解调电路部分,仍可以在两个运算周期内完成两次乘法运算。
上述实施例仅列示性说明本发明的原理及功效,而非用于限制本发明。任何熟悉此项技术的人员均可在不违背本发明的精神及范围下,对上述实施例进行修改。因此,本发明的权利保护范围,应如权利要求书所列。
Claims (9)
1.一种基于Radix-4 Booth编码的乘法器,应用于电力线载波通信系统中,其特征在于,所述乘法器包括:比特位选取单元、Booth编码单元、部分积累加值选通单元、加法单元、寄存单元、以及时钟控制单元;
所述时钟控制单元用于产生分别控制所述比特位选取单元、所述部分积累加值选通单元以及所述寄存单元的第一时钟控制信号、第二时钟控制信号以及第三时钟控制信号;
所述比特位选取单元用于基于Radix-4 Booth编码对乘数的比特位进行选取;在所述Radix-4 Booth编码中,在每一个时钟内每一次选取乘数中相邻的三个比特位,且相邻两次选取的三个比特位中有一个比特位是重叠的;所述乘数具有N比特位;
所述Booth编码单元用于将所述比特位选取单元选取的乘数的比特位与被乘数进行相乘以获得对应的部分积;所述被乘数具有N比特位;
所述部分积累加值选通单元用于从初始值和所述寄存单元寄存的前一次的部分积累加值中选择其中之一予以输出;所述部分积累加值选通单元选择前一次的部分积累加值是选取的前一次的部分积累加值的高N比特位;
所述加法单元用于将所述Booth编码单元输出的部分积与所述部分积累加值选通单元输出的选通值相加以得到当前次的部分积累加值;
所述寄存单元用于将所述加法单元得到的当前次的部分积累加值予以寄存,并将当前次的部分积累加值延时后输出至所述部分积累加值选通单元,以供进行下一次的部分积累加。
2.根据权利要求1所述的基于Radix-4 Booth编码的乘法器,其特征在于,所述寄存单元还包括在经过最后一次部分积累加以得到的乘数与被乘数的相乘结果之后将所述相乘结果予以锁存。
3.根据权利要求1所述的基于Radix-4 Booth编码的乘法器,其特征在于,基于Radix-4 Booth编码,完成一次的乘数与被乘数相乘运算所需要的相乘运算周期为N/2个时钟。
4.根据权利要求1或3所述的基于Radix-4 Booth编码的乘法器,其特征在于,所述N为12,即,乘数和被乘数都是12比特位;乘数与被乘数的相乘结果取其中的高12比特位。
5.根据权利要求1所述的基于Radix-4 Booth编码的乘法器,其特征在于,所述初始值为0。
6.一种基于Radix-4 Booth编码的乘法器,应用于电力线载波通信系统中,其特征在于,所述乘法器包括:乘数选通单元、比特位选取单元、被乘数选通单元、被乘数控制单元、Booth编码单元、部分积累加值选通单元、加法单元、第一寄存单元、第二寄存单元以及时钟控制单元;
所述时钟控制单元用于产生控制所述比特位选取单元和所述被乘数控制单元的第一时钟控制信号、控制所述部分积累加值选通单元的第二时钟控制信号、以及控制所述第二寄存单元的第三时钟控制信号;
所述乘数选通单元用于根据状态控制信号从第一乘数和第三乘数中选择其中之一予以输出;所述乘数选通单元在所述状态控制信号表示的是解调状态的情况下选择第一乘数,所述乘数选通单元在所述状态控制信号表示的是调制状态的情况下选择第三乘数;第一乘数和第三乘数具有N比特位;
所述比特位选取单元用于根据所述乘数选通单元的选通结果、基于Radix-4 Booth编码对乘数的比特位进行选取;在所述Radix-4 Booth编码中,在每一个时钟内每一次选取乘数中相邻的三个比特位,且相邻两次选取的三个比特位中有一个比特位是重叠的;所述比特位选取单元在所述状态控制信号表示的是解调状态的情况下在第一个相乘运算周期内对第一乘数的比特位进行选取并在第二个相乘运算周期内对第二乘数的比特位进行选取;所述比特位选取单元在所述状态控制信号表示的是调制状态的情况下在一个相乘运算周期内对第三乘数的比特位进行选取;第二乘数具有N比特位;
被乘数选通单元用于根据所述被乘数控制单元输出的被乘数选通控制信号对第一被乘数、第二被乘数以及第三乘数进行选通并予以输出;所述被乘数控制单元根据输入的所述第一时钟控制信号和所述状态控制信号而输出被乘数选通控制信号;所述被乘数选通单元在所述状态控制信号表示的是解调状态的情况下在第一个相乘运算周期内选通第一被乘数并在第二个相乘运算周期内选通第二被乘数;所述被乘数选通单元在所述状态控制信号表示的是调制状态的情况下在一个相乘运算周期内选通第三被乘数;第一被乘数、第二被乘数以及第三被乘数具有N比特位;
所述Booth编码单元用于将所述比特位选取单元选取的乘数的比特位与所述被乘数选通单元选通的被乘数进行相乘以获得对应的部分积;
所述部分积累加值选通单元用于从初始值和所述第一寄存单元寄存的前一次的部分积累加值中选择其中之一予以输出;所述部分积累加值选通单元选择前一次的部分积累加值是选取的前一次的部分积累加值的高N比特位;
所述加法单元用于将所述Booth编码单元输出的部分积与所述部分积累加值选通单元输出的选通值相加以得到当前次的部分积累加值;
所述第一寄存单元用于将所述加法单元得到的当前次的部分积累加值予以寄存,并将当前次的部分积累加值延时后输出至所述部分积累加值选通单元,以供进行下一次的部分积累加;
所述第二寄存单元用于在一个相乘运算周期内经过最后一次部分积累加以得到的乘数与被乘数的相乘结果之后将所述相乘结果予以锁存;所述第二寄存单元在所述状态控制信号表示的是解调状态的情况下锁存第一个运算周期内第一乘数与第一被乘数的相乘结果和第二个运算周期内第二乘数与第二被乘数的相乘结果;所述第二寄存单元在所述状态控制信号表示的是调制状态的情况下锁存一个运算周期内第三乘数与第三被乘数的相乘结果。
7.根据权利要求6所述的基于Radix-4 Booth编码的乘法器,其特征在于,基于Radix-4 Booth编码,完成一次的乘数与被乘数相乘运算所需要的相乘运算周期为N/2个时钟。
8.根据权利要求6或7所述的基于Radix-4 Booth编码的乘法器,其特征在于,所述N为12,即,乘数和被乘数都是12比特位;乘数与被乘数的相乘结果取其中的高12比特位。
9.根据权利要求6所述的基于Radix-4 Booth编码的乘法器,其特征在于,所述初始值为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210109337.7A CN102662624B (zh) | 2012-04-13 | 2012-04-13 | 乘法器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210109337.7A CN102662624B (zh) | 2012-04-13 | 2012-04-13 | 乘法器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102662624A true CN102662624A (zh) | 2012-09-12 |
CN102662624B CN102662624B (zh) | 2015-12-16 |
Family
ID=46772125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210109337.7A Active CN102662624B (zh) | 2012-04-13 | 2012-04-13 | 乘法器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102662624B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999311A (zh) * | 2012-12-10 | 2013-03-27 | 张友能 | 基于Booth算法的48x30位乘法器 |
CN104572012A (zh) * | 2015-01-29 | 2015-04-29 | 东南大学 | 一种基于aop的多项式基gf(2227)高速模乘法器 |
CN107786476A (zh) * | 2016-08-31 | 2018-03-09 | 华为技术有限公司 | 一种滤波器、时域均衡器以及接收机 |
CN107977191A (zh) * | 2016-10-21 | 2018-05-01 | 中国科学院微电子研究所 | 一种低功耗并行乘法器 |
CN110209375A (zh) * | 2019-05-30 | 2019-09-06 | 浙江大学 | 一种基于radix-4编码和差分权重存储的乘累加电路 |
CN113031916A (zh) * | 2019-12-24 | 2021-06-25 | 上海寒武纪信息科技有限公司 | 乘法器、数据处理方法、装置及芯片 |
CN113094022A (zh) * | 2021-06-09 | 2021-07-09 | 广东希荻微电子股份有限公司 | 一种模拟乘法器 |
CN116774966A (zh) * | 2023-08-22 | 2023-09-19 | 深圳比特微电子科技有限公司 | 乘法器、乘累加电路、运算电路、处理器和计算装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553310A (zh) * | 2003-05-28 | 2004-12-08 | 中国科学院微电子中心 | 高速低功耗乘法器的对称分割算法及电路结构 |
-
2012
- 2012-04-13 CN CN201210109337.7A patent/CN102662624B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553310A (zh) * | 2003-05-28 | 2004-12-08 | 中国科学院微电子中心 | 高速低功耗乘法器的对称分割算法及电路结构 |
Non-Patent Citations (2)
Title |
---|
李楠: "快速乘法器的设计", 《中国优秀硕士学位论文全文数据库》, 31 March 2009 (2009-03-31) * |
钟会新等: ""OFDM系统中流水线型FFT(IFFT)处理器设计", 《电视技术》, vol. 33, no. 1, 30 March 2009 (2009-03-30) * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999311A (zh) * | 2012-12-10 | 2013-03-27 | 张友能 | 基于Booth算法的48x30位乘法器 |
CN104572012A (zh) * | 2015-01-29 | 2015-04-29 | 东南大学 | 一种基于aop的多项式基gf(2227)高速模乘法器 |
CN107786476B (zh) * | 2016-08-31 | 2020-09-08 | 华为技术有限公司 | 一种滤波器、时域均衡器以及接收机 |
CN107786476A (zh) * | 2016-08-31 | 2018-03-09 | 华为技术有限公司 | 一种滤波器、时域均衡器以及接收机 |
CN107977191A (zh) * | 2016-10-21 | 2018-05-01 | 中国科学院微电子研究所 | 一种低功耗并行乘法器 |
WO2020238889A1 (zh) * | 2019-05-30 | 2020-12-03 | 浙江大学 | 一种基于Radix-4编码和差分权重的乘累加电路 |
CN110209375A (zh) * | 2019-05-30 | 2019-09-06 | 浙江大学 | 一种基于radix-4编码和差分权重存储的乘累加电路 |
US12112143B2 (en) | 2019-05-30 | 2024-10-08 | Zhejiang University | Multiplication and accumulation circuit based on radix-4 booth code and differential weight |
CN113031916A (zh) * | 2019-12-24 | 2021-06-25 | 上海寒武纪信息科技有限公司 | 乘法器、数据处理方法、装置及芯片 |
CN113094022A (zh) * | 2021-06-09 | 2021-07-09 | 广东希荻微电子股份有限公司 | 一种模拟乘法器 |
CN113094022B (zh) * | 2021-06-09 | 2021-08-20 | 广东希荻微电子股份有限公司 | 一种模拟乘法器 |
US11392780B1 (en) | 2021-06-09 | 2022-07-19 | Halo Microelectronics Co., Ltd. | Analog multiplier |
CN116774966A (zh) * | 2023-08-22 | 2023-09-19 | 深圳比特微电子科技有限公司 | 乘法器、乘累加电路、运算电路、处理器和计算装置 |
CN116774966B (zh) * | 2023-08-22 | 2023-12-08 | 深圳比特微电子科技有限公司 | 乘法器、乘累加电路、运算电路、处理器和计算装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102662624B (zh) | 2015-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102662624A (zh) | 乘法器 | |
CN107241107B (zh) | 一种数字信道化滤波器组实现方法 | |
CN109587090B (zh) | 三路载波索引差分混沌移位键控调制解调器及方法 | |
CN101980492B (zh) | 基于正交码复用的差分混沌移位键控调制解调方法 | |
EP0782288B1 (en) | Spread spectrum communication system | |
CN1064492C (zh) | 通信系统中执行频率变换的装置 | |
CN103997395B (zh) | 基于mimo雷达通信一体化信号的变进制编解码方法 | |
CN101282322A (zh) | 一种应用于无线中程传感网物理层的内插数字滤波器装置 | |
CN101136070A (zh) | 基于可重构架构的多协议射频标签读写器基带处理器 | |
CN101119356B (zh) | 多通道数字上变频系统及其数字上变频方法 | |
CN103853524A (zh) | 一种乘法器装置和实现乘法运算的方法 | |
CN102117195B (zh) | 大数模乘器电路 | |
CN107092462B (zh) | 一种基于fpga的64位异步乘法器 | |
CN201087947Y (zh) | 多通道数字上变频系统 | |
CN102291364B (zh) | 准完美周期16qam序列的生成方法及装置 | |
CN101527919B (zh) | 一种联合检测中匹配滤波的方法及装置 | |
CN101192910A (zh) | 一种时分双工数字滤波器 | |
CN102325111B (zh) | 一种产生gfsk基带信号的方法 | |
CN101840322A (zh) | 滤波器运算单元复用的方法和滤波器的运算系统 | |
CN114500202A (zh) | 一种msk解扩解调的fpga低资源实现方法 | |
CN201541257U (zh) | 移动通信系统用串行解扰解扩装置 | |
CN105048997A (zh) | 匹配滤波器复用装置和方法、数字通信接收机 | |
CN1914804B (zh) | 高速率随机比特流的产生 | |
CN102685055A (zh) | 一种多数据流插值与抽取复用装置及方法 | |
CN204733137U (zh) | 匹配滤波器复用装置及数字通信接收机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |