Chinna Thambi 2014
Chinna Thambi 2014
Abstract²This paper presents the fast and area efficient The organization of the paper is as follows: Section II
CORDIC (Coordinate Rotation DIgital Computer)algorithm gives basics of CORDIC algorithm. The general unrolled
for sine and cosine wave generation. The concepts of CORDIC algorithm is presented in Section III; section IV
pipelining and multiplexer based CORDIC algorithm is used explains the Multiplexer based CORDIC; section V
todecrease the critical path delay and reducing the area describes the Unrolled CORDIC with pipelining; section
respectively. A six stage CORDIC is implemented by two VIpresents pipelined Multiplexer based unrolled CORDIC.
schemes followed by four methods, unrolled CORDIC and Section VII presents the results and discussion followed by
multiplexer based CORDIC with and without pipelining. The conclusion in Section VIII.
pipelining is included in four stages(excluding first and last
stage). An 8-bit CORDIC algorithm for generating sine wave II. BASICS OF CORDIC ALGORITHM
and cosine wave is designed, implementedand compared by
all four methods on Xilinx Spartan3E (XC3S250E). The CORDIC algorithm is one of the iterative method
toperform vector rotations for arbitrary angles using shifts
Keywords²CORDIC algorithm, FPGA, Multiplexer, and adds. Planar rotation for any vector A of (Xj, Yj) can
Pipelining, Unrolled CORDIC, Sine/Cosine EHGH¿QHGLQPDWUL[IRUPDV
݆ܺ ܿݏș െ݊݅ݏș ܺ݅
I. INTRODUCTION ൨=ቂ ቃ ቂ ቃ(1)
ܻ݆ ݊݅ݏș ܿݏș ܻ݅
The FPGA platform is much better choice for CORDIC
algorithm implementation since it combines the flexibility With a small rearrangement, the stepwise rotation is
of microprocessors as well as the speed and computational performed by
power of ASICs. The CORDIC (COordinate Rotation ܺାଵ ͳ െ݊ܽݐș୬ ܺ݊
DIgital Computer) algorithm uses planar rotation and ൨=ܿݏș୬ ൨ ቂ ቃ(2)
ܻାଵ ݊ܽݐș୬ ͳ ܻ݊
vectoring to compute elementary trigonometric functions
when assigned with proper initial conditions. It is one of the The angle parameter for each step will be,
iterative algorithm explored by Jack E. Volder [1] and later ଵ
clearly refined by Walther [2] and others. CORDIC ș = arctanቀ ቁ (3)
ଶ
algorithm is very popular since it uses only shifts and adds
5RWDWLRQDQJOHșLVUHSUHVHQWHGDV
to perform number of functions including certain
trigonometric, vector rotations, hyperbolic, logarithmic σୀ ݏ ș ൌ ș(4)
functions. In communication applications it is widely used
to implement universal modulator [3], demodulator [4]. ZKHUH6Q ^í ` GHSHQGV RQ =L 5HZULWLQJ WKH
CORDIC algorithm is used in various applications that equation for rotation,
includescalculators, mathematical coprocessor units, clock ܺାଵ ͳ െܵ ʹି
recovery circuits, waveform generators. ൨=ܿݏș୬ ൨ (5)
ܻାଵ ܵ ʹି ͳ
There are two different modes of CORDIC algorithm as &RVșQFDQEHFRQVLGHUHGDVDFRQVWDQW.DQGFRPSXWHG
rotation and vector mode. In the rotation mode, CORDIC is at the end and for simplicity of hardware, multiplications
used for converting a vector from polar form to rectangular are replaced with shift operations. Residue Z which gives
form and vector mode makes the reverse operation. the angle difference between the expected rotation and the
The objective of this paper is to design, analyze and iterative rotations is defined as:
compare how an FPGA based unrolled CORDIC performs ଵ
when multiplexers are used instead of shifters and adders ܼାଵ ൌ ș െ σ୬୧ୀ ș ൌ ș െ σ୬୧ୀ
ቀ ቁ(6)
ଶ
with and without pipelining[5-8]. Rotation parameter,
228
2014 International Conference on Communication and Network Technologies (ICCNT)
െͳ݂ܼ݅ ൏ Ͳ
ܵ =൜ (7)
ͳ݂ܼ݅ Ͳ
With proper selection of initial values of Xi, Yi and Zi,
the required function is performed using (5-7) equations.
In rotation mode, we should make Z to zero. For
generating sine and cosine values, the initial values should
EH;L <L DQG=L ș
229
2014 International Conference on Communication and Network Technologies (ICCNT)
భ భ
ܺଶ ൌ ܺଵ െ ൌ ൌ ͵ͳ (11)
ଶ ଶ
230
2014 International Conference on Communication and Network Technologies (ICCNT)
due to N iterations. But after the (N+1) clock cycles, output
will appear for each clock cycle.
231
2014 International Conference on Communication and Network Technologies (ICCNT)
Thus pipelined unrolled CORDIC provides maximum [9] Deprettere, E.; Dewilde, P.; Udo, R.;, "Pipelined cordic architectures
operating speed as the critical path delay is reduced than the for fast VLSI filtering and array processing," Acoustics, Speech, and
Signal Processing, IEEE International Conference on ICASSP '84. ,
unrolled CORDIC without pipelining with the cost of area. vol.9, no., pp. 250- 253, Mar 1984.
Multiplexer based CORDIC provides more area reduction [10] U. Meyer-%DHVH ³'LJLWDO 6LJQDO 3URFHVVLQJ ZLWK )LHOG
but comparatively less speed of operation. 3URJUDPPDEOH*DWH$UUD\V´UG(GLWLRQ%HUOLQ6SULQJHU
VIII. CONCLUSION
In this paper, detailed analysis of four schemes of
CORDIC for sine and cosine wave generation is made by
comparing the results obtained from Xilinx FPGA
implementation. Due to the changes we made in initial
values as said in section III, we got only 2.42% error in
computing sine and cosine values which vary from -100 to
100. Among the four methods, multiplexer based CORDIC
with pipelining is much better as it has good tradeoff
between area and critical path delay. From the results, as
said in the above sections, the multiplexer based CORDIC
reduces both area and speed of operation while pipelining
increases both area and speed of operation. Hence based on
the particular application, one of the four scheme is
selected.
REFERENCES
[1] -(9ROGHU³7KH&25',& 7ULJRQRPHWULF&RPSXWLQJ7HFKQLTXH´
IRE Transactions on Electronic computer, vol. EC-8, pp. 330-334,
1959.
[2] - :DOWKHU ³D XQLILHG DOJRULWKP IRU HOHPHQWDU\ IXQFWLRQV´ SURF
Spring joint comp. con & vol.38, pp.379-385, 1971.
[3] Vankka, J.; Kosunen, M.; Hubach, J.; Halonen, K.; , "A CORDIC-
based multicarri QAM modulator," Global Telecommunications
&RQIHUHQFH */2%(&20¶ YRO$QRSS -
177vol.1a,1999 .
[4] Chen, A.; McDanell, R.; Boytim, M.; Pogue, R.;, "Modified
CORDIC demodulator implementation for digital IF-sampled
receiver," Global Telecommunications Conference, 1995.
GLOBECOM '95., IEEE , vol.2, no., pp.1450-1454 vol.2, 14-16
Nov 1995.
[5] 91DUHVK %9HQNDWDUDPDQL DQG 55DMD ³$Q DUHD HIILFLHQW
PXOWLSOH[HU EDVHG &25',&´ International Conference on
Computer Communication and Informatics (ICCCI -2013), Jan. 04 ±
06, 2013, Coimbatore
[6] 3HWHU 1LOVVRQ ³FRPSOH[LW\ UHGXFWLRQ LQ XQUROOHG &25',&
DUFKLWHFWXUHV³(OHFWURQLFVFLUFXLWVDQGV\VWHPV,&(&6
pp.868-871.
[7] Nilsson, P ³&RPSOH[LW\ UHGXFWLRQV LQ XQUROOHG &25',&
DUFKLWHFWXUHV´ (OHFWURQLFV &LUFXLWV DQG 6\VWHPV ,&(&6
2009. 16th IEEE International Conference on 13-16 Dec. 2009,pp
868 ± 871
[8] 1DYHHQ .XPDU $PDQGHHS 6LQJK 6DSSDO ´&RRUGLQDWH 5RWDWLRQ
Digital ComputeU $OJRULWKP 'HVLJQ DQG $UFKLWHFWXUHV´ ,-$&6$
International Journal of Advanced Computer Science and
Applications, Vol. 2, No. 4, 2011
232