9 Processing Elements Design
9 Processing Elements Design
Elements Design
Shao-Yi Chien
1
Introduction
Implementation of basic arithmetic operations
Number systems
Conventional number systems
Redundant number systems
Residue number systems
Arithmetic
Bit-parallel arithmetic
Bit-serial arithmetic
Serial-parallel arithmetic
Division
Distributed arithmetic
CORDIC
Range
[-1, 1-Q]
The most widely used representation
Range
[-1,1-Q]
The sequence of digits is equal to the two’s
complement representation, except for the
sign bit
DSP in VLSI Design Shao-Yi Chien 7
Redundant Number Systems
(1/2)
Redundant: one number has more than one
representation
Advantages
Simply and speed up certain arithmetic operation
Addition and subtraction can be performed without
carry (barrow) paths
Disadvantages
Increase the complexity for other operations, such as
zero detection, sign detection, and sign conversion
ci 0 1 0 0 -1 0 1 -1
zi 0 -1 1 -1 1 0 0 0
si=zi+ci+1
DSP in VLSI Design Shao-Yi Chien 12
Signed-Digit Code (4/4)
(0100)SDC=(4)10
FA FA FA FA
c3 c2 s3 c1 s2 c0 s1 s0
S0 A B
S1 ( A B )
C0 A B
C1 A B
Disadvantages
S/PP/S interface
Complicated clocking scheme
Addition Subtraction
Can be
implemented
with a half adder
Critical path
Critical path
Fixed coefficient
Put Fk in ROM
DA can be
implemented with a
ROM and a shift-
accumulator
The computation
time: Wd cycles
Word length of
Data input from ROM: WROM WC log 2 ( N )
LSB to MSB in
bit-serial
W ROM
Clock cycle
NCL=max{WROM, W d}
Complement
CORDIC I
CORDIC II
B-58 Supersonic Bomber
(x, y)
Target: i am (i)
i 0
i-th elementary rotation angle is defined by
2 s ( 0 ,i ) m 0 Linear coordinate
am (i )
1
tan 1 m 2 s ( m,i )
tan 1 2 s (1.i ) m 1 Circular coordinate
m tanh 1 2 s ( 1,i ) m 1 Hyperbolic coordinate
norm of a vector x y is x 2 my 2
T
v(3)
v(3)
v(i)=[x(i) y(i)]T
x2+y2=1 v(2)
v(i)=[x(i) y(i)]T
v(1)
v(0)
x2-y2=1
y=-x
Summary
sign of z (i) Vector rotation mode
i
sign of x(i) y (i ) Angle accumulation mode
K m (n) p 1
q 1
Project of factors 1 Q
(1 q 2 q ) q
i
K m (n) q 1
DSP in VLSI Design Shao-Yi Chien 94
Basic CORDIC Processor (1/3)
x(i) s(m,i) y(i)
a(n-1)
X-Reg X-Reg Y-Reg Y-Reg .
.
a(1) z-Reg
a(0)
Barrel Barrel
Shifter Shifter
z(i)
i +/-
MUX MUX MUX MUX
z(i+1)
+/- +/-
x(i+1) i y(i+1)
Barrel Barrel
x(i 1) 1 i 2 s ( m,i ) x(i)
y(i 1) s ( m,i )
Shifter Shifter
i 2 1 y(i)
+/- +/-
x(i+1) i y(i+1)
p
i p
x(i) ip or iq y(i)
I: 2
K m (n) p 1
Q
1
(1 q 2 q )
i
X-Reg X-Reg Y-Reg Y-Reg II:
K m (n) q 1
Pipelined
x(0) CORDIC CORDIC
... CORDIC xf
Processor D Processor D D Processor
y(0) (1) (2) ... (n+s) yf
xi(m)
Vector
Rotation
... Vector
Rotation
... Vector
Rotation xi(m)
Buffer Buffer