cordic-based processor ece 734 project presentation 05/08/02 jui-ning cheng
TRANSCRIPT
![Page 1: CORDIC-Based Processor ECE 734 Project Presentation 05/08/02 Jui-Ning Cheng](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697c0071a28abf838cc5d72/html5/thumbnails/1.jpg)
CORDIC-Based Processor
ECE 734
Project Presentation
05/08/02
Jui-Ning Cheng
![Page 2: CORDIC-Based Processor ECE 734 Project Presentation 05/08/02 Jui-Ning Cheng](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697c0071a28abf838cc5d72/html5/thumbnails/2.jpg)
Motivation
MAC unit computing is not efficient enough when the DSP algorithm includes more complicated functions, such as trigonometric, exponential, and logarithm.
CORDIC (COordinate Rotation DIgital Computer) is an iterative algorithm to perform vector rotations by arbitrary angles using only shifts and adds.
![Page 3: CORDIC-Based Processor ECE 734 Project Presentation 05/08/02 Jui-Ning Cheng](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697c0071a28abf838cc5d72/html5/thumbnails/3.jpg)
Algorithm
The basic CORDIC iteration equations at the i-th step are:
m: Coordinate parameter (1, 0, -1) i: Rotation direction (Rotation/Vectoring mode)
S(m,i): Shift sequence m,i: Rotation angle
Km,i: Scaling factor
i
imSiii ymxx ,
1 2
i
imSiii xyy ,
1 2
imiii zz ,1
![Page 4: CORDIC-Based Processor ECE 734 Project Presentation 05/08/02 Jui-Ning Cheng](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697c0071a28abf838cc5d72/html5/thumbnails/4.jpg)
Architecture
BarrelShifters
X Reg x(n)
BarrelShifters
MUX MUX
+ / -
x
x'
y(n) Y Reg
MUX MUX
+ / -
y
y'
i i
+ / -
Z Reg
z(i+1)
z(i)
i
a(n-1)..a(1)a(0)
generator
sign(xi)sign(yi)sign(zi)
rotation
vectoring
i
![Page 5: CORDIC-Based Processor ECE 734 Project Presentation 05/08/02 Jui-Ning Cheng](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697c0071a28abf838cc5d72/html5/thumbnails/5.jpg)
Pipelined Structure
Complexity is increased : Arithmetic operators are mapped into a dedicated unit, and also the additional registers between each stage.
Maximum throughput: Clock drives only one CORDIC operation per cycle.
BasicCORDICProcessor
REG
BasicCORDICProcessor
REG
BasicCORDICProcessor
REG
x
y
x'
y'
![Page 6: CORDIC-Based Processor ECE 734 Project Presentation 05/08/02 Jui-Ning Cheng](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697c0071a28abf838cc5d72/html5/thumbnails/6.jpg)
Implementation Examples
We classify these particular DSP function into three categories:
(a)Linear transformations: discrete Fourier transform, Chirp-Z transform, discrete Hartley transform, and fast Fourier transform.
(b)Digital filters: orthogonal digital filters, and adaptive lattice filters.
(c)Matrix based digital signal processing algorithms: QR factorization, with applications to Kalman filtering, eigenvalue and singular value decompositions.
This project will exam one example in each category to illustrate the utilization of CORDIC-based processor array.