Download presentation
Presentation is loading. Please wait.
Published byGarey Harrington Modified over 6 years ago
1
Asynchronous Interface Specification, Analysis and Synthesis
J. Cortadella Universitat Politècnica de Catalunya, Barcelona M. Kishinevsky Intel Corporation Thanks to: Alex Kondratyev (The University of Aizu)
2
What is it about? This tutorial is not about asynchronous signals coming into a synchronous circuit, hence not about synchronization problem It is about asynchronous circuits communicating via handshakes or timing assumptions Note: slides contain no references. All references can be found in the paper
3
Motivation Interfaces are often asynchronous
Subsystems with different clocks often want to talk to each other Self timing provides functional and temporal modularity … and no clock skew, low power, low EMI, average performance, ...
4
Design flow Specification (STG) State Graph SG with CSC
Next-state functions Decomposed functions Gate netlist Reachability analysis State encoding Boolean minimization Logic decomposition Technology mapping Design flow
5
x x y y z z z+ x- x+ y+ z- y- Signal Transition Graph (STG)
6
x y z x+ x- y+ y- z+ z-
7
xyz 000 100 101 110 111 x+ x- y+ y- z+ z- 001 011 010 x+ z+ y+ x- y-
8
Synchronous xyz 000 100 101 110 111 001 011 010 Asynchronous x+ z+ y+
Current state Next state Asynchronous Current state Next state
9
Next-state functions xyz 000 100 101 110 111 001 011 010 x+ z+ y+ x-
10
Next-state functions x z y
11
Design flow Specification (STG) State Graph SG with CSC
Reachability analysis State Graph State encoding SG with CSC Design flow Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist
12
VME bus Device Read Cycle Bus DSr LDS LDTACK D DTACK LDS LDTACK D DSr
DSw DTACK VME Bus Controller Data Transceiver Bus
13
STG for the READ cycle DSr+ DTACK- LDS+ LDTACK+ D+ DTACK+ DSr- D-
VME Bus Controller LDTACK DTACK
14
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-
15
Choice: Read and Write cycles
DTACK- DSr+ LDS+ LDTACK+ D+ DTACK+ DSr- D- LDS- LDTACK- DSw+ DSw-
16
Choice: Read and Write cycles
DTACK- DSr+ LDS+ LDTACK+ D+ DTACK+ DSr- D- LDS- LDTACK- DSw+ DSw-
17
Choice: Read and Write cycles
DTACK- DSr+ LDS+ LDTACK+ D+ DTACK+ DSr- D- LDS- LDTACK- DSw+ DSw-
18
Circuit synthesis Goal:
Derive a hazard-free circuit under a given delay model and mode of operation
19
Modes of operation Fundamental mode Input / Output mode
Single-input changes Multiple-input changes Input / Output mode Concurrency circuit / environment Current state Next state
20
STG for the READ cycle DSr+ DTACK- LDS+ LDTACK+ D+ DTACK+ DSr- D-
VME Bus Controller LDTACK DTACK
21
Speed independence Delay model Conditions for implementability:
Unbounded gate / environment delays Certain wire delays shorter than certain paths in the circuit Conditions for implementability: Consistency Complete State Coding Output persistency
22
Other synthesis approaches
Burst-mode machines Mealy-like FSMs Fundamental mode (slow environment) VLSI programming Syntax-directed translation from CSP (“Communicating Sequential Processes”) No logic synthesis Circuit size ~ Size of the specification
23
Design flow Specification (STG) State Graph SG with CSC
Reachability analysis State Graph State encoding SG with CSC Design flow Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist
24
State Graph (Read cycle)
DSr+ DTACK- LDS+ LDTACK- LDTACK- LDTACK- DSr+ DTACK- LDTACK+ LDS- LDS- LDS- DSr+ DTACK- D+ D- DTACK+ DSr-
25
Binary encoding of signals
LDS = 0 LDS = 1 LDS - LDS + DSr+ DTACK- LDS+ LDTACK- LDTACK- LDTACK- DSr+ DTACK- LDTACK+ LDS- LDS- LDS- DSr+ DTACK- D+ D- DTACK+ DSr-
26
Binary encoding of signals
10000 DSr+ DTACK- LDS+ LDTACK- LDTACK- LDTACK- 10010 DSr+ DTACK- 01100 00110 LDTACK+ LDS- LDS- LDS- DSr+ DTACK- 10110 01110 10110 D+ D- DTACK+ DSr- (DSr , DTACK , LDTACK , LDS , D)
27
Excitation / Quiescent Regions
ER (LDS+) ER (LDS-) QR (LDS+) QR (LDS-) LDS- LDS+
28
Next-state function 0 1 LDS- LDS+ 0 0 1 1 1 0 10110
29
Karnaugh map for LDS - 1 - - - 1 - - - - - - - - - - - - - 1 1 1 - -
DTACK DSr D LDTACK 00 01 11 10 DTACK DSr D LDTACK 00 01 11 10 - 1 - - - 1 - - - - - - - - - - - - - 1 1 1 - - 0/1?
30
Design flow Specification (STG) State Graph SG with CSC
Reachability analysis State Graph State encoding SG with CSC Design flow Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist
31
Concurrency reduction
DSr+ LDS+ LDS- LDS- LDS- 10110 10110
32
Concurrency reduction
DSr+ DTACK- LDS+ LDTACK+ D+ DTACK+ DSr- D- LDTACK- LDS-
33
State encoding conflicts
LDS+ LDTACK- LDTACK+ LDS- 10110 10110
34
Signal Insertion 101101 101100 CSC- CSC+ LDS+ LDTACK- LDTACK+ LDS- D-
DSr-
35
Design flow Specification (STG) State Graph SG with CSC
Reachability analysis State Graph State encoding SG with CSC Design flow Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist
36
Complex-gate implementation
37
Design flow Specification (STG) State Graph SG with CSC
Reachability analysis State Graph State encoding SG with CSC Design flow Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist
38
Hazards abcx 1000 1100 b+ 1 1 1 1 a b c x 0100 a- 0110 c+
39
Hazards abcx 1000 1100 b+ 0100 a- 0110 c+ 1000 1 1 1 1 1 1 1 1 a b z c
1 1 1 1 1 1 1 1 a b z c x 1100 1100 0100 0110
40
Decomposition Global acknowledgement Generating candidates
Hazard-free signal insertion Event insertion Signal insertion
41
Global acknowledgement
y+ a- y- c+ c- z- b- z+ a+ a b c z d y
42
How about 2-input gates ? c z b a y d d- b+ d+ y+ a- y- c+ c- z- b- z+
43
How about 2-input gates ? c z b a a y b d d- b+ d+ y+ a- y- c+ c- z-
44
How about 2-input gates ? c z b a a y b d d- b+ d+ y+ a- y- c+ c- z-
c z b a a y b d
45
How about 2-input gates ? c z b a a y b d d- b+ d+ y+ a- y- c+ c- z-
46
How about 2-input gates ? c z a b y d d- b+ d+ y+ a- y- c+ c- z- b- z+
47
Strategy for correct logic decomposition
Each decomposition defines a new internal signal of the circuit Method: Insert new internal signals such that After resynthesis, some large gates are decomposed The new specification is hazard-free under unbounded gate delays
48
- Algebraic factorization
Decomposition -Boolean relations - Algebraic factorization C Sr D F C C D until no more progress Sr Sr Hazard-free ? (Signal insertion) C D C NO YES
49
Decomposition example
1001 1011 1000 1010 0001 0000 0101 0010 0100 0110 0111 0011 y- y+ x- x+ w+ w- z+ z- y- z- w- y+ x+ z+ x- w+
50
C x y w z 1001 1011 1000 1010 0001 0000 0101 0010 0100 0110 0111 0011 y- y+ x- x+ w+ w- z+ z- 1001 1011 1000 1010 0001 0000 0101 0010 0100 0110 0111 0011 y- y+ x- x+ w+ w- z+ z- yz=1 yz=0
51
s C x y w z y- s- s+ s=1 s=0 1001 1011 1000 1010 0111 0011 y+ x- w+ z+
0001 0000 0101 0010 0100 0110 x+ w-
52
s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ y- z- w- y+ x+ z+ x-
1001 1011 1000 1010 0111 0011 y+ x- w+ z+ z- 0001 0000 0101 0010 0100 0110 x+ w- s- s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ s- s- s+ s=0
53
C x y w z 1001 1011 1000 1010 0001 0000 0101 0010 0100 0110 0111 0011 y- y+ x- x+ w+ w- z+ z- yz=1 yz=0
54
s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ y- z- w- w+ y+ x+ x-
1001 1011 s- s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ s- s+ 1001 w+ z- 0001 0000 0101 0010 0100 0110 x+ w- z- y+ 0011 1000 z- w- w+ y+ x- 1010 y+ x+ x- 0111 s+ s=0 z+ z+ 0111 z- is delayed by the new transition s- !
55
C x y w z 1001 1011 1000 1010 0001 0000 0101 0010 0100 0110 0111 0011 y- y+ x- x+ w+ w- z+ z- 1001 1011 1000 1010 0001 0000 0101 0010 0100 0110 0111 0011 y- y+ x- x+ w+ w- z+ z- yz=1 yz=0 y y y y y y y
56
Design flow Specification (STG) State Graph SG with CSC
Reachability analysis State Graph State encoding SG with CSC Design flow Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist
57
Technology mapping BDD-based Boolean matching
Handles sequential gates and combinational feedbacks Merging small gates into larger gates introduces no new hazards
58
Timing optimization Specification (STG) State Graph SG with CSC
Reachability analysis State Graph State encoding SG with CSC Timing optimization Boolean minimization Next-state functions Logic decomposition Decomposed functions Technology mapping Gate netlist
59
Timing optimization If exact timing bounds are unknown, use relative timing assumptions “a+ before b+” a+ b+
60
Timing assumptions For concurrent events For ordered events
concurrency reduction (some states become unreachable) For ordered events early enabling (but without introducing new reachable states)
61
READ control in 2-input gates
DSr+ DTACK- LDS+ LDTACK+ D+ DTACK+ DSr- D- LDTACK- LDS- D DTACK LDS map csc DSr LDTACK
62
Adding timing assumptions (I)
LDS+ LDTACK+ D+ DTACK+ DSr- D- DTACK- LDS- LDTACK- DSr+ LDTACK- before DSr+ D DTACK FAST SLOW LDS map csc DSr LDTACK
63
Adding timing assumption (I)
LDS+ LDTACK+ D+ DTACK+ DSr- D- DTACK- LDS- LDTACK- DSr+ DTACK D DSr LDS LDTACK LDTACK- before DSr+ TIMING CONSTRAINT
64
Timing optimization for ordered events
Early enabling: b a c b a b c c a b c
65
Adding timing assumptions (II)
DSr+ DTACK- LDS+ LDTACK+ D+ DTACK+ DSr- D- D- before LDS- LDTACK- LDS- D DTACK LDS DSr LDTACK
66
Adding timing assumptions (II)
DSr+ DTACK- LDS+ LDTACK+ D+ DTACK+ DSr- D- LDTACK- LDS- DTACK D DSr LDS LDTACK LDTACK- before DSr+ and D- before LDS- TIMING CONSTRAINT
67
Formal verification Property verification Implementation verification
Implementability properties Consistency, persistency, state coding … Behavioral properties (safeness, liveness) Mutual exclusion, “ack” after “req”, ... Implementation verification Circuit Specification Circuit < Specification
68
Fighting the state explosion
FSM-like verification methods: Symbolic methods (BDDs) Partial order reductions Petri-net based methods: Petri net unfoldings Structural theory (invariants)
69
Testing of asynchronous circuits
Can be more expensive than for synchronous Scan-based and IDDQ techniques can be used for stuck-at, delay and bridging faults There are ATPG techniques
70
Summary Asynchronous design is applicable to
asynchronous interfaces high-performance computing low-power design low-emission design There is an increasing interest of a few companies: Intel, Philips, Sun, Sharp, ARM, HP, Cogency
71
Summary (continued) Asynchronous circuits are more difficult to design than synchronous Clock distribution and on-die variations makes synchronous design more difficult CAD support is crucial CAD tools have matured All synthesis steps of the design flow presented in this tutorial are supported by the tool Petrify
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.