CN108595148B - 除法函数实现方法、电路、芯片以及*** - Google Patents
除法函数实现方法、电路、芯片以及*** Download PDFInfo
- Publication number
- CN108595148B CN108595148B CN201810311630.9A CN201810311630A CN108595148B CN 108595148 B CN108595148 B CN 108595148B CN 201810311630 A CN201810311630 A CN 201810311630A CN 108595148 B CN108595148 B CN 108595148B
- Authority
- CN
- China
- Prior art keywords
- function
- order
- circuit
- division
- value
- 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
Links
Images
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/544—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 for evaluating functions by calculation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本申请涉及一种除法函数实现方法、电路、芯片以及***。所述方法包括:获取待处理除法函数的变量值;将变量值输入二阶函数处理模型,得到二阶函数值;将变量值输入二阶非线性插值函数处理模型,得到二阶非线性插值函数值;获取二阶函数值与二阶非线性插值函数值的乘积,将乘积作为待处理除法函数的函数值输出,本发明通过二阶函数处理模型对待处理除法函数进行初始近似计算,再通过二阶非线性插值函数处理模型对待处理除法函数进行精确计算,其中,二阶函数处理模型采用了二阶函数实现,提高了除法函数计算的精度;二阶非线性插值函数处理模型中的系数具备对称性质,大大减少了处理器在进行除法函数运算时对硬件资源的占用。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种除法函数实现方法、电路、芯片以及***。
背景技术
基本算术运算是数学计算的基础,也是计算机进行复杂计算的前提,除法函数作为一类最基本的算术运算函数,它在数字信号处理、图像处理、坐标轴转换以及科学计算中都有广泛而且重要的应用。虽然处理器的性能随着工艺技术的进步而逐年提升,但是处理器在进行除法函数运算时其运算过程依然需要耗费大量的计算时间。例如,一个浮点除法可能需要20到30个计算周期,远高于乘法器所需要的4到5个计算周期。
传统技术上既有通过软件方法来实现除法计算,也有基于硬件电路来实现除法计算,其中,通过硬件电路来实现除法计算的方法,如基于牛顿-拉夫生除法函数硬件实现除法计算方法,但是,在实现过程中,发明人发现传统技术至少有以下问题:在保证较高的计算精度时,消耗的硬件资源多,造成计算成本高。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高计算精度,减少硬件资源消耗,降低计算成本的除法函数实现方法、电路、芯片以及***。
一种除法函数实现方法,包括以下步骤:
获取待处理除法函数的变量值;
将变量值输入二阶函数处理模型,得到二阶函数值;
将变量值输入二阶非线性插值函数处理模型,得到二阶非线性插值函数值;
获取二阶函数值与二阶非线性插值函数值的乘积,将乘积作为待处理除法函数的函数值输出。
在其中一个实施例中,在获取待计算除法函数的变量值的步骤之前,还包括:
对待处理除法函数进行变换处理,得到落入预设范围内的变量值。
在其中一个实施例中,在将变量值输入二阶函数处理模型,得到二阶函数值的步骤中,二阶函数处理模型基于以下步骤,得到二阶函数值:
对一次项系数与变量值求积,得到一次项乘积;
对二次项系数与变量值的平方求积,得到二次项乘积;
对一次项乘积、二次项乘积与常数项系数求和,得到二阶函数值。
在其中一个实施例中,在将变量值输入二阶非线性插值函数处理模型,得到二阶非线性插值函数值的步骤中,基于以下公式,得到二阶非线性插值函数值:
S2(x)=l2,i+j2,ixw-c2,ixw 2
其中,基于以下公式,得到插值节点xw:
xw=fract(2n·x)
其中,xw表示S2(x)的插值节点;i表示第i个插值间隔;l2,i表示S2(x)的常数项;j2,i表示S2(x)的一次项系数;c2,i表示S2(x)的二次项系数;w为插值节点的标识表示插值间隔的个数;n代表正整数;fract取小数部分函数。
另一方面,还提供了一种除法函数实现电路,包括二阶函数电路、二阶非线性插值函数电路以及第一乘法器;
第一乘法器的第一输入端连接二阶函数电路的输出端、第二输入端连接二阶非线性插值函数电路的输出端;
二阶函数电路、二阶非线性插值函数电路的输入端外接输入电路;
二阶函数电路,用于运行二阶函数处理模型,处理待处理除法函数的变量值,得到二阶函数值;
二阶非线性插值函数电路,用于运行二阶非线性插值函数处理模型,处理待处理除法函数的变量值,得到二阶非线性插值函数值;
第一乘法器,用于获取二阶函数值与二阶非线性插值函数值的乘积,将乘积作为待处理除法函数的函数值输出。
在其中一个实施例中,二阶函数电路包括依次连接的第一减法器、第二乘法器、第一右移器和第二减法器;
第一减法器、第二乘法器的输入端分别连接输入电路;第二减法器的输出端连接第一乘法器的第一输入端。
在其中一个实施例中,二阶非线性插值函数电路包括储存器、第三减法器、第三乘法器、第四乘法器、第一加法器、第二加法器,选择器以及平方器;
储存器包括第一储存单元、第二储存单元以及第三储存单元;
第一储存单元、第二储存单元、第三储存单元和平方器的输入端以及第三乘法器的第一输入端分别连接输入电路;
第三减法器的第一输入端连接第一储存单元的输入端、第二输入端连接第三乘法器的输出端,输出端连接选择器的第一输入端;
第一加法器的第一输入端连接第三乘法器的输出端、第二输入端连第一储存单元的输出端、输出端连接选择器的第二输入端;第三乘法器的第二输入端连接第二储存单元的输出端;
第四乘法器的第一输入端连接第三储存单元的输出端、第二端连接平方器的输出端、输出端连接第二加法器的第一输入端;
第二加法器的第二输入端连接选择器的输出端、输出端连接第一乘法器的第二输入端。
另一方面,还提供了一种芯片,包括如上所述的除法函数实现电路。
另一方面,还提供了一种除法函数实现***,包括上位机、输入电路、输出电路以及如上所述的芯片;
芯片连接上位机、输入电路以及输出电路。
上述技术方案中的一个技术方案具有如下优点和有益效果:
利用二阶函数处理模型和二阶非线性插值函数处理模型的乘积替代待处理除法函数,利用二阶函数处理模型和二阶非线性插值函数处理模型的相乘对待处理除法函数进行精确计算,本发明通过二阶函数处理模型对待处理除法函数进行初始近似计算,再通过二阶非线性插值函数处理模型对待处理除法函数进行精确计算,其中,二阶函数处理模型采用了二阶函数实现,提高了除法函数计算的初始精度;由于二阶函数处理模型的采用,使二阶非线性插值函数处理模型中的系数具备对称性质,从而大大减少了处理器在进行除法函数运算时对内存空间的占用,因此,本发明在保证高计算精度的情况下还减少了处理器对内存资源的使用,即提升了计算精度,降低了计算成本。
附图说明
图1为传统技术中基于查找表和牛顿-拉夫生方法的除法函数硬件实现电路;
图2为一个实施例中除法函数实现方法的流程示意图;
图3为另一个实施例中除法函数实现方法的流程示意图;
图4为在一个实施例中本发明除法函数实现电路的结构示意图;
图5为在一个实施例中本发明除法函数实现电路的电路结构图;
图6为在一个实施例中本发明除法函数实现电路的计算精度设计步骤流程图;
图7为在另一个实施例中本发明除法函数实现电路的电路结构图;
图8为在一个实施例中本发明除法函数实现***的结构示意图;
图9为一个实施例中除法函数硬件实现装置的结构框图;
图10为另一个实施例中除法函数硬件实现装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本发明除法函数实现方法、装置以及计算机设备一具体应用场景:
传统技术常采用查找表和牛顿-拉夫生方法来实现除法函数运算,其中,牛顿法是乘法技术的一种,它是一种线性化的方法,通过把非线性的问题转换为线性方程来进行求解,具体的,基于牛顿-拉夫生(Newton-Raphson)的除法函数实现方法表述如下:设方程f(y)=0有近似根yn,将函数f(y)在yn处作一阶展开有式(1)成立。当f(y)=0时,可以得到式(2),即可推出式(3)为一阶牛顿迭代法的迭代公式。一阶牛顿法具有平方的收敛特性,事实上如果对式(1)作更高阶的近似,则可以得到高阶牛顿法,相应的其收敛特性也会更快,但其复杂度更高。通常采用式(3)的一阶牛顿法作为除法函数的基本迭代公式。
f(y)≈f(yn)+f′(yn)(y-yn) (1)
f(yn)+f′(yn)(y-yn)=0 (2)
yn+1=yn-f′(yn)/f(yn) (3)
把(4)代入(3)式即可以得到除法函数的迭代公式如式(5)所示。式中n代表迭代的次数,y0即为将要进行迭代的初值。恰当的初值选取有利于加速除法函数的收敛速度。
yn+1=yn(2-xyn) (5)
查找表技术是一项非常有效的近似计算技术,它唯一的不足是当算术运算函数的计算精度很高时,它所需要的存储器资源以指数方式增长。为了克服此种不足,常采用查找表与乘法技术相结合的方法,以查找表技术获取一个函数计算的初值,然后以乘法迭代技术来提高函数的计算精度。设查找表的大小为2h×m位,则算术运算函数输入数据(1<Ti<2)和输出数据(0.5<T0<1)的二进制格式可以分别表示为式(6)和式(7)。由于式中输入数据的最高有效位为1而输出数据的最高位部分恒为0.1,因此在存储的时候并不需要存入查找表以便节省存储资源。由此可以得到除法的查找表基于地址i的入口为式(8),其中表示向下取整,取位数m+1位。
图1为基于查找表和牛顿-拉夫生方法的除法函数硬件实现电路,如图1所示,通过查找表获取除法函数的计算初值,然后通过迭代过程来提升其计算精度,图1中仅给出了一次迭代过程的硬件电路结构,当需要提升计算精度时,可以重复该迭代过程。通常有两种方式,其一为重复利用该迭代电路结构,以时间换资源,但该方法增加了数据的刷新时间间隔,从而降低了吞吐量;其二为设计流水线电路结构,以资源换效率,通过复用该迭代电路结构来获得计算吞吐量的提升。
但是上述传统技术仍然存在以下两个方面的缺陷:首先,为了提升除法函数的计算精度,查找表会很大,因而在硬件电路设计中会使用很多的存储器资源,运算成本高;其次,在进行高精度计算中需要进行多次迭代,在保证计算吞吐量的情况下会消耗很多乘法器等硬件资源,同样导致运算成本高。因而,为了降低硬件实现成本,就必须牺牲除法函数的计算精度,使传统技术在除法函数的计算精度和硬件实现复杂度上不能取得很好的折中,硬件实现效率低下。
而本发明针对上述传统技术的不足,提出了一种基于协调抛物合成方法的除法函数实现方法,本发明除法函数硬件实现利用二阶函数与二阶非线性插值函数对待处理除法函数进行高精度近似计算,通过结合二阶函数与二阶非线性插值函数解决了传统技术运算精度低的问题,同时二阶非线性插值函数的系数具备对称特性,从而降低了处理器在运算除法函数是对存储器资源的使用,解决了传统技术在进行高精度的除法运算时对存储器资源占用率大的问题。本发明除法函数实现方法具有存储器资源占用率低、计算精度高等特点,特别是能够大规模的减少对存储器资源的使用,是一种高效的除法函数实现方法,适应于集成到复杂集成电路芯片中或者作为硬件加速器应用。
在一个实施例中,如图2所示,提供了一种除法函数实现方法,包括以下步骤:
步骤S210,获取待处理除法函数的变量值;
步骤S220,将变量值输入二阶函数处理模型,得到二阶函数值;
步骤S230,将变量值输入二阶非线性插值函数处理模型,得到二阶非线性插值函数值;
步骤S240,获取二阶函数值与二阶非线性插值函数值的乘积,将乘积作为待处理除法函数的函数值输出。
基于协调抛物合成方法,采用一个二阶函数与一个二阶非线性插值函数值的乘积,来对待处理除法函数进行计算。其中,基于二阶函数生成二阶函数处理模型,基于二阶非线性插值函数值生成二阶非线性插值函数处理模型。变量值经二阶函数处理模型和二阶非线性插值函数处理模型运算,并将各自输出的值求乘积,作为待处理除法函数的函数值。
具体而言,基于本发明触发函数硬件实现方法,除法函数硬件实现电路可获取待处理除法函数的变量值,将变量值分别输入到二阶函数处理模型、二阶非线性插值函数处理模型,对应的,二阶函数处理模型输出二阶函数值,二阶非线性插值函数值,将二阶函数值与二阶非线性插值函数值的乘积作为待处理除法函数的函数值。
需要说明的是,上述运算过程均可通过硬件电路实现,根据已知函数设计硬件运算电路可基于现有技术实现,并可将硬件运算电路集成CPU(Central Processing Unit,中央处理单元)、SOC(System-on-chip,***芯片)、DSP(Digital Signal Processor,数字信号处理器)、FPGA(Field Programmable Gate Array,现场可编程门阵列)中,在本发明除法函数实现方法中的除法函数硬件实现电路包括用于实现二阶函数处理模型的电路、用于实现二阶非线性插值函数处理模型的电路,以及计算二阶函数值与二阶非线性插值函数值乘积的乘法电路。
本发明除法函数实现方法各实施例,利用二阶函数处理模型和二阶非线性插值函数处理模型的乘积替代待处理除法函数,利用阶函数处理模型和二阶非线性插值函数处理模型的相乘对待处理除法函数进行精确计算,本发明通过二阶函数处理模型对待处理除法函数进行初始近似计算,再通过二阶非线性插值函数处理模型对待处理除法函数进行精确计算,其中,二阶函数处理模型采用了二阶函数实现,提高了除法函数计算的精度;二阶非线性插值函数处理模型中的系数具备对称性质,大大减少了处理器在进行除法函数运算时对存储资源的占用,因此,本发明除法函数实现方法在保证高精度的情况下还减少了处理器对存储器资源的使用,即,提升了计算精度,降低了计算成本。
在一个实施例中,在获取待计算除法函数的变量值的步骤之前,还包括:
对待处理除法函数进行变换处理,得到落入预设范围内的变量值。
其中,预设范围为(0<x<1)。
具体而言,本发明除法函数实现方法中的变量值的范围为(0<x<1),其中x表示变量值,当待处理除法函数的变量值不在(0<x<1)时,需要对除法函数进行数学变换处理,使得变量值在(0<x<1)之内。
本发明除法函数实现方法各实施例,采用二阶函数与二阶非线性插值函数的乘积替换待处理除法函数,对待处理除法函数进行高精度的进行运算,由于二阶函数收敛性好,计算精度高,二阶非线性插值函数系数具备对称特征,使得需要存储的资源大大减少,从而提高了本发明除法函数实现方法计算精度,大大减少了对存储器资源的占用,降低了硬件实现复杂度。
在一个实施例中,在将变量值输入二阶函数处理模型,得到二阶函数值的步骤中,二阶函数处理模型基于以下步骤,得到二阶函数值:
对一次项系数与变量值求积,得到一次项乘积;
对二次项系数与变量值的平方求积,得到二次项乘积;
对一次项乘积、二次项乘积与常数项系数求和,得到二阶函数值。
具体而言,为了方便理解,对一次项系数与变量值求积,得到一次项乘积;对二次项系数与变量值的平方求积,得到二次项乘积;对一次项乘积、二次项乘积与常数项系数求和,得到二阶函数值的步骤,可以通过以下公式描述:
S1(x)=a+bX+cx2
其中,a表示S1(x)的常数项系数;b表示S1(x)的常数项系数;c表示S1(x)的二次项系数;x表示变量值。
需要说明的是,在根据公式S1(x)=a+bx+cx2,得到用于实现二阶函数处理模型的硬件电路时,常数项系数、常数项系数以及二次项系数已被设计在硬件电路内,也就是说,常数项系数、常数项系数以及二次项系数是二阶函数处理模型内固有的。
具体而言,采用S1(x)=a+bx+cx2的公式形式,来得到二阶函数处理模型,根据S1(x)=a+bx+cx2设计本发明除法函数实现方法中用于运行二阶函数处理模型的电路,此时,将变量值输入二阶函数处理模型中并输出二阶函数值,相当于将变量值带入S1(x)=a+bx+cx2公式中,得到S1(x)的函数值。
本发明除法函数实现方法各实施例,采用二阶函数首先对待处理除法函数进行近似计算,由于二阶函数具备收敛性速度快,计算精度高等特点,使得本发明除法函数实现方法,计算精度高,运算速率快。
S1(x)=1-x-0·5(x-xD
其中,x表示变量值。
采用S1(x)=1-x-0.5(x-x2)的公式形式,来得到二阶函数处理模型,根据S1(x)=1-x-0.5(x-x2)设计本发明除法函数实现方法中用于运行二阶函数处理模型的电路,此时,将变量值输入二阶函数处理模型中并输出二阶函数值,相当于将变量值带入S1(x)=1-x-0.5(x-x2)公式中,得到S1(x)的函数值。
本发明除法函数实现方法各实施例,采用二阶函数S1(x)=1-x-0.5(x-x2)来生成二阶函数模型,公式S1(x)=1-x-0.5(x-x2)具备更快的收敛速率,更高的计算精度,降低了本发明除法函数实现方法对硬件资源的占用,并提升计算精度。
在一个实施例中,在将变量值输入二阶非线性插值函数处理模型,得到二阶非线性插值函数值的步骤中,基于以下公式,得到二阶非线性插值函数值:
S2(x)=l2,i+j2,ixw-c2,ixw 2
其中,xw表示S2(x)的插值节点;i表示第i个插值间隔;l2,i表示S2(x)的常数项;j2,i表示S2(x)的一次项系数;c2,i表示S2(x)的二次项系数;w表示xw为插值节点的标识。
进一步的,基于以下公式,得到插值节点xw:
xw=fract(2n·x)
其中,2n表示插值间隔的个数;n代表正整数;fract取小数部分函数。
具体而言,采用S2(x)=l2,i+j2,ixw-c2,ixw 2的公式形式,来得到二阶非线性插值函数处理模型,根据S2(x)=l2,i+j2,ixw-c2,ixw 2设计本发明除法函数实现方法中用于运行二阶非线性插值函数处理模型的电路,此时,将变量值输入二阶函数处理模型中并输出二阶函数值,相当于将变量值带入S2(x)=l2,i+j2,ixw-c2,ixw 2公式中,得到S2(x)的函数值。
其中,基于以下公式,得到插值节点xw:
xw=fract(2n·x)
基于以下公式,得到常数项l2,i:
l2,i=f1(xstart,i)
基于以下公式,得到f1:
基于以下公式,得到二次项系数c2,i:
基于以下公式,得到k2,i:
k2,i=f1(xstart,i)-f1(xend,i)
基于以下公式,得到一次项系数j2,i:
J2,i=k2,i+c2,i
其中,xstart,i表示第i个插值间隔的起点;xend,i表示第i个插值间隔的终点;forg(x)表示待计算除法函数。
在实际的运算过程中,先将l2,i、j2,i、c2,i等系数预先计算好并存储在存储器中,本发明除法函数实现方法可通过调整插值间隔,来控制对待处理除法函数的运算精度。
本发明除法函数实现方法各实施例,采用了二阶非线性插值函数对待处理除法函数进行近似计算方法,用于其系数为对称的,使得需要存储的系数大大减少,从而降低对存储器资源的占用,并可以根据待处理除法函数的实际应用计算精度需求,设计适当的非线性插值间隔总数量,从而使本发明除法函数实现方法具有通用性强、灵活性好等特点。
在一个实施例中,如图3所示,本发明除法函数实现方法,包括以下步骤:
步骤S310,对待处理除法函数进行变换处理,得到落入预设范围内的变量值;
步骤S320,获取待处理除法函数的变量值;
步骤S330,将变量值输入二阶函数处理模型,得到二阶函数值;
步骤S340,将变量值输入二阶非线性插值函数处理模型,得到二阶非线性插值函数值;
步骤S350,获取二阶函数值与二阶非线性插值函数值的乘积,将乘积作为待处理除法函数的函数值输出。
具体而言,为了更好的说明,将一具体示例进行阐述:
其中,基于以下公式,得到插值节点xw:
xw=fract(2n·x)
基于以下公式,得到常数项l2,i:
l2,i=f1(xstart,i)
基于以下公式,得到f1:
基于以下公式,得到二次项系数c2,i:
基于以下公式,得到k2,i:
k2,i=f1(xstart,i)-f1(xend,i)
基于以下公式,得到一次项系数j2,i:
J2,i=k2,i+c2,i
基于S1(x)=1-x-0.5(x-x2)得到二阶函数处理模型,基于S2(x)=l2,i+j2,ixw-c2, ixw 2得到二阶非线性插值处理模型。
本发明除法函数实现方法各实施例,基于协调抛物合成方法,用于二阶函数与二阶非线性插值函数的乘积替换待处理除法函数,提出了一种针对除法函数的硬件电路实现方法,具有计算精度高、收敛速度快、硬件实现简单等特点。特别地,本发明除法函数实现方法并通过设计对称的二阶非线性插值系数,很好的解决了传统技术存储资源占用率高的问题,适应于片上存储资源成本高昂等应用领域。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,还提供了一种除法函数实现电路,包括二阶函数电路410、二阶非线性插值函数电路420以及第一乘法器430;
第一乘法器430的第一输入端连接二阶函数电路410的输出端、第二输入端连接二阶非线性插值函数电路420的输出端;
二阶函数电路410、二阶非线性插值函数电路420的输入端外接输入电路440;
二阶函数电路410,用于运行二阶函数处理模型,处理待处理除法函数的变量值,得到二阶函数值;
二阶非线性插值函数电路420,用于运行二阶非线性插值函数处理模型,处理待处理除法函数的变量值,得到二阶非线性插值函数值;
第一乘法器430,用于获取二阶函数值与二阶非线性插值函数值的乘积,将乘积作为待处理除法函数的函数值输出。
需要说明的是,二阶函数电路能够运行本发明方法实施例中的二阶函数处理模型,二阶非线性插值函数电路能够运行本发明方法实施例中的二阶非线性插值函数处理模型。
具体而言,将待处理函数的变量值x分别输入到二阶函数电路和二阶非线性插值函数电路,二阶函数电路输出二阶函数值,二阶非线性插值函数电路输出二阶非线性插值函数值,二阶函数值和二阶非线性插值函数经第一乘法器进行乘法运算,输出待处理除法函数的函数值。
本发明除法函数实现电路各实施例,可以集成到高端复杂集成电路的浮点除法运算中,也可以适应于除法函数的硬件加速处理中,具有广泛的应用前景。
在一个实施例中,如图5所示,二阶函数电路51包括依次连接的第一减法器511、第二乘法器513、第一右移器515和第二减法器517;
第一减法器511、第二乘法器513的输入端分别连接输入电路440;第二减法器517的输出端连接第一乘法器430的第一输入端。
进一步的,如图5所示,二阶非线性插值函数电路52包括储存器521、第三减法器522、第三乘法器523、第四乘法器524、第一加法器525、第二加法器526,选择器527以及平方器528;
储存器521包括第一储存单元5211、第二储存单元5213以及第三储存单元5215;
第一储存单元5211、第二储存单元5213、第三储存单元5215和平方器528的输入端以及第三乘法器523的第一输入端分别连接输入电路440;
第三减法器522的第一输入端连接第一储存单元5211的输入端、第二输入端连接第三乘法器523的输出端,输出端连接选择器的第一输入端;
第一加法器525的第一输入端连接第三乘法器523的输出端、第二输入端连第一储存单元5211的输出端、输出端连接选择器527的第二输入端;第三乘法器523的第二输入端连接第二储存单元5213的输出端;
第四乘法器524的第一输入端连接第三储存单元5215的输出端、第二端连接平方器528的输出端、输出端连接第二加法器526的第一输入端;
第二加法器526的第二输入端连接选择器527的输出端、输出端连接第一乘法器440的第二输入端。
需要说明的是,加法器为了实现加法运算,减法器为了实现减法器,乘法器为了实现乘法运行,平方器为了实现平方运算,右移器为了实现缩小二倍运算,选择器为了实现选择输出。
本发明除法函数实现电路,可根据实际需要来调整电路的计算精度,具体步骤如图6所示:
步骤S610,根据项目需要确定除法函数实现电路的计算精度;
步骤S620,依据计算精度通过仿真分析确定二阶非线性插值函数的非线性插值间隔总数量;
步骤S630,依据计算精度确定除法函数实现电路的输入输出位宽;
步骤S640,依据仿真分析确定l2,i、j2,i、c2,i系数值并存在储存器;
步骤S650,对除法函数实现电路的结构进行设计实现;
步骤S660,测试步骤S650中设计的除法函数实现电路的计算精度是否达到要设计要求;
步骤S670,当计算精度达到设计要求时,设计结束;
步骤S680,当计算精度未达到设计要求时,分析影响精度的主要因素并返回步骤S620。
例如,如图7所示,当非线性插值间隔总数量为16(I=24),设定输入数据为15位位宽,输出数据为16位位宽,待处理除法函数为 基于协调抛物合成方法,将替换为forg(x)=S1(x)×S2(x)的形式,其中S1(x)=1-x-0.5(x-x2),S2(x)=l2,i+j2,ixw-c2,ixw 2。
通过仿真分析,该除法函数实现电路的平均计算误差为4.6×10-6,l2,i、j2,i、c2,i系数设置分别如表1、表2、表3所示:
表1-l2,i系数设计
存储地址(十进制) | 存储数据(十六进制) |
0 | 1FFFF |
1 | 1F16D |
2 | 1E574 |
3 | 1DBC3 |
4 | 1D41D |
5 | 1CE56 |
6 | 1CA4B |
7 | 1C7E7 |
8 | 1C71C |
表2-j2,i系数设计
存储地址(十进制) | 存储数据(十六进制) |
0 | 7FB |
1 | 698 |
2 | 562 |
3 | 44F |
4 | 357 |
5 | 271 |
6 | 19A |
7 | CB |
8 | 0 |
表3-c2,i系数设计
存储地址(十进制) | 存储数据(十六进制) |
0 | B2 |
1 | 9B |
2 | 8A |
3 | 7D |
4 | 73 |
5 | 6C |
6 | 68 |
7 | 65 |
本发明除法函数实现电路各实施例,二阶函数电路利用一个乘法器、两个减法器实现对待处理除法函数进行初始近似计算,具备收敛快,计算精度高的特点;二阶非线性插值函数电路利用两个乘法器、两个加法器、一个减法器、一个平方器、一个选择器实现对待处理除法函数进一步精确计算,并将二阶非线性插值函的系数预先计算好兵存储在储存器重,使得本发明具有计算速度快,计算精度高,而且本发明除法函数实现电路可方便的设计成流水线结构,可支持高速除法函数的计算,可适应于高速、高吞吐量及实时计算处理应用领域。
在一个实施例中,还提供了一种芯片,包括本发明电路实施例中所述的除法函数实现电路。
具体而言,将本发明电路各实施例中所述的除法函数实现电路集成到芯片中,使得该芯片能够运行本发明方法实施例中所述的除法函数实现方法。
本发明芯片各实施例中,芯片中集成的除法函数实现电路技既能提高计算精度、加快收敛速度,又能降低实现成本,促使提高本发明芯片在运算除法函数的计算精度,又能降低实现成本。
在一个实施例,如图8所示,还提供了一种除法函数实现***,包括上位机810、输入电路820、输出电路830以及本发明芯片实施例中所述的芯片840;
芯片连接上位机、输入电路以及输出电路。
具体而言,利用集成了本发明的除法函数实现电路的芯片搭建一套可运行本发明除法函数实现方法的方法步骤。
本发明除法函数实现***各实施例,能够精确快速的实现除法函数的计算。
在一个实施例中,如图9所示,提供了一种除法函数硬件实现装置,包括:
变量值获取模块910,用于获取待处理除法函数的变量值;
二阶函数处理模块920,用于将变量值输入二阶函数处理模型,得到二阶函数值;
二阶非线性插值函数处理模块930,用于将变量值输入二阶非线性插值函数处理模型,得到二阶非线性插值函数值;
输出模块940,用于获取二阶函数值与二阶非线性插值函数值的乘积,将乘积作为待处理除法函数的函数值输出。
在一个实施例中,如图10所示,本发明除法函数硬件实现装置,还包括:
变换处理模块1010,用于对待处理除法函数进行变换处理,得到落入预设范围内的变量值。
关于除法函数硬件实现装置的具体限定可以参见上文中对于除法函数实现方法的限定,在此不再赘述。上述除法函数硬件实现装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种除法函数实现方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取待处理除法函数的变量值;
将变量值输入二阶函数处理模型,得到二阶函数值;
将变量值输入二阶非线性插值函数处理模型,得到二阶非线性插值函数值;
获取二阶函数值与二阶非线性插值函数值的乘积,将乘积作为待处理除法函数的函数值输出。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对待处理除法函数进行变换处理,得到落入预设范围内的变量值。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待处理除法函数的变量值;
将变量值输入二阶函数处理模型,得到二阶函数值;
将变量值输入二阶非线性插值函数处理模型,得到二阶非线性插值函数值;
获取二阶函数值与二阶非线性插值函数值的乘积,将乘积作为待处理除法函数的函数值输出。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对待处理除法函数进行变换处理,得到落入预设范围内的变量值。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种除法函数实现方法,其特征在于,包括以下步骤:
获取待处理除法函数的变量值;
将所述变量值输入二阶函数电路中,运行二阶函数处理模型,处理所述待处理除法函数的变量值,得到二阶函数值;
将所述变量值输入二阶非线性插值函数电路中,运行二阶非线性插值函数处理模型,处理所述待处理除法函数的变量值,得到二阶非线性插值函数值;
利用第一乘法器获取所述二阶函数值与所述二阶非线性插值函数值的乘积,将所述乘积作为所述待处理除法函数的函数值输出。
2.根据权利要求1所述的除法函数实现方法,其特征在于,在所述获取待计算除法函数的变量值的步骤之前,还包括:
对所述待处理除法函数进行变换处理,得到落入预设范围内的所述变量值。
3.根据权利要求1或2所述的除法函数实现方法,其特征在于,在所述将所述变量值输入二阶函数电路中,运行二阶函数处理模型,处理所述待处理除法函数的变量值,得到二阶函数值的步骤中,所述二阶函数处理模型基于以下步骤,得到所述二阶函数值:
对一次项系数与所述变量值求积,得到一次项乘积;
对二次项系数与所述变量值的平方求积,得到二次项乘积;
对所述一次项乘积、二次项乘积与常数项系数求和,得到所述二阶函数值。
5.根据权利要求4所述的除法函数实现方法,其特征在于,在将所述变量值输入二阶非线性插值函数电路中,运行二阶非线性插值函数处理模型,处理所述待处理除法函数的变量值,得到二阶非线性插值函数值的步骤中,基于以下公式,得到所述二阶非线性插值函数值:
S2(x)=l2,i+j2,ixw-c2,ixw 2
其中,基于以下公式,得到所述插值节点xw:
xw=fract(2n·x)
其中,xw表示S2(x)的插值节点;i表示第i个插值间隔;l2,i表示S2(x)的常数项;j2,i表示S2(x)的一次项系数;c2,i表示S2(x)的二次项系数;w为插值节点的标识表示插值间隔的个数;n代表正整数;fract取小数部分函数。
6.一种用于运行权利要求1至5任意一项所述的除法函数实现方法的除法函数实现电路,其特征在于,包括二阶函数电路、二阶非线性插值函数电路以及第一乘法器;
所述第一乘法器的第一输入端连接所述二阶函数电路的输出端、第二输入端连接所述二阶非线性插值函数电路的输出端;
所述二阶函数电路、所述二阶非线性插值函数电路的输入端外接输入电路;
所述二阶函数电路,用于运行所述二阶函数处理模型,处理所述待处理除法函数的变量值,得到二阶函数值;
所述二阶非线性插值函数电路,用于运行所述二阶非线性插值函数处理模型,处理所述待处理除法函数的变量值,得到二阶非线性插值函数值;
所述第一乘法器,用于获取所述二阶函数值与所述二阶非线性插值函数值的乘积,将所述乘积作为所述待处理除法函数的函数值输出。
7.根据权利要求6所述的除法函数实现电路,其特征在于,所述二阶函数电路包括依次连接的第一减法器、第二乘法器、第一右移器和第二减法器;
所述第一减法器、所述第二乘法器的输入端分别连接所述输入电路;所述第二减法器的输出端连接所述第一乘法器的第一输入端。
8.根据权利要求6或7所述的除法函数实现电路,其特征在于,所述二阶非线性插值函数电路包括储存器、第三减法器、第三乘法器、第四乘法器、第一加法器、第二加法器,选择器以及平方器;
所述储存器包括第一储存单元、第二储存单元以及第三储存单元;
所述第一储存单元、所述第二储存单元、所述第三储存单元和所述平方器的输入端以及所述第三乘法器的第一输入端分别连接所述输入电路;
所述第三减法器的第一输入端连接所述第一储存单元的输入端、第二输入端连接所述第三乘法器的输出端,输出端连接所述选择器的第一输入端;
所述第一加法器的第一输入端连接所述第三乘法器的输出端、第二输入端连所述第一储存单元的输出端、输出端连接所述选择器的第二输入端;所述第三乘法器的第二输入端连接所述第二储存单元的输出端;
所述第四乘法器的第一输入端连接所述第三储存单元的输出端、第二端连接所述平方器的输出端、输出端连接所述第二加法器的第一输入端;
所述第二加法器的第二输入端连接所述选择器的输出端、输出端连接所述第一乘法器的第二输入端。
9.一种芯片,其特征在于,包括权利要求7至8任意一项所述的除法函数实现电路。
10.一种除法函数实现***,其特征在于,包括上位机、输入电路、输出电路以及权利要求9所述的芯片;
所述芯片连接所述上位机、所述输入电路以及所述输出电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810311630.9A CN108595148B (zh) | 2018-04-09 | 2018-04-09 | 除法函数实现方法、电路、芯片以及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810311630.9A CN108595148B (zh) | 2018-04-09 | 2018-04-09 | 除法函数实现方法、电路、芯片以及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108595148A CN108595148A (zh) | 2018-09-28 |
CN108595148B true CN108595148B (zh) | 2021-06-29 |
Family
ID=63621269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810311630.9A Active CN108595148B (zh) | 2018-04-09 | 2018-04-09 | 除法函数实现方法、电路、芯片以及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108595148B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897524B (zh) * | 2018-05-31 | 2021-01-22 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 除法函数处理电路、方法、芯片以及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5787031A (en) * | 1993-03-12 | 1998-07-28 | Nippondenso Co., Ltd. | Divider and multiplier/divider using said divider |
CN103809930A (zh) * | 2014-01-24 | 2014-05-21 | 天津大学 | 一种双精度浮点数除法器的设计方法及除法器 |
CN106357134A (zh) * | 2016-09-08 | 2017-01-25 | 西南交通大学 | 一种双向ac‑dc‑dc单相变换器及其控制方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60142738A (ja) * | 1983-12-30 | 1985-07-27 | Hitachi Ltd | 内挿近似を使用する除算装置 |
CN1979411A (zh) * | 2005-11-30 | 2007-06-13 | 北京中电华大电子设计有限责任公司 | 一种高速除法器的实现方法与装置 |
-
2018
- 2018-04-09 CN CN201810311630.9A patent/CN108595148B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5787031A (en) * | 1993-03-12 | 1998-07-28 | Nippondenso Co., Ltd. | Divider and multiplier/divider using said divider |
CN103809930A (zh) * | 2014-01-24 | 2014-05-21 | 天津大学 | 一种双精度浮点数除法器的设计方法及除法器 |
CN106357134A (zh) * | 2016-09-08 | 2017-01-25 | 西南交通大学 | 一种双向ac‑dc‑dc单相变换器及其控制方法 |
Non-Patent Citations (2)
Title |
---|
低压差线性电压调整器噪声电压测试方法;罗军,刘焱,王小强,罗宏伟;《中国测试》;20171130;第43卷(第11期);全文 * |
实变多项式函数除法运算中余项的确定方法探讨;朱世荣;《甘肃联合大学学报》;20060430;第20卷(第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108595148A (zh) | 2018-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2024099061A1 (zh) | 自适应频点采样的扫频方法、***及相关设备 | |
CN108595148B (zh) | 除法函数实现方法、电路、芯片以及*** | |
CN108897524B (zh) | 除法函数处理电路、方法、芯片以及*** | |
CN106372348B (zh) | 一种线性***中基于误差控制的矢量拟合模型降阶方法 | |
US10949498B1 (en) | Softmax circuit | |
CN111399803A (zh) | 除法运算方法、装置、存储介质及电子设备 | |
Ernst et al. | A Legendre-based computational method for solving a class of Itô stochastic delay differential equations | |
JP2013025467A (ja) | 対数関数の近似演算回路 | |
WO2024066143A1 (zh) | 分子碰撞截面的预测方法、装置、设备及存储介质 | |
Sarbishei et al. | Analysis of precision for scaling the intermediate variables in fixed-point arithmetic circuits | |
CN115496181A (zh) | 深度学习模型的芯片适配方法、装置、芯片及介质 | |
WO2021238521A1 (zh) | 基于非易失存储器的存储和数据处理方法、装置及设备 | |
CN108319447A (zh) | 便于硬件实现的开平方算法 | |
CN113805846A (zh) | 取模运算方法、电路、电子设备和计算机可读存储介质 | |
CN113778378A (zh) | 一种求解复数n次方根的装置和方法 | |
Pan et al. | Hierarchical resampling algorithm and architecture for distributed particle filters | |
CN111092602A (zh) | 功率放大器的建模方法、装置、计算机设备和存储介质 | |
TWI768430B (zh) | 對數計算方法及對數計算電路 | |
Muthuvalu et al. | Numerical performance of Half-Sweep Geometric Mean (HSGM) iterative method for solving third order Newton–Cotes quadrature system | |
CN113127802B (zh) | 基于cordic算法的复对数实现方法、装置、设备及计算机存储介质 | |
JPH01321517A (ja) | 除算装置 | |
TWI784406B (zh) | 採用迭代計算的模數運算電路 | |
CN112308199B (zh) | 数据块的处理方法、装置及存储介质 | |
JP5997480B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
Wang et al. | A locking free Reissner-Mindlin element with weak Galerkin rotations |
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 | ||
CB02 | Change of applicant information |
Address after: 511300 No.78, west of Zhucun Avenue, Zhucun street, Zengcheng District, Guangzhou City, Guangdong Province Applicant after: CHINA ELECTRONIC PRODUCT RELIABILITY AND ENVIRONMENTAL TESTING RESEARCH INSTITUTE ((THE FIFTH ELECTRONIC RESEARCH INSTITUTE OF MIIT)(CEPREI LABORATORY)) Address before: 510610 No. 110 Zhuang Road, Tianhe District, Guangdong, Guangzhou, Dongguan Applicant before: CHINA ELECTRONIC PRODUCT RELIABILITY AND ENVIRONMENTAL TESTING RESEARCH INSTITUTE ((THE FIFTH ELECTRONIC RESEARCH INSTITUTE OF MIIT)(CEPREI LABORATORY)) |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |