欢迎来到天天文库
浏览记录
ID:38110868
大小:90.50 KB
页数:3页
时间:2019-05-25
《一种快速迭代的坐标旋转机结构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2002年第8期微电子学与计算机11一种快速迭代的坐标旋转机结构AnFastIterativeCORDICArchitecture西安微电子技术研究所梁政沈绪榜(西安710054)摘要:最简单超越函数硬件实现方法是基于移位加的坐标旋转机算法CORDIC,这种方法的结构简单规则,能以固定结构实现多种超越函数的计算。文章介绍了这种算法的工作方式和具体应用,引入冗余数计算以减少单次迭代的延迟。同时讨论了冗余计算结构所需的尺度因子补偿,并提出了一种减小迭代次数的混合基结构。关键词:计算机算术,初等函数,坐标旋转机1引
2、言∞表2。在圆坐标中,常系数K=∏√1+2-2n。计算三FPU中初等函数最常用的实现方法是多项式n=0迭代和移位加迭代。CORDIC算法迭代收敛时无需角函数时,可取迭代初始值x0=1/K,y0=0,z0=θ。乘法,占用面积小,并且逻辑实现时结构规则,仅使∞双曲坐标的常系数为K'=∏√1-2-2σ(i),如果需用单一的结构,即可完成了多种核心函数的近似,n=0具有广泛的应用前景。计算双曲函数sinh(θ)与cosh(θ),则迭代初始值为但CORDIC算法是线性按位收敛,关于这种算xx可由coshx与1=1/K'
3、,y1=0,z1=θ;从而函数e法已有的应用仅限于计算器芯片以及INTEL80X87sinhx获得。如要计算lnx,可作如下变换:系列协处理器。为了扩展CORDIC在高速系统中的-1x-1ln(x)=2tanh()(2)应用,本文在其迭代中引入了冗余数计算,通过减x+1小单次迭代的延迟来减小总延迟,同时对这种快速在CORDIC中,还可以完成乘法、除法和平方根算法的结构作了一定改进,可以明显减小总迭代次的实现;但CORDIC收敛速度较慢;不如应用数,提高初等函数计算速度。BOOTH乘法和SRT算法。CORDIC
4、算法不是最快速的计算初等函数的方2坐标旋转机CORDIC算法法,但其优点是以简单的结构和操作实现绝大多数CORDIC算法最早由VOLDERA提出,它属于初等函数的迭代逼近,并且有利于硬件的实现。非还原Nonrestoring算法。Walther将CORDIC算法表2CORDIC算法中σ(n)的取值拓展至双曲坐标,从而能够计算指数函数和对数函圆坐标σ(n)=n数。通用CORDIC算法迭代公式为:直线坐标σ(n)=nσ(n)=n-k,-σ(n)双曲坐标ìxn+1=xn-mdnyn2ç其中k为满足3k+1+2k-1
5、≤2n的最大整数-σ(n)(1)íyn+1=yn+dnxn2çîzn+1=zn-eσ(n)3冗余迭代计算式(1)中dn,m,en的取值见表1,σ(n)的取值见CORDIC算法中基本操作为加法与移位,其中表1CORDIC算法中的各种计算模式坐标类型mekdn=sign(zn)旋转模式dn=-sign(yn)矢量模式x√2+y2xn→Kx00n→K(x0cosz0-y0sinz0)圆坐标1arctan(2-k)yn→K(y0cosz0+x0sinz0)yn→0y0zn→0zn→z0-arctanx0xn→x0xn
6、→x0直线坐标02-kyn→0yn→y0+x0z0y0zn→0zn→z0-x0x√2+y2xn→K'x11n→K'(x1coshz1+ysinhz1)双曲坐标-1tanh-12-kyn→K'(y1coshz1+xsinhz1)yn→0y1zn→0zn→z1-tanh-1x1收稿日期2002-02-2612微电子学与计算机2002年第8期加法器时延最大。为减小延迟,迭代中可采用冗余4混合基CORDIC数(进位存储数CarrySaveNumber,或带符号数位数由式(5)中可以看到,xn与yn的冗余数计算由Sig
7、nedDigitNumber)表示中间结果;这样,在迭代中三个操作数构成,可由(6,2)CSA加法器实现;当出现的加法操作可以由冗余加法器完成,没有进位i>(n+1)/2后,n位迭代的尺度因子Knew(n)的计延迟。算值在工作精度范围内不受影响。所以当迭代序数但dn的选择需确定冗余数符号,仍然无法回避i>(n+1)/2后,双旋转迭代计算可化简为与非冗可能出现的全长度进位延迟。为了减小这种进位延余时的迭代算法相同。在结构设计时,前(i+1)/2迟,还必须对方向因子引入冗余,使di=0,1外,还次迭代计算采用双旋
8、转迭代公式,而后(i+1)/2次允许di=-1。限于篇幅,本文直接给出方向因子选迭代采用非冗余迭代。择函数。至此所讨论快速移位加算法只能减小单次迭3.1符号数位数实现方式代的延迟,迭代的总次数依然为工作精度的位数。假设以基2符号数位表征z*n还可通过增加基值的方法,减少CORDIC所需迭代n,且zn为2zn自小数点后第一位的截断值。因
9、z*n次数,但相应地引入了两个新问题:一个是迭代中n-2zn
10、≤
此文档下载收益归作者所有