一种高性能非精确浮点加法器及其应用方法

文档序号:6626182阅读:190来源:国知局
一种高性能非精确浮点加法器及其应用方法
【专利摘要】本发明公开了一种高性能非精确浮点加法器及其应用方法,该非精确浮点加法器由非精确指数加法器、尾数交换单元、移位单元、非精确尾数加法器、符号逻辑单元、指数更新单元以及非精确规则化单元组成,所述非精确指数加法器和非精确尾数加法器的高位m比特为精确定点加法器、低位n比特为非精确定点加法器。在应用本发明时,非精确指数和尾数加法器中精确定点加法器的位数以及非精确定点加法器的位数需要通过软件仿真的方法确定。本发明可以接受符合IEEE754协议的各种精度的浮点数,是一种新型的高速、低功耗、小面积的浮点加法器,在嵌入式数字信号处理器领域具有广阔的应用前景。
【专利说明】一种高性能非精确浮点加法器及其应用方法

【技术领域】
[0001]本发明涉及基于非精确电路设计领域,尤其涉及一种高性能非精确浮点加法器及其应用方法。

【背景技术】
[0002]随着嵌入式系统尤其是手机和平板电脑等移动设备的功能体验不断丰富和发展,功耗已经成为数字集成电路设计的关键问题之一。工业界对于芯片设计的要求已经从追求高性能和小面积转变为对性能、面积和功耗的综合要求。因此,在保证电路性能的前提下,降低数字集成电路的功耗已经成为学术界和工业界的研究重点。
[0003]研究表明降低计算的精确度可以节省相应的能量消耗,同时这种能量的节省和功耗的降低非常明显。通过降低计算精确度来实现低功耗的方法和设计理念被称为非精确计算,和之前其他技术最大的不同在于非精确计算系统可以将错误限定在可允许的范围内并且不需要添加任何的错误纠正或者补偿措施。
[0004]现有的精确浮点加法器面积大,需要较多的硬件资源,同时功耗高,速度慢,严重限制了浮点加法器在嵌入式领域的应用。


【发明内容】

[0005]本发明所要解决的技术问题是针对现有浮点加法器的缺陷,提供一种高性能非精确浮点加法器及其应用方法,该浮点加法器面积小、速度高、功耗低,可以接受符合IEEE754协议的各种精度的浮点数。
[0006]本发明为解决上述技术问题采用以下技术方案:
一种高性能非精确浮点加法器,包含非精确指数加法器、尾数交换单元、移位单元、非精确尾数加法器、符号逻辑单元、指数更新单元以及非精确规则化单元;
所述非精确指数加法器用于比较两个操作数的指数部分,并将指数比较的结果传递给尾数交换单元、符号逻辑单元以及指数更新单元;
所述尾数交换单元用于根据指数比较的结果交换两个操作数的尾数部分,以保证需要进行移位的尾数处于正确的位置上,同时,将需要移位的尾数传递给所述移位单元、不需要移位的尾数传递给非精确尾数加法器;
所述移位单元用于将需要移位的尾数根据指数比较的结果进行移位对齐,对齐后的尾数传递给非精确尾数加法器;
所述非精确尾数加法器用于将经过对齐以后的尾数与不需要移位的尾数进行相加,并将结果传给符号逻辑单元和非精确规则化单元;
所述符号逻辑单元接受两个操作数的符号以及非精确指数加法器和非精确尾数加法器的结果,从而确定两个操作数相加后和的正负;
所述非精确规则化单元用于将非精确尾数加法器输出的和规则化为符合IEEE-754要求的形式,输出两个操作数相加后和的尾数,同时根据非精确尾数加法器的结果来确定指数更新单元需要的更新量;
所述指数更新单元接受非精确指数加法器和非精确规则化单元的结果,用于更新两个操作数相加后和的指数。
[0007]作为本发明一种高性能非精确浮点加法器进一步的优化方案,所述非精确指数加法器和非精确尾数加法器的高位m比特为精确定点加法器、低位η比特为非精确定点加法器,其中m+n=k,k为定点加法器的总比特数。
[0008]作为本发明一种高性能非精确浮点加法器进一步的优化方案,所述非精确指数加法器和非精确尾数加法器的低位运算由或门构成,无进位位。
[0009]作为本发明一种高性能非精确浮点加法器进一步的优化方案,所述非精确规则化单元根据非精确尾数加法器中非精确的位数来进行前导零检测。
[0010]本发明还公开了一种基于该高性能非精确浮点加法器的应用方法,其中,在非精确指数加法器和非精确尾数加法器中,精确定点加法器的位数以及非精确定点加法器的位数的确定包含以下步骤:
步骤I),将非精确浮点加法器初始的非精确指数加法器和非精确尾数加法器中精确定点加法器的位数m设为O、非精确定点加法器的位数η设为k ;
步骤2),对非精确浮点加法器进行建模;
步骤3),根据具体的应用数据对建模后的非精确浮点加法器进行仿真;
步骤4),根据应用的要求评估仿真的结果,如果仿真的结果不符合应用的要求,则将非精确指数加法器和非精确尾数加法器中精确定点加法器的位数增加一位,非精确定点加法器的位数减少一位;
步骤5),重复步骤2)至步骤4),直至仿真的结果符合应用的要求。
[0011]本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1.与之前的浮点加法器相比,需要更少的硬件资源;
2.功耗更低,速度更快,使得浮点加法器可以更广泛的应用在嵌入式处理器中。

【专利附图】

【附图说明】
[0012]图1为本发明的整体框图;
图2为非精确指数加法器和非精确尾数加法器中的非精确定点加法器的结构示意图; 图3为非精确指数加法器和非精确尾数加法器中非精确定点加法器位数的确定流程图。

【具体实施方式】
[0013]下面结合附图对本发明的技术方案做进一步的详细说明:
如图1所示,本发明公开了一种高性能非精确浮点加法器,包含非精确指数加法器、尾数交换单元、移位单元、非精确尾数加法器、符号逻辑单元、指数更新单元以及非精确规则化单元;
所述非精确指数加法器用于比较两个操作数的指数部分,并将指数比较的结果传递给尾数交换单元、符号逻辑单元以及指数更新单元;
所述尾数交换单元用于根据指数比较的结果交换两个操作数的尾数部分,以保证需要进行移位的尾数处于正确的位置上,同时,将需要移位的尾数传递给所述移位单元、不需要移位的尾数传递给非精确尾数加法器;
所述移位单元用于将需要移位的尾数根据指数比较的结果进行移位对齐,对齐后的尾数传递给非精确尾数加法器;
所述非精确尾数加法器用于将经过对齐以后的尾数与不需要移位的尾数进行相加,并将结果传给符号逻辑单元和非精确规则化单元;
所述符号逻辑单元接受两个操作数的符号以及非精确指数加法器和非精确尾数加法器的结果,从而确定两个操作数相加后和的正负;
所述非精确规则化单元用于将非精确尾数加法器输出的和规则化为符合IEEE-754要求的形式,输出两个操作数相加后和的尾数,同时根据非精确尾数加法器的结果来确定指数更新单元需要的更新量;
所述指数更新单元接受非精确指数加法器和非精确规则化单元的结果,用于更新两个操作数相加后和的指数。
[0014]所述非精确指数加法器和非精确尾数加法器的高位m比特为精确定点加法器、低位η比特为非精确定点加法器,其中m+n=k,k为定点加法器的总比特数。
[0015]所述非精确指数加法器和非精确尾数加法器的低位运算由或门构成,无进位位。
[0016]所述非精确规则化单元根据非精确尾数加法器中非精确的位数来进行前导零检测。
[0017]本发明可以应用于符合IEEE-754标准的半精度、单精度及双精度等浮点数类型。
[0018]本发明还公开了一种基于该高性能非精确浮点加法器的应用方法,其中,非精确指数加法器和非精确尾数加法器中,精确定点加法器的位数以及非精确定点加法器的位数的确定包含以下步骤:
步骤I),将非精确浮点加法器初始的非精确指数加法器和非精确尾数加法器中精确定点加法器的位数m设为O、非精确定点加法器的位数η设为k ;
步骤2),对非精确浮点加法器进行建模;
步骤3),根据具体的应用数据对建模后的非精确浮点加法器进行仿真;
步骤4),根据应用的要求评估仿真的结果,如果仿真的结果不符合应用的要求,则将非精确指数加法器和非精确尾数加法器中精确定点加法器的位数增加一位,非精确定点加法器的位数减少一位;
步骤5),重复步骤2)至步骤4),直至仿真的结果符合应用的要求。
[0019]图2为非精确指数加法器和非精确尾数加法器中的非精确定点加法器的结构示意图,其主要组成部分为一系列两输入或门,或门的个数η取决于非精确应用的实际指标要求。
[0020]图3为非精确指数加法器和非精确尾数加法器中精确定点加法器位数(m)以及非精确定点加法器位数(η)确定方法的流程图。首先将指数加法器和尾数加法器中的精确定点加法器位数设为0,然后用C或者Matlab等软件对非精确浮点加法器进行建模,然后用软件建模后的非精确浮点加法器,针对不同的实际应用进行仿真。如果仿真结果不符合要求,则增加指数加法器和尾数加法器中精确定点加法器的位数,然后重复软件建模和仿真的步骤直到找到符号要求的设计,此时精确定点加法器的位数m,以及对应的n=k-m即符和要求的最优设计。
[0021]以上只是对本发明的优选实施方式进行了描述。对该【技术领域】的普通技术人员来说,根据以上实施方式可以很容易地联想到其它的优点和变形。因此,本发明并不局限于上述实施方式,其仅仅作为例子对本发明的一种形态进行详细、示范性的说明。在不背离本发明宗旨的范围内,本领域普通技术人员在本发明技术的方案范围内进行的通常变化和替换,都应包含在本发明的保护范围之内。
【权利要求】
1.一种高性能非精确浮点加法器,其特征在于,包含非精确指数加法器、尾数交换单元、移位单元、非精确尾数加法器、符号逻辑单元、指数更新单元以及非精确规则化单元; 所述非精确指数加法器用于比较两个操作数的指数部分,并将指数比较的结果传递给尾数交换单元、符号逻辑单元以及指数更新单元; 所述尾数交换单元用于根据指数比较的结果交换两个操作数的尾数部分,以保证需要进行移位的尾数处于正确的位置上,同时,将需要移位的尾数传递给所述移位单元、不需要移位的尾数传递给非精确尾数加法器; 所述移位单元用于将需要移位的尾数根据指数比较的结果进行移位对齐,对齐后的尾数传递给非精确尾数加法器; 所述非精确尾数加法器用于将经过对齐以后的尾数与不需要移位的尾数进行相加,并将结果传给符号逻辑单元和非精确规则化单元; 所述符号逻辑单元接受两个操作数的符号以及非精确指数加法器和非精确尾数加法器的结果,从而确定两个操作数相加后和的正负; 所述非精确规则化单元用于将非精确尾数加法器输出的和规则化为符合IEEE-754要求的形式,输出两个操作数相加后和的尾数,同时根据非精确尾数加法器的结果来确定指数更新单元需要的更新量; 所述指数更新单元接受非精确指数加法器和非精确规则化单元的结果,用于更新两个操作数相加后和的指数。
2.根据权利要求1所述的高性能非精确浮点加法器,其特性在于,所述非精确指数加法器和非精确尾数加法器的高位m比特为精确定点加法器、低位η比特为非精确定点加法器,其中m+n=k,k为定点加法器的总比特数。
3.根据权利要求2所述的高性能非精确浮点加法器,其特性在于,所述非精确指数加法器和非精确尾数加法器的低位运算由或门构成,无进位位。
4.根据权利要求1所述的高性能非精确浮点加法器,其特性在于,所述非精确规则化单元根据非精确尾数加法器中非精确的位数来进行前导零检测。
5.基于权利要求2所述的高性能非精确浮点加法器的应用方法,其特征在于,所述非精确指数加法器和非精确尾数加法器中,精确定点加法器的位数以及非精确定点加法器的位数的确定包含以下步骤: 步骤I),将非精确浮点加法器初始的非精确指数加法器和非精确尾数加法器中精确定点加法器的位数m设为O、非精确定点加法器的位数η设为k ; 步骤2),对非精确浮点加法器进行建模; 步骤3),根据具体的应用数据对建模后的非精确浮点加法器进行仿真; 步骤4),根据应用的要求评估仿真的结果,如果仿真的结果不符合应用的要求,则将非精确指数加法器和非精确尾数加法器中精确定点加法器的位数增加一位,非精确定点加法器的位数减少一位; 步骤5),重复步骤2)至步骤4),直至仿真的结果符合应用的要求。
【文档编号】G06F7/485GK104238992SQ201410451869
【公开日】2014年12月24日 申请日期:2014年9月9日 优先权日:2014年9月9日
【发明者】刘伟强, 王成华, 钱亮宇 申请人:南京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1