一种复数乘法器的制作方法

文档序号:6470268阅读:316来源:国知局
专利名称:一种复数乘法器的制作方法
一种复数乘法器
技术领域
本发明涉及一种复数乘法器,主要涉及基带信号处理、雷达、声纳等 需要处理复数乘法的数字信号处理领域。背景技术
对实时信号处理的领域,例如OFDM系统中的FFT (Fast Fourier Transform ,快速傅氏变换)电路,很多时候需要复数乘法器。现有的直 接实现的复数乘法器如图l所示,这种复数乘法器需要四个实数乘法器、 一个加法器和一个减法器,如图2所示,其缺点是面积较大,延时较长。 在FFT处理器中,加速复数乘法器速度的途径是将复数乘法器进行流水线 结构处理,分为两个至更多流水段,然而,由于FFT处理器的流水结构特 点,对现有复数乘法器进行多级流水段处理后,增加了FFT处理器的硬件 控制复杂度。
发明内容
本发明的主要目的就是解决现有技术中的问题,提供一种复数乘法 器,减小设计面积,提高了有关复数实时信号处理的速度。 为实现上述目的,本发明提供一种包括
数据接口 ,所述数据接口包括用于输入两相乘复数的输入接口和用于 输出相乘后的结果的输出接口;
第一部分积产生模块,其耦合到输入接口,用于产生两复数的实部的 部分积;
第二部分积产生模块,其耦合到输入接口,用于产生两复数的虚部的 部分积的负值;
第三部分积产生模块,其耦合到输入接口,用于产生第一复数的实部 和第二复数虚部的部分积;
第四部分积产生模块,其耦合到输入接口,用于产生第一复数的虚部 和第二复数实部的部分积;
第一累加器,分别耦合到第一部分积产生模块和第二部分积产生模块 的输出端,用于将第一部分积产生模块和第二部分积产生模块输出的结果
4进行累加;
第二累加器,分别耦合到第三部分积产生模块和第四部分积产生模块 的输出端,用于将第三部分积产生模块和第四部分积产生模块输出的部结 果进行累加;
所述第一累加器和第二累加器的输出端耦合到输出接口。 在一种具体的实施例中,所述第一、三、四部分积产生模块分别包括 至少一个布斯编码器和至少一个布斯选择器,所述布斯编码器对输入的两 相乘复数按位输入,所述布斯选择器响应相应的布斯编码器输出的选择值 和符号指示位输出部分积的某个比特位;所述第二部分积产生模块包括至 少一个布斯编码器、对每个布斯编码器的用于产生符号指示位的输入信号 进行反向的反向器和至少一个布斯选择器,所述布斯编码器对输入的两相 乘复数按位输入,所述布斯选择器响应相应的布斯编码器输出的选择值和 符号指示位输出部分积的某个比特位。
本发明的有益效果是本发明比传统需要的四个实数乘法器、 一个加 法器、 一个减法器的复数乘法器,少了两个实数乘法器内部的加法器,一 个加法器和一个减法器,只需增加多一级压縮器,从而减小了面积,降低 了功耗。由于减少了一个加法器和一个减法器,使得整个复数乘法器的关 键路径縮短了,并且只需要加法器,不需要减法器,简化了计算,从而提 高了运算速度和处理速度。

图1是传统的复数乘法器;
图2是传统的复数乘法器内部结构示意图3是本发明一种实施例的部分积产生模块结构示意图4是普通的基4布斯编码值表和对应的布斯编码器和选择器电路;
图5是布斯编码器和选择器组成的矩阵;
图6是修改后产生负部分积的基4布斯编码值表和对应的布斯编码器 和选择器电路;
图7是一种实施例中部分积压縮树的结构示意图; 图8是另一种实施例中部分积产生模块结构示意图。
具体实施方式
本申请的特征及优点将通过实施例结合附图进行详细说明。 复数包括实部和虚部,当两个复数相乘时,其算式如下-
5e+i f=(a+ i b) (c+ i d) e=a c-b * d f=a d+b c
如图3所示的实施例中,复数乘法器包括数据接口、四个部分积产生 模块和两个部分积累加器。
数据接口包括两相乘复数A、 B的实虚部(4 , 4)和(A , A) 的四个输入接口,复数乘法结果C的实虚部(CK, C》的两个输出接口。
四个部分积产生模块分别为
部分积产生模块PP1根据两复数的实部4和A产生属于4 A的部 分积,它采用普通的基4布斯编码值表和对应的布斯编码器和选择器电路, 包括至少一个布斯编码器和至少一个布斯选择器,如图4所示,布斯编码 器对输入的两相乘复数按位输入,布斯编码器包括对输入信号X2w、 L进 行异或运算的第一异或门、对输入信号X2w、 1进行与运算的第一与门和 将与运算结果和X2w进行异或运算的第二异或门,第一异或门和第二异或 门分别输出Xi 、 2Xi作为布斯选择值。所述布斯选择器响应相应的布斯编 码器输出的选择值Xi、 2Xi和符号指示位Mi,输出部分积的某个比特位,其 中i^.为部分积第i行第j列的一个比特位。布斯选择器包括第二与门、第 三与门、或非门和异或非门,第二与门对&和Yi—,进行与运算,第三与门 对2Xi和Yi进行与运算,或非门对第二与门和第三与门的输出进行或非运 算,异或非门对或非门的输出和符号指示位Mi进行异或非运算,输出部分 积巧。
因相乘的两复数可能有多个比特位,所以部分积产生模块PP1通常是 一个矩阵,矩阵主要由至少一个布斯编码器和至少一个布斯选择器组成, 如图5所示。
部分积产生模块PP2根据两复数的虚部4和^产生属于4 ,A的部分 积,它采用经过修改的基4布斯编码值表和对应的布斯编码器和选择器电 路,如图6所示。部分积产生模块PP2包括至少一个布斯编码器、对每个 布斯编码器的用于产生符号指示位的输入信号进行反向的反向器100、至 少一个布斯选择器,所述布斯编码器对输入的两相乘复数按位输入,所述 布斯选择器响应相应的布斯编码器输出的Xi、 2Xi和符号指示位Mi,输出 部分积的某个比特位。部分积产生模块PP2通常也是一个矩阵,矩阵主要 由至少一个布斯编码器、与各布斯编码器对应的反向器和至少一个布斯选择器组成。布斯编码器和布斯选择器与部分积产生模块PP1相同。
对比普通的基4布斯编码值表,它的部分积PPi全取反了,相应的符 号指示位M,也与图4中的正常的布斯编码器输出的符号指示位相反,因此,
为了产生负部分积,即两个数相乘后的负值,本实施例在布斯编码器的输 入端义M与输出的符号指示位M,之间加上一个反相器100,所述布斯选择 器中的异或非门101响应符号指示位M,后,输出负的部分积/^。由于义2,+1
到输出的路径,不是关键路径,加入一个反相器不增加最终的延时。
部分积产生模块PP3根据复数A的实部^和和复数B的虚部^产生
属于^*^的部分积,其结构同部分积产生模块PP1,如图4所示。
部分积产生模块PP4根据复数A的虚部^和和复数B的实部^产生
属于4*^的部分积,其结构同部分积产生模块PP1,如图4所示。
所述布斯编码器可以选自于基2布斯编码器、基4布斯编码器和基8
布斯编码器。
两个部分积累加器分别包括顺序相连的部分积压縮树和加法器。
部分积压縮树PPRT1:用于将部分积产生模块PP1和部分积产生模块 PP2产生的两组部分积进行压縮,得到伪和suml与伪进位carryl。
部分积压縮树PPRT2:用于将部分积产生模块PP3和部分积产生模块 PP4产生的两组部分积进行压縮,得到伪和sum2与伪进位carry2。
部分积压縮树可以是华莱士压縮树、双线性压縮树、ZM树和0S树等。 如图7所示,部分积压縮树包括多个压縮器,每个压縮器将四路数据压縮 为两路。根据延时信息将用于暂存数据的流水线寄存器R放置于压縮树某 处。流水线寄存器R的放置位置由输入复数A、 B的位宽决定。所述压縮 器选自于CSA (保留进位加法器)、4: 2压縮器等。
所述加法器选自于快速加法器、超前进位加法器、选择进位加法器、 跳越进位加法器、行波进位加法器、并行前缀树型加法器和混合树型/选择 进位加法器,本实施例中,加法器优选快速加法器。
快速加法器1:对从部分积压縮树PPRT1得出来的伪和suml与伪进 位carryl进行相加,得出复数乘法结果C的实部C,。
快速加法器2:对从部分积压縮树PPRT2得出来的伪和sum2与伪进 位carry2进行相加,得出复数乘法结果C的虚部C,。
在另一种实施例中,部分积产生模块PP1、部分积产生模块PP3、部 分积产生模块PP4和累加器的结构和上述实施例相同,不同的是部分积产生模块PP2的结构。请参考图8所示的部分积产生模块PP2的另一种实施 例,在本实施例中,不增加使符号指示位反向的反向器,而是通过将布斯 选择器中的异或非门改为异或门102实现负的部分积输出。
布斯编码器包括对输入信号X2h、 1进行异或运算的第一异或门、对 输入信号X2w、 X2i进行与运算的第一与门和将与运算结果和X2W进行异或 运算的第二异或门,第一异或门和第二异或门分别输出Xi 、 2Xi作为布斯 选择值。所述布斯选择器响应相应的布斯编码器输出的选择值Xi、 2Xi和 符号指示位Mi,输出部分积的某个比特位,其中P《为部分积第i行第j列的
一个比特位。布斯选择器包括用于对输入信号进行与运算的第二与门和第 三与门,还包括或非门和异或门102,第二与门对Xi和Yw进行与运算,第 三与门对2Xi和Yi进行与运算,或非门对第二与门和第三与门的输出进行 或非运算,异或门102对或非门的输出和符号指示位Mi进行异或运算,输 出负的部分积P^。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说 明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术 领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若 干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
1.一种复数乘法器,包括数据接口,所述数据接口包括用于输入两相乘复数的输入接口和用于输出相乘后的结果的输出接口,其特征在于还包括第一部分积产生模块,其耦合到输入接口,用于产生两复数的实部的部分积;第二部分积产生模块,其耦合到输入接口,用于产生两复数的虚部的部分积的负值;第三部分积产生模块,其耦合到输入接口,用于产生第一复数的实部和第二复数虚部的部分积;第四部分积产生模块,其耦合到输入接口,用于产生第一复数的虚部和第二复数实部的部分积;第一累加器,分别耦合到第一部分积产生模块和第二部分积产生模块的输出端,用于将第一部分积产生模块和第二部分积产生模块输出的结果进行累加;第二累加器,分别耦合到第三部分积产生模块和第四部分积产生模块的输出端,用于将第三部分积产生模块和第四部分积产生模块输出的部结果进行累加;所述第一累加器和第二累加器的输出端耦合到输出接口。
2. 如权利要求1所述的复数乘法器,其特征在于所述第一、三、 四部分积产生模块分别包括至少一个布斯编码器和至少一个布斯选择器, 所述布斯编码器对输入的两相乘复数按位输入,所述布斯选择器响应相应 的布斯编码器输出的选择值和符号指示位输出部分积的某个比特位;所述 第二部分积产生模块包括至少一个布斯编码器、对每个布斯编码器的用于 产生符号指示位的输入信号进行反向的反向器和至少一个布斯选择器,所 述布斯编码器对输入的两相乘复数按位输入,所述布斯选择器响应相应的 布斯编码器输出的选择值和符号指示位输出部分积的某个比特位。
3. 如权利要求1所述的复数乘法器,其特征在于所述第一、三、 四部分积产生模块分别包括至少一个布斯编码器和至少一个布斯选择器, 所述布斯编码器对输入的两相乘复数按位输入,所述布斯选择器包括响应 相应的布斯编码器输出的选择值和符号指示位输出部分积的某个比特位;,其耦合到输入接口,用于产生两复数的实部的 ,其耦合到输入接口,用于产生两复数的虚部的 ,其耦合到输入接口,用于产生第一复数的实部 ,其耦合到输入接口,用于产生第一复数的虚部所述第二部分积产生模块包括至少一个布斯编码器和至少一个布斯选择 器,所述布斯编码器对输入的两相乘复数按位输入,所述布斯选择器响应 相应的布斯编码器输出的选择值和符号指示位输出部分积的某个比特位, 所述布斯选择器包括用于对输入信号进行与运算的第二与门和第三与门、 用于对第二与门和第三与门的输出进行或非运算的或非门、用于对或非门的输出和符号指示位Mi进行异或运算的异或门,所述异或门输出部分积 的某个比特位。
4. 如权利要求2所述的复数乘法器,其特征在于所述布斯编码器选自于基2布斯编码器、基4布斯编码器和基8布斯编码器。
5. 如权利要求1或2所述的复数乘法器,其特征在于所述第一、 二累加器分别包括顺序相连的部分积压縮树和加法器。
6. 如权利要求5所述的复数乘法器,其特征在于所述部分积压縮 树选自于华莱士压縮树、双线性压縮树、ZM树和0S树,所述加法器选自 于快速加法器、超前进位加法器、选择进位加法器、跳越进位加法器、行 波进位加法器、并行前缀树型加法器和混合树型/选择进位加法器。
7. 如权利要求5所述的复数乘法器,其特征在于所述部分积压縮树包括多个压縮器,所述压縮器选自保留进位加法器和4: 2压縮器。
全文摘要
本发明公开了一种复数乘法器,包括数据接口,所述数据接口包括输入接口和输出接口,还包括产生两复数的实部的部分积的第一部分积产生模块、产生两复数的虚部的部分积的负值的第二部分积产生模块、产生第一复数的实部和第二复数虚部的部分积的第三部分积产生模块、产生第一复数的虚部和第二复数实部的部分积的第四部分积产生模块、第一累加器和第二累加器。本发明减小了面积,降低了功耗,并使得整个复数乘法器的关键路径缩短了,简化了计算,从而提高了运算速度和处理速度。
文档编号G06F7/52GK101685385SQ20081021636
公开日2010年3月31日 申请日期2008年9月28日 优先权日2008年9月28日
发明者卢庆旺, 王新安, 胡子一 申请人:北京大学深圳研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1