Escolar Documentos
Profissional Documentos
Cultura Documentos
1
DA is a bit-serial technique to greatly reduce
resource requirements for the dot product
calculation
2
In signal processing the most common
operation is the dot product
3
It turns out that the dot product is used
extensively in DSP (FIR, FFT, etc)
4
Simple example: smoothing data via DSP (low-pass
filter)
K N 1
n
y Ak bk 0 bkn 2
k 1 n 1
6
Expand the summation:
K N 1
K n
y Ak (bk 0 ) Ak bkn 2
k 1 n 1 k 1
The x inputs can then be used to address the ROM directly: LUT!
7
Non-DA Hardware Implementation
Let A C1 , C2 , C3 , C4 x A, B, C, D ( K 4)
8
We said this is bit-serial technique, so how can we
perform multiplication?
Shift right by 1
AND with 1 parallel
and 1 serial input
Example
A Multiplication
x
x = 1011
A = 1011001
Result register 1 1011001
0 0000000
Here, x is 4-bit input and A is 8-bit constant 1 1011001
1 +1011001
10010000101
9
So, now we substitute the scaling accumulator
into our original design. Getting closer...
K
y Ak xk
k 0
10
Lets rearrange the hardware to match our expanded eqn:
K N 1
K n
y Ak (bk 0 ) Ak bkn 2
k 1 n 1 k 1
11
Now recall that we had the clever idea to use pre-
computed sums in a LUT for the bitwise addition
Address Data
0000 0
0001 C0
0010 C1
0011 C0+C1
... ...
1110 C0+C1+C2
1111 C0+C1+C2+C3
12
K N 1
K
y Ak (bk 0 ) Ak bkn 2n
k 1 n 1 k 1
We need to accommodate the negative term, so we add
one more address line to the LUT called Ts. ROM size now
2K+1
We also need this bit to know when the final result is ready
Address Data
For all Ts = 1 the ROM contains the 10000 0
negative of the appropriate sum 10001 -C0
11111 -(C0+C1+C2+C3)13
This is an example of K=4
DA dot-product hardware
14
Computes N-bit dot product in N cycles
15
Bit-serial means N-bit dot product requires N
cycles... Slower than parallel?
16
We can reduce the ROM size to 2K with some tricks
17
Speed determined by serial nature of input 1 BAAT
We can expand the HW to do multi-bit at a time
Shift accumulator
feedback by 2
18
DA lends itself easily to DSP because of its easy
application to the dot product
19
DA is a very efficient means of mechanizing
the dot product
20
Application of Distributed Arithmetic to Digital Signal Processing: A Tutorial
Review. White, Stanley. IEEE ASSP Magazine July 1989
(I pulled most of the basic talk info from here)
21