CN104731551B - 基于fpga进行除法操作的方法及装置 - Google Patents

基于fpga进行除法操作的方法及装置 Download PDF

Info

Publication number
CN104731551B
CN104731551B CN201310719231.3A CN201310719231A CN104731551B CN 104731551 B CN104731551 B CN 104731551B CN 201310719231 A CN201310719231 A CN 201310719231A CN 104731551 B CN104731551 B CN 104731551B
Authority
CN
China
Prior art keywords
data item
inverse
storage table
reciprocal
item
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310719231.3A
Other languages
English (en)
Other versions
CN104731551A (zh
Inventor
刘晓沐
张兴明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN201310719231.3A priority Critical patent/CN104731551B/zh
Publication of CN104731551A publication Critical patent/CN104731551A/zh
Application granted granted Critical
Publication of CN104731551B publication Critical patent/CN104731551B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于FPGA进行除法操作的方法及装置,以减少资源消耗,并扩大进行除法运算的数值计算范围。本发明中获取进行除法操作中作为除数的第一数据项;判断所述第一数据项是否与预设的、包含有设定数据项倒数的存储表中的数据项相同;若是,则直接调用所述存储表中与所述第一数据项相同的数据项的倒数,得到所述第一数据项的倒数;若否,则将所述第一数据项进行移位运算,得到能够在所述存储表中查找到的第二数据项,并根据所述第二数据项确定所述第一数据项的倒数;将所述第一数据项的倒数与进行除法操作中作为被除数的数据项相乘,完成除法操作。通过本发明能够减少资源消耗,并扩大进行除法运算的数值计算范围。

Description

基于FPGA进行除法操作的方法及装置
技术领域
本发明涉及数字信号处理技术领域,尤其涉及一种基于FPGA进行除法操作的方法及装置。
背景技术
随着FPGA(现场可编程门阵列)技术的成熟,采用FPGA实现数字信号处理的方法应用越来越广泛。
FPGA其内部由大量的门阵列组成,可以进行各种复杂的数字信号运算处理,只能对定点数值进行运算,并且除法运算要求除数必须是2的指数幂的形式,即除法运算只能是对1至232范围内的整数进行除法运算,对于其它数值,由于不能映射到实际物理器件中,故无法完成除法运算。
一般的,FPGA采用单独设置除法模块,由除法模块直接完成除法操作,或者直接存储232个需要进行除法操作的除数的倒数,然后采用乘法操作的方式,完成除法操作。
然而采用上述单独设置除法模块的方式,对于不同的应用场景,需要设置不同的除法模块,即每次都需要重新设计除法模块,并且占用的逻辑资源较多。采用直接存储232个需要计算的除数的倒数的方式,一般需要消耗O(232)量级的逻辑资源,占用的逻辑资源也比较多。
现有FPGA中实现除法操作时,需要占用较多的逻辑资源,并且由于硬件资源的限制,现有的FPGA实现除法操作的方法,进行除法操作的数值范围有限,例如存储232个需要计算的除数的倒数的方式,只能实现232个数值的除法运算,故如何提供一种资源消耗少,数据范围大的除法计算方法,亟待解决。
发明内容
本发明的目的是提供一种基于FPGA进行除法操作的方法及装置,以减少资源消耗,并扩大进行除法运算的数值计算范围。
本发明的目的是通过以下技术方案实现的:
本发明一方面提供了一种基于FPGA进行除法操作的方法,包括:
获取进行除法操作中作为除数、并以十进制表示的第一数据项;
判断所述第一数据项是否与预设的、包含有设定数据项倒数的存储表中的数据项相同;
若是,则直接调用所述存储表中与所述第一数据项相同的数据项的倒数,作为所述第一数据项的倒数;
若否,则将所述第一数据项转换为二进制并进行移位操作,使得移位操作后对应的十进制数据项能够在所述存储表中查找到对应的第二数据项,调用所述存储表中所述第二数据项的倒数,将所述第二数据项的倒数转换为二进制并进行反向相同位数的移位操作,得到所述第一数据项的倒数;
将所述第一数据项的倒数与进行除法操作中作为被除数的数据项相乘,完成除法操作。
本发明提供的基于FPGA进行除法操作的方法,通过在存储表中存储预设数据项的倒数,无需存储全部的数据项,减少了资源消耗,并且在进行除法操作时,通过判断作为除数的第一数据项是否在预设的存储表中,若是,则直接调用存储表中存储的数据项的倒数,若不是,则采用移位运算方式在存储表中确定第二数据项,通过第二数据项确定作为除数的第一数据项的倒数,扩大了FPGA中进行除法操作的数值范围。
优选的,获取进行除法操作中作为除数的第一数据项之前,该方法还包括:
将2i至2i+1-1之间的整数的倒数作为所述存储表中设定数据项的倒数,存储在所述存储表中,其中i为存储表中确定存储数据项时对应的幂值,i的取值为i=0,1,2,3,…,32,以使存储的数据项尽可能少,并使计算结果唯一。
进一步优选的,所述将2i至2i+1-1之间的整数的倒数作为所述存储表中的设定数据项倒数,存储在所述存储表中,具体包括:
将25至26-1之间的整数的倒数作为所述存储表中设定数据项的倒数,存储在所述存储表中。
本发明中选择25至26-1之间的整数的倒数作为所述存储表中设定数据项的倒数,能够较好的满足存储数据项目少,计算精度高的要求。
具体的,将所述第一数据项转换为二进制并进行移位操作,使得移位操作后对应的十进制数据项能够在所述存储表中查找到对应的第二数据项,具体包括:
将所述第一数据项进行二进制转换,得到二进制表示的第一数据项;
采用公式X=[log2M]-i,确定移位的位数,其中M为第一数据项,X为移位的位数,符号[]表示向下取整;
将二进制表示的第一数据项正向移位X位,将移位后得到的二进制数据项转换为十进制数据项,得到第二数据项。
进一步的,将所述第二数据项的倒数转换为二进制,并进行反向相同位数的移位操作后,该方法还包括:
将所述第二数据项的倒数转换为二进制,并进行反向相同位数的移位操作后得到的数据项,作为第一数据项倒数的基准值;
采用((a[N+1]-a[N])*(M-(N<<X)))>>(X*2)方式进行线性插值,得到第一数据项倒数的校正值,其中a[N]为第二数据项的倒数,a[N+1]为与第二数据项相邻的数据项的倒数,M为第一数据项,(N<<X)为第二数据项反向移位X后得到的数据项,>>(X*2)表示正向移位2X位,X为移位的位数;
将所述基准值与所述校正值的和,作为所述第一数据项的倒数。
本发明中在将所述第二数据项的倒数转换为二进制,并进行反向相同位数的移位操作后,将得到的数据项作为第一数据项倒数的基准值,并采用线性插值的方式获取校正值,进一步提高了计算精度。
本发明另一方面,还提供了一种基于FPGA进行除法操作的装置,包括:
存储单元,用于预先将设定数据项的倒数存储在存储表中;
除数获取单元,用于获取进行除法操作中作为除数、并以十进制表示的第一数据项;
倒数确定单元,用于判断所述第一数据项是否与所述存储单元中预设的、包含有设定数据项倒数的存储表中的数据项相同,若是,则直接调用所述存储表中与所述第一数据项相同的数据项的倒数,作为所述第一数据项的倒数;若否,将所述第一数据项转换为二进制并进行移位操作,使得移位操作后对应的十进制数据项能够在所述存储表中查找到对应的第二数据项,调用所述存储表中所述第二数据项的倒数,将所述第二数据项的倒数转换为二进制并进行反向相同位数的移位操作,得到所述第一数据项的倒数;
运算单元,用于将所述第一数据项的倒数与进行除法操作中作为被除数的数据项相乘,完成除法操作。
本发明提供的基于FPGA进行除法操作的装置,通过在存储表中存储预设数据项的倒数,无需存储全部的数据项,减少了资源消耗,并且在进行除法操作时,通过判断作为除数的第一数据项是否在预设的存储表中,若是,则直接调用存储表中存储的数据项的倒数,若不是,则采用移位运算方式在存储表中确定第二数据项,通过第二数据项确定作为除数的第一数据项的倒数,扩大了FPGA中进行除法操作的数值范围。
优选的,所述存储单元,具体用于:
将2i至2i+1-1之间的整数的倒数作为所述存储表中的设定数据项倒数,存储在所述存储表中,其中i为存储表中确定存储数据项时对应的幂值,i的取值为i=0,1,2,3,…,32,以使存储的数据项尽可能少,并使计算结果唯一。
更为优选的,所述存储单元,具体用于:
将25至26-1之间的整数的倒数作为所述存储表中的设定数据项的倒数,存储在所述存储表中。
本发明中选择25至26-1之间的整数的倒数作为所述存储表中设定数据项的倒数,能够较好的满足存储数据项目少,计算精度高的要求。
具体的,所述倒数确定单元,具体用于:
将所述第一数据项进行二进制转换,得到二进制表示的第一数据项;
采用公式X=[log2M]-i,确定移位的位数,其中M为第一数据项,X为移位的位数,符号[]表示向下取整;
将二进制表示的第一数据项正向移位X位,将移位后得到的二进制数据项转换为十进制数据项,得到第二数据项。
进一步的,所述倒数确定单元,具体用于:
将所述第二数据项的倒数转换为二进制,并进行反向相同位数的移位操作后得到的数据项,作为第一数据项倒数的基准值;
采用((a[N+1]-a[N])*(M-(N<<X)))>>(X*2)方式进行线性插值,得到第一数据项倒数的校正值,其中a[N]为第二数据项的倒数,a[N+1]为与第二数据项相邻的数据项的倒数,M为第一数据项,(N<<X)为第二数据项反向移位X后得到的数据项,>>(X*2)表示正向移位2X位,X为移位的位数;
将所述基准值与所述校正值的和,作为所述第一数据项的倒数。
本发明中在将所述第二数据项的倒数转换为二进制,并进行反向相同位数的移位操作后,将得到的数据项作为第一数据项倒数的基准值,并采用线性插值的方式获取校正值,进一步提高了计算精度。
附图说明
图1为本发明实施例提供的基于FPGA进行除法操作的方法流程图;
图2为本发明实施例中进行除法操作的误差示意图;
图3为本发明实施例提供的基于FPGA进行除法操作的装置构成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种基于FPGA进行除法操作的方法,如图1所示,该方法包括:
S101:获取进行除法操作中作为除数、并以十进制表示的第一数据项。
S102:判断第一数据项是否与预设的、包含有设定数据项倒数的存储表中的数据项相同,若是,则进行S103,若否,则进行S104。
具体的,本发明实施例中,预先设置存储有设定数据项倒数的存储表,该存储表中存储的数据项的范围根据实际所需的计算精度可灵活调整,本发明实施例中为使存储的数据项尽可能少,并使计算结果唯一,将2i至2i+1-1之间的整数的倒数作为存储表中的设定数据项的倒数,存储在存储表中,其中i为存储表中确定存储数据项时对应的幂值,i的取值为i=0,1,2,3,…,32。
进一步的,本发明实施例中表1中列出了可能选择的数据范围,表1中列出了所选数据范围,存储数据项的数目,以及计算误差之间的对应关系,综合考虑存储数据项与计算误差之间的关系,本发明实施例中优选将25至26-1(32到63)之间的整数的倒数作为存储表中的设定数据项的倒数,存储在存储表中,当然本发明实施例并不做限定,若需要更高的计算精度,则可以使用(64到127)或者(128到255)之间的整数的倒数作为存储表中设定数据项的倒数。
数据范围 最大误差 存储数据项的数目
2到3 0.5 2
4到7 0.046 4
8到15 0.013 8
16到31 3.3e-003 16
32到63 8.5e-004 32
64到127 2.2e-004 64
128到255 5.5e-005 128
表1
S103:调用存储表中与第一数据项相同的数据项的倒数,作为第一数据项的倒数。
S104:将第一数据项进行移位运算,得到能够在存储表中查找到的第二数据项,根据第二数据项确定第一数据项的倒数。
具体的,本发明实施例中将第一数据项转换为二进制并进行移位操作,使得移位操作后对应的十进制数据项能够在存储表中查找到对应的第二数据项,调用存储表中第二数据项的倒数,将第二数据项的倒数转换为二进制,并进行反向相同位数的移位操作,得到第一数据项的倒数。
优选的,本发明实施例中将第一数据项转换为二进制并进行移位操作,使得移位操作后对应的十进制数据项能够在存储表中查找到对应的第二数据项,可采用如下方式:
A、将第一数据项进行二进制转换,得到二进制表示的第一数据项;
B、采用公式X=[log2M]-i,确定移位的位数,其中M为第一数据项,X为移位的位数,符号[]表示向下取整,i与S102中确定存储表中存储数据项时对应i的取值相同;
C、将二进制表示的第一数据项正向移位X位,得到第二数据项。
本发明实施例中正向移位是指由第一数据项得到第二数据项的移位方向,该移位方向根据B中确定的X的正负有关,当X为正数时,表示向右移动,当X为负数时,表示向左移动。
本发明实施例中得到第二数据项后,可在存储表中查找该第二数据项的倒数,将该第二数据项的倒数转换为二进制后反向移位X位,即可得到二进制表示的第一数据项的倒数,再进行十进制转换,即可得到第一数据项的倒数。
本发明实施例中反向移位是指由第二数据项得到第一数据项时的移位方向。
进一步的,图2所示为本发明实施例中用直线拟合的除法操作的计算误差图,由图2可知,当除数n较小时,直线拟合的误差较大,随着除数n的增大,误差会不断下降,故本发明实施例中为了进一步提高计算精度,可在得到第二数据项的倒数之后,进一步采用存储表中相邻数据项的倒数,对第二数据项倒数中的小数部分进行线性插值,得到第一数据项倒数的校正值,将存储表中存储的第二数据项的倒数转换为二进制,并进行反向相同位数的移位操作后得到的数据项,作为第一数据项倒数的基准值,最终将校正值与基准值的和作为最终的第一数据项的倒数。
具体的,本发明实施例中进行线性插值得到第一数据项校正值的过程,可采用((a[N+1]-a[N])*(M-(N<<X)))>>(X*2)方式进行线性插值,得到第一数据项倒数的校正值,其中a[N]为第二数据项的倒数,a[N+1]为与第二数据项相邻的数据项的倒数,M为第一数据项,(N<<X)为第二数据项反向移位X后得到的数据项,>>(X*2)表示正向移位2X位,X为移位的位数。
S105:将第一数据项的倒数与进行除法操作中作为被除数的数据项相乘,完成除法操作。
本发明实施例中以下结合具体的应用对上述确定除数倒数的方式,进行详细说明。
本发明实施例设定存储表中存储的设定数据项为25至26-1之间的整数的倒数,则此时i=5。
例如,作为除数的第一数据项M=6000时,则6000进行二进制转换后得到的二进制表示的第一数据项M为1011101110000,此时按照X=[log2M]-i,确定移位的位数,可得X=7,将1011101110000向右移位7位,得到二进制表示的第二数据项101110,转换为十进制,则N=46。
此时,将存储表中查找到的46对应的倒数a[46]转换为二进制并进行反向相同位数的移位,得到基准值,可以表示为:基准值=a[46]<<7=1.6984e-004
利用公式((a[N+1]-a[N])*(M-(N<<X)))>>(X*2)方式进行线性插值,得到的校正值可表示为:校正值=((a[47]-a[46])*112)>>14=-3.1621e-006
f(1/6000)=基准值+校正值=1.66675e-004(32位精度)
而1/6000=1.6667e-004,故误差=8.1764e-009(32位精度误差为10-9)。
另一个实施例中,作为除数的第一数据项M=3时,则3进行二进制转换后得到的二进制表示的第一数据项M为00000011,此时按照X=[log2M]-i,确定移位的位数,可得X=-4,将00000011向左移位4位,得到二进制表示的第二数据项00110000,转换为十进制,则N=48。
此时,基准值=a[48]<<(-4)=0.3333333321
校正值=((a[49]-a[48])*0)>>(-8)=0
f(1/3)=基准值+校正值=0.3333333321(32位精度)
而1/3=0.3333,故误差=1.2418e-009(32位精度下误差为10-9)。
本发明实施例提供的基于FPGA进行除法操作的方法,通过在存储表中存储预设数据项的倒数,无需存储全部的数据项,减少了资源消耗,并且在进行除法操作时,通过判断作为除数的第一数据项是否在预设的存储表中,若是,则直接调用存储表中存储的数据项的倒数,若不是,则采用移位运算方式在存储表中确定第二数据项,通过第二数据项确定作为除数的第一数据项的倒数,扩大了FPGA中进行除法操作的数值范围。
本发明实施例另一方面还提供了一种基于FPGA进行除法操作的装置,如图3所示,该装置包括存储单元1,除数获取单元2,倒数确定单元3和运算单元4,其中,
存储单元1,用于预先将设定数据项的倒数存储在存储表中。
除数获取单元2,用于获取进行除法操作中作为除数的第一数据项。
倒数确定单元3,用于判断第一数据项是否与存储单元1中预设的、包含有设定数据项倒数的存储表中的数据项相同,若是,则直接调用存储表中与所述第一数据项相同的数据项的倒数,得到第一数据项的倒数;若否,则将第一数据项进行移位运算,得到能够在存储表中查找到的第二数据项,并根据第二数据项确定第一数据项的倒数。
运算单元4,用于将。第一数据项的倒数与进行除法操作中作为被除数的数据项相乘,完成除法操作。
其中,存储单元1,具体用于:
将2i至2i+1-1之间的整数的倒数作为所述存储表中的设定数据项倒数,存储在所述存储表中,其中i为存储表中确定存储数据项时对应的幂值,i的取值为i=0,1,2,3,…,32。
优选的,存储单元1,具体用于:
将25至26-1之间的整数的倒数作为所述存储表中的设定数据项的倒数,存储在所述存储表中。
进一步的,倒数确定单元3,具体用于:
将所述第一数据项进行二进制转换,得到二进制表示的第一数据项;
采用公式X=[log2M]-i,确定移位的位数,其中M为第一数据项,X为移位的位数,符号[]表示向下取整;
将二进制表示的第一数据项正向移位X位,得到第二数据项。
进一步的,倒数确定单元3,具体用于:
将存储表中存储的第二数据项的倒数反向移位X位,得到第一数据项倒数的基准值;
采用((a[N+1]-a[N])*(M-(N<<X)))>>(X*2)方式进行线性插值,得到第一数据项倒数的校正值,其中a[N]为第二数据项的倒数,a[N+1]为与第二数据项相邻的数据项的倒数,M为第一数据项,(N<<X)为第二数据项反向移位X后得到的数据项,>>(X*2)表示正向移位2X位,X为移位的位数;
将基准值与所述校正值的和,作为第一数据项的倒数。
本发明实施例提供的基于FPGA进行除法操作的装置,通过在存储表中存储预设数据项的倒数,无需存储全部的数据项,减少了资源消耗,并且在进行除法操作时,通过判断作为除数的第一数据项是否在预设的存储表中,若是,则直接调用存储表中存储的数据项的倒数,若不是,则采用移位运算方式在存储表中确定第二数据项,通过第二数据项确定作为除数的第一数据项的倒数,扩大了FPGA中进行除法操作的数值范围。
本发明实施例中上述基于FPGA进行除法操作的装置,可以是独立的部件,也可以是集成于其他部件中。
需要说明的是,本发明实施例中基于FPGA进行除法操作的装置中各个模块/单元的功能实现以及交互方式可以进一步参照相关方法实施例的描述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种基于FPGA进行除法操作的方法,其特征在于,包括:
获取进行除法操作中作为除数、并以十进制表示的第一数据项;
判断所述第一数据项是否与预设的、包含有设定数据项倒数的存储表中的数据项相同;
若是,则直接调用所述存储表中与所述第一数据项相同的数据项的倒数,作为所述第一数据项的倒数;
若否,则将所述第一数据项转换为二进制并进行移位操作,使得移位操作后对应的十进制数据项能够在所述存储表中查找到对应的第二数据项,调用所述存储表中所述第二数据项的倒数,将所述第二数据项的倒数转换为二进制并进行反向相同位数的移位操作后得到的数据项,作为第一数据项的倒数的基准值;
采用((a[N+1]-a[N])*(M-(N<<X)))>>(X*2)方式进行线性插值,得到第一数据项倒数的校正值,其中a[N]为第二数据项的倒数,a[N+1]为与第二数据项相邻的数据项的倒数,M为第一数据项,(N<<X)为第二数据项反向移位X后得到的数据项,>>(X*2)表示正向移位2X位,X为移位的位数;
将所述基准值与所述校正值的和,作为所述第一数据项的倒数;
将所述第一数据项的倒数与进行除法操作中作为被除数的数据项相乘,完成除法操作。
2.如权利要求1所述的方法,其特征在于,获取进行除法操作中作为除数的第一数据项之前,该方法还包括:
将2i至2i+1-1之间的整数的倒数作为所述存储表中设定数据项的倒数,存储在所述存储表中,其中i为存储表中确定存储数据项时对应的幂值,i的取值为i=0,1,2,3,…,32。
3.如权利要求2所述的方法,其特征在于,所述将2i至2i+1-1之间的整数的倒数作为所述存储表中的设定数据项倒数,存储在所述存储表中,具体包括:
将25至26-1之间的整数的倒数作为所述存储表中设定数据项的倒数,存储在所述存储表中。
4.如权利要求2所述的方法,其特征在于,将所述第一数据项转换为二进制并进行移位操作,使得移位操作后对应的十进制数据项能够在所述存储表中查找到对应的第二数据项,具体包括:
将所述第一数据项进行二进制转换,得到二进制表示的第一数据项;
采用公式X=[log2M]-i,确定移位的位数,其中M为第一数据项,X为移位的位数,符号[]表示向下取整;
将二进制表示的第一数据项正向移位X位,将移位后得到的二进制数据项转换为十进制数据项,得到第二数据项。
5.一种基于FPGA进行除法操作的装置,其特征在于,包括:
存储单元,用于预先将设定数据项的倒数存储在存储表中;
除数获取单元,用于获取进行除法操作中作为除数、并以十进制表示的第一数据项;
倒数确定单元,用于判断所述第一数据项是否与所述存储单元中预设的、包含有设定数据项倒数的存储表中的数据项相同,若是,则直接调用所述存储表中与所述第一数据项相同的数据项的倒数,作为所述第一数据项的倒数;若否,将所述第一数据项转换为二进制并进行移位操作,使得移位操作后对应的十进制数据项能够在所述存储表中查找到对应的第二数据项,调用所述存储表中所述第二数据项的倒数,将所述第二数据项的倒数转换为二进制并进行反向相同位数的移位操作后得到的数据项,作为第一数据项的倒数的基准值;采用((a[N+1]-a[N])*(M-(N<<X)))>>(X*2)方式进行线性插值,得到第一数据项倒数的校正值,其中a[N]为第二数据项的倒数,a[N+1]为与第二数据项相邻的数据项的倒数,M为第一数据项,(N<<X)为第二数据项反向移位X后得到的数据项,>>(X*2)表示正向移位2X位,X为移位的位数;将所述基准值与所述校正值的和,作为所述第一数据项的倒数;
运算单元,用于将所述第一数据项的倒数与进行除法操作中作为被除数的数据项相乘,完成除法操作。
6.如权利要求5所述的装置,其特征在于,所述存储单元,具体用于:
将2i至2i+1-1之间的整数的倒数作为所述存储表中的设定数据项倒数,存储在所述存储表中,其中i为存储表中确定存储数据项时对应的幂值,i的取值为i=0,1,2,3,…,32。
7.如权利要求6所述的装置,其特征在于,所述存储单元,具体用于:
将25至26-1之间的整数的倒数作为所述存储表中的设定数据项的倒数,存储在所述存储表中。
8.如权利要求6所述的装置,其特征在于,所述倒数确定单元,具体用于:
将所述第一数据项进行二进制转换,得到二进制表示的第一数据项;
采用公式X=[log2M]-i,确定移位的位数,其中M为第一数据项,X为移位的位数,符号[]表示向下取整;
将二进制表示的第一数据项正向移位X位,将移位后得到的二进制数据项转换为十进制数据项,得到第二数据项。
CN201310719231.3A 2013-12-23 2013-12-23 基于fpga进行除法操作的方法及装置 Active CN104731551B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310719231.3A CN104731551B (zh) 2013-12-23 2013-12-23 基于fpga进行除法操作的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310719231.3A CN104731551B (zh) 2013-12-23 2013-12-23 基于fpga进行除法操作的方法及装置

Publications (2)

Publication Number Publication Date
CN104731551A CN104731551A (zh) 2015-06-24
CN104731551B true CN104731551B (zh) 2018-02-16

Family

ID=53455482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310719231.3A Active CN104731551B (zh) 2013-12-23 2013-12-23 基于fpga进行除法操作的方法及装置

Country Status (1)

Country Link
CN (1) CN104731551B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10241757B2 (en) * 2016-09-30 2019-03-26 International Business Machines Corporation Decimal shift and divide instruction
CN107948573B (zh) * 2017-11-22 2020-11-03 深圳市华星光电技术有限公司 一种数字信号线性内插值方法及装置
CN108459839A (zh) * 2018-02-06 2018-08-28 芯颖科技有限公司 一种除法运算方法及除法器电路

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1539102A (zh) * 2001-08-07 2004-10-20 ��˹��ŵ�� 执行除法的方法和装置
CN1761938A (zh) * 2003-03-21 2006-04-19 英特尔公司 超高基数除法
CN1979411A (zh) * 2005-11-30 2007-06-13 北京中电华大电子设计有限责任公司 一种高速除法器的实现方法与装置
CN101645001A (zh) * 2009-09-07 2010-02-10 中国电子科技集团公司第十四研究所 基于可编程逻辑器件的二进制移位除法的处理过程
EP2280340A1 (en) * 2009-07-21 2011-02-02 Fujitsu Limited Processor, control method of processor, and computer readable storage medium storing processing program
CN102510365A (zh) * 2011-11-23 2012-06-20 中国科学院微电子研究所 一种基于压缩编码的频域均衡装置及方法
CN103135960A (zh) * 2013-02-28 2013-06-05 浪潮集团有限公司 一种基于fpga的集成浮点运算器的设计方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1539102A (zh) * 2001-08-07 2004-10-20 ��˹��ŵ�� 执行除法的方法和装置
CN1761938A (zh) * 2003-03-21 2006-04-19 英特尔公司 超高基数除法
CN1979411A (zh) * 2005-11-30 2007-06-13 北京中电华大电子设计有限责任公司 一种高速除法器的实现方法与装置
EP2280340A1 (en) * 2009-07-21 2011-02-02 Fujitsu Limited Processor, control method of processor, and computer readable storage medium storing processing program
CN101645001A (zh) * 2009-09-07 2010-02-10 中国电子科技集团公司第十四研究所 基于可编程逻辑器件的二进制移位除法的处理过程
CN102510365A (zh) * 2011-11-23 2012-06-20 中国科学院微电子研究所 一种基于压缩编码的频域均衡装置及方法
CN103135960A (zh) * 2013-02-28 2013-06-05 浪潮集团有限公司 一种基于fpga的集成浮点运算器的设计方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
在FPGA中实现高精度快速除法;王飞;《单片机与嵌入式系统应用》;20030201(第2期);第436-438页 *
基于FPGA的32位除法器设计;周殿凤 等;《信息化研究》;20100320;第36卷(第3期);第26-28页 *
基于FPGA的除法器设计;姚茂群 等;《杭州师范大学学报(自然科学版)》;20101115;第9卷(第6期);第478-480页 *
基于FPGA的除法器设计;罗瑜 等;《计算机与数字工程》;20120520;第40卷(第5期);第130-132页摘要,第2小节,表1,图4-5 *

Also Published As

Publication number Publication date
CN104731551A (zh) 2015-06-24

Similar Documents

Publication Publication Date Title
CN105955706B (zh) 一种除法器及除法运算方法
CN101201644B (zh) 指数处理方法与系统
CN102629189B (zh) 基于fpga的流水浮点乘累加方法
CN102681815B (zh) 用加法器树状结构的有符号乘累加算法的方法
CN103294446B (zh) 一种定点乘累加器
CN107305484B (zh) 一种非线性函数运算装置及方法
CN104679719B (zh) 一种基于fpga的浮点运算方法
CN104731551B (zh) 基于fpga进行除法操作的方法及装置
CN104679720A (zh) 一种实现fft的运算方法
CN110515584A (zh) 浮点计算方法及系统
CN106681690A (zh) 基于蒙哥马利模乘的数据处理方法、模乘运算方法及装置
CN107992284A (zh) 一种可编程器件的除法功能实现方法
CN104375800A (zh) 一种嵌入式系统的浮点除法运算方法、系统和嵌入式系统
CN104679721B (zh) 一种fft处理器的运算方法
CN106681691A (zh) 基于蒙哥马利模乘的数据处理方法、模乘运算方法和装置
CN103593159A (zh) 一种高效率高精度除法实现方法及装置
CN102566963A (zh) 一种fpga进行数据处理的方法
CN109992242B (zh) 基于乘法器的运算方法及装置
CN105302520A (zh) 一种倒数运算的求解方法及系统
CN107015783A (zh) 一种浮点角度压缩实现方法及装置
CN109960532A (zh) 用于前台运行的方法及装置
US20210064340A1 (en) Arithmetic circuit
CN108874367B (zh) 一种基于乘方运算的复合有限域求逆器及其求逆方法
CN100458452C (zh) 一种电能计量芯片中的数频转换电路
CN102929575A (zh) 一种模乘法器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant