CN108459839A - 一种除法运算方法及除法器电路 - Google Patents
一种除法运算方法及除法器电路 Download PDFInfo
- Publication number
- CN108459839A CN108459839A CN201810116406.4A CN201810116406A CN108459839A CN 108459839 A CN108459839 A CN 108459839A CN 201810116406 A CN201810116406 A CN 201810116406A CN 108459839 A CN108459839 A CN 108459839A
- Authority
- CN
- China
- Prior art keywords
- circuit
- displacement
- value
- obtains
- divisor
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/487—Multiplying; Dividing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Nonlinear Science (AREA)
- General Engineering & Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明实施例提供的一种除法运算方法及除法器电路,属于数字电路技术领域。除法运算方法包括:除法器电路中的求幂运算电路获取除数,并获取除数所对应的有效位宽;除法器电路中的位移运算电路从求幂运算电路获取有效位宽所对应的位移比特数,并基于位移比特数获取除数位移后的目标操作数;除法器电路中的查表运算电路从位移运算电路中获取目标操作数,并查找目标操作数所对应的第一位移值与第二位移值;除法器电路中的第一减法运算电路从查表运算电路中获取第一位移值和第二位移值,基于第一位移值与第二位移值获取除数所对应的位移误差值;除法器电路中的输出电路从第一减法运算电路中获取位移误差值,并根据位移误差值获取除数所对应的倒数。
Description
技术领域
本发明涉及数字电路技术领域,具体而言,涉及一种除法运算方法及除法器电路。
背景技术
在数字电路设计中要实现任意除数的除法运算是比较复杂的,常用的方法可分为两类。一种是基于减法运算来实现除法运算,将除数当做减数,这种方法需要多次迭代操作,在硬件实现时运算周期长。一种是基于乘法运算来实现除法运算,将除数取倒数再量化到2n当做乘数,然而这种方法在硬件实现时资源开销大,在实际设计中对于位宽较大的除数该方法变得不可使用。因此,现有技术中存在运算周期长、准确度低的技术问题。
发明内容
本发明的目的在于提供一种除法运算方法及除法器电路,其能够改善上述技术问题。
本发明的实施例是这样实现的:
一种除法运算方法,应用于除法器电路,所述方法包括:所述除法器电路中的求幂运算电路获取除数,并获取所述除数所对应的有效位宽;所述除法器电路中的位移运算电路从所述求幂运算电路获取所述有效位宽所对应的位移比特数,并基于所述位移比特数获取所述除数位移后的目标操作数;所述除法器电路中的查表运算电路从所述位移运算电路中获取所述目标操作数,并查找所述目标操作数所对应的第一位移值与第二位移值;所述除法器电路中的第一减法运算电路从所述查表运算电路中获取所述第一位移值和所述第二位移值,并基于所述第一位移值与所述第二位移值获取所述除数所对应的位移误差值;所述除法器电路中的输出电路从所述第一减法运算电路中获取所述位移误差值,并根据所述位移误差值获取所述除数所对应的倒数。
可选地,所述除法器电路中的位移运算电路从所述求幂运算电路获取所述有效位宽所对应的位移比特数,并基于所述位移比特数获取所述除数位移后的目标操作数,包括:所述除法器电路中的位移运算电路从所述求幂运算电路获取所述有效位宽;所述位移运算电路获取预设比对数值;所述位移运算电路判断所述有效位宽是否大于所述比对数值;若是,所述位移运算电路获取所述有效位宽与所述比对数值的第一差值,将所述第一差值作为所述位移比特数,并获取所述有效位宽所对应的位移标记所对应的数值,以及基于所述位移比特数获取所述除数位移后的目标操作数;若否,所述位移运算电路获取所述比对数值与所述有效位宽的第二差值,将所述第二差值作为所述位移比特数,并获取所述有效位宽所对应的位移标记所对应的数值,以及基于所述位移比特数获取所述除数位移后的目标操作数。
可选地,所述有效位宽满足:m=log2Z,其中,所述m表示所述有效位宽,所述Z表示所述除数。
可选地,所述除法器电路中的查表运算电路从所述位移运算电路中获取所述目标操作数,并查找所述目标操作数所对应的第一位移值与第二位移值,包括:所述除法器电路中的查表运算电路从所述位移运算电路中获取所述目标操作数,并查找所述目标操作数所对应的第一倒数,将所述第一倒数作为第一位移值;以及所述查表运算电路查找所述目标操作数与预设固定值之和所对应的第二倒数,将所述第二倒数作为第二位移值。
可选地,所述除法器电路中的第一减法运算电路包括第一减法运算子电路和第二减法运算子电路,所述除法器电路中的第一减法运算电路从所述查表运算电路中获取所述第一位移值和所述第二位移值,并基于所述第一位移值与所述第二位移值获取所述除数所对应的位移误差值,包括:所述第一减法运算子电路从所述查表运算电路中获取所述第一位移值和所述第二位移值,并获取所述第一位移值与所述第二位移值的第一位移差值;所述第二减法运算子电路从所述求幂运算电路获取所述除数,并获取所述除数与所述目标操作数的第二位移差值;将所述第一位移差值与所述第二位移差值作为所述位移误差值。
可选地,所述第一位移差值满足:其中,所述delta表示所述第一位移差值,所述表示所述第一位移值,所述表示所述第二位移值。
可选地,所述第二位移差值满足:dev=z-z'×2n,所述dev表示所述第二位移差值,所述z表示所述除数,所述z'表示所述目标操作数,所述n为所述位移比特数。
可选地,所述除法器电路中的输出电路包括第一乘法运算电路、第二减法运算电路和第二乘法运算电路,所述除法器电路中的输出电路从所述第一减法运算电路中获取所述位移误差值,并根据所述位移误差值获取所述除数所对应的倒数,包括:所述第一乘法运算电路从所述第一减法运算电路中获取所述位移误差值,并根据所述位移误差值获取线性逼近误差;所述第二减法运算电路从所述第一乘法运算电路获取所述第一位移值,并获取所述第一位移值与所述线性逼近误差的目标差值;所述第二乘法运算电路从所述第二减法运算电路获取所述目标差值,并基于所述目标差值与所述位移比特数,生成所述倒数。
一种除法器电路,其包括:求幂运算电路、位移运算电路、查表运算电路、第一减法运算电路和输出电路;所述求幂运算电路用于获取除数以及获取所述除数所对应的有效位宽;所述位移运算电路用于从所述求幂运算电路获取所述有效位宽所对应的位移比特数,并基于所述位移比特数获取所述除数位移后的目标操作数;所述查表运算电路用于从所述位移运算电路中获取所述目标操作数,并查找所述目标操作数所对应的第一位移值与第二位移值;所述第一减法运算电路用于从所述查表运算电路中获取所述第一位移值和所述第二位移值,并基于所述第一位移值与所述第二位移值获取所述除数所对应的位移误差值;所述输出电路用于从所述第一减法运算电路中获取所述位移误差值,并根据所述位移误差值获取所述除数所对应的倒数。
可选地,所述位移运算电路具体用于:从所述求幂运算电路获取所述有效位宽;及获取预设比对数值;及判断所述有效位宽是否大于所述比对数值;以及若是,所述位移运算电路用于获取所述有效位宽与所述比对数值的第一差值,将所述第一差值作为所述位移比特数,并获取所述有效位宽所对应的位移标记所对应的数值,以及用于基于所述位移比特数获取所述除数位移后的目标操作数;以及若否,所述位移运算电路还用于获取所述比对数值与所述有效位宽的第二差值,将所述第二差值作为所述位移比特数,并获取所述有效位宽所对应的位移标记所对应的数值,以及用于基于所述位移比特数获取所述除数位移后的目标操作数。
本发明实施例的有益效果是:本发明实施例提供了一种除法运算方法及除法器电路,先通过所述除法器电路中的求幂运算电路获取除数,并获取所述除数所对应的有效位宽;再通过所述除法器电路中的位移运算电路从所述求幂运算电路获取所述有效位宽所对应的位移比特数,并基于所述位移比特数获取所述除数位移后的目标操作数;以及通过所述除法器电路中的查表运算电路从所述位移运算电路中获取所述目标操作数,并查找所述目标操作数所对应的第一位移值与第二位移值;然后通过所述除法器电路中的第一减法运算电路从所述查表运算电路中获取所述第一位移值和所述第二位移值,并基于所述第一位移值与所述第二位移值获取所述除数所对应的位移误差值;最后通过所述除法器电路中的输出电路从所述第一减法运算电路中获取所述位移误差值,并根据所述位移误差值获取所述除数所对应的倒数。从而有效解决了现有技术中除法电路硬件实现时运算周期长,资源开销大,且精度低的技术问题,实现了进行除法运算时运算周期短,资源开销小,且精度高的技术效果。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明第一实施例提供的除法运算方法的流程图;
图2为本发明第二实施例提供的除法器电路的功能模块示意图;
图3为图2所示的除法器电路中的硬件实施示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,是本发明第一实施例提供的除法运算方法的流程图。所述除法运算方法应用于除法器电路,下面将对图1所示的具体流程进行详细阐述。
步骤S101,所述除法器电路中的求幂运算电路获取除数,并获取所述除数所对应的有效位宽。
作为一种实施方式,求幂运算电路通过获取除法器电路输入的除数,并对所述除数进行求幂运算,以获取所述除数所对应的有效位宽。例如,当除数为z时,所述求幂运算电路对所述z按照预设规则进行求幂运算,如,对所述除数z对2求幂运算,优选地,所述有效位宽为做所述除数z对2求幂运算后向下取整的结果,如,所述有效位宽为m,则所述m=log2Z。例如,当除数z为1023时,运算得到m值为9;除数z为32时,运算得到m值为5;除数z为31时,运算得到m值为4。在此,不作具体限定。
步骤S102,所述除法器电路中的位移运算电路从所述求幂运算电路获取所述有效位宽所对应的位移比特数,并基于所述位移比特数获取所述除数位移后的目标操作数。
作为一种实施方式,所述除法器电路中的位移运算电路从所述求幂运算电路获取所述有效位宽;所述位移运算电路获取预设比对数值;所述位移运算电路判断所述有效位宽是否大于所述比对数值;若是,所述位移运算电路获取所述有效位宽与所述比对数值的第一差值,将所述第一差值作为所述位移比特数,并获取所述有效位宽所对应的位移标记所对应的数值,以及基于所述位移比特数获取所述除数位移后的目标操作数;若否,所述位移运算电路获取所述比对数值与所述有效位宽的第二差值,将所述第二差值作为所述位移比特数,并获取所述有效位宽所对应的位移标记所对应的数值,以及基于所述位移比特数获取所述除数位移后的目标操作数。
其中,所述预设比对数值为预设设置的,所述预设比对数值可以是5,也可以是大于5的任意常数,也可以是小于5且大于0的任意整数。在此,不作具体限定。
例如,当所述位移比特数为n,所述有效位宽为m,所述位移标记用flag表示,所述除数为z,所述预设比对数值为5时,通过步骤S101可以计算得到m大于5时,n等于m减去5以后得到的值,同时将所述位移标记flag置为0,表示将除数z右移n位。即
m>5,n=m-5,且flag=0;
当步骤S101计算得到的有效位宽不大于5时,n等于5减去m后得到的值,同时将标志flag置为1,表示将除数z左移n位。即
m≤5,n=5-m,且flag=1。
例如,当除数z为1023时,运算得到n值为4,flag值为0;又如,当除数z为32时,运算得到n值为0,flag值为1;又如,当除数z为31时,运算得到n值为1,flag值为1。在此,不再一一举例说明。
步骤S103,所述除法器电路中的查表运算电路从所述位移运算电路中获取所述目标操作数,并查找所述目标操作数所对应的第一位移值与第二位移值。
作为一种实施方式,所述除法器电路中的查表运算电路从所述位移运算电路中获取所述目标操作数,并查找所述目标操作数所对应的第一倒数,将所述第一倒数作为第一位移值;以及所述查表运算电路查找所述目标操作数与预设固定值之和所对应的第二倒数,将所述第二倒数作为第二位移值。
例如,根据步骤S103中所计算得到的所述位移标记flag对所述除数z进行左移所述位移比特数n位或者右移所述位移比特数n位运算,运算得到所述目标操作数z`。
其中,当所述位移标记flag为0时,对所述除数z进行左移所述位移比特数n运算,即
z′=z<<n;
当所述位移标记flag为1时,对所述除数z进行右移所述位移比特数n运算,即
z′=z>>n;
并查找所述目标操作数所对应的第一倒数,即将所述第一倒数作为第一位移值;以及所述查表运算电路查找所述目标操作数与预设固定值之和所对应的第二倒数,将所述第二倒数作为第二位移值。其中,优选地,所述预设固定值为1,则所述第二倒数为例如,所述预设数据表可以是如表1所示,其中,所述表1中的变量i表示所述z′,即表示所述目标操作数:
表1
则,当除数z为1023时,所述查表运算电路查找表1得到和的值分别为16644、16384;除数z为32时,所述查表运算电路查找表1得到和的值分别为32768、31775。在此,不再一一举例说明。
步骤S104,所述除法器电路中的第一减法运算电路从所述查表运算电路中获取所述第一位移值和所述第二位移值,并基于所述第一位移值与所述第二位移值获取所述除数所对应的位移误差值。
作为一种实施方式,所述除法器电路中的第一减法运算电路包括第一减法运算子电路和第二减法运算子电路;所述第一减法运算子电路从所述查表运算电路中获取所述第一位移值和所述第二位移值,并获取所述第一位移值与所述第二位移值的第一位移差值;所述第二减法运算子电路从所述求幂运算电路获取所述除数,并获取所述除数与所述目标操作数的第二位移差值;将所述第一位移差值与所述第二位移差值作为所述位移误差值。
其中,所述第一位移差值满足:其中,所述delta表示所述第一位移差值,所述表示所述第一位移值,所述表示所述第二位移值。
其中,所述第二位移差值满足:dev=z-z'×2n,所述dev表示所述第二位移差值,所述z表示所述除数,所述z'表示所述目标操作数,所述n为所述位移比特数。
步骤S105,所述除法器电路中的输出电路从所述第一减法运算电路中获取所述位移误差值,并根据所述位移误差值获取所述除数所对应的倒数。
作为一种实施方式,所述除法器电路中的输出电路包括第一乘法运算电路、第二减法运算电路和第二乘法运算电路。所述第一乘法运算电路从所述第一减法运算电路中获取所述位移误差值,并根据所述位移误差值获取线性逼近误差;所述第二减法运算电路从所述第一乘法运算电路获取所述第一位移值,并获取所述第一位移值与所述线性逼近误差的目标差值,其中,所述第一位移值为所述查表运算电路所输出的第一位移值;所述第二乘法运算电路从所述第二减法运算电路获取所述目标差值,并基于所述目标差值与所述位移比特数,生成所述倒数。
其中,所述线性逼近误差满足:。所述delta_z表示所述线性逼近误差,所述delta表示所述第一位移差值,所述dev表示所述第二位移差值。
其中,所述目标差值满足:即所述目标差值为所述除数的倒数。例如,当除数z是255时,利用上述算法可得如下:
通过上述表达,可以知道当除数z小于32或者大于64时,计算精确度在10-6,当除数处于32和64之间时,计算无误差。
第二实施例
请参阅图2至图3,所述除法器电路400包括求幂运算电路410、位移运算电路420、查表运算电路430、第一减法运算电路440和输出电路450。
所述求幂运算电路410用于获取除数以及获取所述除数所对应的有效位宽。
其中,所述有效位宽满足:m=log2Z,其中,所述m表示所述有效位宽,所述Z表示所述除数。
所述位移运算电路420用于从所述求幂运算电路410中获取所述有效位宽所对应的位移比特数,并基于所述位移比特数获取所述除数位移后的目标操作数。
其中,所述位移运算电路420具体用于:从所述求幂运算电路410获取所述有效位宽;及获取预设比对数值;及判断所述有效位宽是否大于所述比对数值;以及若是,所述位移运算电路420用于获取所述有效位宽与所述比对数值的第一差值,将所述第一差值作为所述位移比特数,并获取所述有效位宽所对应的位移标记所对应的数值,以及用于基于所述位移比特数获取所述除数位移后的目标操作数;以及若否,所述位移运算电路420还用于获取所述比对数值与所述有效位宽的第二差值,将所述第二差值作为所述位移比特数,并获取所述有效位宽所对应的位移标记所对应的数值,以及用于基于所述位移比特数获取所述除数位移后的目标操作数。
所述查表运算电路430用于从所述位移运算电路420中获取所述目标操作数,并查找所述目标操作数所对应的第一位移值与第二位移值。
其中,所述查表运算电路430具体用于从所述位移运算电路420中获取所述目标操作数,并查找所述目标操作数所对应的第一倒数,将所述第一倒数作为第一位移值;以及用于查找所述目标操作数与预设固定值之和所对应的第二倒数,将所述第二倒数作为第二位移值。
所述第一减法运算电路440用于从所述查表运算电路430中获取所述第一位移值和所述第二位移值,并基于所述第一位移值与所述第二位移值获取所述除数所对应的位移误差值。
其中,所述第一减法运算电路440包括第一减法运算子电路441和第二减法运算子电路442。
所述第一减法运算子电路441用于从所述查表运算电路430中获取所述第一位移值和所述第二位移值,并获取所述第一位移值与所述第二位移值的第一位移差值。其中,所述第一位移差值满足:其中,所述delta表示所述第一位移差值,所述表示所述第一位移值,所述表示所述第二位移值。
所述第二减法运算子电路442用于从所述求幂运算电路410获取所述除数,并获取所述除数与所述目标操作数的第二位移差值;将所述第一位移差值与所述第二位移差值作为所述位移误差值。其中,所述第二位移差值满足:dev=z-z'×2n,所述dev表示所述第二位移差值,所述z表示所述除数,所述z'表示所述目标操作数,所述n为所述位移比特数。
所述输出电路450用于从所述第一减法运算电路440中获取所述位移误差值,并根据所述位移误差值获取所述除数所对应的倒数。
其中,所述输出电路450包括第一乘法运算电路451、第二减法运算电路452和第二乘法运算电路453。
所述第一乘法运算电路451从所述第一减法运算电路440中获取所述位移误差值,并根据所述位移误差值获取线性逼近误差。
所述第二减法运算电路452从所述第一乘法运算电路451获取所述第一位移值,并获取所述第一位移值与所述线性逼近误差的目标差值。
所述第二乘法运算电路453从所述第二减法运算电路452获取所述目标差值,并基于所述目标差值与所述位移比特数,生成所述倒数。
综上所述,本发明提供了一种除法运算方法及除法器电路,先通过所述除法器电路中的求幂运算电路获取除数,并获取所述除数所对应的有效位宽;再通过所述除法器电路中的位移运算电路从所述求幂运算电路获取所述有效位宽所对应的位移比特数,并基于所述位移比特数获取所述除数位移后的目标操作数;以及通过所述除法器电路中的查表运算电路从所述位移运算电路中获取所述目标操作数,并查找所述目标操作数所对应的第一位移值与第二位移值;然后通过所述除法器电路中的第一减法运算电路从所述查表运算电路中获取所述第一位移值和所述第二位移值,并基于所述第一位移值与所述第二位移值获取所述除数所对应的位移误差值;最后通过所述除法器电路中的输出电路从所述第一减法运算电路中获取所述位移误差值,并根据所述位移误差值获取所述除数所对应的倒数。从而有效解决了现有技术中除法电路硬件实现时运算周期长,资源开销大,且精度低的技术问题,实现了进行除法运算时运算周期短,资源开销小,且精度高的技术效果。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种除法运算方法,应用于除法器电路,其特征在于,所述方法包括:
所述除法器电路中的求幂运算电路获取除数,并获取所述除数所对应的有效位宽;
所述除法器电路中的位移运算电路从所述求幂运算电路获取所述有效位宽所对应的位移比特数,并基于所述位移比特数获取所述除数位移后的目标操作数;
所述除法器电路中的查表运算电路从所述位移运算电路中获取所述目标操作数,并查找所述目标操作数所对应的第一位移值与第二位移值;
所述除法器电路中的第一减法运算电路从所述查表运算电路中获取所述第一位移值和所述第二位移值,并基于所述第一位移值与所述第二位移值获取所述除数所对应的位移误差值;
所述除法器电路中的输出电路从所述第一减法运算电路中获取所述位移误差值,并根据所述位移误差值获取所述除数所对应的倒数。
2.根据权利要求1所述的方法,其特征在于,所述除法器电路中的位移运算电路从所述求幂运算电路获取所述有效位宽所对应的位移比特数,并基于所述位移比特数获取所述除数位移后的目标操作数,包括:
所述除法器电路中的位移运算电路从所述求幂运算电路获取所述有效位宽;
所述位移运算电路获取预设比对数值;
所述位移运算电路判断所述有效位宽是否大于所述比对数值;
若是,所述位移运算电路获取所述有效位宽与所述比对数值的第一差值,将所述第一差值作为所述位移比特数,并获取所述有效位宽所对应的位移标记所对应的数值,以及基于所述位移比特数获取所述除数位移后的目标操作数;
若否,所述位移运算电路获取所述比对数值与所述有效位宽的第二差值,将所述第二差值作为所述位移比特数,并获取所述有效位宽所对应的位移标记所对应的数值,以及基于所述位移比特数获取所述除数位移后的目标操作数。
3.根据权利要求1所述的方法,其特征在于,所述有效位宽满足:m=log2Z,其中,所述m表示所述有效位宽,所述Z表示所述除数。
4.根据权利要求1所述的方法,其特征在于,所述除法器电路中的查表运算电路从所述位移运算电路中获取所述目标操作数,并查找所述目标操作数所对应的第一位移值与第二位移值,包括:
所述除法器电路中的查表运算电路从所述位移运算电路中获取所述目标操作数,并查找所述目标操作数所对应的第一倒数,将所述第一倒数作为第一位移值;以及
所述查表运算电路查找所述目标操作数与预设固定值之和所对应的第二倒数,将所述第二倒数作为第二位移值。
5.根据权利要求1所述的方法,其特征在于,所述除法器电路中的第一减法运算电路包括第一减法运算子电路和第二减法运算子电路,所述除法器电路中的第一减法运算电路从所述查表运算电路中获取所述第一位移值和所述第二位移值,并基于所述第一位移值与所述第二位移值获取所述除数所对应的位移误差值,包括:
所述第一减法运算子电路从所述查表运算电路中获取所述第一位移值和所述第二位移值,并获取所述第一位移值与所述第二位移值的第一位移差值;
所述第二减法运算子电路从所述求幂运算电路获取所述除数,并获取所述除数与所述目标操作数的第二位移差值;
将所述第一位移差值与所述第二位移差值作为所述位移误差值。
6.根据权利要求5所述的方法,其特征在于,所述第一位移差值满足:其中,所述delta表示所述第一位移差值,所述表示所述第一位移值,所述表示所述第二位移值。
7.根据权利要求5所述的方法,其特征在于,所述第二位移差值满足:dev=z-z'×2n,所述dev表示所述第二位移差值,所述z表示所述除数,所述z'表示所述目标操作数,所述n为所述位移比特数。
8.根据权利要求1所述的方法,其特征在于,所述除法器电路中的输出电路包括第一乘法运算电路、第二减法运算电路和第二乘法运算电路,所述除法器电路中的输出电路从所述第一减法运算电路中获取所述位移误差值,并根据所述位移误差值获取所述除数所对应的倒数,包括:
所述第一乘法运算电路从所述第一减法运算电路中获取所述位移误差值,并根据所述位移误差值获取线性逼近误差;
所述第二减法运算电路从所述第一乘法运算电路获取所述第一位移值,并获取所述第一位移值与所述线性逼近误差的目标差值;
所述第二乘法运算电路从所述第二减法运算电路获取所述目标差值,并基于所述目标差值与所述位移比特数,生成所述倒数。
9.一种除法器电路,其特征在于,包括:求幂运算电路、位移运算电路、查表运算电路、第一减法运算电路和输出电路;
所述求幂运算电路用于获取除数以及获取所述除数所对应的有效位宽;
所述位移运算电路用于从所述求幂运算电路获取所述有效位宽所对应的位移比特数,并基于所述位移比特数获取所述除数位移后的目标操作数;
所述查表运算电路用于从所述位移运算电路中获取所述目标操作数,并查找所述目标操作数所对应的第一位移值与第二位移值;
所述第一减法运算电路用于从所述查表运算电路中获取所述第一位移值和所述第二位移值,并基于所述第一位移值与所述第二位移值获取所述除数所对应的位移误差值;
所述输出电路用于从所述第一减法运算电路中获取所述位移误差值,并根据所述位移误差值获取所述除数所对应的倒数。
10.根据权利要求9所述的除法器电路,其特征在于,所述位移运算电路具体用于:
从所述求幂运算电路获取所述有效位宽;及
获取预设比对数值;及
判断所述有效位宽是否大于所述比对数值;以及
若是,所述位移运算电路用于获取所述有效位宽与所述比对数值的第一差值,将所述第一差值作为所述位移比特数,并获取所述有效位宽所对应的位移标记所对应的数值,以及用于基于所述位移比特数获取所述除数位移后的目标操作数;以及
若否,所述位移运算电路还用于获取所述比对数值与所述有效位宽的第二差值,将所述第二差值作为所述位移比特数,并获取所述有效位宽所对应的位移标记所对应的数值,以及用于基于所述位移比特数获取所述除数位移后的目标操作数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810116406.4A CN108459839A (zh) | 2018-02-06 | 2018-02-06 | 一种除法运算方法及除法器电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810116406.4A CN108459839A (zh) | 2018-02-06 | 2018-02-06 | 一种除法运算方法及除法器电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108459839A true CN108459839A (zh) | 2018-08-28 |
Family
ID=63239506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810116406.4A Pending CN108459839A (zh) | 2018-02-06 | 2018-02-06 | 一种除法运算方法及除法器电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108459839A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069237A (zh) * | 2019-04-19 | 2019-07-30 | 哈尔滨理工大学 | 一种基于查找表的基-8除法器信号处理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1979411A (zh) * | 2005-11-30 | 2007-06-13 | 北京中电华大电子设计有限责任公司 | 一种高速除法器的实现方法与装置 |
CN101493760A (zh) * | 2008-12-24 | 2009-07-29 | 京信通信系统(中国)有限公司 | 一种高速除法器及其实现高速除法运算的方法 |
US20100070547A1 (en) * | 2008-09-12 | 2010-03-18 | Altek Corporation | Integer division circuit with allowable error |
CN104731551A (zh) * | 2013-12-23 | 2015-06-24 | 浙江大华技术股份有限公司 | 基于fpga进行除法操作的方法及装置 |
CN106708468A (zh) * | 2015-11-17 | 2017-05-24 | 华为数字技术(苏州)有限公司 | 一种除法运算方法及装置 |
CN107533452A (zh) * | 2015-04-21 | 2018-01-02 | 高通股份有限公司 | 除法和根计算以及快速结果格式化 |
-
2018
- 2018-02-06 CN CN201810116406.4A patent/CN108459839A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1979411A (zh) * | 2005-11-30 | 2007-06-13 | 北京中电华大电子设计有限责任公司 | 一种高速除法器的实现方法与装置 |
US20100070547A1 (en) * | 2008-09-12 | 2010-03-18 | Altek Corporation | Integer division circuit with allowable error |
CN101493760A (zh) * | 2008-12-24 | 2009-07-29 | 京信通信系统(中国)有限公司 | 一种高速除法器及其实现高速除法运算的方法 |
CN104731551A (zh) * | 2013-12-23 | 2015-06-24 | 浙江大华技术股份有限公司 | 基于fpga进行除法操作的方法及装置 |
CN107533452A (zh) * | 2015-04-21 | 2018-01-02 | 高通股份有限公司 | 除法和根计算以及快速结果格式化 |
CN106708468A (zh) * | 2015-11-17 | 2017-05-24 | 华为数字技术(苏州)有限公司 | 一种除法运算方法及装置 |
Non-Patent Citations (1)
Title |
---|
罗瑜等: "《基于FPGA的除法器设计》", 《计算机与数字工程》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069237A (zh) * | 2019-04-19 | 2019-07-30 | 哈尔滨理工大学 | 一种基于查找表的基-8除法器信号处理方法 |
CN110069237B (zh) * | 2019-04-19 | 2021-03-26 | 哈尔滨理工大学 | 一种基于查找表的基-8除法器信号处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105955706B (zh) | 一种除法器及除法运算方法 | |
CN106951211B (zh) | 一种可重构定浮点通用乘法器 | |
Pedas et al. | Piecewise polynomial collocation for linear boundary value problems of fractional differential equations | |
Saríyüce et al. | Streaming algorithms for k-core decomposition | |
CN108021537A (zh) | 一种基于硬件平台的softmax实现方式 | |
CN106997408A (zh) | 电路验证 | |
Choi et al. | Minimizing makespan on an m-machine re-entrant flowshop | |
CN106227291A (zh) | 基于分段式查表法的反正切函数的实现方法及实现装置 | |
CN109739433A (zh) | 数据处理的方法及终端设备 | |
CN109716332A (zh) | 分段多项式评估指令 | |
CN108459839A (zh) | 一种除法运算方法及除法器电路 | |
CN107992284A (zh) | 一种可编程器件的除法功能实现方法 | |
CN109977373A (zh) | 标识号分配方法、标识号回收方法及装置 | |
Bhanot et al. | A fast algorithm for Monte Carlo simulations of 4-d lattice gauge theories with finite groups | |
Amarú et al. | An efficient manipulation package for biconditional binary decision diagrams | |
CN107220025A (zh) | 处理乘加运算的装置和处理乘加运算的方法 | |
CN107580015A (zh) | 数据处理方法和装置、服务器 | |
Sakellariou et al. | Application-specific low-power multipliers | |
Norin et al. | Effective ordering of sparse matrices arising from nonlinear electrical networks | |
Lamini et al. | Precision analysis with analytical bit‐width optimisation process for linear circuits with feedbacks | |
Kloster et al. | A nearly-sublinear method for approximating a column of the matrix exponential for matrices from large, sparse networks | |
CN113282624B (zh) | 规则匹配方法、装置、电子设备及存储介质 | |
CN106569778B (zh) | 一种数据处理的方法及电子设备 | |
CN116088935B (zh) | 应用于磁轴承转子参数辨识的数据的处理方法 | |
Mitra et al. | Development of Noise Tolerant Document Image Binarization Technique Employing an Accurate Square Root Circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180828 |
|
RJ01 | Rejection of invention patent application after publication |