cordic-based processor ece 734 project presentation 05/08/02 jui-ning cheng

6
CORDIC-Based Processor ECE 734 Project Presentation 05/08/02 Jui-Ning Cheng

Upload: elfreda-burns

Post on 29-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CORDIC-Based Processor ECE 734 Project Presentation 05/08/02 Jui-Ning Cheng

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

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

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

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

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

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.