Top Banner
1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications
47

1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

1

Logic design ofasynchronous circuits

Part II:

Logic synthesis fromconcurrent specifications

Page 2: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

2

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

3

Specification(STG)

State Graph

SG withCSC

Next-state functions

Decomposed functions

Gate netlist

Reachability analysis

State encoding

Boolean minimization

Logic decomposition

Technology mapping

Design flow

Page 4: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

4

x

y

z

x+

x-

y+

y-

z+

z-

Signal Transition Graph (STG)

xy

z

Specification

Page 5: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

5

x

y

z

x+

x-

y+

y-

z+

z-

Token flow

Page 6: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

6

x+

x-

y+

y-

z+

z-

xyz000

x+

100y+z+

z+y+

101 110

111

x-

x-

001

011y+

z-

010

y-

State graph

Page 7: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

7

x z x y ( )

y z x

z x y z

Next-state functionsxyz000

x+

100y+z+

z+y+

101 110

111

x-

x-

001

011y+

z-

010

y-

Page 8: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

8

x

z

y

Gate netlist

x z x y ( )

y z x

z x y z

Page 9: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

9

Specification(STG)

State Graph

SG withCSC

Next-state functions

Decomposed functions

Gate netlist

Reachability analysis

State encoding

Boolean minimization

Logic decomposition

Technology mapping

Design flow

Page 10: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

10

VME bus

DeviceLDS

LDTACK

D

DSr

DSw

DTACK

VME BusController

DataTransceiver

BusDSr

LDS

LDTACK

D

DTACK

Read Cycle

Page 11: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

11

STG for the READ cycle

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

DTACK-

LDS-LDTACK-

DSr+

LDS

LDTACK

D

DSr

DTACK

VME BusController

Page 12: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

12

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

13

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

14

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

15

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

16

Circuit synthesis

• Goal:– Derive a hazard-free circuit

under a given delay model andmode of operation

Page 17: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

17

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

18

Specification(STG)

State Graph

SG withCSC

Next-state functions

Decomposed functions

Gate netlist

Reachability analysis

State encoding

Boolean minimization

Logic decomposition

Technology mapping

Design flow

Page 19: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

19

STG for the READ cycle

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

DTACK-

LDS-LDTACK-

DSr+

LDS

LDTACK

D

DSr

DTACK

VME BusController

Page 20: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

20

Binary encoding of signals

DSr+

DSr+

DSr+

DTACK-

DTACK-

DTACK-

LDS-LDS-LDS-

LDTACK- LDTACK- LDTACK-

D-

DSr-DTACK+

D+

LDTACK+

LDS+

Page 21: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

21

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

22

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

23

Next-state function

0 1

LDS-LDS-

LDS+

LDS-

1 0

0 0

1 1

1011010110

Page 24: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

24

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

25

Specification(STG)

State Graph

SG withCSC

Next-state functions

Decomposed functions

Gate netlist

Reachability analysis

State encoding

Boolean minimization

Logic decomposition

Technology mapping

Design flow

Page 26: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

26

Concurrency reduction

LDS-LDS-

LDS+

LDS-

1011010110

DSr+

DSr+

DSr+

Page 27: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

27

Concurrency reduction

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

DTACK-

LDS-LDTACK-

DSr+

Page 28: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

28

State encoding conflicts

LDS-

LDTACK-

LDTACK+

LDS+

10110

10110

Page 29: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

29

Signal Insertion

LDS-

LDTACK-

D-

DSr-

LDTACK+

LDS+

CSC-

CSC+

101101

101100

Page 30: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

30

Specification(STG)

State Graph

SG withCSC

Next-state functions

Decomposed functions

Gate netlist

Reachability analysis

State encoding

Boolean minimization

Logic decomposition

Technology mapping

Design flow

Page 31: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

31

Complex-gate implementation

)(csccsc

csc

csc

LDTACKDSr

LDTACKD

DDTACK

DLDS

Page 32: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

32

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

33

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

34

Persistency

100 000 001a- c+

b+ b+

a

cb

a

c

b

is this a pulse ?

Speed independence glitch-free output behavior under any delay

Page 35: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

38

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

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 delay

Starting from state 0000 (R=1 and S=0):

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

R+ disabled (potential glitch)

Page 42: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

43

C-based implementations

CS

Rdc

cbaC

d

ab

c

a

b

cd

weak

a

cd

generalized C elements (gC)

weak

Page 44: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

44

Speed-independent implementations

• Implementability conditions– Consistency– Complete state coding– Persistency

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

Page 45: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

45

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

46

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: 1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.

ASPDAC / VLSI 2002 - Tutorial on Logic Design of Asynchronous Circuits

47

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