69
Lecture Time Shared Architecture Dr. Shoab Khan

PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Embed Size (px)

Citation preview

Page 1: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Lecture

Time Shared Architecture

Dr. Shoab Khan

Page 2: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Time-Shared Designs

Dedicated Fully Parallel

If sampling rate fs = circuit clock fclk

Dedicated Operator for each operation in the algorithm

One operator (hardware unit, e.g. adder, multiplier, register) for each operation (e.gaddition, multiplication, delay)

Most designs: time multiplexing

clock frequency ! = sample frequency

clock frequency

sample frequency

= number of clock cycles available for the job

Page 3: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Reverse of dedicated architecture

Less hardware

Reuse a smaller block to perform complex operations

Reuse blocks to execute algorithms

Require controller to schedule operations on the shared HW

Time Shared Architecture

Page 4: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Time-Shared Architectures

Bit Serial

Word Serial

Sequential

Sequential Unfolding

Systolic

Folded DFG

Micro-programmed

Page 5: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Carry

FA

Sum

Shift reg A

Shift reg B

FF

Shift reg C

Reg C

N

N

Load regA

Load regB

1

1

1

1

1

Load regs

clk

clk

clk

clk

rst

Example Bit Serial: N-bit adder

Bits are Serially input to the design

The architecture processes input bit by bit basis

Bits are out serially

Page 6: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Example: Mapping from Dedicated to Time Shared Architecture

a, b, c are 8-bit numbers

The example maps the DFG to dedicated and time shared architecture

a

b

c out

Page 7: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Dedicated Architecture

Two add bit adder/subtractor for addition and subtraction

No pipelining

Need to add pipelining for better performance

a

b

c

out

+

-

8

8

8

8

8

Page 8: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Pipeline Architecture

Remember data coherency is important

a

b

c

out

+

-

8

8

8

8

8

8

Page 9: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

If fc is N times fs-> bit-serial

If N=8 cycles are available: Bit Serial

Bit-serial data in

Two FA for 1-bit addition and subtraction

Flip flops for pipelining

Word Serial

If N=8, 4, 2 the number of bits P=1, 2, 4

a

b

c

out

P

P P

P

+-

1

1

P

rst_n

rst_n

Page 10: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

If fc is twice of fs -> Folded Design

Time shared architecture

One adder/subtractor is used for addition and subtraction to compute a+b-c

Two cycles to execute the DFG

cntr

Page 11: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Sequential Design: Shift and Add Multiplier

Sums each partial product, one at a time.

Each partial product is shifted versions of A or 0.

Control Algorithm:

1. Prod_reg_L (P) 0,

reg_a multiplicand,

Prod_reg_H (regB) multiplier

2. If LSB of reg_b==1 then

add reg_a to Prod_reg_L

else add 0

3. Shift Prod right 1

4. Repeat steps 2 and 3 n-1times.

5. Prod has product.

N

controller

add/sub

0

1

add/sub

load

rst_n

multiplier bN

1

multiplicand a

prod_reg_H prod_reg_Lreg_b

reg_a

0

shift_right

sign_bit

N

N

N

N

N

Page 12: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Optimized Design

For sequential multiplier, use compression tree

Latch in registers at slower clock

Add using CPA at slower clock

reg_b

prod_reg_Hc

N

0

N

reg_a

fc

fc

fs

fc

prod_reg_Hs prod_reg_L

3:2

CPA

N

N

fs

Nfs

fs

>>1

0

1

Product bit

……..

……..

(a) (b)

Page 13: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Time shared FIR filter Complete Datapath Design

Tap delay line at sampling clock

Filter Coefficients in a ROM

PP generation and compression tree at fast clock

Final addition using CPA at sampling clock

xn

xn-(N-1)

h0

h1

hN-1

PPG &

Reduction

CPA

+

yn

sel

1

clkc rst_n

clkc

clks

clks

clkc

clks

clks

Page 14: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Complete Design

ADC

Data path

DAC

Controller

Clk divider

clks

xn

yn

clkc

sel_x

sel_h

rst_n

Page 15: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Sequencing and Control

Digital Systems can be partitioned into two portions

Datapath and Control Unit

Datapath PuppetPuppeteer Controller who pulls the

strings

Selects the operation

Determines the sequence (based

on status and input signals)

Registers, MUXes, ALU,

Multipliers, Shifters, Comb.

Circuits and buses

Implements operations under

control of the control signals

Control Unit Datapath

Control Signals

Status Signals

Inputs

Outputs

Page 16: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

State machine

A machine activity is usually consists of a synchronous sequence of operations on the registers of its datapaths, under the direction of a controlling state machine.

Combinational Logicinput

Current state

output

Next state

Page 17: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

ASM Implementation

Two general implementation methods

Hardwired

Micro-programmed

Two representation

State Diagram

Algorithmic State Machine

Two Types of State Machines

Mealy State Machine

Moor State Machine

Page 18: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

A Finite State Machine (FSM) Controller

Controller are of two types:

Hardwired Finite State Machine based controller

Microprogramm Architecture based controller

A FSM is a sequential system with N flip-Flops and has 2N possible states, so the number of possible states is FINITE

FSM can be described using a Bubble Diagrams (State Diagram) or Algorithmic State Machine Charts (ASM)

Page 19: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

FSM Comparison

Moore Machine

output function only of present state

maybe more state

synchronous outputs

no glitching

one cycle “delay”

full cycle of stable output

Mealy Machine

output function of both present states & input

maybe fewer states

asynchronous outputs

if input glitches, so does output

output immediately available

output may not be stable long enough to be useful:

Page 20: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

The composition of Mealy machine implementation of an FSM

Combinational Logicinput

Current state

output

Next state

Page 21: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

The components in Moore machine implementation of a state machine

based design

Combinational

Logic I

inputs

Current state

outputsNext state

sta

te

reg

iste

r

Combinational

Logic II

Current

state

Page 22: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Example: Simple traffic signal controller

Mainroad

Minor road

sensors

• Main road has normally a green light, and minor road a red light• If a car is detected on minor road (sensor), semaphores change values,

a timer is started which asserts a signal ‘TIMED’ at the end of counting• When TIMED is asserted, the semaphores go back to default values

timerFSMtimed

start_timecar

main minor

Page 23: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

State diagram

Main=GMinor=R

Main=RMinor=G

car car/start_time

timed

timed

Page 24: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

State Diagram

S1

S2

S3

S0

0/0

0/0

0/0

0/0 1/0 1/1

1/0 1/0

Page 25: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

State Encoding: One-Hot versus Binary Coded Finite-State

Assignmentparameter [1:0]

S0 = 2'd00,

S1 = 2'd01,

S2 = 2'd10,

S3 = 2'd11;

parameter [3:0]

S0 = 4'b0001,

S1 = 4'b0010,

S2 = 4'b0100,

S3 = 4'b1000;

parameter [2:0]

S0 = 4'b000,

S1 = 4'b001,

S2 = 4'b010,

S3 = 4'b100;

parameter [2:0]

S0 = 4'b000,

S1 = 4'b001,

S2 = 4'b011,

S3 = 4'b010;

(a) (b) (c) (d)

State Encoding Techniques (a) Binary (b) One-Hot (c) Almost One-Hot (d) Gray

Page 26: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Guideline for Coding State Machines

Separate the state machine HDL description into two processes, one for the combinational logic and one for the sequential logic

Use `define/parameter statements to define a state vector.

Keep FSM logic and non-FSM logic in separate modules.

Page 27: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Translating FSMs into Verilog HDL: Combinational Part

always @(current_state or in)begincase (current_state)

S0:begin

if (in) begin next_state = S1; out = 1’b0; end

elsebegin next_state = S0; out = 1’b0; end

endS1:begin…end

endcaseS1

S2

S3

S0

0/0

0/0

0/0

0/0 1/0 1/1

1/0 1/0

Page 28: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Sequential Part

always @(posedge clk or negedge res_n)

begin

if (!res_n)

current_state <= S0;

else

curret_state <= next_state;

end

Combinational Logicinput

current_state

output

next_state

clk

rst_n

Page 29: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Why state diagrams are not enough

Not flexible enough for describing very complex finite state machines

Not suitable for gradual refinement of finite state machine

Do not obviously describe an algorithm: that is, well specified

Gradual shift towards program-like representations:

Algorithmic State Machine (ASM) Notation

Hardware Description Languages (e.g., Verilog, VHDL)

Page 30: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Algorithmic State Machine

A flowchart-like graphical notation that describes the cycle-by-cycle operations of an algorithm

Each step takes one clock cycle

Composed of rectangles, diamonds, ovals, and arrows interconnecting them

Moore machines do not have ovals

Mealy machines contain ovals

Describes behavior rather than structure

Provides a mechanism for performing systematic step-by-step design

Can be directly translated to Verilog code

Used to design synchronous sequential circuits

Page 31: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Algorithmic State Chart (ASM)

An ASM chart is used to describe FSM behavior

Only three action signals can appear within an ASM chart:

State box. Each box represents a state.

Outputs within a state box is an

UNCONDITIONAL output (always asserted

in this state).

Decision box. A condition in this box

will decide next state condition.

Conditional output box. If present, will

always follow a decision box; output

within it is conditional.

Page 32: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

ASM Block

State Output List

--------------------------

--------------------------

--------------------------

* ***

Conditional Output List

----------------

STATE CODEState

Name

State Entry

Path

Condition

State Box

Condition Box

T F

ASM Block

OutPut Box

Exit to other

ASM Block

Page 33: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Algorithmic state machine (ASM)

Main=GMinor=R

car

Start_timer

Main=RMinor=G

timed01

1

0

D

S

Main=GMinor=R

Main=RMinor=G

carcar/start_time

timed

timed

Page 34: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

State Diagram

Generating 1 at the output after counting four number of 1’s on a serial interface

S3

S0

S1

S2

1/1

1/01/0

1/00/0

0/0

0/0

0/0

Page 35: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

s0

s2

s1s3

0/0

1/0

0/0

1/0

0/0

1/0

0/0

1/1

Example: Mealy Machine- State Diagram, ASM Representation

in

out=0

out=0

in

out=0

out=0

in

out=0

out=0

in

out=0 out=1

2'b00S0

0

1

2'b01S1

0

1

2'b10S2

0

0 1

1

2'b11S3

Page 36: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Example: Moore Machine ASM Representation (Cont.)

No oval, means no conditional output

More states

Stable output for one complete clock cycle

out=0

in

out=0

in

out=0

in

out=0

in

3'b000S0

0

1

3'b001S1

0

1

3'b010S2

0

0

1

1

3'b011

out=1

S3

3'b100S4

in1

0

Page 37: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

in

out=0

out=0

in

out=0

out=0

in

out=0

out=0

in

out=0 out=1

2'b00S0

0

1

2'b01S1

0

1

2'b10S2

0

0 1

1

2'b11S3

out=0

in

out=0

in

out=0

in

out=0

in

3'b000S0

0

1

3'b001S1

0

1

3'b010S2

0

0

1

1

3'b011

out=1

S3

3'b100S4

in1

0

(a) (b)

Mealy-Moore side by side

Design independent

Simple tradeoff

Page 38: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Design Example: 4 Entry FIFO

1. Design a first-in, first-out (FIFO) queue that consists of four registers R0, R1, R2, and R3

2. Write and Delete are the two operations on the queue

3. Write moves data from the fifo_in to R0 that is the tail of the queue

4. Delete deletes the first entry at the head of the queue

5. The head of the queue is available on the fifo_out

6. Writing into a full queue or deletion from an empty queue causes an ERROR condition

7. Assertion of Write and Delete at the same time also causes an ERROR condition

Page 39: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

FIFO Design

Design consists of datapath and controller

Datapath

Four registers

Shift registers

One 4:1 MUX

Controller

Input signals

Write

Delete

Output signals

out_sel

write_en

Error

Controller

out_sel

write_en

Write

Delete

fifo_in

fifo_out

R0

R1

R2

R3

Error

0

1

2

3

clk

Datapath

Page 40: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Controller

FSM based design

Mealy machine

Five states

Idle

One entry

Two entries

Three entries

Full

Empty

DelWrite

(fifo_in → R0)

write_en = 1

(R0 → fifo_out)

out_sel = 0

Error

S0 3'b000

0

01

S13'b001

WriteDel

0

0 1Del

11

Error

(R1 → fifo_out)

out_sel = 1

WriteDel

Error

S2 3'b010

0

0 1

0

1

(fifo_in → R0)

(R0 → R1)

write_en = 1

Del

1

(fifo_in → R0)

(R0 → R1)

(R1 → R2)

write_en = 1

(R2 → fifo_out)

out_sel = 2

WriteDel

Error

S3 3'b011

0

0 11

Del

1

(fifo_in → R0)

(R0 → R1)

(R1 → R2)

(R2 → R3)

write_en = 1

0

1

(R3 → fifo_out)

out_sel = 3

WriteDel

Error

S43'b100

0

0 1

0

1

Page 41: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

// Combinational part only for S0 and default state is given

always @(*)

begin

next_state=0;

case(current_state)

S0:

begin

if(!Del&& Write)

begin

next_state = S1;

write_en = 1’b1;

Error= 1’b0;

out_sel = 0;

end

else if(Del)

begin

next_state=S0;

write_en =1’b0;

Error = 1’b1;

out_sel=0;

end

else

begin

next_state=S0;

write_en=1’b0;

out_sel = 1’b0;

end

// Similarly, rest of the states are coded //

default:

begin

next_state=S0;

write_en = 1’b0;

Error = 1’b0;

out_sel =0;

end

endcase

end

// Sequential part

always @(posedge clk or negedge rst_n)

if(!rst_n)

current_sate <= #1 S0;

else

current_state <= #1 next_sate;

Page 42: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Design: Variable Length Instruction Dispatcher

Instruction dispatcher read 32-bit words from PM

The instructions words are written

into two 32-bit registers, IR0 and IR1

The processor supports short and long instructions of lengths 16 and 32-bit

The LSB of the instruction is coded to specify the instruction type.

A 0 in the LSB indicates a 16-bit instruction and a 1 depicts the instruction is 32-bit wide

Page 43: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

data → IR0

IR0L → IR1H

IR1H → IR1L

IR0H → IR0L

IR0L→ IR1H

IR1H→ IR1L

data → IR0

IR0 → IR1

data → IR0

S1

S2

S3

S5

IS/!read

IS/read

IL/read

IS/!read /read

IL/read

/read

S0

dataH → IR0L

dataL→ IR1H

IR0L→ IR1L

IL/read

IL/read

IS/read

S4

(a)

PM

Controller

+1

PC

load

read

data

Datapath

of

Instruction

Dispatcher

addr

32

32

16

dataH

16

IR0H IR0L IR0

IR1H IR1L IR1

dataL

dataL

ID

IR1L _en

IR1H _en

IR0H _en

IR0L_en

Mux_sel_IR0L

Mux_sel_IR1H

Mux_sel_IR1L

0 1 2

0 1 2 0 1

(b) (c)

Design

Datapath and controller

Controller is FSM based

Datapath is controller by signals from FSM

Page 44: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)
Page 45: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

32

16

dataH

16

IR0H IR0L IR0

IR1H IR1L IR1

dataL

dataL

ID

IR1L _en

IR1H _en

IR0H _en

IR0L_en

Mux_sel_IR0L

Mux_sel_IR1H

Mux_sel_IR1L

0 1 2

0 1 2 0 1

Datapath

Page 46: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

ADV DSDFolding Transformation

Page 47: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Folding Regular Structured DFGs

Folding by a factor of 2

Use only one adder and one multiplier

Mathematical transformation can also be used

a2

a1

x

1x

2

x

3

t3

N

t2

t1

y

N

NN

NN

A1

A2

M1M2

N

x1

x2

a1

a2

x3

t1

t2

cnt

t3

y

0

1

0

1

0

1

0

1

(a) (b)

Page 48: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

xn xn-1 xn-2

xn-3 xn-6xn-4 xn-5

xn-7 xn-8

cntr

h0

h3

h6

h1

h4

h7

h2

h5

h8

rst_n

fclk

fs

x x x

+ + +

r0

r1

r2

r3

r4

r5

r6

r7

r8

h0

h3

h6

h1

h4

h7

h2

h5

h8

xn

yn

cntrcntrs

0

1

2

0

1

2

0

1

2

0

1

2

0

1

2

0

2

1

2

1

0

0 1 2 0 1 2 0 1 2

(a) (b)

Folded-by-3 architecture for a 9-coefficient FIR filter. (a) Folded DF architecture. (b) Folded TDF architecture

Page 49: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Reference Slides

Page 50: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Systolic Architecture-50

PAJ 9/29/2004

MIT Lincoln Laboratory

Reference SlidesA Systolic FFT Architecture for

Real Time FPGA Systems

Preston Jackson, Cy Chan, Charles Rader, Jonathan Scalera, and Michael Vai

HPEC 2004

29 September 2004

This work was sponsored by DARPA ATO under Air Force Contract F19628-00-C-0002. Opinions, interpretations, conclusions and recommendations

are those of the authors and are not necessarily endorsed by the Department of Defense.

Page 51: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Systolic Architecture-51

PAJ 9/29/2004

MIT Lincoln Laboratory

Fully Dedicated Parallel Architecture

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Parallel FFT

• Butterfly structure

• Removes redundant calculation

Size 16 8192

Pins 448 229K

Fly 32 53K

Mult

Add

Shift 0 0

Page 52: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Systolic Architecture-52

PAJ 9/29/2004

MIT Lincoln Laboratory

Complex Butterfly

u

v

x

r

NW

+

-

• Butterfly contains

– 1 complex addition

– 1 complex subtraction

– 1 complex, constant multiply

Size 16 8192

Pins 448 229K

Fly 32 53K

Mult

Add

Shift 0 0

Page 53: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Systolic Architecture-53

PAJ 9/29/2004

MIT Lincoln Laboratory

Parallel-Pipelined Architecture

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

A pipelined version

• IO Bound

• 100% Efficient

Size 16 8192

Pins 448 229K

Fly 32 53K

Mult 96 159K

Add 288 480K

Shift 0 0

Page 54: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Systolic Architecture-54

PAJ 9/29/2004

MIT Lincoln Laboratory

Self Timed with Serial Input

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

A serial version

• IO-rate matches A/D

• 6.25% Efficient

Size 16 8192

Pins 28 28 .01%

Fly 32 53K

Mult 96 159K

Add 288 480K

Shift 0 0

Page 55: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Systolic Architecture-55

PAJ 9/29/2004

MIT Lincoln Laboratory

• The parallel architecture can be collapsed

– One butterfly per stage

– Consumes 1 sample per cycle

– Same latency and throughput

– More efficient design

Serial Architecture

50% Efficiency

Stage 1 Stage 2 Stage 3 Stage 4

Size 16 8192

Pins 28 28

Fly 4 13 .03%

Mult 12 39 .03%

Add 36 117 .03%

Shift 22 12K

Page 56: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Systolic Architecture-56

PAJ 9/29/2004

MIT Lincoln Laboratory

8192-Point Architecture

• Requires 13 stages

• Fixed point arithmetic

• Varies the dynamic range to increase accuracy

• Overflow replaced with saturated value

1 2 3 4 5 6 7 8 9 10 11 12 13

4 int

14 frac

5 int

13 frac

6 int

12 frac

7 int

11 frac

8 int

10 frac

9 int

9 frac

10 int

8 frac

• Multipliers limit design to 18-bits and 150 MHz

• Achieves 70 dB of accuracy

4 int

4 frac

0110.0101

16

56

Size 16 8192

Pins 28 28

Fly 4 13

Mult 12 39

Add 36 117

Shift 22 12K

Page 57: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

FFT SYSTOLIC DESIGNFrom the Book

Page 58: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Systolic Folded Architecture

8-point FFT

Dual port memory with two memory read

Folded by an order of 4

Horizontal folding

Systolic architecture

Data flows across the architecture in systolic fashion

100% utilization

PE2

x3 x2 x1 x0

x7 x6 x5 x4

sel0 sel1

PE1 PE3

0

1

1

0

W1k W2kW4k

R1 R3

R0 R2

0

0

1

1

Page 59: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Clock

cycle

PE1 R0 R2

PE2 R4

PE3

R1 R3 R5

0

𝑥3 𝑥2 𝑥1 𝑥0

y10 = x0 + x4

𝑥7 𝑥6 𝑥5 𝑥4

y14 = (x0 - x4) W80

1

𝑥0 𝑥3 𝑥2 𝑥1

y11 = x1 + x5 y10

𝑥4 𝑥7 𝑥6 𝑥5 y15 = (x1 – x5) W81 y14

2

𝑥1 𝑥0 𝑥3 𝑥2 y12 = x2 + x6 y11 y10 y20 = y10 + y12

𝑥5 𝑥4 𝑥7 𝑥6 y16 = (x2 – x6) W82 y15 y14 y22 = (y10 - y12) W8

0

3

𝑥2 𝑥1 𝑥0 𝑥3 y13 = x3 + x7 y14 y11 y21 = y11 + y13 y20 x(0) = y20 + y21

𝑥7 𝑥6 𝑥5 𝑥7 y17 = (x3 – x7) W83 y16 y15 y23 = (y11 - y13) W82 y22 x(4) = (y20 – y21) W80

4

y15 y14 y24 = y14 + y16 y22 x(2) = y22 + y23

y17 y16 y26 = (y14 - y16) W80 y23 x(6) = (y22 – y23) W80

5

y15 y25 = y15 + y17 y24 x(1) = y24 + y25

y17 y27 = (y15 - y17) W82 y26 x(5) = (y24 – y25) W80

6

y26 x(3) = y26 + y27

y27 x(7) = (y26 – y27) W80

Page 60: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Folding

Page 61: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Folding Transformation

Page 62: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Folding Transformation

Page 63: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Folding Order

Page 64: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Folding or Order N=4

Page 65: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Folding of Biquad Filter N=4

Page 66: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Folding Biquad Filter N=4

Page 67: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

Folding of Biquad Filter N=4

Page 68: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)
Page 69: PANNING FOR GOLD - The Computer Engineers' Blog · PDF fileExample: Simple traffic signal controller Main road Minor road sensors •Main road has normally a green light, ... VHDL)

x[n] y[n]

b

1

2

3

45

a

Xin

0

1

2

+

x

0

1

2

0

1

2

b

0

a

0

1

20

Ha

HM