convolution circuits synthesis perkowski. fir-filter like structure b4b3 b2b1 +++ a4000 a4*b4

28
Convolution circuits synthesis Perkowski

Upload: junior-dexter

Post on 14-Dec-2015

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

Convolution circuits synthesis

Perkowski

Page 2: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

FIR-filter like structure

b4 b3 b2 b1

++ +

a4 0 0 0

a4*b4

Page 3: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

Think what you can do in all possible ways with two vectors of items (numbers)?

• 1. Dot product• 2. Convolution (polynomial multiplication)• 3. Cartesian Product• 4. Kronecker Product• 5. Other?

Think what you can do in all possible ways with two matrices of items (numbers)?

Page 4: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

Convolution• Perhaps the most important operation on data.

• Not related to operators that operate on items.

• It is a pattern of moving data and operating on them

• Although first systolic processors were not for convolution, it is the standard and common object of systolic, cellular and parallel design of algorithms and hardware.

• Every image processing project such as Hadamard, Fourier, Hough or other transform includes convolution – like circuit/system design in one way or another.

• This part of design is truly creative.

Page 5: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

I have two vectors A=(a1,a2,a3,a4) and B=(b1,b2,b3,b4)

b4 b3 b2 b1

++ +

a4 0 0

a4*b4

a3

a3*b4+a4b3

Page 6: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

a3 a4 0

a4*b4

a2

a3*b4+a4b3 a4*b2+a3*b3+a2*b4

Page 7: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

a2 a3 a4

a4*b4

a1

a3*b4+a4b3 a4*b2+a3*b3+a2*b4

a1*b4+a2*b3+a3*b2+a4*b1

Page 8: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

a1 a2 a3

a4*b4

0

a3*b4+a4b3 a4*b2+a3*b3+a2*b4

a1*b4+a2*b3+a3*b2+a4*b1 a1*b3+a2*b2+a3*b1

Page 9: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

We insert Dffs to avoid many levels of logic

b4 b3 b2 b1

++ +

a4a2 a3

a4*b4a4*b3 a4*b2 a4*b1

Page 10: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

a3a1 a2

a4*b4 a4*b3+a3b4 a4*b2+a3b3a4*b1+a3b2 a3b1

Page 11: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

a20 a1

a4*b4 a4*b3+a3b4 a4*b2+a3b3+a2b4 a4*b1+a3b2+a2b3

a3b1+a2b2 a2b1

The disadvantage of this circuit is broadcasting

Page 12: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

We insert more Dffs to avoid broadcasting

b4 b3 b2 b1

++ +

a4a2 a3

a4*b40 0 0

0 0 0

Page 13: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

a3a1 a2

a4*b4 a3b4 a4b30

a4 0 0

0

Does not work correctly like this, try something new….

Page 14: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

a3a1 a2

a4*b4

a3b4 a4b3

0

a4 0 0

0

a2b4

a1b4

a3b3

a2b3

a1b3

00

0

0

a4b2

a3b2

a2b2

a1b2

0

0

0

a4b1

a3b1

a2b1

First sum

Second sum

Page 15: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

FIR-filter like structure, assume two delays

b4 b3 b2 b1

++ +

Page 16: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

Page 17: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

Page 18: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

Page 19: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

Page 20: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

Page 21: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

Page 22: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

Page 23: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

Page 24: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

Page 25: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

Page 26: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

Page 27: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +

Page 28: Convolution circuits synthesis Perkowski. FIR-filter like structure b4b3 b2b1 +++ a4000 a4*b4

b4 b3 b2 b1

++ +