CN109062540B - 一种基于cordic算法的可重构浮点运算装置 - Google Patents

一种基于cordic算法的可重构浮点运算装置 Download PDF

Info

Publication number
CN109062540B
CN109062540B CN201810574109.4A CN201810574109A CN109062540B CN 109062540 B CN109062540 B CN 109062540B CN 201810574109 A CN201810574109 A CN 201810574109A CN 109062540 B CN109062540 B CN 109062540B
Authority
CN
China
Prior art keywords
module
rotation
bit
data
point
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
CN201810574109.4A
Other languages
English (en)
Other versions
CN109062540A (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.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201810574109.4A priority Critical patent/CN109062540B/zh
Publication of CN109062540A publication Critical patent/CN109062540A/zh
Application granted granted Critical
Publication of CN109062540B publication Critical patent/CN109062540B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations

Abstract

一种基于CORDIC算法的可重构浮点运算装置,其包括:预处理模块,用于完成输入数据从IEEE‑754标准的单精度浮点格式到定点格式的转换,并将其映射到收敛域内;串‑并混合的可重构CORDIC迭代单元模块,用于完成CORDIC算法的迭代运算部分,由旋转模块A和B两部分组成:旋转模块A用于串行流水结构的实现,实现模块复用最大化,旋转模块B基于旋转方向并行预测方法,采用树状加法器结构,用于旋转模式下并行结构的实现;在后处理模块,根据预处理模块的编码信号选择相应的结果输出,并完成尾数的规格化处理,输出单精度浮点数据格式计算结果;本发明具有原理简单、低延迟、高精度、硬件开销低的特点。

Description

一种基于CORDIC算法的可重构浮点运算装置
技术领域
本发明属于雷达实时成像处理中浮点运算器的技术领域,具体涉及一种基于CORDIC算法的可重构浮点运算装置。
背景技术
在星上合成孔径雷达(SAR)实时成像处理时,为了实现更高的分辨率,需要存储和下传的数据量很大,而且成像处理算法的运算量巨大,这不仅对实时处理提出了挑战,也给硬件实现带来了很大的困难。尤其是Chirp Scaling(CS)算法中相位补偿因子的计算,包含单精度浮点三角函数、开方等多种非线性运算。这些运算一般采用查找表、多项式拟合、Digit-by-digit等方法在硬件上实现,但是往往硬件实现结构复杂,并且运算速度较低,而且需要消耗较多的硬件资源。
坐标旋转数字计算(Coordinate Rotation Digital Computer,CORDIC)算法可以将多种非线性运算转化为适合硬件实现的加减、移位运算,极大的降低了硬件设计的复杂性。但是传统的CORDIC算法存在收敛范围有限,算法延时长等问题,重复某些特定的迭代可以扩大收敛域,但会导致缩放因子为非常数,需要增加额外的硬件逻辑来运算,Scaling-Free CORDIC算法通过采用泰勒级数近似的方法,可以免去缩放因子的计算,同时减少了迭代级数,但是这种方法大多数应用到定点CORDIC运算中,不能满足Chirp Scaling算法中的计算精度。
由于CORDIC算法在实现不同运算时需处在不同坐标系统、不同模式下,目前已有的基于CORDIC算法的运算器大多数只能工作在单一坐标系统和旋转模式下,实现某一种运算,在针对一些特定应用实现多种运算时,往往需要多个处理器。因此,设计一种可以兼容多种模式的可重构浮点运算器尤为重要。但是在不同运算模式下的收敛域以及需输入的初值均不相同,并且为节省硬件资源,需要将单精度浮点数据转换为定点数据来进行迭代运算,在设计过程中,需要根据运算特征最大化复用在不同模式下的共有运算单元。
发明内容
针对现有技术存在的技术问题,本发明提供一种原理简单、小面积、低延迟、可适应多种运算模式的基于CORDIC算法可重构浮点运算装置。
实现本发明的技术方案如下:
一种基于CORDIC算法的可重构浮点运算装置,其包括预处理模块,可重构CORDIC迭代单元模块和后处理模块;
预处理模块,将待运算数据从单精度浮点格式转换为定点格式,并将其映射到收敛域内;
可重构CORDIC迭代单元模块,由旋转模块A和旋转模块B两部分组成,旋转模块A将收敛域中的定点格式数据进行串行流水迭代运算得到最终运算结果或运算中间值,旋转模块B对运算中间值进行并行迭代运算得到最终运算结果;
后处理模块,对从旋转模块A或旋转模块B输出的最终运算结果完成定点到单精度浮点的转换。
进一步地,所述可重构浮点运算装置设置3比特信号T1&T0&M来进行模式的选择,其中,信号T1&T0用于坐标系统的选择,信号M用于旋转模式的选择;T1&T0=00,01和10分别表示圆周,线性和双曲坐标系统,M=0表示旋转模式,M=1表示向量模式。
进一步地,所述待运算数据为IEEE-754标准的单精度浮点格式;其中,CORDIC算法中的X通路的数据表示为:
Figure BDA0001686871580000031
Y通路的数据表示为:
Figure BDA0001686871580000032
Z通路的数据表示为:
Figure BDA0001686871580000033
SX表示X通路数据的符号位,MX表示X通路数据的尾数,EX表示X通路数据的指数;SY表示Y通路数据的符号位,MY表示Y通路数据的尾数,EY表示Y通路数据的指数;SZ表示Z通路数据的符号位,MZ表示Z通路数据的尾数,EZ表示Z通路数据的指数。
进一步地,所述预处理模块首先针对待运算数据进行运算模式选择,对于单精度浮点三角函数运算,包括正余弦函数及反正切函数,根据指数位与偏移码127的差值对尾数进行移位,转换为1比特符号位,2比特整数位和22比特小数形式的定点数,然后基于三角函数变换的方法对收敛域进行扩展,将[-π,π]区间内的角度映射到[-π/4,π/4];对于单精度浮点乘法、除法及开方运算,根据浮点数运算规则,首先完成指数位的加减,并将尾数表示为1比特符号位,1比特整数位和23比特小数形式的定点数;对于乘法运算,待运算数据转换为定点数后即满足算法收敛域,对于除法运算,需将初值Y0右移一位即满足算法收敛域;对于开方运算,设被开方数为a,初值X0为a+1,Y0为a-1,即满足算法收敛域。
进一步地,所述旋转模块A包括CORDIC旋转计算模块和旋转方向生成模块,CORDIC旋转计算模块根据信号T1&T0&M来选择Z通路在不同坐标系下的旋转角度,并复用迭代单元完成算法的串行流水迭代,旋转方向生成模块用于生成X,Y和Z通路的旋转方向;其中,开方、除法及反正切运算经过模块A运算之后即得出最终运算结果,乘法及正余弦运算经过模块A运算后得出运算中间值,旋转模块B采用旋转方向并行预测方法对运算中间值进行并行迭代运算得到最终运算结果。
进一步地,所述后处理模块中,对于单精度浮点三角函数运算,对经过迭代运算后的定点数据进行区间恢复,然后检测定点数的前导‘1’的位置,完成指数的规格化,并确定尾数值,将数据的符号位、指数和尾数拼接输出得到单精度浮点三角函数计算结果;对于单精度浮点乘法、除法及开方运算,根据预处理模块得出数据的指数部分,将迭代单元模块得出的定点数据转换为单精度浮点数据格式,得出计算结果。
与现有技术相比,本发明的优点在于:
1、本发明的硬件结构,在预处理模块中利用区间映射方法扩展了CORDIC算法的收敛域并完成了单精度浮点数到定点数的转换。
2、本发明基于CORDIC算法迭代公式的统一性,在旋转模块A中复用了迭代单元,并推导出在不同运算模式下三个通路中旋转方向的表达式;在旋转模块B中基于旋转方向并行预测方法以及运算精度的分析,实现了旋转方向的并行预测,简化了迭代运算公式,通过采用树状加法器结构,将运算并行化,缩短了运算的时钟周期。
3、本发明采用了可重构CORDIC迭代单元模块来适应多种不同运算模式,在保证运算精度的同时,减少了硬件资源的消耗。
4、本发明可用于Chirp Scaling合成孔径雷达成像算法中相位补偿因子的计算,以处理单精度浮点正余弦、开方、乘法、除法等非线性运算,具有低延迟、高精度、硬件开销低的特点。
附图说明
图1为基于CORDIC算法的可重构浮点运算装置总体结构框图;
图2为预处理模块的结构原理示意图;
图3为CORDIC迭代单元模块中旋转单元A的结构原理示意图;
图4为旋转单元A模块中旋转方向的生成结构原理示意图;
图5为CORDIC迭代单元模块中旋转单元B的结构原理示意图;
图6为后处理模块结构原理示意图;
图7为本发明在具体应用实例中可重构浮点运算装置实现结构图;
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
三角函数的计算在圆周坐标系统中实现,在旋转模式下完成正余弦函数的计算,初值为X0=K1,Y0=0,Z0=θ,输出为Xn=cosθ,Yn=sinθ,收敛域为-99.827°≤θ≤99.827°;在向量模式下完成反正切函数的计算,初值设置为Z0=0,输出为Zn=tan-1(Y0/X0),收敛域为-99.827°≤tan-1(Y/X)≤99.827°。
乘法和除法运算在线性坐标系统中实现,在旋转模式下完成乘法运算,初值为Y0=0,输出为Yn=X0/Z0,收敛域为|z0|<1;在向量模式下完成除法运算,初值为Z0=0,输出为Zn=Y0/X0,收敛域为|y0/x0|<1。
开方运算在双曲坐标系统中的向量模式下完成,设被开方数为a,初值为X0=a+1,Y0=a-1,输出为
Figure BDA0001686871580000051
K=0.8281,收敛域为tanh-1(Y0/X0)≤1.1182rad。
如图1所示,基于CORDIC算法的可重构浮点运算装置总体结构框图,可以工作在三种坐标系统,两种旋转模式下,通过2比特信号T1&T0来选择坐标系统,00表示圆周坐标系统,01表示线性坐标系统,10表示双曲坐标系统,1比特信号M来选择旋转方向的判别方式,M=0表示旋转模式,M=1表示向量模式。
一种基于CORDIC算法的可重构浮点运算装置,其包括预处理模块,可重构CORDIC迭代单元模块和后处理模块;
预处理模块,将待运算数据从单精度浮点格式转换为定点格式,并将其映射到收敛域内;
所述待运算数据为IEEE-754标准的单精度浮点格式;其中,CORDIC算法中的X通路的数据表示为:
Figure BDA0001686871580000061
Y通路的数据表示为:
Figure BDA0001686871580000062
Z通路的数据表示为:
Figure BDA0001686871580000063
SX表示X通路数据的符号位,MX表示X通路数据的尾数,EX表示X通路数据的指数;SY表示Y通路数据的符号位,MY表示Y通路数据的尾数,EY表示Y通路数据的指数;SZ表示Z通路数据的符号位,MZ表示Z通路数据的尾数,EZ表示Z通路数据的指数。
所述预处理模块首先针对待运算数据进行运算模式选择,对于单精度浮点三角函数运算,包括正余弦函数及反正切函数,根据指数位与偏移码127的差值对尾数进行移位,转换为1比特符号位,2比特整数位和22比特小数形式的定点数,然后基于三角函数变换的方法对收敛域进行扩展,将[-π,π]区间内的角度映射到[-π/4,π/4];对于单精度浮点乘法、除法及开方运算,根据浮点数运算规则,首先完成指数位的加减,并将尾数表示为1比特符号位,2比特整数位和22比特小数形式的定点数;对于乘法运算,待运算数据转换为定点数后即可满足算法收敛域,对于除法运算,需将初值Y0右移一位即可满足算法收敛域;对于开方运算,设被开方数为a,初值X0为a+1,Y0为a-1,即可满足算法收敛域。
如图2所示,为本发明在具体应用实例中预处理模块的结构原理示意图。
针对不同运算,设计了不同的数据通路,根据T1&T0&M的值来进行数据通路的选择,选择方式如表1所示。
表1预处理模块输出X0,Y0,Z0的选择方式
Figure BDA0001686871580000071
对于三角函数运算,根据指数位与偏移码127的差值对尾数进行移位,转换为1比特符号位,2比特整数位和22比特小数形式的定点数,将转换后的定点数表示为DX,DY,DZ,然后基于数学变换的方法对收敛域进行扩展,将整个圆周划分为5个区间,将[-π,π]区间内的角度映射到[-π/4,π/4],并对不同区间进行编码表示S2&S1&S0,通过表2所示的映射关系将B、C、D、E区间输入的角度或坐标值映射到A区间,设映射后的输出结果分别为NX,NY,NZ
表2不同区间的映射关系
Figure BDA0001686871580000072
对于乘法运算,指数位的运算为EX+EY-127,将尾数位表示为1比特符号位,1比特整数位,23比特小数位的定点数格式作为迭代单元的输入。
对于除法运算,指数位的运算为EY-EX+127,将尾数位表示为1比特符号位,1比特整数位,23比特小数位的定点数格式,在Y通路增加了移位单元,将被除数尾数位MY除以2,即可保证收敛域|Y/X|<1。
对于开方运算,首先判断指数位的奇偶性,若为偶数,直接将指数位除以2,若为奇数,需要将指数位减1之后再除以2,同时,尾数位需要左移一位,设被开方数尾数位为MX=MY,X和Y通路的初值为X0=MX+1,Y0=MY-1。
可重构CORDIC迭代单元模块,由旋转模块A和旋转模块B两部分组成,旋转模块A将收敛域中的定点格式数据进行串行流水迭代运算得到最终运算结果或运算中间值,旋转模块B对运算中间值进行并行迭代运算得到最终运算结果;
所述旋转模块A包括CORDIC旋转计算模块和旋转方向生成模块,CORDIC旋转计算模块根据信号T1&T0&M来选择Z通路在不同坐标系下需要的旋转角度,并复用了迭代单元完成算法的串行流水迭代,旋转方向生成模块用于X,Y和Z通路的旋转方向的生成。
如图3所示,为本发明在具体应用实例中CORDIC迭代单元模块中旋转单元A的结构原理示意图。在旋转单元A模块中使用了两个移位寄存器,三个25-bit加/减法器,三个选择器,信号配置模式及数据通路的选择如表3所示。
表3数据通路的选择
Figure BDA0001686871580000081
如图4所示,为在具体应用实例中CORDIC旋转单元A模块中旋转方向的生成结构原理示意图。X、Y和Z通路旋转方向selx,sely,selz分别由如下三个表达式得出:
selx=(~(T0|T1))∧(M&(~s_bit(yi)))|((~M)&(s_bit(zi))) (1)
sely=(M&(~s_bit(yi)))|((~M)&(s_bit(zi))) (2)
selz=(M&(s_bit(yi)))((~M)&(~s_bit(zi))) (3)
所述表达式(1)、(2)和(3)中,~表示逻辑值取反运算,∧表示两个逻辑值的异或运算,&表示两个逻辑值的与运算,|表示两个逻辑值的或运算。s_bit(yi)表示第i次迭代值yi二进制表示形式的符号位,s_bit(zi)表示第i次迭代值zi二进制表示形式的符号位。符号位为0表示顺时针旋转,即运算加,符号位为1表示逆时针旋转,即运算减。若yi为正数,s_bit(yi)=0;若yi为负数,s_bit(yi)=1;同理,若zi为正数,s_bit(zi)=0;若zi为负数,s_bit(zi)=1。
所述旋转模块B采用旋转方向并行预测方法,并且基于对算法的精度分析简化了迭代运算,将旋转模式下CORDIC算法的13-24级迭代展开后,采用树状加法器结构,实现了并行迭代运算。
如图5所示,为在具体应用实例中CORDIC迭代单元模块中旋转单元B的结构原理示意图。
旋转方向并行预测方法:由于旋转角度θi与对应位置二进制权值2-i近似相等,因此,可以根据输入角度Z0的二进制表示直接推导出各次基本迭代的旋转方向。假设初始输入角度Z0的二进制表示为:Z0=b0.b1b2…bN,其中b0为符号位,bi∈{0,1},即
Figure BDA0001686871580000091
对于线性坐标系统,初始输入角度分解后可以表示为
Figure BDA0001686871580000092
θi=2-i,旋转方向δi∈{-1,1},将二进制值bi∈{0,1}转换为相对应的两极表示σi∈{-1,1}的转换方法如下:
当i=0时,如果Z0为正数,b0=0,σ1=1,反之,如果Z0为负数,b0=1,σ1=-1;当i>0时,如果bi=0,则σi+1=-1,否则,σi+1=1(1表示正方向,-1表示负方向)。
对于圆周坐标系统,
Figure BDA0001686871580000101
其中σi∈{-1,1},θi=tan-1(2-i),由于θi不等于2-i,不能直接进行符号预测,需要进行精度分析。
当迭代索引
Figure BDA0001686871580000102
时,2-ii<2-N,满足精度要求,利用如下的转换方法来进行符号预测,得到后1/2次迭代的旋转方向。设经过前1/2次旋转之后剩余角度为Zj,二进制表示为Zj=b0.b1…bj-1bj…bN,其中b0=b1=…=bj-1,那么第j位到第N位的转换方法为:
如果Zj为正数,即bj-1=0,则σj=1,反之σj=-1;当i>j-1时,如果bi=0,则σi+1=-1,反之σi+1=1。
在本装置中,根据运算精度分析,Z通路数据的低23位为小数位,当移位运算超过24位时,所有的有效位全部被移出,运算将失去意义,因此,第13-24级迭代可以简化为:
Figure BDA0001686871580000103
迭代索引i=0,1,2,…,N(N=23),因此,将13-24级迭代合并,由于过深的逻辑运算会导致整体时钟频率的下降,在本模块中采用树状加法器结构,将后12级迭代分为4级实现,减少了8个时钟周期。
后处理模块,对从旋转模块A或旋转模块B输出的最终运算结果完成定点到单精度浮点的转换。
所述后处理模块中,对于单精度浮点三角函数运算,对经过迭代运算后的定点数据进行区间恢复,然后检测定点数除符号位外的前导‘1’的位置,完成指数的规格化,并确定尾数值,将数据的符号位、指数和尾数拼接输出得到单精度浮点三角函数计算结果;对于单精度浮点乘法、除法及开方运算,根据预处理模块得出数据的指数部分,将可重构迭代单元模块得出的定点数据转换为单精度浮点数据格式,得出计算结果。
如图6所示,为在具体应用实例中后处理模块硬件实现结构图。
所述后处理模块中设置1-bit signal,D=T1∧T0D=0表示三角函数运算,D=1表示其他三种运算。根据在预处理模块中得到的编码信号S2&S1&S0来完成象限的恢复。表4中列出了X,Y和Z通路的数据选择方式。根据输出定点数除符号位之外的首‘1’位置,完成指数位的规格化及尾数位的确定,并将符号位、指数位及尾数位进行拼接,输出最终的浮点数计算结果,最终的输出结果表示为X_result,Y_result,Z_result。
表4不同数据通路的数据选择
Figure BDA0001686871580000111
如图7所示,为在具体应用实例中基于CORDIC算法的可重构浮点运算装置,在迭代单元模块,由于不同运算需要不同的迭代级数,同时,在旋转模式下可以采用优化的CORDIC结构,因此,设计了一种串-并混合结构来适应不同的运算,1-12次迭代均相同,采用串行流水迭代结构,13-24级迭代分为三种形式,为模块I,II,III,对于除法及反正切运算,依然采用模块I的流水结构,在Z通路输出计算结果;对于开方运算,采用模块II来对运算结果进行缩放因子的补偿,然后在X通路直接输出计算结果;对于乘法及正余弦运算,采用模块III中的并行迭代结构,实现旋转方向并行预测,在X通路输出余弦计算结果,在Y通路输出乘法或正弦计算结果,大大提高了运算的速度,减少了硬件资源的消耗。
以上仅是本发明的较佳实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的任何修改,等同替换等,应均包含在本发明的保护范围之内。

Claims (4)

1.一种基于CORDIC算法的可重构浮点运算装置,其特征在于,其包括预处理模块,可重构CORDIC迭代单元模块和后处理模块;
预处理模块,将待运算数据从单精度浮点格式转换为定点格式,并将其映射到收敛域内;
可重构CORDIC迭代单元模块,由旋转模块A和旋转模块B两部分组成,旋转模块A将收敛域中的定点格式数据进行串行流水迭代运算得到最终运算结果或运算中间值,旋转模块B对运算中间值进行并行迭代运算得到最终运算结果;
后处理模块,对从旋转模块A或旋转模块B输出的最终运算结果完成定点到单精度浮点的转换;
所述可重构浮点运算装置设置3比特信号T1&T0&M来进行模式的选择,其中,信号T1&T0用于坐标系统的选择,信号M用于旋转模式的选择;T1&T0=00,01和10分别表示圆周,线性和双曲坐标系统,M=0表示旋转模式,M=1表示向量模式;
所述待运算数据为IEEE-754标准的单精度浮点格式;其中,CORDIC算法中的X通路的数据表示为:
Figure FDA0003796940530000011
Y通路的数据表示为:
Figure FDA0003796940530000012
Z通路的数据表示为:
Figure FDA0003796940530000013
SX表示X通路数据的符号位,MX表示X通路数据的尾数,EX表示X通路数据的指数;SY表示Y通路数据的符号位,MY表示Y通路数据的尾数,EY表示Y通路数据的指数;SZ表示Z通路数据的符号位,MZ表示Z通路数据的尾数,EZ表示Z通路数据的指数;
所述预处理模块首先针对待运算数据进行运算模式选择,对于单精度浮点三角函数运算,包括正余弦函数及反正切函数,根据指数位与偏移码127的差值对尾数进行移位,转换为1比特符号位,2比特整数位和22比特小数形式的定点数,然后基于三角函数变换的方法对收敛域进行扩展,将[-π,π]区间内的角度映射到[-π/4,π/4];对于单精度浮点乘法、除法及开方运算,根据浮点数运算规则,首先完成指数位的加减,并将尾数表示为1比特符号位,1比特整数位和23比特小数形式的定点数;对于乘法运算,待运算数据转换为定点数后即满足算法收敛域,对于除法运算,需将初值Y0右移一位即满足算法收敛域;对于开方运算,设被开方数为a,初值X0为a+1,Y0为a-1,即满足算法收敛域。
2.如权利要求1所述的一种基于CORDIC算法的可重构浮点运算装置,其特征在于,所述旋转模块A包括CORDIC旋转计算模块和旋转方向生成模块,CORDIC旋转计算模块根据信号T1&T0&M来选择Z通路在不同坐标系下的旋转角度,并复用迭代单元完成算法的串行流水迭代,旋转方向生成模块用于生成X,Y和Z通路的旋转方向;其中,开方、除法及反正切运算经过模块A运算之后即得出最终运算结果,乘法及正余弦运算经过模块A运算后得出运算中间值,旋转模块B采用旋转方向并行预测方法对运算中间值进行并行迭代运算得到最终运算结果。
3.如权利要求2所述的一种基于CORDIC算法的可重构浮点运算装置,其特征在于,所述X,Y和Z通路的旋转方向由如下表达式得出:
selx=(~(T0|T1))∧(M&(~s_bit(yi)))|((~M)&(s_bit(zi))) (1)
sely=(M&(~s_bit(yi)))|((~M)&(s_bit(zi))) (2)
selz=(M&(s_bit(yi)))|((~M)&(~s_bit(zi))) (3)
其中,selx表示X通路的旋转方向,sely表示Y通路的旋转方向,selz表示Z通路的旋转方向,~表示逻辑值取反运算,∧表示两个逻辑值的异或运算,&表示两个逻辑值的与运算,|表示两个逻辑值的或运算;s_bit(yi)表示第i次迭代值yi二进制表示形式的符号位,s_bit(zi)表示第i次迭代值zi二进制表示形式的符号位。
4.如权利要求2所述的一种基于CORDIC算法的可重构浮点运算装置,其特征在于,所述后处理模块中,对于单精度浮点三角函数运算,对经过迭代运算后的定点数据进行区间恢复,然后检测定点数的前导‘1’的位置,完成指数的规格化,并确定尾数值,将数据的符号位、指数和尾数拼接输出得到单精度浮点三角函数计算结果;对于单精度浮点乘法、除法及开方运算,根据预处理模块得出数据的指数部分,将迭代单元模块得出的定点数据转换为单精度浮点数据格式,得出计算结果。
CN201810574109.4A 2018-06-06 2018-06-06 一种基于cordic算法的可重构浮点运算装置 Active CN109062540B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810574109.4A CN109062540B (zh) 2018-06-06 2018-06-06 一种基于cordic算法的可重构浮点运算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810574109.4A CN109062540B (zh) 2018-06-06 2018-06-06 一种基于cordic算法的可重构浮点运算装置

Publications (2)

Publication Number Publication Date
CN109062540A CN109062540A (zh) 2018-12-21
CN109062540B true CN109062540B (zh) 2022-11-25

Family

ID=64820491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810574109.4A Active CN109062540B (zh) 2018-06-06 2018-06-06 一种基于cordic算法的可重构浮点运算装置

Country Status (1)

Country Link
CN (1) CN109062540B (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11437032B2 (en) 2017-09-29 2022-09-06 Shanghai Cambricon Information Technology Co., Ltd Image processing apparatus and method
KR102148110B1 (ko) 2018-02-13 2020-08-25 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 계산 장치 및 방법
US11709672B2 (en) 2018-02-13 2023-07-25 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11630666B2 (en) 2018-02-13 2023-04-18 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
CN110162162B (zh) 2018-02-14 2023-08-18 上海寒武纪信息科技有限公司 处理器的控制装置、方法及设备
EP3624020A4 (en) 2018-05-18 2021-05-05 Shanghai Cambricon Information Technology Co., Ltd CALCULATION PROCEDURES AND RELATED PRODUCTS
JP7053891B2 (ja) 2018-06-27 2022-04-12 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッド オンチップコードのブレークポイントによるデバッグ方法、オンチッププロセッサ及びブレークポイントによるチップデバッグシステム
WO2020062392A1 (zh) 2018-09-28 2020-04-02 上海寒武纪信息科技有限公司 信号处理装置、信号处理方法及相关产品
CN111383638A (zh) 2018-12-28 2020-07-07 上海寒武纪信息科技有限公司 信号处理装置、信号处理方法及相关产品
CN109739470B (zh) * 2018-12-30 2023-06-13 南京大学 一种基于2型双曲cordic任意指数函数的计算系统
CN111831543A (zh) 2019-04-18 2020-10-27 中科寒武纪科技股份有限公司 一种数据处理方法及相关产品
US11847554B2 (en) 2019-04-18 2023-12-19 Cambricon Technologies Corporation Limited Data processing method and related products
CN110197576B (zh) * 2019-05-30 2021-04-20 北京理工大学 一种大规模实时人体动作采集重构系统
CN112085184B (zh) 2019-06-12 2024-03-29 上海寒武纪信息科技有限公司 量化参数调整方法、装置及相关产品
US11676028B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
CN112434781A (zh) * 2019-08-26 2021-03-02 上海寒武纪信息科技有限公司 用于处理数据的方法、装置以及相关产品
CN111078187B (zh) * 2019-11-28 2021-05-28 南京大学 一种针对单精度浮点数的任意次方根求解方法及其求解器
CN111443893A (zh) * 2020-04-28 2020-07-24 南京大学 一种基于cordic算法的n次根计算装置及方法
CN111752532B (zh) * 2020-06-24 2021-03-26 上海擎昆信息科技有限公司 一种高精度实现32位整数除法的方法、系统及装置
CN111813372B (zh) * 2020-07-10 2021-05-18 上海擎昆信息科技有限公司 一种高精度低时延实现32位整数除法的方法及装置
CN112486455B (zh) * 2020-11-27 2024-03-19 南京大学 一种基于cordic方法求复数的n次开根号的硬件计算系统及其计算方法
CN112860220B (zh) * 2021-02-09 2023-03-24 南方科技大学 一种适用于多精度计算的可重构浮点乘加运算单元及方法
CN113377333B (zh) * 2021-05-31 2023-08-22 南京大学 基于抛物线综合法求复数的n次开根号的硬件计算系统和方法
CN113743042B (zh) * 2021-07-26 2023-11-10 中山大学 一种基于高层次综合工具的坐标旋转数字计算方法及系统
CN114422116B (zh) * 2021-12-14 2023-11-28 阿里巴巴(中国)有限公司 数据处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0632369A1 (en) * 1993-06-29 1995-01-04 Stichting voor de Technische Wetenschappen CORDIC algorithms and architectures
CN102542336A (zh) * 2011-12-23 2012-07-04 西安奇维科技股份有限公司 一种基于fpga 的三角函数实现方法
CN103150137A (zh) * 2013-03-01 2013-06-12 北京理工大学 一种覆盖全圆周角度的单精度浮点三角函数的实现方法
CN103677738A (zh) * 2013-09-26 2014-03-26 中国人民解放军国防科学技术大学 基于混合模式cordic算法的低延时基本超越函数实现方法及装置
CN106155627A (zh) * 2016-06-30 2016-11-23 中国人民解放军国防科学技术大学 基于t_cordic算法的低开销迭代三角函数装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0632369A1 (en) * 1993-06-29 1995-01-04 Stichting voor de Technische Wetenschappen CORDIC algorithms and architectures
CN102542336A (zh) * 2011-12-23 2012-07-04 西安奇维科技股份有限公司 一种基于fpga 的三角函数实现方法
CN103150137A (zh) * 2013-03-01 2013-06-12 北京理工大学 一种覆盖全圆周角度的单精度浮点三角函数的实现方法
CN103677738A (zh) * 2013-09-26 2014-03-26 中国人民解放军国防科学技术大学 基于混合模式cordic算法的低延时基本超越函数实现方法及装置
CN106155627A (zh) * 2016-06-30 2016-11-23 中国人民解放军国防科学技术大学 基于t_cordic算法的低开销迭代三角函数装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CORDIC算法的优化及实现;刘小宁 等;《北京理工大学学报》;20151130;第35卷(第11期);1164-1169 *
Implementation of Single-Precision Floating-Point Trigonometric Functions with Small Area;chen he 等;《2012 internation Conference on Control Engineering and Communication Technology》;20121207;589-592 *

Also Published As

Publication number Publication date
CN109062540A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
CN109062540B (zh) 一种基于cordic算法的可重构浮点运算装置
Mohan et al. Residue Number Systems
CN102073472B (zh) 一种三角函数cordic迭代运算协处理器及运算处理方法
CN109739470B (zh) 一种基于2型双曲cordic任意指数函数的计算系统
CN103677737B (zh) 基于进位节省加法器的低延时cordic三角函数实现的方法及装置
CN106202890A (zh) 基于CORDIC和Taylor算法相结合的全流水浮点三角函数装置
CN108196822A (zh) 一种双精度浮点开方运算的方法及系统
Linhardt et al. Digit-by-digit transcendental-function computation
CN112241291A (zh) 用于指数函数实施的浮点单元
CN110222305B (zh) 一种基于双曲cordic的对数函数计算系统及方法
CN110187866B (zh) 一种基于双曲cordic的对数乘法计算系统及方法
US9151842B2 (en) Method and apparatus for time of flight sensor 2-dimensional and 3-dimensional map generation
CN107102841A (zh) 一种坐标变换并行计算方法和装置
CN104536720B (zh) 基于fpga的待测角三角函数值的测算方法及系统
CN111666065B (zh) 基于cordic的三角函数流水线迭代求解方法和装置
CN108228135B (zh) 一种运算多种超越函数的装置
CN111984226A (zh) 一种基于双曲cordic的立方根求解装置及求解方法
CN107423026A (zh) 一种正余弦函数计算的实现方法及装置
CN107657078B (zh) 基于fpga的超声相控阵浮点聚焦发射实现方法
CN111666064B (zh) 基于cordic的三角函数循环迭代求解方法和装置
CN115658008A (zh) 一种资源复用型超越函数运算实现方法
Sasidharan et al. VHDL Implementation of IEEE 754 floating point unit
Green Faster math functions
CN112783471A (zh) 基于cordic算法的正余弦、反正切函数运算的装置及方法
Vazquez et al. Redundant floating-point decimal CORDIC algorithm

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
GR01 Patent grant
GR01 Patent grant