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

上传人:ting****789 文档编号:310009819 上传时间:2022-06-14 格式:DOCX 页数:4 大小:18.68KB
返回 下载 相关 举报
浮点数加法电路及其实现方法_第1页
第1页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《浮点数加法电路及其实现方法》由会员分享,可在线阅读,更多相关《浮点数加法电路及其实现方法(4页珍藏版)》请在金锄头文库上搜索。

1、浮点数加法电路及其实现方法专利名称:浮点数加法电路及其实现方法技术领域:本发明涉及数字计算技术领域,特别涉及在数字信号处理器或硬件加速器系统中构建一种浮点数加法电路及其实现方法。背景技术:近年来,在各种领域的应用中对高精度和高动态范围的要求逐渐成为最重要的一环,相对于定点而言,浮点数具有更高的精度以及更高的动态范围,所以浮点数越发受到重视。浮点数用于近似表示某个实数,其格式可以表示为S,E,M,其中,S为符号,E为指数,M为规格化的尾数,例如,S,E,M = (-1)SX (1+m) X2%由于浮点数自身的特点,决定了浮点数的运算要更加复杂,因此想要快速准确的获取浮点数运算结果需要更高配置的硬

2、件设施。现有技术中至少存在如下问题浮点数运算复杂度较高,需要性能更高的硬件设备支持,由于当前用于浮点数运算的加速器和浮点数字信号处理器核心的主频等硬件条件的限制,浮点数运算的运算精度无法达到最优的程度,大大限制了运算系统的浮点数运算性能。发明内容本发明的实施例提供一种浮点数加法电路及其实现方法,通过使用融合了乘法运算和加法运算的加法运算,提高了运算精度,并且对运算系统中的关键运算路径的时序进行优化,解决了现有技术中运算系统的浮点数运算性能不高的问题,提升了运算系统的运算性能。本发明实施例采用的技术方案为一种浮点数加法电路,所述电路包括信号输入端、取负电路、指数运算电路、移位电路、作差电路、符号

3、选择电路、规格化电路、溢出处理电路和信号输出端,其中,所述信号输入端用于获得第一浮点数信号和第二浮点数信号;所述取负电路用于对所述第一浮点数信号和所述第二浮点数信号进行取负操作;所述指数运算电路用于根据所述第一浮点数信号得到第一幂指数,根据所述第二浮点数信号得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差;所述移位电路用于根据所述第一幂指数差对所述取负电路操作后的所述第一浮点数信号移位,根据所述第二幂指数差对所述取负电路操作后的所述第二浮点数信号移位;所述作差电路用

4、于对所述移位电路操作后的所述第一浮点信号和所述第二浮点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导信号和第二前导信号;所述符号选择电路用于选取所述第一差信号和所述第二差信号中的正值信号作为第一正值信号,并且选取所述第一前导信号和所述第二前导信号中的正值信号作为第二正值信号;所述规格化电路用于根据所述符号选择电路选择的所述第二正值信号和所述指数运算电路得到的所述较大幂指数对所述符号选择电路选择的所述第一正值信号进行规格化;所述溢出处理电路用于对规格化后的累加结果进行溢出处理;所述信号输出端用于输出所述溢出处理电路处理后输出。一种浮点数加法电路实现方法,包括通

5、过信号输入端获得第一浮点数信号和第二浮点数信号;对所述第一浮点数信号和所述第二浮点数信号进行取负操作;根据所述第一浮点数信号得到第一幂指数,根据所述第二浮点数信号得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差;根据所述第一幂指数差对取负操作后的所述第一浮点数信号移位,根据所述第二幂指数差对取负操作后的所述第二浮点数信号移位;对移位操作后的所述第一浮点信号和所述第二浮点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导信号和第二前导信

6、号;选取所述第一差信号和所述第二差信号中的正值信号作为第一正值信号,并且选取所述第一前导信号和所述第二前导信号中的正值信号作为第二正值信号;根据选择的所述第二正值信号和所述较大幂指数对所述第一正值信号进行规格化;对规格化后的累加结果进行溢出处理;通过信号输出端输出溢出处理后的输出结果。与现有技术相比,本发明实施例通过在浮点数信号进行移位之前的运算路径上,将其中一个浮点数信号的符号按照相反符号取负,另一个浮点数信号的符号按照符号取负,节省了原本需要在关键路径上完成的移位后按照符号取负的操作,以及在加法负分支路径上比正分支路径多出的一级CSA (Carry-SaveAdder,进位保留加法)电路,

7、从而在整体电路上减少了一级异或操作、一级加法操作和一级CSA电路,优化了整体电路的时延,提高了电路的运算速度和运算精度。为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图I为本发明实施例一提供的电路结构示意图;图2为本发明实施例二提供的电路结构示意图3为本发明实施例三提供的方法流程图。具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅

8、仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。为使本发明技术方案的优点更加清楚,下面结合附图和实施例对本发明作详细说明。需要说明的是,本发明中涉及的浮点数信号为复数,包括实数。一般应用于数据信号处理领域,比如图像处理系统,雷达系统和通讯系统。通过提升计算速度,提升复数累加/加法运算的效率,此电路和方法可以极大提升DSP (Digital Signal Processing,数字信号处理)或其它数字设备的性能。比如应用于LTE (LongTerm Evolution,长期演进)、UMT

9、S (Universal Mobile Telecommunications System,通用移动通信系统)、GSM (GlobalSystem for Mobile communications,全球移动通信系统)等现行通讯系统中的。实施例一本实施例提供一种浮点数加法电路,如图I所示,所述电路包括信号输入端101、取负电路102、指数运算电路103、移位电路104、作差电路105、符号选择电路106、规格化电路107、溢出处理电路108和信号输出端109,其中,所述信号输入端101用于获得第一浮点数信号和第二浮点数信号;所述取负电路102用于对所述第一浮点数信号和所述第二浮点数信号进行取负

10、操作;所述指数运算电路103用于根据所述第一浮点数信号得到第一幂指数,根据所述第二浮点数信号得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差;所述移位电路104用于根据所述第一幂指数差对所述取负电路102操作后的所述第一浮点数信号移位,根据所述第二幂指数差对所述取负电路102操作后的所述第二浮点数信号移位;所述作差电路105用于对所述移位电104路操作后的所述第一浮点信号和所述第二浮点信号进行作差运算得到第一差信号和第二差信号,并对作差运算的结果求前导,得到第一前导

11、信号和第二前导信号;所述符号选择电路106用于选取所述第一差信号和所述第二差信号中的正值信号作为第一正值信号,并且选取所述第一前导信号和所述第二前导信号中的正值信号作为第二正值信号;所述规格化电路107用于根据所述符号选择电路106选择的所述第二正值信号和所述指数运算电路103得到的所述较大幂指数对所述符号选择电路106选择的所述第一正值信号进行规格化;所述溢出处理电路108用于对规格化后的累加结果进行溢出处理;所述信号输出端109用于输出所述溢出处理电路处理后输出。可选的,所述信号输入端101还用于获得第三浮点数信号和第四浮点数信号,根据所述第三浮点数信号和所述第四浮点数信号的乘积得到所述第

12、二浮点数信号。其中,所述第一浮点数信号为一个浮点数信号或者至少两个浮点数信号相加的和;所述第二浮点数信号为至少两个浮点数信号相乘的积。与现有技术相比,本发明实施例根据第一浮点数信号的符号和第二浮点数信号的符号对第一浮点数信号和第二浮点数信号进行取负操作,将两个浮点数信号中的一个浮点数信号的符号按照相反符号取负,将另一个浮点数信号的符号按照符号取负;对取负后的浮点数信号按照幂指数差进行移位操作;将经过移位的浮点数信号通过作差电路,获得第一差信号和第二差信号以及第一前导信号和第二前导信号,并使用符号选择电路选择出第一正值信号和第二正值信号;根据选择的所述第二正值信号和较大幂指数对所述第一正值信号进

13、行规格化,对规格化后的累加结果进行溢出处理;通过信号输出端输出溢出处理后 的输出结果。其中通过在浮点数信号进行移位之前的运算路径上,将其中一个浮点数信号的符号按照相反符号取负,另一个浮点数信号的符号按照符号取负,节省了原本需要在关键路径上完成的移位后按照符号取负的操作,以及在作差电路的负分支路径上比正分支路径多出的一级CSA电路,从而在整体电路上减少了一级异或操作、一级加法操作和一级CSA电路,优化了整体电路的时延,提高了电路的运算速度和运算精度。实施例二本实施例提供一种浮点数加法电路,如图2所示,从信号输入端输入3个浮点数信号a、c和d,信号输出端输出累加结果z,其中z=a+cXd,浮点数信

14、号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的符号为

15、负,则取负电路102直接输出浮点数信号a;若浮点数信号b的符号为正,则取负电路102直接输出浮点数信号b,若浮点数信号b的符号为负,则取负电路102输出符号取负后的浮点数信号b。可选的,所述取负电路102还可以对浮点数信号b的符号根据相反符号取负,对浮点数信号a的符号根据符号取负,此步骤与上述步骤能够得到一样的输出结果,达到一样的技术效果。需要说明的是,当取负电路102对浮点数信号b进行取负操作时,需要根据取负方式的不同,对浮点数信号c和浮点数信号d执行不同的乘法操作,例如,当对浮点数信号b的符号根据相反符号取负时,则在进行乘法操作之前,将浮点数信号c或者浮点数信号d的符号取反(即正号变负号,

16、负号变正号);当对浮点数信号b的符号根据符号取负时,直接对浮点数信号C和浮点数信号d执行有符号乘法。需要说明的是,当浮点数信号a和浮点数信号b 二者中的一个浮点数信号的符号根据相反符号取负时,另一个浮点数信号的符号根据符号取负,以保证在所述作差电路105中进行计算时将加法变为减法,减少计算时延。所述指数运算电路103用于根据浮点数信号a得到第一幂指数,根据浮点数信号b得到第二幂指数,由所述第一幂指数和所述第二幂指数的较大值得到较大幂指数,由所述较大幂指数和所述第一幂指数的差得到第一幂指数差,由所述较大幂指数和所述第二幂指数的差得到第二幂指数差。所述移位电路104用于根据根据所述第一幂指数差对所述取负电路102操作后的所述第一浮点数信号移位,根据所述第二幂指数差对所述取负电路102操作后的所述第二浮点数信号移位。例如,将浮点数信号a和浮点数信号b中幂指数较小的浮点数信号的尾数向右移位,移位的位数与相应的幂指数差一致。所述作差电路105用于对移位电104路操作后的所述第一浮点信号和所述第二浮点信号进行作差运算得到第

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号