Introduction to asynchronous circuit design: specification and synthesis

47
Introduction to asynchronous circuit design: specification and synthesis Part II: Synthesis of control circuits from STGs

description

Introduction to asynchronous circuit design: specification and synthesis. Part II: Synthesis of control circuits from STGs. Outline. Overview of the synthesis flow Specification State graph and next-state functions State encoding Implementability conditions Speed-independent circuit - PowerPoint PPT Presentation

Transcript of Introduction to asynchronous circuit design: specification and synthesis

Page 1: Introduction to asynchronous circuit design: specification and synthesis

Introduction toasynchronous circuit design:

specification and synthesis

Part II:Synthesis of control circuits

from STGs

Page 2: Introduction to asynchronous circuit design: specification and synthesis

Outline

• Overview of the synthesis flow• Specification• State graph and next-state functions• State encoding• Implementability conditions• Speed-independent circuit

– Complex gates– C-element architecture

Page 3: Introduction to asynchronous circuit design: specification and synthesis

Specification(STG)

State Graph

SG withCSC

Next-state functions

Decomposed functions

Gate netlist

Reachability analysis

State encoding

Boolean minimization

Logic decomposition

Technology mapping

DesignDesignflowflow

Page 4: Introduction to asynchronous circuit design: specification and synthesis

x

y

z

x+

x-

y+

y-

z+

z-

Signal Transition Graph (STG)

xy

z

Page 5: Introduction to asynchronous circuit design: specification and synthesis

x

y

z

x+

x-

y+

y-

z+

z-

Page 6: Introduction to asynchronous circuit design: specification and synthesis

x+

x-

y+

y-

z+

z-

xyz000

x+

100y+z+

z+y+

101 110

111

x-

x-

001

011y+

z-

010

y-

Page 7: Introduction to asynchronous circuit design: specification and synthesis

xyz000

x+

100y+z+

z+y+

101 110

111

x-

x-

001

011y+

z-

010

y-

Next-state functions

x z x y ( )

y z x

z x y z

Page 8: Introduction to asynchronous circuit design: specification and synthesis

Next-state functions

x z x y ( )

y z x

z x y z

x

zy

Page 9: Introduction to asynchronous circuit design: specification and synthesis

Specification(STG)

State Graph

SG withCSC

Next-state functions

Decomposed functions

Gate netlist

Reachability analysis

State encoding

Boolean minimization

Logic decomposition

Technology mapping

DesignDesignflowflow

Page 10: Introduction to asynchronous circuit design: specification and synthesis

VME bus

DeviceLDS

LDTACK

D

DSr

DSw

DTACK

VME BusController

DataTransceiver

Bus DSr

LDS

LDTACK

D

DTACK

Read Cycle

Page 11: Introduction to asynchronous circuit design: specification and synthesis

STG for the READ cycle

LDS+ LDTACK+ D+ DTACK+ DSr- D-

DTACK-

LDS-LDTACK-

DSr+

LDS

LDTACK

D

DSr

DTACK

VME BusController

Page 12: Introduction to asynchronous circuit design: specification and synthesis

Choice: Read and Write cycles

DSr+

LDS+

LDTACK+

D+

DTACK+

DSr-

D-

LDS-

LDTACK- DTACK-

DSw+

D+

LDS+

LDTACK+

D-

DTACK+

DSw-

LDS-

LDTACK-DTACK-

Page 13: Introduction to asynchronous circuit design: specification and synthesis

Choice: Read and Write cycles

DTACK-

DSr+

LDS+

LDTACK+

D+

DTACK+

DSr-

D-

LDS-

LDTACK-

DSw+

D+

LDS+

LDTACK+

D-

DTACK+

DSw-

LDS-

LDTACK-DTACK-

Page 14: Introduction to asynchronous circuit design: specification and synthesis

Choice: Read and Write cycles

DTACK-

DSr+

LDS+

LDTACK+

D+

DTACK+

DSr-

D-

LDS-

LDTACK-

DSw+

D+

LDS+

LDTACK+

D-

DTACK+

DSw-

LDS-

LDTACK-DTACK-

Page 15: Introduction to asynchronous circuit design: specification and synthesis

Choice: Read and Write cycles

DTACK-

DSr+

LDS+

LDTACK+

D+

DTACK+

DSr-

D-

LDS-

LDTACK-

DSw+

D+

LDS+

LDTACK+

D-

DTACK+

DSw-

LDS-

LDTACK-DTACK-

Page 16: Introduction to asynchronous circuit design: specification and synthesis

Circuit synthesis

• Goal:– Derive a hazard-free circuit

under a given delay model andmode of operation

Page 17: Introduction to asynchronous circuit design: specification and synthesis

Speed independence

• Delay model– Unbounded gate / environment delays– Certain wire delays shorter than certain paths in the

circuit

• Conditions for implementability:– Consistency– Complete State Coding– Persistency

Page 18: Introduction to asynchronous circuit design: specification and synthesis

Specification(STG)

State Graph

SG withCSC

Next-state functions

Decomposed functions

Gate netlist

Reachability analysis

State encoding

Boolean minimization

Logic decomposition

Technology mapping

DesignDesignflowflow

Page 19: Introduction to asynchronous circuit design: specification and synthesis

STG for the READ cycle

LDS+ LDTACK+ D+ DTACK+ DSr- D-

DTACK-

LDS-LDTACK-

DSr+

LDS

LDTACK

D

DSr

DTACK

VME BusController

Page 20: Introduction to asynchronous circuit design: specification and synthesis

Binary encoding of signals

DSr+

DSr+

DSr+

DTACK-

DTACK-

DTACK-

LDS-LDS-LDS-

LDTACK- LDTACK- LDTACK-

D-

DSr-DTACK+

D+

LDTACK+

LDS+

Page 21: Introduction to asynchronous circuit design: specification and synthesis

Binary encoding of signals

DSr+

DSr+

DSr+

DTACK-

DTACK-

DTACK-

LDS-LDS-LDS-

LDTACK- LDTACK- LDTACK-

D-

DSr-DTACK+

D+

LDTACK+

LDS+

10000

10010

10110 01110

01100

0011010110

(DSr , DTACK , LDTACK , LDS , D)

Page 22: Introduction to asynchronous circuit design: specification and synthesis

QR (LDS+)QR (LDS+)

QR (LDS-)QR (LDS-)

Excitation / Quiescent Regions

ER (LDS+)ER (LDS+)

ER (LDS-)ER (LDS-)

LDS-LDS-

LDS+

LDS-

Page 23: Introduction to asynchronous circuit design: specification and synthesis

Next-state function

0 1

LDS-LDS-

LDS+

LDS-

1 0

0 0

1 1

1011010110

Page 24: Introduction to asynchronous circuit design: specification and synthesis

Karnaugh map for LDS

DTACKDSrD

LDTACK 00 01 11 10

00

01

11

10

DTACKDSrD

LDTACK 00 01 11 10

00

01

11

10

LDS = 0 LDS = 1

0 1-0

0 0 0 0 0 0/1?

1

111

-

-

-

---

- - - -

-

- ---

- - -

Page 25: Introduction to asynchronous circuit design: specification and synthesis

Specification(STG)

State Graph

SG withCSC

Next-state functions

Decomposed functions

Gate netlist

Reachability analysis

State encoding

Boolean minimization

Logic decomposition

Technology mapping

DesignDesignflowflow

Page 26: Introduction to asynchronous circuit design: specification and synthesis

Concurrency reduction

LDS-LDS-

LDS+

LDS-

1011010110

DSr+

DSr+

DSr+

Page 27: Introduction to asynchronous circuit design: specification and synthesis

Concurrency reduction

LDS+ LDTACK+ D+ DTACK+ DSr- D-

DTACK-

LDS-LDTACK-

DSr+

Page 28: Introduction to asynchronous circuit design: specification and synthesis

State encoding conflicts

LDS-

LDTACK-

LDTACK+

LDS+

10110

10110

Page 29: Introduction to asynchronous circuit design: specification and synthesis

Signal Insertion

LDS-

LDTACK-

D-

DSr-

LDTACK+

LDS+

CSC-

CSC+

101101

101100

Page 30: Introduction to asynchronous circuit design: specification and synthesis

Specification(STG)

State Graph

SG withCSC

Next-state functions

Decomposed functions

Gate netlist

Reachability analysis

State encoding

Boolean minimization

Logic decomposition

Technology mapping

DesignDesignflowflow

Page 31: Introduction to asynchronous circuit design: specification and synthesis

Complex-gate implementation

)(csccsc

csc

csc

LDTACKDSr

LDTACKD

DDTACK

DLDS

Page 32: Introduction to asynchronous circuit design: specification and synthesis

Implementability conditions

• Consistency– Rising and falling transitions of each signal

alternate in any trace

• Complete state coding (CSC)– Next-state functions correctly defined

• Persistency– No event can be disabled by another event

(unless they are both inputs)

Page 33: Introduction to asynchronous circuit design: specification and synthesis

Implementability conditions

• Consistency + CSC + persistency

• There exists a speed-independent circuit that implements the behavior of the STG

(under the assumption that ay Boolean function can be implemented with one complex gate)

Page 34: Introduction to asynchronous circuit design: specification and synthesis

Persistency

100 000 001a- c+

b+ b+

ac

b

a

c

bis this a pulse ?

Speed independence glitch-free output behavior under any delay

Page 35: Introduction to asynchronous circuit design: specification and synthesis

a+

b+

c+

d+

a-

b-

d-

a+

c-a-

0000

1000

1100

0100

0110

0111

1111

1011

0011 1001

0001

a+

b+

c+

a-

b-

c-

a+

c-

a-

a-

d-d+

Page 36: Introduction to asynchronous circuit design: specification and synthesis

0000

1000

1100

0100

0110

0111

1111

1011

0011 1001

0001

a+

b+

c+

a-

b-

c-

a+

c-

a-

a-

d-d+

abcd 00 01 11 10

00

01

11

10 1

1 1 11

10

0 000

ER(d+)

ER(d-)

Page 37: Introduction to asynchronous circuit design: specification and synthesis

abcd 00 01 11 10

00

01

11

10 1

1 1 11

10

0 000

caadd

0000

1000

1100

0100

0110

0111

1111

1011

0011 1001

0001

a+

b+

c+

a-

b-

c-

a+

c-

a-

a-

d-d+

Complex gate

Page 38: Introduction to asynchronous circuit design: specification and synthesis

Implementation with C elements

CR

S z

• • • S+ z+ S- R+ z- R- • • •

• S (set) and R (reset) must be mutually exclusive• S must cover ER(z+) and must not intersect ER(z-) QR(z-)• R must cover ER(z-) and must not intersect ER(z+) QR(z+)

Page 39: Introduction to asynchronous circuit design: specification and synthesis

abcd 00 01 11 10

00

01

11

10 1

1 1 11

10

0 000

0000

1000

1100

0100

0110

0111

1111

1011

0011 1001

0001

a+

b+

c+

a-

b-

c-

a+

c-

a-

a-

d-d+

CS

Rdc

ca

Page 40: Introduction to asynchronous circuit design: specification and synthesis

0000

1000

1100

0100

0110

0111

1111

1011

0011 1001

0001

a+

b+

c+

a-

b-

c-

a+

c-

a-

a-

d-d+

CS

Rdc

ca

but ...

Page 41: Introduction to asynchronous circuit design: specification and synthesis

0000

1000

1100

0100

0110

0111

1111

1011

0011 1001

0001

a+

b+

c+

a-

b-

c-

a+

c-

a-

a-

d-d+

CS

Rdc

ca

Assume that R=ac has an unbounded delayStarting from state 0000 (R=1 and S=0):

a+ ; R- ; b+ ; a- ; c+ ; S+ ; d+ ;

R+ disabled (potential glitch)

Page 42: Introduction to asynchronous circuit design: specification and synthesis

abcd 00 01 11 10

00

01

11

10 1

1 1 11

10

0 000

0000

1000

1100

0100

0110

0111

1111

1011

0011 1001

0001

a+

b+

c+

a-

b-

c-

a+

c-

a-

a-

d-d+

CS

Rdc

cba

Monotonic covers

Page 43: Introduction to asynchronous circuit design: specification and synthesis

C-based implementations

CS

Rdc

cba Cd

ab

c

a

b

cd

weak

a

cd

generalized C elements (gC)

weak

Page 44: Introduction to asynchronous circuit design: specification and synthesis

Speed-independent implementations

• Implementability conditions– Consistency– Complete state coding– Persistency

• Circuit architectures– Complex (hazard-free) gates– C elements with monotonic covers– ...

Page 45: Introduction to asynchronous circuit design: specification and synthesis

Synthesis exercise

y-

z- w-

y+ x+

z+

x-

w+

1011

0111

0011

1001

1000

1010

0001

0000 0101

0010 0100

0110

y-

y+

x-

x+w+

w-

z+

z-

w-

w-

z-

z-y+

y+

x+

x+

Derive circuits for signals x and z (complex gates and monotonic covers)

Page 46: Introduction to asynchronous circuit design: specification and synthesis

Synthesis exercise

1011

0111

0011

1001

1000

1010

0001

0000 0101

0010 0100

0110

y-

y+

x-

x+w+

w-

z+

z-

w-

w-

z-

z-y+

y+

x+

x+

wxyz 00 01 11 10

00

01

11

10

----

Signal x

1

0

1

1

1

1

1

0 0

0

0

0

Page 47: Introduction to asynchronous circuit design: specification and synthesis

Synthesis exercise

1011

0111

0011

1001

1000

1010

0001

0000 0101

0010 0100

0110

y-

y+

x-

x+w+

w-

z+

z-

w-

w-

z-

z-y+

y+

x+

x+

wxyz 00 01 11 10

00

01

11

10

----

Signal z

1

0 0

0

0

11 1

0

0 0

0