Title: Asynchronous%20Circuit%20Verification%20and%20Synthesis%20with%20Petri%20Nets
1Asynchronous Circuit Verification and Synthesis
with Petri Nets
J. Cortadella Universitat Politècnica de
Catalunya, Barcelona
Thanks to Michael Kishinevsky (Intel
Corporation) Alex Kondratyev
(The University of Aizu)
Luciano Lavagno (Politecnico di Torino)
Enric Pastor (Universitat Politècnica de
Catalunya) Alex Taubin (The
University of Aizu) Alex
Yakovlev (University of Newcastle upon Tyne)
2Motivation
- 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, ...
3Why Petri nets ?
- Formal model to specify causality, concurrency
and choice between events - Simple enough to easily derive state-level
information (logic synthesis) - Powerful enough to implicitly represent a large
state space
4Outline
- Design flow
- Synthesis
- Specification
- State encoding
- Logic decomposition
- Synthesis of Petri nets
- Formal verification
5Design flow
6x
x
y
y
z
z
x-
z
x
y
z-
y-
Signal Transition Graph (STG)
7(No Transcript)
8(No Transcript)
9Synchronous
Asynchronous
10Next-state functions
11(No Transcript)
12Specification(STG)
Reachability analysis
State Graph
State encoding
SG withCSC
Design flow
Boolean minimization
Next-state functions
Logic decomposition
Decomposed functions
Technology mapping
Gate netlist
13VME bus
14STG for the READ cycle
DTACK-
DSr
LDS
LDTACK
D
DTACK
DSr-
D-
LDS-
LDTACK-
D
LDS
DSr
VME Bus Controller
LDTACK
DTACK
15Choice Read and Write cycles
16Choice Read and Write cycles
17Circuit synthesis
- Goal
- Derive a hazard-free circuitunder a given delay
model andmode of operation
18Modes of operation
- Fundamental mode
- Single-input changes
- Multiple-input changes
- Input / Output mode
- Concurrencycircuit / environment
Currentstate
Nextstate
19STG for the READ cycle
DTACK-
DSr
LDS
LDTACK
D
DTACK
DSr-
D-
LDS-
LDTACK-
D
LDS
DSr
VME Bus Controller
LDTACK
DTACK
20Speed independence
- Delay model
- Unbounded gate / environment delays
- Certain wire delays shorter than certain paths in
the circuit - Conditions for implementability
- Consistency
- Complete State Coding
- Output persistency
21Other 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
22Specification(STG)
Reachability analysis
State Graph
State encoding
SG withCSC
Design flow
Boolean minimization
Next-state functions
Logic decomposition
Decomposed functions
Technology mapping
Gate netlist
23State Graph (Read cycle)
DSr
DTACK-
LDS
LDTACK-
LDTACK-
LDTACK-
DSr
DTACK-
LDS-
LDS-
LDS-
LDTACK
DSr
DTACK-
D
D-
DSr-
DTACK
24Binary encoding of signals
DSr
DTACK-
LDS
LDTACK-
LDTACK-
LDTACK-
DSr
DTACK-
LDS-
LDS-
LDS-
LDTACK
DSr
DTACK-
D
D-
DSr-
DTACK
25Binary encoding of signals
DSr
DTACK-
10000
LDS
LDTACK-
LDTACK-
LDTACK-
DSr
DTACK-
10010
LDS-
LDS-
LDS-
LDTACK
DSr
DTACK-
10110
01110
10110
D
D-
DSr-
DTACK
(DSr , DTACK , LDTACK , LDS , D)
26Excitation / Quiescent Regions
27Next-state function
0 ? 1
0 ? 0
1 ? 1
1 ? 0
28Karnaugh map for LDS
LDS 1
LDS 0
-
-
-
0
1
-
0
1
-
-
-
-
-
-
-
-
1
1
1
-
-
-
-
-
0
0
0
0
0
0/1?
-
-
29Specification(STG)
Reachability analysis
State Graph
State encoding
SG withCSC
Design flow
Boolean minimization
Next-state functions
Logic decomposition
Decomposed functions
Technology mapping
Gate netlist
30Concurrency reduction
LDS
LDS-
LDS-
LDS-
10110
10110
31Concurrency reduction
DTACK-
DSr
LDS
LDTACK
D
DTACK
DSr-
D-
LDS-
LDTACK-
(See todays presentation in this workshop for
more details)
32State encoding conflicts
LDS
LDTACK-
LDS-
LDTACK
10110
10110
33Signal Insertion
LDTACK-
LDS
LDS-
LDTACK
101101
101100
D-
DSr-
34Specification(STG)
Reachability analysis
State Graph
State encoding
SG withCSC
Design flow
Boolean minimization
Next-state functions
Logic decomposition
Decomposed functions
Technology mapping
Gate netlist
35Complex-gate implementation
36Specification(STG)
Reachability analysis
State Graph
State encoding
SG withCSC
Design flow
Boolean minimization
Next-state functions
Logic decomposition
Decomposed functions
Technology mapping
Gate netlist
37Hazards
38Hazards
1000
1100
1100
0100
0110
39Decomposition
- Global acknowledgement
- Generating candidates
- Hazard-free signal insertion
- Event insertion
- Signal insertion
40Global acknowledgement
41How about 2-input gates ?
42How about 2-input gates ?
c
z
b
a
a
y
b
d
43How about 2-input gates ?
0
c
0
z
b
a
a
y
b
d
44How about 2-input gates ?
c
z
b
a
a
y
b
d
45How about 2-input gates ?
c
z
y
d
46Strategy 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
47Decomposition example
48(No Transcript)
49y-
s
50s1
y-
s-
s-
s-
s
s0
51(No Transcript)
52s1
y-
y-
1001
1011
s-
w
1001
z-
0011
1000
z-
w-
w
y
x-
1010
y
x
x-
0111
s
s0
z
z
0111
z- is delayed by the new transition s- !
53(No Transcript)
54Signal insertion for function F
Insertion by input borders
State Graph
55Event insertion
56Properties to preserve
a is persistent
57Interactive design flow
Reachability analysis
Transformations Synthesis
58Theory of regions(Ehrenfeucht 90, Nielsen 92)
59Synthesis of Petri Nets
60Excitation closure
a
61Label splitting
a
d
b
a
d
b
b
d
c
c
d
b
c
d
b
b
62Formal verification
- Implementability properties
- Consistency, persistency, state coding
- Behavioral properties (safeness, liveness)
- Mutual exclusion, ack after req,
- Equivalence checking
- Circuit ? Specification
- Circuit lt Specification
63Property verification consistency
Specification
64Correctness environment ? circuit
Circuit
Failure circuit produces an event unexpected
(not enabled)by the environment
Environment
65Fighting the state explosion
- Symbolic methods (BDDs)
- Partial order reductions
- Petri net unfoldings
- Structural theory (invariants)
66Fighting with state explosion
67Representing Markings
p2 p3 p5 1
p0 p1 p4 p5 1
68Summary
- Asynchronous design is applicable to
- asynchronous interfaces
- high-performance computing
- low-power design
- low-emission design
- There is an increased interest of few, but large
scale companies Intel, Philips, Sun, Sharp, ARM,
HP, Cogency
69Summary (continued)
- Asynchronous circuits are more difficult to
design than synchronous - Formal models and CAD support are essential
- Petri nets have been one of the most successful
formalisms for modeling asynchronous circuits - Most steps of the design process covered by this
tutorial are supported by the tool Petrify