新型乘法器重构算法及电路制造技术

技术编号:2866725 阅读:259 留言:0更新日期:2012-04-11 18:40
一种新型乘法器重构算法,其特征在于,包括如下步骤:    步骤S1:两个N位有符号二进制补码数或者无符号数作为乘法运算操作数送入乘法器的两个输入端;    步骤S2:两个N位乘法操作数对称分割为原位宽的一半,即N位的操作数分割成N/2位高位和N/2位低位进行运算;    步骤S3:两个N位操作数的N/2高位和N/2低位分别送入两个减法器,一个减法器完成一个操作数的高位减低位运算,一个减法器完成另一操作数的低位减高位运算;    步骤S4:两个N位乘数的高位与高位送入N/2位乘法器相乘,结果为R2,低位与低位送入N/2位的乘法器二相乘,结果为R0,两个减法器输出的数作为两个操作数送入N/2位乘法器三,结果为R1;    步骤S5:乘法运算结果R2拼接R0形成的2N位数,其右起第N/2位与R2、R1和R0的第一位对齐,四个数进行累加;    步骤S6:累加得到的2N位结果作为乘法结果输出;    本算法采用操作数对称分割之后,再进行三次低位数乘法的运算方式,使用三个低位数乘法算子重构实现高位数的乘法运算;本算法对应的电路结构可以在一个时钟周期内完成高位宽乘法操作。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术属于微电子学领域的高速、低功耗、重构结构集成电路设计,特别是指一种新型乘法器重构算法及电路
技术介绍
乘法运算在数字信号处理过程中使用非常频繁,包括信号处理领域,通讯领域和消费电子领域,因此乘法器在专用集成电路(ASIC)、通用数字信号处理器(DSP)和先进的微处理器(CPU)中均有广泛使用。用硬件来实现乘法运算的方式也有很多种,通常有移位累加的阵列乘法器和采用布兹(Booth)算法、华莱氏(Wallace)树型压缩结构的快速乘法器等几种类型。乘法器在通用型指令处理器中(DSP、CPU)中,通常位于时序的关键路径上,是流水线平衡的瓶颈,而且,也是数据通路中的主要运算模块,消耗大量的功耗。随着市场对数字化产品需求的不断增加,和对通用型处理器性能要求越来越高,不光数字信号处理的速度需要越来越快,而且数据处理的精度也需要不断的提高,如要求处理高位宽的数据。相应的,这种需求对乘法器的运算能力和速度、功耗等指标的要求也变得越来越苛刻。未来的数字处理必将要求高速度、高位宽和低功耗的乘法运算单元的设计。而目前,现有的基于Booth-Wallace树型快速算法的乘法器要达到64位甚至更高的运算能力非常困难,速度、功耗和面积各方面都无法满足未来技术的要求。
技术实现思路
本专利技术的目的在于,寻求一种高速低功耗乘法器的重构实现算法和电路,以期可实现高位数甚至超高位数乘法的快速运算。本专利技术一种新型乘法器重构算法,其特征在于,包括如下步骤步骤S1两个N位有符号二进制补码数或者无符号数作为乘法运算操作数送入乘法器的两个输入端;步骤S2两个N位乘法操作数对称分割为原位宽的一半,即N位的操作数分割成N/2位高位和N/2位低位进行运算;步骤S3两个N位操作数的N/2高位和N/2低位分别送入两个减法器,一个减法器完成一个操作数的高位减低位运算,一个减法器完成另一操作数的低位减高位运算;步骤S4两个N位乘数的高位与高位送入N/2位乘法器一相乘,结果为R2,低位与低位送入N/2位的乘法器二相乘,结果为R0,两个减法器输出的数作为两个操作数送入N/2位乘法器三,结果为R1;步骤S5乘法运算结果R2拼接R0形成的2N位数,其右起第N/2位与R2、R2和R0的第一位对齐,四个数进行累加;步骤S6累加得到的2N位结果作为乘法结果输出;本算法采用操作数对称分割之后,再进行三次低位数乘法的运算方式,使用三个低位数乘法算子重构实现高位数的乘法运算;本算法对应的电路结构可以在一个时钟周期内完成高位宽乘法操作;本专利技术一种新型重构算法乘法器电路,其特征在于,其中包括一输入乘法操作数寄存器,该寄存器保存外部输入的两个N位乘法操作数;一N位新型重构算法乘法器电路,该N位乘法器电路与输入操作数寄存器相连。其中N位新型重构算法乘法器电路包括乘法运算模块、中间数据处理模块、加法求和运算模块;乘法运算模块、中间数据处理模块和加法求和运算模块三部分顺序连接。其中N位乘法运算模块电路中有两个N/2位的减法器和三个N/2位乘法器;两个减法器,其中一个接收一个乘法操作数的高位和低位,进行高位减低位的减法运算;另一个减法器接收一个乘法操作数的低位和高位,进行低位减高位的减法运算;两个减法器的输出结果直接与三个乘法器中的一个的输入端相连;三个乘法器中的一个接收分割后的乘法操作数的两个N/2位的高位,一个接收分割后的乘法操作数的两个N/2位的低位,第三个接收来自减法器的两个输出结果作为输入操作数,进行乘法运算;乘法器包括各种电路结构形式实现的有符号数/无符号数乘法器;乘法运算模块的输出端与中间数据处理模块的输入端直接相连。其中中间数据处理模块电路包括N位的拼接电路和三个符号位扩展器;拼接电路完成的功能是在将两个乘法器高位与高位、低位与低位乘积的N位结果拼接成2N位,送入加法求和模块进行运算;符号位扩展器的功能是对乘法运算模块中乘法器输出的部分积结果进行符号位扩展,并对低位进行补N/2个0的操作,使乘法运算得到的N位运算结果扩展到2N位;其输出端直接与加法求和模块的输入端相连。其中加法求和模块电路包括华莱氏树型压缩器和2N位的最终求和加法器;华莱氏树型压缩器功能是将输入的四个2N位的需要累加的操作数进行压缩,压缩成两个加数,送给两输入的最终求和加法器进行累加;最终求和加法器的输出结果就是重构乘法器的输出结果。附图说明为进一步说明本专利技术的技术特征,以下结合实施例及附图对本专利技术作一详细的描述,其中图1是一种新型重构算法乘法器算法流程图。图2是一种新型重构算法乘法器电路结构图。具体实施例方式请参阅图2,本专利技术一种新型重构算法乘法器电路实现结构,其中包括一输入乘法操作数寄存器20,该寄存器20保存外部输入的两个N位乘法操作数;一N位新型重构算法乘法器电路10,该N位乘法器电路10与输入乘法操作数寄存器20相连。其中N位新型重构算法乘法器电路10包括乘法运算模块11、中间数据处理模块12、加法求和运算模块13。乘法运算模块11、中间数据处理模块12和加法求和运算模块13三部分顺序连接。N位乘法运算模块电路10中有两个N/2位的第一减法器114、第二减法器115和三个N/2位的第一乘法器111、第二乘法器112、第三乘法器113。两个减法器中,其中一个接收一个乘法操作数的高位和低位,进行高位减低位的减法运算;另一个减法器接收一个乘法操作数的低位和高位,进行低位减高位的减法运算。两个减法器的输出结果直接与三个乘法器中的一个的输入端相连。三个乘法器中的一个接收分割后的乘法操作数的两个N/2位的高位,一个接收分割后的乘法操作数的两个N/2位的低位,第三个接收来自减法器的两个输出结果作为输入操作数,进行乘法运算。乘法器包括各种电路结构形式实现的有符号数/无符号数乘法器,例如Booth乘法器等。乘法运算模块11的输出端与中间数据处理模块12的输入端直接相连。中间数据处理模块12电路包括N位的拼接电路121和三个符号位扩展器122、123、124。拼接电路121完成的功能是在将两个乘法器高位与高位、低位与低位乘积的N位结果拼接成2N位,送入加法求和模块13进行运算;符号位扩展器122、123、124的功能是对乘法运算模块11中乘法器输出的部分积结果进行符号位扩展,并对低位进行补N/2个0的操作,使乘法运算得到的N位运算结果扩展到2N位。其输出端直接与加法求和模块13的输入端相连。加法求和模块13电路包括Wallace树型压缩器131和2N位的最终求和加法器132。Wallace树型压缩器131功能是将输入的四个2N位的需要累加的操作数进行压缩,压缩成两个加数,送给两输入的最终求和加法器进行累加。最终求和加法器的输出结果就是重构乘法器的输出结果。目前,改进的高效Booth编码几乎应用于所有快速乘法器中。经实验证明,快速乘法器的数据处理位宽增加一倍,面积和功耗都以近似平方数量级增加。以16位与32位的Booth-Wallace树型乘法累加器作比较,32位乘法累加单元面积约为16位单元的3.2倍,功耗约为3.47倍。可以预见,对于高位宽的乘法累加器,传统的单纯采用Booth-Wallace树型结构进行设计的方法已经不能满足功耗、面积等性能的需要,提高Booth编码基比的做法也存在速度较慢的弊端,本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:李莺陈杰
申请(专利权)人:中国科学院微电子中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1