Review Article

CORDIC Architectures: A Survey

Table 1

Realization of some functions using CORDIC Algorithm.

m Mode Initialization Output

1 (Circular) Rotationx0=xinxn=Km·(xincosθ-yinsinθ)
y0=yinyn=Km·(yincosθ+xinsinθ)
z0=θzn=0

x0=1/Kmxn=cosθ
y0=0yn=sinθ
z0=θzn=0

x0=1xn=1+a2
y0=ayn=sinθ
z0=π/2zn=0

1 (Circular) Vectoringx0=xinxn=Km·sign(x0)·(xin2+yin2)1/2
y0=yinyn=0
z0=0zn=tan-1(yin/xin)

0 (Linear) Rotationx0=xinxn=xin
y0=yinyn=yin+xin·z
z0=zzn=0

0 (Linear) Vectoringx0=xinxn=xin
y0=yinyn=0
z0=zzn=z+yin/xin

-1  (Hyperbolic) Rotationx0=xinxn=Km·(xincoshθ+yinsinhθ)
y0=yinyn=Km·(yincoshθ+xinsinhθ)
z0=θzn=0

x0=1/Kmxn=coshθ
y0=0,  z0=θzn=0,  yn=sinhθ

x0=axn=aeθ
y0=a,  z0=θzn=0,  yn=aeθ

-1  (Hyperbolic) Vectoringx0=xinxn=Km·sign(x0)·(xin2-yin2)1/2
y0=yinyn=0,  zn=θ+tanh-1(yin/xin)

x0=axn=a2-1
y0=0yn=0,  zn=coth-1a

x0=a+1xn=2a
y0=a-1yn=0,  zn=0.5ln(a)

x0=a+bxn=2ab
y0=a-byn=0,  zn=0.5ln(a/b)