当前位置: 首页 > 专利查询>清华大学专利>正文

定点数除法的计算方法及装置制造方法及图纸

技术编号:36559845 阅读:25 留言:0更新日期:2023-02-04 17:15
本发明专利技术公开了一种定点数除法的计算方法及装置,该方法包括:将定点数形式的除数,转化为32bit浮点数,得到第一浮点数并计算整数数值;将预设常数和第一浮点数的整数数值之间的差值,视作第二浮点数;所述差值和所述第二浮点数存在相同的32bit存储格式;将第二浮点数,转化为第一定点数并作为定点数形式的除数的倒数的一阶估计值;对所述一阶估计值进行牛顿迭代,得到定点数形式的除数的倒数的二阶估计值;根据定点数形式的被除数和除数之商的正负符号、以及所述二阶估计值与定点数形式的被除数的乘积,生成定点数形式的被除数、和定点数形式的除数的除法运算结果。本发明专利技术所需时钟周期少且固定,可提高数字集成系统的性能。可提高数字集成系统的性能。可提高数字集成系统的性能。

【技术实现步骤摘要】
定点数除法的计算方法及装置


[0001]本专利技术涉及集成电路和芯片设计
,尤其涉及定点数除法的计算方法及装置。

技术介绍

[0002][0003]在数字芯片设计中,加减乘除运算的电路实现是系统实现的基础。加法、减法与乘法可以方便地在电路层面实现,但是除法操作,尤其是小数除法,会消耗非常大的计算资源,并占用大量的计算时间。
[0004]目前有多种面向整数的除法器方案,但定点数除法器大多基于迭代的方法,需要的时钟周期数多、不固定,且用时较长,不利于集成电路系统设计。

技术实现思路

[0005]本专利技术实施例提供一种定点数除法的计算方法,用以利用浮点数存储方式快速计算除数的倒数,将除法运算转化为乘法运算,所需时钟周期少且固定,可提高数字集成系统的性能,该方法包括:
[0006]根据定点数形式的被除数、和定点数形式的除数的正负符号,确定定点数形式的被除数和除数之商的正负符号;
[0007]将定点数形式的除数,转化为32bit浮点数,得到第一浮点数;计算第一浮点数的整数数值;所述整数数值用于描述在将第一浮点数视作无符号32bit整数时的数值;
[0008]将预设常数和第一浮点数的整数数值之间的差值,视作第二浮点数;所述差值和所述第二浮点数存在相同的32bit存储格式;
[0009]将第二浮点数,转化为第一定点数;将第一定点数,作为定点数形式的除数的倒数的一阶估计值;
[0010]对所述一阶估计值进行牛顿迭代,得到定点数形式的除数的倒数的二阶估计值;/>[0011]根据定点数形式的被除数和除数之商的正负符号、以及所述二阶估计值与定点数形式的被除数的乘积,生成定点数形式的被除数、和定点数形式的除数的除法运算结果。
[0012]本专利技术实施例还提供一种定点数除法的计算装置,用以利用浮点数存储方式快速计算除数的倒数,将除法运算转化为乘法运算,所需时钟周期少且固定,可提高数字集成系统的性能,该装置包括:
[0013]符号计算模块,用于根据定点数形式的被除数、和定点数形式的除数的正负符号,确定定点数形式的被除数和除数之商的正负符号;
[0014]第一浮点数确定模块,用于将定点数形式的除数,转化为32bit浮点数,得到第一浮点数;计算第一浮点数的整数数值;所述整数数值用于描述在将第一浮点数视作无符号32bit整数时的数值;
[0015]第二浮点数确定模块,用于将预设常数和第一浮点数的整数数值之间的差值,视
作第二浮点数;所述差值和所述第二浮点数存在相同的32bit存储格式;
[0016]第一定点数确定模块,用于将第二浮点数,转化为第一定点数;将第一定点数,作为定点数形式的除数的倒数的一阶估计值;
[0017]牛顿迭代模块,用于对所述一阶估计值进行牛顿迭代,得到定点数形式的除数的倒数的二阶估计值;
[0018]除法运算结果生成模块,用于根据定点数形式的被除数和除数之商的正负符号、以及所述二阶估计值与定点数形式的被除数的乘积,生成定点数形式的被除数、和定点数形式的除数的除法运算结果。
[0019]本专利技术实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述定点数除法的计算方法。
[0020]本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述定点数除法的计算方法。
[0021]本专利技术实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述定点数除法的计算方法。
[0022]本专利技术实施例中,根据定点数形式的被除数、和定点数形式的除数的正负符号,确定定点数形式的被除数和除数之商的正负符号;将定点数形式的除数,转化为32bit 浮点数,得到第一浮点数;计算第一浮点数的整数数值;所述整数数值用于描述在将第一浮点数视作无符号32bit整数时的数值;将预设常数和第一浮点数的整数数值之间的差值,视作第二浮点数;所述差值和所述第二浮点数存在相同的32bit存储格式;将第二浮点数,转化为第一定点数;将第一定点数,作为定点数形式的除数的倒数的一阶估计值;对所述一阶估计值进行牛顿迭代,得到定点数形式的除数的倒数的二阶估计值;根据定点数形式的被除数和除数之商的正负符号、以及所述二阶估计值与定点数形式的被除数的乘积,生成定点数形式的被除数、和定点数形式的除数的除法运算结果,从而利用浮点数的存储方式,快速计算除数的倒数,进而将除法运算转化为乘法运算,得到最终结果,因所需时钟周期少且固定,解决了现有定点数除法器所需时钟周期多且不固定的缺陷,能够广泛应用于数字电路设计领域,可提高数字集成系统的性能。
附图说明
[0023]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0024]图1为本专利技术实施例中一种定点数除法的计算方法的流程示意图;
[0025]图2为本专利技术实施例中一种IEEE 32位浮点格式下数据存储格式的具体示例图;
[0026]图3为本专利技术实施例中一种定点数除法器电路的设计示例图;
[0027]图4为本专利技术实施例中一种Vivado HLS综合的时序结果以及资源占用情况的实例图;
[0028]图5为本专利技术实施例中提供的一种计算机设备的示意图;
[0029]图6为本专利技术实施例中一种定点数除法的计算装置的结构示意图。
具体实施方式
[0030]为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本专利技术实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定。
[0031]本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如, A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
[0032]在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种定点数除法的计算方法,其特征在于,包括:根据定点数形式的被除数、和定点数形式的除数的正负符号,确定定点数形式的被除数和除数之商的正负符号;将定点数形式的除数,转化为32bit浮点数,得到第一浮点数;计算第一浮点数的整数数值;所述整数数值用于描述在将第一浮点数视作无符号32bit整数时的数值;将预设常数和第一浮点数的整数数值之间的差值,视作第二浮点数;所述差值和所述第二浮点数存在相同的32bit存储格式;将第二浮点数,转化为第一定点数;将第一定点数,作为定点数形式的除数的倒数的一阶估计值;对所述一阶估计值进行牛顿迭代,得到定点数形式的除数的倒数的二阶估计值;根据定点数形式的被除数和除数之商的正负符号、以及所述二阶估计值与定点数形式的被除数的乘积,生成定点数形式的被除数、和定点数形式的除数的除法运算结果。2.如权利要求1所述的方法,其特征在于,按如下公式根据定点数形式的被除数、和定点数形式的除数的正负符号,确定定点数形式的被除数和除数之商的正负符号:sign
result
=sign
x XOR sign
y
其中,sign
result
表示定点数形式的被除数和除数之商的正负符号;sign
x
表示定点数形式的被除数x的正负符号;sign
y
表示定点数形式的除数y的正负符号。3.如权利要求1所述的方法,其特征在于,还包括:按如下公式计算预设常数和第一浮点数的整数数值之间的差值:y
inv1_long
=0x7ef477d3

y
long
其中,y
inv1_long
表示预设常数和第一浮点数的整数数值之间的差值;0x7ef477d3为十六进制的预设常数;y
long
表示在将第一浮点数y
float
视作无符号32bit整数时的第一浮点数的整数数值。4.如权利要求1所述的方法,其特征在于,按如下公式对所述一阶估计值进行牛顿迭代,得到定点数形式的除数的倒数的二阶估计值:tmp1=y
inv1
*ytmp2=tmp1*y
inv1
y
inv2
=(y
inv1
<<1)

tmp2其中,tmp1和tmp2表示计算中间值;y
inv1
表示定点数形式的除数的倒数的一阶估计值;其中,作为所述一阶估计值y
inv1
的第一定点数,由第二浮点数y
inv1_float
进行转化得到;第二浮点数y
inv1_float
由将所述差值y
inv1_long

【专利技术属性】
技术研发人员:张春张惟宜牛丽婷姜汉钧王志华
申请(专利权)人:清华大学
类型:发明
国别省市:

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

1