浮点数加法电路及其实现方法

文档序号:6371893阅读:343来源:国知局
专利名称:浮点数加法电路及其实现方法
技术领域
本发明涉及数字计算技术领域,特别涉及在数字信号处理器或硬件加速器系统中构建一种浮点数加法电路及其实现方法。
背景技术
近年来,在各种领域的应用中对高精度和高动态范围的要求逐渐成为最重要的一环,相对于定点而言,浮点数具有更高的精度以及更高的动态范围,所以浮点数越发受到重视。浮点数用于近似表示某个实数,其格式可以表示为{S,E,M},其中,S为符号,E为指数,M为规格化的尾数,例如,{S,E,M} = (-1)SX (1+m) X2%由于浮点数自身的特点,决定了浮点数的运算要更加复杂,因此想要快速准确的获取浮点数运算结果需要更高配置的硬件设施。现有技术中至少存在如下问题浮点数运算复杂度较高,需要性能更高的硬件设·备支持,由于当前用于浮点数运算的加速器和浮点数字信号处理器核心的主频等硬件条件的限制,浮点数运算的运算精度无法达到最优的程度,大大限制了运算系统的浮点数运算性能。

发明内容
本发明的实施例提供一种浮点数加法电路及其实现方法,通过使用融合了乘法运算和加法运算的加法运算,提高了运算精度,并且对运算系统中的关键运算路径的时序进行优化,解决了现有技术中运算系统的浮点数运算性能不高的问题,提升了运算系统的运算性能。本发明实施例采用的技术方案为一种浮点数加法电路,所述电路包括信号输入端、取负电路、指数运算电路、移位电路、作差电路、符号选择电路、规格化电路、溢出处理电路和信号输出端,其中,所述信号输入端用于获得第一浮点数信号和第二浮点数信号;所述取负电路用于对所述第一浮点数信号和所述第二浮点数信号进行取负操作;所述指数运算电路用于根据所述第一浮点数信号得到第一幂指数,根据所述第二浮点数信号得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差;所述移位电路用于根据所述第一幂指数差对所述取负电路操作后的所述第一浮点数信号移位,根据所述第二幂指数差对所述取负电路操作后的所述第二浮点数信号移位;所述作差电路用于对所述移位电路操作后的所述第一浮点信号和所述第二浮点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导信号和第二前导信号;
所述符号选择电路用于选取所述第一差信号和所述第二差信号中的正值信号作为第一正值信号,并且选取所述第一前导信号和所述第二前导信号中的正值信号作为第二正值信号;所述规格化电路用于根据所述符号选择电路选择的所述第二正值信号和所述指数运算电路得到的所述较大幂指数对所述符号选择电路选择的所述第一正值信号进行规格化;所述溢出处理电路用于对规格化后的累加结果进行溢出处理;所述信号输出端用于输出所述溢出处理电路处理后输出。一种浮点数加法电路实现方法,包括通过信号输入端获得第一浮点数信号和第二浮点数信号;
·
对所述第一浮点数信号和所述第二浮点数信号进行取负操作;根据所述第一浮点数信号得到第一幂指数,根据所述第二浮点数信号得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差;根据所述第一幂指数差对取负操作后的所述第一浮点数信号移位,根据所述第二幂指数差对取负操作后的所述第二浮点数信号移位;对移位操作后的所述第一浮点信号和所述第二浮点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导信号和第二前导信号;选取所述第一差信号和所述第二差信号中的正值信号作为第一正值信号,并且选取所述第一前导信号和所述第二前导信号中的正值信号作为第二正值信号;根据选择的所述第二正值信号和所述较大幂指数对所述第一正值信号进行规格化;对规格化后的累加结果进行溢出处理;通过信号输出端输出溢出处理后的输出结果。与现有技术相比,本发明实施例通过在浮点数信号进行移位之前的运算路径上,将其中一个浮点数信号的符号按照相反符号取负,另一个浮点数信号的符号按照符号取负,节省了原本需要在关键路径上完成的移位后按照符号取负的操作,以及在加法负分支路径上比正分支路径多出的一级CSA (Carry-SaveAdder,进位保留加法)电路,从而在整体电路上减少了一级异或操作、一级加法操作和一级CSA电路,优化了整体电路的时延,提高了电路的运算速度和运算精度。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图I为本发明实施例一提供的电路结构示意图;图2为本发明实施例二提供的电路结构示意图3为本发明实施例三提供的方法流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。为使本发明技术方案的优点更加清楚,下面结合附图和实施例对本发明作详细说明。需要说明的是,本发明中涉及的浮点数信号为复数,包括实数。一般应用于数据信号处理领域,比如图像处理系统,雷达系统和通讯系统。通过提升计算速度,提升复数累加/加法运算的效率,此电路和方法可以极大提升DSP (Digital Signal Processing,数字信号处理)或其它数字设备的性能。比如应用于LTE (LongTerm Evolution,长期演进)、UMTS (Universal Mobile Telecommunications System,通用移动通信系统)、GSM (Global·System for Mobile communications,全球移动通信系统)等现行通讯系统中的。实施例一本实施例提供一种浮点数加法电路,如图I所示,所述电路包括信号输入端101、取负电路102、指数运算电路103、移位电路104、作差电路105、符号选择电路106、规格化电路107、溢出处理电路108和信号输出端109,其中,所述信号输入端101用于获得第一浮点数信号和第二浮点数信号;所述取负电路102用于对所述第一浮点数信号和所述第二浮点数信号进行取负操作;所述指数运算电路103用于根据所述第一浮点数信号得到第一幂指数,根据所述第二浮点数信号得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差;所述移位电路104用于根据所述第一幂指数差对所述取负电路102操作后的所述第一浮点数信号移位,根据所述第二幂指数差对所述取负电路102操作后的所述第二浮点数信号移位;所述作差电路105用于对所述移位电104路操作后的所述第一浮点信号和所述第
二浮点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导信号和第二前导信号;所述符号选择电路106用于选取所述第一差信号和所述第二差信号中的正值信号作为第一正值信号,并且选取所述第一前导信号和所述第二前导信号中的正值信号作为第二正值信号;所述规格化电路107用于根据所述符号选择电路106选择的所述第二正值信号和所述指数运算电路103得到的所述较大幂指数对所述符号选择电路106选择的所述第一正值信号进行规格化;所述溢出处理电路108用于对规格化后的累加结果进行溢出处理;
所述信号输出端109用于输出所述溢出处理电路处理后输出。可选的,所述信号输入端101还用于获得第三浮点数信号和第四浮点数信号,根据所述第三浮点数信号和所述第四浮点数信号的乘积得到所述第二浮点数信号。其中,所述第一浮点数信号为一个浮点数信号或者至少两个浮点数信号相加的和;所述第二浮点数信号为至少两个浮点数信号相乘的积。与现有技术相比,本发明实施例根据第一浮点数信号的符号和第二浮点数信号的符号对第一浮点数信号和第二浮点数信号进行取负操作,将两个浮点数信号中的一个浮点数信号的符号按照相反符号取负,将另一个浮点数信号的符号按照符号取负;对取负后的浮点数信号按照幂指数差进行移位操作;将经过移位的浮点数信号通过作差电路,获得第一差信号和第二差信号以及第一前导信号和第二前导信号,并使用符号选择电路选择出第一正值信号和第二正值信号;根据选择的所述第二正值信号和较大幂指数对所述第一正值信号进行规格化,对规格化后的累加结果进行溢出处理;通过信号输出端输出溢出处理后 的输出结果。其中通过在浮点数信号进行移位之前的运算路径上,将其中一个浮点数信号的符号按照相反符号取负,另一个浮点数信号的符号按照符号取负,节省了原本需要在关键路径上完成的移位后按照符号取负的操作,以及在作差电路的负分支路径上比正分支路径多出的一级CSA电路,从而在整体电路上减少了一级异或操作、一级加法操作和一级CSA电路,优化了整体电路的时延,提高了电路的运算速度和运算精度。实施例二本实施例提供一种浮点数加法电路,如图2所示,从信号输入端输入3个浮点数信号a、c和d,信号输出端输出累加结果z,其中z=a+cXd,浮点数信号c和d的乘积用浮点数信号b表示,如图2所示,所述电路包括信号输入端101、取负电路102、指数运算电路103、移位电路104、作差电路105、符号选择电路106、规格化电路107、溢出处理电路108和信号输出端109,其中,所述信号输入端101用于获得a、c和d三个浮点数信号。所述取负电路102用于对浮点数信号a和浮点数信号b进行取负操作,其中浮点数信号b为浮点数信号c和d进行乘法操作后得到的浮点数信号,对浮点数信号a的符号根据相反符号取负,对浮点数信号b的符号根据符号取负,例如,若浮点数信号a的符号为正,则取负电路102输出符号取负(即正号变为负号)后的浮点数信号a,若浮点数信号a的符号为负,则取负电路102直接输出浮点数信号a;若浮点数信号b的符号为正,则取负电路102直接输出浮点数信号b,若浮点数信号b的符号为负,则取负电路102输出符号取负后的浮点数信号b。可选的,所述取负电路102还可以对浮点数信号b的符号根据相反符号取负,对浮点数信号a的符号根据符号取负,此步骤与上述步骤能够得到一样的输出结果,达到一样的技术效果。需要说明的是,当取负电路102对浮点数信号b进行取负操作时,需要根据取负方式的不同,对浮点数信号c和浮点数信号d执行不同的乘法操作,例如,当对浮点数信号b的符号根据相反符号取负时,则在进行乘法操作之前,将浮点数信号c或者浮点数信号d的符号取反(即正号变负号,负号变正号);当对浮点数信号b的符号根据符号取负时,直接对浮点数信号C和浮点数信号d执行有符号乘法。
需要说明的是,当浮点数信号a和浮点数信号b 二者中的一个浮点数信号的符号根据相反符号取负时,另一个浮点数信号的符号根据符号取负,以保证在所述作差电路105中进行计算时将加法变为减法,减少计算时延。所述指数运算电路103用于根据浮点数信号a得到第一幂指数,根据浮点数信号b得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差。所述移位电路104用于根据根据所述第一幂指数差对所述取负电路102操作后的所述第一浮点数信号移位,根据所述第二幂指数差对所述取负电路102操作后的所述第二浮点数信号移位。例如,将浮点数信号a和浮点数信号b中幂指数较小的浮点数信号的尾数向右移位,移位的位数与相应的幂指数差一致。所述作差电路105用于对移位电104路操作后的所述第一浮点信号和所述第二浮·点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导信号和第二前导信号。例如,第一差信号对应加法正分支的结果,为Z0 a+b+l,第二差信号对应加法负分支的结果,为Zl=a+飞+1, 表示位取反操作,即对于所有比特1,将其反转为0,对于所有比特0,将其反转为I ;第一前导信号对应前导正分支的结果,第二前导信号对应前导负分支的结果。其中,在进行浮点数的加法运算时,浮点数加法运算结果的尾数是有范围限制的,例如I <尾数< 2,所以当出现尾数超过规定的数值范围时,就需要通过前导信号中的前导O的个数来指示尾数进行合理的移位操作,使得尾数处于合法的范围内。所述符号选择电路106用于选取第一差信号和第二差信号中的正值信号作为第一正值信号,选取第一前导信号和第二前导信号中的正值信号作为第二正值信号。所述规格化电路107用于根据符号选择电路106选择的第二正值信号和指数运算电路103得到的较大幂指数对符号选择电路106选择的第一正值信号进行规格化。例如,根据第二正值信号中包括的前导O个数,确定第二正值信号中尾数的移位位数,并且将较大幂指数作为尾数的幂指数。所述溢出处理电路108用于规格化后的累加结果进行溢出处理。例如,对规格化电路107输出的幂指数进行判断,若该幂指数大于等于规定的幂指数上限,则将输出饱和作为上溢出值;若该幂指数小于规定的幂指数下限,则将输出饱和作为下溢出值。所述信号输出端109用于输出所述溢出处理电路处理后的输出结果Z。需要说明的是,在对浮点数信号c和浮点数信号d进行乘法操作时,采用向下取整的方式得到二者的乘积;在通过移位电路104对浮点数信号进行移位时,采用向下取整的方式得到移位后的浮点数信号。与现有技术相比,本发明实施例根据第一浮点数信号a的符号和第二浮点数信号b的符号对第一浮点数信号a和第二浮点数信号b进行取负操作,将两个浮点数信号中的一个浮点数信号的符号按照相反符号取负,将另一个浮点数信号的符号按照符号取负;对取负后的浮点数信号按照幂指数差进行移位操作;将经过移位的浮点数信号通过作差电路,获得第一差信号和第二差信号以及第一前导信号和第二前导信号,并使用符号选择电路选择出第一正值信号和第二正值信号;根据选择的所述第二正值信号和较大幂指数对所述第一正值信号进行规格化,对规格化后的累加结果进行溢出处理;通过信号输出端输出溢出处理后的输出结果。其中通过在浮点数信号进行移位之前的运算路径上,将其中一个浮点数信号的符号按照相反符号取负,另一个浮点数信号的符号按照符号取负,节省了原本需要在关键路径上完成的移位后按照符号取负的操作,以及在作差电路的负分支路径上比正分支路径多出的一级CSA电路,从而在整体电路上减少了一级异或操作、一级加法操作和一级CSA电路,优化了整体电路的时延,提高了电路的运算速度和运算精度。实施例三本实施例提供一种浮点数加法电路实现方法,如图3所示,所述方法包括301、通过信号输入端获得第一浮点数信号和第二浮点数信号。例如,获得的浮点数信号可以为浮点数信号a和浮点数信号b两个,输出的累加结果为Z,运算过程可以为Z=a+b,其中b可以为多个浮点数信号的乘积,例如b=cX d,将这种加法形式推广到一般的浮点数运算中·
n-1m—I其中 apcJPdj 均为浮点数信号,bj = CjXdja=O, I,
i=o /=0
j = 0,1,…,m-1,只要从ai和bj中任意一组或两组中取两个及两个以上的浮点数信号组合即可,BP n ^ O, m ^ O, n+m ^ 2。302、对所述第一浮点数信号和所述第二浮点数信号进行取负操作。例如,对浮点数信号a的符号根据相反符号取负,对浮点数信号b的符号根据符号取负。那么,若浮点数信号a的符号为正,则输出符号取负(即正号变为负号)后的浮点数信号a,若浮点数信号a的符号为负,则直接输出浮点数信号a ;若浮点数信号b的符号为正,则直接输出浮点数信号b,若浮点数信号b的符号为负,则输出符号取负后的浮点数信号b。可选的,还可以对浮点数信号b的符号根据相反符号取负,对浮点数信号a的符号根据符号取负,此步骤与上述步骤能够得到一样的输出结果,达到一样的技术效果。需要说明的是,当对浮点数信号b进行取负操作时,需要根据取负方式的不同,对浮点数信号c和浮点数信号d执行不同的乘法操作,例如,当对浮点数信号b的符号根据相反符号取负时,则在进行乘法操作之前,将浮点数信号c或者浮点数信号d的符号取反(即正号变负号,负号变正号);当对浮点数信号b的符号根据符号取负时,直接对浮点数信号c和浮点数信号d执行有符号乘法。需要说明的是,当浮点数信号a和浮点数信号b 二者中的一个浮点数信号的符号根据相反符号取负时,另一个浮点数信号的符号根据符号取负,以保证在作差操作中进行计算时将加法变为减法,减少计算时延。例如,上述的取负操作可以使a和b两个浮点数信号在进行作差操作时,用_a代替a或者用-b代替b。以-a代替a为例,则作差操作的正分支用b- (-a)代替b+a,作差操作的负分支用(_a) _b代替_a_b,从而省去了一级加法操作,提高了运算速度,同样的,用_b代替b也能达到相同的效果。303、根据所述第一浮点数信号得到第一幂指数,根据所述第二浮点数信号得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差。304、根据所述第一幂指数差对取负操作后的所述第一浮点数信号移位,根据所述第二幂指数差对取负操作后的所述第二浮点数信号移位。例如,将浮点数信号a和浮点数信号b中幂指数较小的浮点数信号的尾数向右移位,移位的位数与相应的幂指数差一致。305、对移位操作后的所述第一浮点信号和所述第二浮点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导信号和第二前导信号。例如,第一差信号对应加法正分支的结果,为Z0= a+b+l,第二差信号对应加法负分支的结果,为Zl=a+飞+1广表示位取反操作,即对于所有比特I,将其反转为O,对于所有比特0,将其反转为I ;第一前导信号对应前导正分支的结果,第二前导信号对应前导负分支的结果。其中,在进行浮点数的加法运算时,浮点数加法运算结果的尾数是有范围限制的,例如I <尾数< 2,所以当出现尾数超过规定的数值范围时,就需要通过前导信号中的前导O的个数来指示尾数进行合理的移位操作,使得尾数处于合法的范围内。306、选取所述第一差信号和所述第二差信号中的正值信号作为第一正值信号,并 且选取所述第一前导信号和所述第二前导信号中的正值信号作为第二正值信号。307、根据选择的所述第二正值信号和所述较大幂指数对所述第一正值信号进行规格化。例如,根据第二正值信号中包括的前导O个数,确定第二正值信号中尾数的移位位数,并且将较大幂指数作为尾数的幂指数。308、对规格化后的累加结果进行溢出处理。例如,对规格化电路107输出的幂指数进行判断,若该幂指数大于等于规定的幂指数上限,则将输出饱和作为上溢出值;若该幂指数小于规定的幂指数下限,则将输出饱和作为下溢出值。309、通过信号输出端输出溢出处理后的输出结果。其中,浮点数信号a和浮点数信号b可以在相同的时钟周期内输入,也可以分批在不同的时钟周期内输入;输出的计算结果的信号在浮点数信号输入后的一个或多个时钟周期后输出;所述浮点数信号和输出的计算结果的信号的精度为半精度、单精度、双精度、扩展精度或自定义位宽精度。需要说明的是,在对浮点数信号c和浮点数信号d进行乘法操作时,采用向下取整的方式得到二者的乘积;在对浮点数信号进行移位时,采用向下取整的方式得到移位后的浮点数信号。与现有技术相比,本发明实施例根据第一浮点数信号的符号和第二浮点数信号的符号对第一浮点数信号和第二浮点数信号进行取负操作,将两个浮点数信号中的一个浮点数信号的符号按照相反符号取负,将另一个浮点数信号的符号按照符号取负;对取负后的浮点数信号按照幂指数差进行移位操作;将经过移位的浮点数信号通过作差电路,获得第一差信号和第二差信号以及第一前导信号和第二前导信号,并使用符号选择电路选择出第一正值信号和第二正值信号;根据选择的所述第二正值信号和较大幂指数对所述第一正值信号进行规格化,对规格化后的累加结果进行溢出处理;通过信号输出端输出溢出处理后的输出结果。其中通过在浮点数信号进行移位之前的运算路径上,将其中一个浮点数信号的符号按照相反符号取负,另一个浮点数信号的符号按照符号取负,节省了原本需要在关键路径上完成的移位后按照符号取负的操作,以及在作差电路的负分支路径上比正分支路径多出的一级CSA电路,从而在整体电路上减少了一级异或操作、一级加法操作和一级CSA电路,优化了整体电路的时延,提高了电路的运算速度和运算精度。本发明实施例提供的浮点数加法电路可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的浮点数加法电路及其实现方法可以适用于浮点数运算,但不仅限于此。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。以上所述,仅为本发明的具体实施方式
,但本发明的保 护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种浮点数加法电路,其特征在于,所述电路包括信号输入端、取负电路、指数运算电路、移位电路、作差电路、符号选择电路、规格化电路、溢出处理电路和信号输出端,其中, 所述信号输入端用于获得第一浮点数信号和第二浮点数信号; 所述取负电路用于对所述第一浮点数信号和所述第二浮点数信号进行取负操作; 所述指数运算电路用于根据所述第一浮点数信号得到第一幂指数,根据所述第二浮点数信号得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差; 所述移位电路用于根据所述第一幂指数差对所述取负电路操作后的所述第一浮点数信号移位,根据所述第二幂指数差对所述取负电路操作后的所述第二浮点数信号移位;所述作差电路用于对所述移位电路操作后的所述第一浮点信号和所述第二浮点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导信号和第二前导信号; 所述符号选择电路用于选取所述第一差信号和所述第二差信号中的正值信号作为第一正值信号,并且选取所述第一前导信号和所述第二前导信号中的正值信号作为第二正值信号; 所述规格化电路用于根据所述符号选择电路选择的所述第二正值信号和所述指数运算电路得到的所述较大幂指数对所述符号选择电路选择的所述第一正值信号进行规格化; 所述溢出处理电路用于对规格化后的累加结果进行溢出处理; 所述信号输出端用于输出所述溢出处理电路处理后输出。
2.根据权利要求I所述的电路,其特征在于,还包括所述信号输入端还用于获得第三浮点数信号和第四浮点数信号,根据所述第三浮点数信号和所述第四浮点数信号的乘积得到所述第二浮点数信号。
3.根据权利要求I所述的电路,其特征在于,所述第一浮点数信号为一个浮点数信号或者至少两个浮点数信号相加的和。
4.根据权利要求I或2所述的电路,其特征在于,所述第二浮点数信号为至少两个浮点数信号相乘的积。
5.一种浮点数加法电路实现方法,其特征在于,包括 通过信号输入端获得第一浮点数信号和第二浮点数信号; 对所述第一浮点数信号和所述第二浮点数信号进行取负操作; 根据所述第一浮点数信号得到第一幂指数,根据所述第二浮点数信号得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差; 根据所述第一幂指数差对取负操作后的所述第一浮点数信号移位,根据所述第二幂指数差对取负操作后的所述第二浮点数信号移位; 对移位操作后的所述第一浮点信号和所述第二浮点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导信号和第二前导信号; 选取所述第一差信号和所述第二差信号中的正值信号作为第一正值信号,并且选取所述第一前导信号和所述第二前导信号中的正值信号作为第二正值信号; 根据选择的所述第二正值信号和所述较大幂指数对所述第一正值信号进行规格化; 对规格化后的累加结果进行溢出处理; 通过信号输出端输出溢出处理后的输出结果。
6.根据权利要求5所述的方法,其特征在于,还包括当所述信号输入端获得第三浮点数信号和第四浮点数信号时,根据所述第三浮点数信号和所述第四浮点数信号的乘积得到所述第二浮点数信号。
7.根据权利要求5所述的方法,其特征在于,所述第一浮点数信号为一个浮点数信号或者至少两个浮点数信号相加的和。
8.根据权利要求5或6所述的方法,其特征在于,所述第二浮点数信号为至少两个浮点 数信号相乘的积。
9.根据权利要求5所述的方法,其特征在于,所述对所述第一浮点数信号和所述第二浮点数信号进行取负操作包括 将所述第一浮点数信号的符号根据相反符号取负,将所述第二浮点数信号的符号根据符号取负;或者, 将所述第二浮点数信号的符号根据相反符号取负,将所述第一浮点数信号的符号根据符号取负。
10.根据权利要求5-9任一项所述的方法,其特征在于,所述第一浮点数信号和第二浮点数信号在相同的时钟周期内输入,或者分批在不同的时钟周期内输入。
全文摘要
本发明实施例公开了一种浮点数加法电路及其实现方法,涉及数字计算技术领域,所述方法包括对至少两个浮点数信号进行取负操作、指数运算操作、移位操作、作差操作、符号选择操作、规格化操作和溢出处理操作,输出所述浮点数信号组合的累加结果。本发明适用于浮点数运算。
文档编号G06F7/57GK102789376SQ20121020846
公开日2012年11月21日 申请日期2012年6月21日 优先权日2012年6月21日
发明者矫渊培, 程志坤 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1