CN102722469A - 基于浮点运算单元的基本超越函数运算方法及其协处理器 - Google Patents
基于浮点运算单元的基本超越函数运算方法及其协处理器 Download PDFInfo
- Publication number
- CN102722469A CN102722469A CN201210168992XA CN201210168992A CN102722469A CN 102722469 A CN102722469 A CN 102722469A CN 201210168992X A CN201210168992X A CN 201210168992XA CN 201210168992 A CN201210168992 A CN 201210168992A CN 102722469 A CN102722469 A CN 102722469A
- Authority
- CN
- China
- Prior art keywords
- function
- unit
- floating
- functional operation
- computing
- 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
Images
Landscapes
- Complex Calculations (AREA)
Abstract
本发明提供一种基于浮点运算单元的基本超越函数运算方法及其协处理器;该方法将CORDIC算法分解成函数运算控制和浮点计算两个部分;函数运算控制部分完成CORDIC算法的运算控制功能;浮点计算支持浮点数的求绝对值、加/减、乘、除、开方和比较运算,并且浮点计算中用到的通用寄存器可被函数运算控制模块读写。传统方法都要根据需求重新设计实现专用数学函数计算部件,控制和结构复杂、硬件资源消耗大。本发明通过增加一个结构简单的函数运算控制模块,可以在已有浮点运算单元的基础上利用已有浮点运算指令实现超越函数运算,其结构简单、易于实现和应用、能够支持三角和反三角函数,双曲函数,指数函数和对数函数的计算。
Description
技术领域
本发明涉及利用浮点运算单元完成基本超越函数运算的技术领域,特别是三角和反三角函数,双曲函数,指数函数和对数函数的计算,并实现了基于该方法的协处理器。
背景技术
求解基本超越函数是科学计算和工程应用中最重要的运算。特别是在方程求解、数值分析、概率统计、计算机图形学、数字信号处理、机器视觉、人工智能等领域中被广泛使用。但是基本超越函数计算过程复杂,运算速度低,特别是硬件不易实现。因此,实现一种易于硬件实现的高性能基本超越函数运算的方法成为近年来的研究热点。
常用的硬件实现基本超越函数的方法有三类:查表法、级数近似法和逐位迭代法。查表法是最直接的函数求值方法,适用于低精度计算,随着计算精度的提高,ROM容量的需求成指数增长,不适合进行高精度函数计算;级数近似法通常采用Taylor级数的展开形式进行多次迭代,该方法计算量大、速度慢,对于一个接近于1的参数需要很长的迭代步骤,而且对于不同的超越函数需要不用的硬件分别实现;逐位迭代法用简单的以为和加法运算的迭代为基础,实现简单,是硬件实现超越函数最常用的方法,但它的线性收敛非常慢,而且每次迭代都以前次迭代的结果为基础,不能有效的并行实现。随着IC技术的发展,作为高效的硬件算法,逐位迭代法在电路硬件实现中的应用越来越多。
从功能模块公用的角度,最好的逐位迭代法是CORDIC(COordinateRotation Digital Computer)算法。CORDIC算法由J.E.Volder于1959年提出(J.E.Volder,“The CORDIC trigonometric computing technique”),它的基本概念以二维几何学为基础。它是一种用于计算数学函数的循环迭代算法,其基本思想是用一系列只与运算基数相关的角度的不断偏转,从而逼近所需旋转的角度。由于偏转角度至于计算的基数有关,这一算法只需要进行移位和加法运算。传统的CORDIC算法根据不同的旋转轨迹分成圆周系统、双曲系统和线性系统,每种系统又有旋转模式和向量模式。为了能计算更多的函数,J.S.Walther于1971年提出了CORDIC算法的扩展和统一形式(J.S.Walther,“A unified algorithm for elementary functions”),将三种系统统一到同一个迭代方程组中:
选择不同的参数可以得到不同的计算结果。本发明中涉及的三角和反三角函数,双曲函数,指数函数和对数函数的参数和迭代初值如表1所示。
表1
目前硬件实现CORDIC算法主要有两种结构:反馈结构和流水线结构。这两种结构都以图1所示的一次CORDIC迭代的基本硬件结构为基础扩展或级联,然后加入前处理或后处理电路实现。反馈结构只设计一级CORDIC迭代单元,然后将本级输出作为本级输入完成迭代运算,这种结构硬件开销小,但控制复杂、速度慢;流水线结构每一级CORDIC迭代运算都是用单独一个运算单元,这种结构速度快,但是硬件开销大,而且精度要求越高所需硬件资源越多。
上述实现基于CORDIC算法的数学函数计算的硬件都要根据需求重新设计实现一个专门进行数学函数计算的部件,控制和结构复杂、硬件资源消耗大。
发明内容
本发明的目的是提供一种基于浮点运算单元实现CORDIC算法完成基本超越函数运算的方法及其硬件实现的协处理器。本发明通过增加一个结构简单、硬件资源小的函数运算控制模块使用已有浮点计算单元(FPU:Floating-Point Unit)实现基于CORDIC算法的基本超越函数的计算。其结构简单、易于实现和应用、能够支持三角和反三角函数,双曲函数,指数函数和对数函数的计算。
为了达到上述目的,本发明采用以下技术方案予以实现:
一种使用浮点运算单元实现CORDIC算法完成基本超越函数运算的方法,其特征在于,将CORDIC算法分解成2个部分:函数运算控制和浮点计算;其中,函数运算控制分为五个步骤:译码、前处理、迭代运算控制、后处理、函数运算控制,该部分完成CORDIC算法的运算控制功能;浮点计算必须支持浮点数的求绝对值、加/减、乘、除、开方和比较运算,并且浮点计算中用到的通用寄存器可被函数运算控制模块读写。
所述的浮点运算单元实现CORDIC算法完成基本超越函数运算的方法,其函数运算控制中的译码步骤完成接收和译码函数运算指令,将函数运算指令译码为:正弦、余弦、正切、反正弦、反余弦、反正切、双曲正弦、双曲余弦、双曲正切、对数和指数函数指令码,译码结果送给前处理、迭代运算和后处理部分。
所述的浮点运算单元实现CORDIC算法完成基本超越函数运算的方法,其函数运算控制中的前处理步骤根据接收到的译码后的函数运算指令,通过向浮点计算单元发送浮点运算指令并配合前处理内运算完成迭代初始数据的计算和输入控制。
所述的浮点运算单元实现CORDIC算法完成基本超越函数运算的方法,其函数运算控制中的迭代运算步骤根据接收到的译码后的函数运算指令,通过向浮点计算单元发送浮点运算指令并配合迭代运算步骤内运算完成CORDIC算法的迭代运算过程。
所述的浮点运算单元实现CORDIC算法完成基本超越函数运算的方法,其函数运算控制中后处理步骤根据接收到的译码后的函数运算指令,通过向浮点计算部分发送浮点运算指令并配合后处理单元内运算得到函数运算的输出结果。
所述的浮点运算单元实现CORDIC算法完成基本超越函数运算的方法,其函数运算控制中函数运算控制根据接收到的译码后的函数运算指令,控制译码、前处理、迭代和后处理依次顺序进行函数运算,并在函数运算完成后发出完成运算信号。
为了实现上述设计方法,本发明使用该方法实现了一种基本超越函数协处理器,包括函数运算控制模块和浮点计算单元;其中,函数运算控制模块实现CORDIC算法的运算控制,包括:译码单元、前处理单元、迭代运算单元、后处理单元和函数运算控制单元,完成CORDIC算法的计算控制功能;浮点计算单元至少包括:绝对值、加/减、乘、除、开方和比较指令单元,并且浮点计算单元中的通用寄存器可被函数运算控制模块读写。
所述译码单元接收并译码函数运算指令,将译码结果送给前处理、迭代运算和后处理单元。
所述前处理单元根据接收到的译码后的函数运算指令,通过向浮点计算单元发送浮点运算指令并配合前处理单元内运算完成迭代初始数据的计算和输入控制。
所述迭代运算单元根据接收到的译码后的函数运算指令,通过向浮点计算单元发送浮点运算指令并配合迭代运算单元内运算完成CORDIC算法的迭代运算过程。
所述后处理单元根据接收到的译码后的函数运算指令,通过向浮点计算单元发送浮点运算指令并配合后处理单元内运算得到函数运算的输出结果。
所述函数计算控制单元根据接收到的译码后的函数运算指令,控制译码、前处理、迭代和后处理单元依次顺序进行函数运算,并在函数运算完成后发出完成运算信号。
相对于现有技术,本发明具有以下优点:本发明提出的基于浮点运算单元的基本超越函数运算方法简单灵活,易于应用;本发明设计实现的一种基本超越函数协处理器,其结构简单、速度快、易于实现和应用、能够支持三角和反三角函数,双曲函数,指数函数和对数函数的计算。
附图说明
图1是CORDIC迭代的基本硬件结构图;
图2是基本超越函数协处理器的结构图;
图3是前处理单元的结构示意图;
图4是迭代运算单元计算步骤流程图。
具体实施方式
下面结合附图说明和具体实施方式对本发明做详细说明。
请参照图2所示,基本超越函数协处理器,包括函数运算控制模块和浮点计算单元。其中,函数运算控制模块包括:译码单元、前处理单元、迭代控制单元、后处理单元和函数运算控制单元,完成CORDIC算法的计算控制功能;浮点计算单元应至少包括:绝对值、加/减、乘、除、开方和比较指令单元,并且浮点计算单元中的通用寄存器可被函数运算控制模块读写。
译码单元接收并译码函数运算指令,将译码结果送给前处理、迭代控制和后处理单元。
请参照图3所示,前处理单元包括三角函数前处理、反三角函数前处理和其他函数前处理。前处理单元在进行函数计算时,能够依次向浮点计算单元发送浮点运算指令,并对浮点计算单元中的通用寄存器进行读写。
(1)在进行三角函数sinθ、cosθ或tanθ计算时,需要完成如下运算:if(θ<0)sign=-1;else sign=1;
sel=(int)fmod(k,4.0);
(2)在进行反正弦函数arcsin(α)计算时,需要完成如下运算:
x0=1.0; ω0=0;
(3)在进行反余弦函数arccos(α)计算时,需要完成如下运算:
x0=1.0; ω0=0;
(4)在进行反正切函数arctan(α)计算时,需要完成如下运算:
x0=1.0;y0=α;ω0=0;
(5)在进行双曲函数sinhθ、coshθ或tanhθ和指数函数eθ计算时,需要完成如下运算:
x0=1.0;y0=0.0;ω0=θ;
(6)在进行对数函数lna计算时,需要完成如下运算:
x0=a+1;y0=a-1;ω0=0.0;
其中,x0、y0和ω0的值写入浮点计算单元的通用寄存器。
请参照图4所示,迭代运算单元按照图4所示运算步骤完成迭代运算。
(1)根据译码单元发送的指令,根据表1所示,确定所计算函数对应于圆周系统或双曲系统,工作模式属于向量模式或双曲模式。根据所确定的系统和模式,给定m的初值以及σi的计算公式。
(2)判定:迭代循环次数i大于循环上限时,跳出循环,输出结果;或者,在旋转模式时ωi小于所设阈值或者在向量模式时yi小于所设阈值,跳出循环,输出结果。其中,所设阈值为保证函数计算结果的精度。
(3)旋转模式时ωi<0,σi=-1;ωi>0,σi=1。向量模式时yi<0,σi=1;yi>0,σi=-1。
(4)根据之前得到的σi和前处理单元得到的x0、y0和ω0完成迭代运算:
其中,2-i、arctan2-i和artanh2-i通过查找表得到。
在双曲系统旋转模式下,由于函数收敛性的限制对于迭代次数为(3(k+1)-1)/2的旋转都要重复,即旋转序列为:1,2,3,4,4,5,6,…,12,13,13,14,…
(5)迭代运算完成后,将xi+1,yi+1,ωi+1和i写入浮点计算单元的通用寄存器。
后处理单元包括三角函数后处理、反三角函数后处理和其他函数后处理。
(1)在进行三角函数sinθ、cosθ或tanθ计算时,需要将迭代运算得到的xi+1和yi+1乘以缩放因子所得结果根据前处理单元计算得到的sel和sign值,进行象限调整得到。当sign=1时,sel=0:sinθ=piyi+1、cosθ=pixi+1;sel=1:sinθ=pixi+1、cosθ=-piyi+1;sel=2:sinθ=-piyi+1、cosθ=-pixi+1;sel=3:sinθ=-pixi+1、cosθ=piyi+1。当sign=-1时,sel=0:sinθ=-piyi+1、cosθ=pixi+1;sel=1:sinθ=-pixi+1、cosθ=-piyi+1;sel=2:sinθ=piyi+1、cosθ=-pixi+1;sel=3:sinθ=pixi+1、cosθ=piyi+1。tanθ=sinθ/cosθ。其中pi的值通过查找表得到。
(2)在进行反三角函数计算时,因为前处理单元已经根据运算指令进行了的三角变换,所以,所得的ωi+1即为所求结果。
(3)在进行双曲函数sinhθ、coshθ或tanhθ或指数函数eθ计算时,需要将迭代运算得到的xi+1和yi+1乘以缩放因子所得结果分别为sinhθ=pyi+1和coshθ=pxi+1,另外,tanhθ=sinhθ/coshθ、exp(θ)=sinhθ+coshθ。其中pi的值通过查找表得到。
(4)在进行对数函数lna计算时,将所得的ωi+1乘2即为所求结果。
函数计算控制单元根据接收到的译码后的函数运算指令,控制译码、前处理、迭代和后处理单元依次顺序进行函数运算,并在函数运算完成后发出完成运算信号。
以正弦函数为例说明协处理器中各模块如何实现函数计算。其中,(X)表示浮点计算单元中编号为X的寄存器,“←”表示从寄存器中读取数据到函数运算控制模块,“→”表示写寄存器,最左列的代码表示浮点计算单元的计算指令,没有浮点计算指令的行表示在函数运算控制模块内或由函数运算控制模块控制完成的运算。FABS、FSUB、FADD、FMUL、FDIV、FCPY、FCMP分别表示浮点数的取绝对值、减法、加法、乘法、除法、复制和比较运算指令。
译码单元读取到正弦函数运算指令。
函数运算控制单元控制下述指令顺序依次完成。
前处理单元控制完成的指令序列:
迭代运算单元控制完成的指令序列:
后处理单元控制完成的指令序列:
查表得到
根据上述三部分指令序列就得到正弦函数的运算结果。
其他数学函数的运算过程与正弦函数类似。在进行函数协处理器运算时,可根据每个浮点运算单元的计算周期,调整前处理、循环迭代和后处理单元的指令序列顺序,得到优化的计算序列,提高函数运算的效率和性能。
Claims (7)
1.一种使用浮点运算单元实现CORDIC算法完成基本超越函数运算的方法,其特征在于,将CORDIC算法分解成函数运算控制和浮点计算两个部分;其中,函数运算控制分为五个步骤:译码、前处理、迭代运算控制、后处理和函数运算控制,函数运算控制部分完成CORDIC算法的运算控制功能;浮点计算支持浮点数的求绝对值、加/减、乘、除、开方和比较运算,并且浮点计算中用到的通用寄存器可被函数运算控制模块读写。
2.根据权利要求1所述的一种使用浮点运算单元实现CORDIC算法完成基本超越函数运算的方法,其特征在于,函数运算控制中的译码步骤完成接收和译码函数运算指令,将函数运算指令译码为:正弦、余弦、正切、反正弦、反余弦、反正切、双曲正弦、双曲余弦、双曲正切、对数和指数函数指令码,译码结果送给前处理、迭代运算和后处理部分。
3.根据权利要求1所述的一种使用浮点运算单元实现CORDIC算法完成基本超越函数运算的方法,其特征在于,函数运算控制中的前处理步骤根据接收到的译码后的函数运算指令,通过向浮点计算单元发送浮点运算指令并配合前处理内运算完成迭代初始数据的计算和输入控制;前处理步骤通过内部运算和发送浮点运算指令完成如下运算:
(1)在进行三角函数sinθ、cosθ或tanθ计算时,需要完成如下运算:if(θ<0)sign=-1;else sign=1;
sel=(int)fmod(k,4.0);
(2)在进行反正弦函数arcsin(α)计算时,需要完成如下运算:
x0=1.0; ω0=0;
(3)在进行反余弦函数arccos(α)计算时,需要完成如下运算:
x0=1.0; ω0=0;
(4)在进行反正切函数arctan(α)计算时,需要完成如下运算:
x0=1.0;y0=α;ω0=0;
(5)在进行双曲函数sinhθ、coshθ或tanhθ和指数函数eθ计算时,需要完成如下运算:
x0=1.0;y0=0.0;ω0=θ;
(6)在进行对数函数lna计算时,需要完成如下运算:
x0=a+1;y0=a-1;ω0=0.0;
其中,x0、y0和ω0的值写入浮点计算单元的通用寄存器。
4.根据权利要求1所述的一种使用浮点运算单元实现CORDIC算法完成基本超越函数运算的方法,其特征在于,函数运算控制中的迭代运算步骤根据接收到的译码后的函数运算指令,通过向浮点计算单元发送浮点运算指令并配合迭代运算步骤内运算完成CORDIC算法的迭代运算过程;迭代运算步骤通过内部运算和发送浮点运算指令完成如下运算:
(1)根据译码单元发送的指令,确定所计算函数对应于圆周系统或双曲系统,工作模式属于向量模式或双曲模式;根据所确定的系统和模式,给定m的初值以及σi的计算公式;
(2)判定:迭代循环次数i大于循环上限时,跳出循环,输出结果;或者,在旋转模式时ωi小于所设阈值或者在向量模式时yi小于所设阈值,跳出循环,输出结果;其中,所设阈值为保证函数计算结果的精度;
(3)旋转模式时ωi<0,σi=-1;ωi>0,σi=1;向量模式时yi<0,σi=1;yi>0,σi=-1;
(4)根据之前得到的σi和前处理单元得到的x0、y0和ω0完成迭代运算:
其中,2-i、arctan2-i和artanh2-i通过查找表得到;
在双曲系统旋转模式下,由于函数收敛性的限制对于迭代次数为(3(k+1)-1)/2的旋转都要重复;
(5)迭代运算完成后,将xi+1,yi+1,ωi+1和i写入浮点计算单元的通用寄存器。
5.根据权利要求1所述的一种使用浮点运算单元实现CORDIC算法完成基本超越函数运算的方法,其特征在于,函数运算控制中后处理步骤根据接收到的译码后的函数运算指令,通过向浮点计算单元发送浮点运算指令并配合后处理单元内运算得到函数运算的输出结果;后处理步骤通过内部运算和发送浮点运算指令完成如下运算:
(1)在进行三角函数sinθ、cosθ或tanθ计算时,需要将迭代运算得到的xi+1和yi+1乘以缩放因子所得结果根据前处理单元计算得到的sel和sign值,进行象限调整得到;当sign=1时,sel=0:sinθ=piyi+1、cosθ=pixi+1;sel=1:sinθ=pixi+1、cosθ=-piyi+1;sel=2:sinθ=-piyi+1、cosθ=-pixi+1;sel=3:sinθ=-pixi+1、cosθ=piyi+1。当sign=-1时,sel=0:sinθ=-piyi+1、cosθ=pixi+1;sel=1:sinθ=-pixi+1、cosθ=-piyi+1;sel=2:sinθ=piyi+1、cosθ=-pixi+1;sel=3:sinθ=pixi+1、cosθ=piyi+1;tanθ=sinθ/cosθ;其中pi的值通过查找表得到;
(2)在进行反三角函数计算时,因为前处理单元已经根据运算指令进行了的三角变换,所以,所得的ωi+1即为所求结果;
(3)在进行双曲函数sinhθ、coshθ或tanhθ或指数函数eθ计算时,需要将迭代运算得到的xi+1和yi+1乘以缩放因子所得结果分别为sinhθ=pyi+1和coshθ=pxi+1,另外,tanhθ=sinhθ/coshθ、exp(θ)=sinhθ+coshθ。其中pi的值通过查找表得到;
(4)在进行对数函数lna计算时,将所得的ωi+1乘2即为所求结果。
6.根据权利要求1所述的一种使用浮点运算单元实现CORDIC算法完成基本超越函数运算的方法,其特征在于,函数运算控制中函数运算控制根据接收到的译码后的函数运算指令,控制译码、前处理、迭代和后处理依次顺序进行函数运算,并在函数运算完成后发出完成运算信号。
7.根据权利要求1所述的一种使用浮点运算单元实现CORDIC算法完成基本超越函数运算的方法设计实现的一种基本超越函数协处理器,其特征在于:包括函数运算控制模块和浮点计算单元;其中,函数运算控制模块包括:译码单元、前处理单元、迭代运算单元、后处理单元和函数运算控制单元,译码单元、前处理单元、迭代运算单元、后处理单元和函数运算控制单元分别完成权利要求2、3、4、5、6所述的运算和控制功能,完成CORDIC算法的计算控制;浮点计算单元至少包括:绝对值、加/减、乘、除、开方和比较指令单元,并且浮点计算单元中的通用寄存器可被函数运算控制模块读写。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210168992XA CN102722469A (zh) | 2012-05-28 | 2012-05-28 | 基于浮点运算单元的基本超越函数运算方法及其协处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210168992XA CN102722469A (zh) | 2012-05-28 | 2012-05-28 | 基于浮点运算单元的基本超越函数运算方法及其协处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102722469A true CN102722469A (zh) | 2012-10-10 |
Family
ID=46948240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210168992XA Pending CN102722469A (zh) | 2012-05-28 | 2012-05-28 | 基于浮点运算单元的基本超越函数运算方法及其协处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102722469A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677738A (zh) * | 2013-09-26 | 2014-03-26 | 中国人民解放军国防科学技术大学 | 基于混合模式cordic算法的低延时基本超越函数实现方法及装置 |
CN105094745A (zh) * | 2015-08-19 | 2015-11-25 | 国网重庆市电力公司电力科学研究院 | 基于Microblaze系统的数字化电能表校验仪浮点开方算法的实现方法 |
CN105278913A (zh) * | 2015-01-14 | 2016-01-27 | 北京国睿中数科技股份有限公司 | 实现向量浮点基2指数对数计算的装置 |
WO2017185390A1 (zh) * | 2016-04-26 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行向量超越函数运算的装置和方法 |
WO2017185334A1 (zh) * | 2016-04-29 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行多种超越函数运算的装置和方法 |
WO2017185395A1 (zh) * | 2016-04-26 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行向量比较运算的装置和方法 |
CN107315718A (zh) * | 2016-04-26 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 一种用于执行向量内积运算的装置和方法 |
CN107329732A (zh) * | 2016-04-29 | 2017-11-07 | 北京中科寒武纪科技有限公司 | 一种用于执行多种超越函数运算的装置和方法 |
US9846945B2 (en) | 2014-07-25 | 2017-12-19 | Altek Autotronics Corporation | Method for generating orientation image |
CN108228135A (zh) * | 2016-12-15 | 2018-06-29 | 上海寒武纪信息科技有限公司 | 一种运算多种超越函数的装置 |
CN109271134A (zh) * | 2018-12-13 | 2019-01-25 | 上海燧原科技有限公司 | 超越函数运算方法及装置、存储介质及电子设备 |
CN109739470A (zh) * | 2018-12-30 | 2019-05-10 | 南京大学 | 一种基于2型双曲cordic任意指数函数的计算系统 |
CN110100409A (zh) * | 2017-02-14 | 2019-08-06 | 纳格拉影像股份有限公司 | 产生安全散列值的方法和设备 |
CN110187866A (zh) * | 2019-06-03 | 2019-08-30 | 南京宁麒智能计算芯片研究院有限公司 | 一种基于双曲cordic的对数乘法计算系统及方法 |
CN110222305A (zh) * | 2019-06-03 | 2019-09-10 | 南京宁麒智能计算芯片研究院有限公司 | 一种基于双曲cordic的对数函数计算系统及方法 |
CN113711157A (zh) * | 2019-02-20 | 2021-11-26 | 优创半导体科技有限公司 | 用于使用坐标旋转数字计算机(cordic)对浮点三角函数进行硬件高效自适应计算的装置和方法 |
CN114707110A (zh) * | 2022-06-07 | 2022-07-05 | 中科亿海微电子科技(苏州)有限公司 | 一种三角函数和双曲函数扩展指令计算装置及处理器核 |
CN116679988A (zh) * | 2023-08-02 | 2023-09-01 | 武汉芯必达微电子有限公司 | 硬件加速单元、硬件加速方法、芯片及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286115A (zh) * | 2008-05-13 | 2008-10-15 | 北京邮电大学 | 六自由度机器人运动学cordic算法协处理器 |
CN101630243A (zh) * | 2009-08-14 | 2010-01-20 | 西北工业大学 | 超越函数装置以及用该装置实现超越函数的方法 |
-
2012
- 2012-05-28 CN CN201210168992XA patent/CN102722469A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286115A (zh) * | 2008-05-13 | 2008-10-15 | 北京邮电大学 | 六自由度机器人运动学cordic算法协处理器 |
CN101630243A (zh) * | 2009-08-14 | 2010-01-20 | 西北工业大学 | 超越函数装置以及用该装置实现超越函数的方法 |
Non-Patent Citations (2)
Title |
---|
付江平等: "支持超越函数的浮点运算单元的设计与实现", 《计算机应用研究》 * |
张俊涛等: "基于FPGA的CORDIC算法通用IP核设计", 《微计算机信息》 * |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677738A (zh) * | 2013-09-26 | 2014-03-26 | 中国人民解放军国防科学技术大学 | 基于混合模式cordic算法的低延时基本超越函数实现方法及装置 |
US9846945B2 (en) | 2014-07-25 | 2017-12-19 | Altek Autotronics Corporation | Method for generating orientation image |
CN105278913A (zh) * | 2015-01-14 | 2016-01-27 | 北京国睿中数科技股份有限公司 | 实现向量浮点基2指数对数计算的装置 |
CN105094745A (zh) * | 2015-08-19 | 2015-11-25 | 国网重庆市电力公司电力科学研究院 | 基于Microblaze系统的数字化电能表校验仪浮点开方算法的实现方法 |
CN107315563B (zh) * | 2016-04-26 | 2020-08-07 | 中科寒武纪科技股份有限公司 | 一种用于执行向量比较运算的装置和方法 |
WO2017185390A1 (zh) * | 2016-04-26 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行向量超越函数运算的装置和方法 |
WO2017185395A1 (zh) * | 2016-04-26 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行向量比较运算的装置和方法 |
CN107315718A (zh) * | 2016-04-26 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 一种用于执行向量内积运算的装置和方法 |
CN107315564A (zh) * | 2016-04-26 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 一种用于执行向量超越函数运算的装置和方法 |
CN107315563A (zh) * | 2016-04-26 | 2017-11-03 | 北京中科寒武纪科技有限公司 | 一种用于执行向量比较运算的装置和方法 |
CN107315718B (zh) * | 2016-04-26 | 2020-08-21 | 中科寒武纪科技股份有限公司 | 一种用于执行向量内积运算的装置和方法 |
CN107329732B (zh) * | 2016-04-29 | 2021-07-16 | 中科寒武纪科技股份有限公司 | 一种用于执行多种超越函数运算的装置和方法 |
CN107329732A (zh) * | 2016-04-29 | 2017-11-07 | 北京中科寒武纪科技有限公司 | 一种用于执行多种超越函数运算的装置和方法 |
WO2017185334A1 (zh) * | 2016-04-29 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行多种超越函数运算的装置和方法 |
CN108228135A (zh) * | 2016-12-15 | 2018-06-29 | 上海寒武纪信息科技有限公司 | 一种运算多种超越函数的装置 |
CN108228135B (zh) * | 2016-12-15 | 2021-09-07 | 上海寒武纪信息科技有限公司 | 一种运算多种超越函数的装置 |
CN110100409A (zh) * | 2017-02-14 | 2019-08-06 | 纳格拉影像股份有限公司 | 产生安全散列值的方法和设备 |
CN110100409B (zh) * | 2017-02-14 | 2023-12-05 | 纳格拉影像股份有限公司 | 产生安全散列值的方法和设备 |
CN109271134B (zh) * | 2018-12-13 | 2020-08-25 | 上海燧原科技有限公司 | 超越函数运算方法及装置、存储介质及电子设备 |
CN109271134A (zh) * | 2018-12-13 | 2019-01-25 | 上海燧原科技有限公司 | 超越函数运算方法及装置、存储介质及电子设备 |
CN109739470A (zh) * | 2018-12-30 | 2019-05-10 | 南京大学 | 一种基于2型双曲cordic任意指数函数的计算系统 |
CN109739470B (zh) * | 2018-12-30 | 2023-06-13 | 南京大学 | 一种基于2型双曲cordic任意指数函数的计算系统 |
CN113711157A (zh) * | 2019-02-20 | 2021-11-26 | 优创半导体科技有限公司 | 用于使用坐标旋转数字计算机(cordic)对浮点三角函数进行硬件高效自适应计算的装置和方法 |
CN110187866B (zh) * | 2019-06-03 | 2021-06-25 | 南京宁麒智能计算芯片研究院有限公司 | 一种基于双曲cordic的对数乘法计算系统及方法 |
CN110222305B (zh) * | 2019-06-03 | 2023-03-21 | 南京宁麒智能计算芯片研究院有限公司 | 一种基于双曲cordic的对数函数计算系统及方法 |
CN110222305A (zh) * | 2019-06-03 | 2019-09-10 | 南京宁麒智能计算芯片研究院有限公司 | 一种基于双曲cordic的对数函数计算系统及方法 |
CN110187866A (zh) * | 2019-06-03 | 2019-08-30 | 南京宁麒智能计算芯片研究院有限公司 | 一种基于双曲cordic的对数乘法计算系统及方法 |
CN114707110A (zh) * | 2022-06-07 | 2022-07-05 | 中科亿海微电子科技(苏州)有限公司 | 一种三角函数和双曲函数扩展指令计算装置及处理器核 |
CN116679988A (zh) * | 2023-08-02 | 2023-09-01 | 武汉芯必达微电子有限公司 | 硬件加速单元、硬件加速方法、芯片及存储介质 |
CN116679988B (zh) * | 2023-08-02 | 2023-10-27 | 武汉芯必达微电子有限公司 | 硬件加速单元、硬件加速方法、芯片及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102722469A (zh) | 基于浮点运算单元的基本超越函数运算方法及其协处理器 | |
CN102981797B (zh) | 基于cordic算法的反馈和流水线结构相结合的三角函数运算器 | |
CN103677738A (zh) | 基于混合模式cordic算法的低延时基本超越函数实现方法及装置 | |
Li et al. | Study of CORDIC algorithm based on FPGA | |
CN103019647A (zh) | 具有浮点精度保持功能的浮点累加/累减运算方法 | |
CN108733349B (zh) | 一种基于定点数的三角函数运算电路 | |
CN103488459A (zh) | 一种基于改进的高基cordic算法的复数乘法运算单元 | |
Aggarwal et al. | Reconfigurable CORDIC architectures for multi-mode and multi-trajectory operations | |
Salehi et al. | Novel design for a low-latency CORDIC algorithm for sine-cosine computation and its Implementation on FPGA | |
CN111443893A (zh) | 一种基于cordic算法的n次根计算装置及方法 | |
CN108037906B (zh) | 基于tcordic算法的浮点基本函数实现方法及装置 | |
WO2019032751A1 (en) | INTERRUPTIBLE TRIGONOMETRIC OPERATIONS | |
CN104536720A (zh) | 基于fpga的待测角三角函数值的测算方法及系统 | |
Arora et al. | FPGA prototyping of hardware implementation of CORDIC algorithm | |
Rudagi et al. | Comparative analysis of radix-2, radix-4, radix-8 CORDIC processors | |
CN102073471B (zh) | 一种处理器Cordic迭代运算电路 | |
Neji et al. | Architecture and FPGA implementation of the CORDIC algorithm for fingerprints recognition systems | |
Vázquez et al. | Computation of decimal transcendental functions using the CORDIC algorithm | |
Dai et al. | CORDIC algorithm based on FPGA | |
US20140052767A1 (en) | Apparatus and architecture for general powering computation | |
Dong et al. | Implementation of single-precision floating-point trigonometric functions with small area | |
Hsiao et al. | Design of a low-cost floating-point programmable vertex processor for mobile graphics applications based on hybrid number system | |
CN204990269U (zh) | 一种基于fpga的反三角函数实现装置 | |
CN112749367A (zh) | 一种超越函数计算方法及装置 | |
Gao et al. | A trigonometric function instruction set extension method based on RISC-V |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121010 |