Title: ILP Models for the Synthesis of Asynchronous Control Circuits
1ILP Models for the Synthesis of Asynchronous
Control Circuits
- Josep Carmona and Jordi Cortadella
- Technical University of Catalunya
- Barcelona, Spain
2Outline
- Synthesis of Async. Circuits VME example
- State space explosion problem
- Structural methods
- Petri net methods. ILP for
- State encoding verification
- Decomposition of initial specification
- Design Flow
- Synthesis Example
3(No Transcript)
4DSr
DSw
DTACK-
LDS
D
LDTACK
LDS
LDTACK-
D
LDTACK
DTACK
D-
LDS-
DSr-
DTACK
D-
DSw-
5DSr
DSw
DTACK-
LDS
D
LDTACK
LDS
LDTACK-
D
LDTACK
DTACK
D-
LDS-
DSr-
DTACK
D-
DSw-
6DSr
DSw
DTACK-
LDS
D
LDTACK
LDS
LDTACK-
D
LDTACK
DTACK
D-
LDS-
DSr-
DTACK
D-
DSw-
7DSr
DSw
DTACK-
LDS
D
LDTACK
LDS
LDTACK-
D
LDTACK
DTACK
D-
LDS-
DSr-
DTACK
D-
DSw-
8DSr
DSw
DTACK-
LDS
D
LDTACK
LDS
LDTACK-
D
LDTACK
DTACK
D-
LDS-
DSr-
DTACK
D-
DSw-
9Specification
?
10Signal Transition Graph (Petri net)
1100000
12The encoding problem
00000
01000
10000
DSr
DTACK-
LDS
LDTACK-
LDTACK-
LDTACK-
DSr
DTACK-
10010
LDS-
LDS-
LDS-
LDTACK
DSr
DTACK-
10110
01110
10110
D
D-
11111
10111
01111
DSr-
DTACK
13(No Transcript)
14Boolean equations LDS D ? csc DTACK D D
LDTACK csc DSr
15State space explosion problem
Signal Transition Graph (Petri net)
16State space explosion problem
- Methods to avoid it
- Linear Algebra (LP/ILP)
- Graph Theory
- Implicit data structures (BDDs)
- Partiar order (Unfoldings)
Structural methods
17Marking equation
p1
Incidence matrix
p3
p2
p4
p5
p6
p7
18Marking equation
M M Ax
p1 p2 p3 p4 p5 p6 p7
Necessary reachability condition, but not
sufficient.
19Checking Unique State Coding
z a b a- b-
x
M0 M1 M2
- M1 and M2 have the same binary code (z must be
a complementary set of transitions) - M1 and M2 must be different markings (they
must differ in at least one place)
20Checking Unique State Coding
z a b a- b-
x
M0 M1 M2
ILP formulation M1 M0 Ax M2 M1
Az bal(z) M1 ? M2 x, z, M1, M2 ? 0
bal(z) ? ?a (a) - (a-) 0
21Some experiments (USC)
- CLP (Khomenko et al)
- Partial order approach (Unfoldings)
- Integer Linear Programming
22Checking Complete State Coding
ILP formulation M1 M0 Ax M2 M1
Az bal(z) M1 ? ER(a) M2 ? ER(a) x, z, M1,
M2 ? 0
n ILP problems must be solved (n is the number of
transitions with label a)
23Some experiments (CSC)
- SAT (Khomenko et al )
- Partial order approach (Unfoldings)
- Satisfiability solver
24Synthesis
- Each signal can be implemented with asubset of
the STG signals in the support(typically less
than 10) - Synthesis of a signal
- Project the STG onto the support signals (hide
the rest) - After projection, the STG still has CSC for the
signal - Use state-based methods on each projection
25Synthesis example
26(No Transcript)
27Checking the support for a signal
Let ? be the set of signals and ? a potential
support for a. Let z be the projection of z onto
?. ? is a valid support for a if the following
model has no solution
ILP formulation M1 M0 Ax M2 M1
Az bal(z) M1 ? ER(a) M2 ? ER(a) x, z,
M1, M2 ? 0
28Algorithm to find the support
z a ? trigger signals of a forever z
ILP_check_support (STG, a, z) if z 0
then return z z z ? unbalanced signals
in z end_forever
29Experiments (Support Synthesis)
CPU
Literals
ILP
Petrify
Petrify
ILP
- Petrify (Cortadella et al )
- State-based technology mapping
- BDD
30Design flow
STG
structural encoding
remove internal signals and check CSC
STG with CSC
structural transformations
optimized STG
. . .
support for z
support for a
support for b
projection
STG for a
STG for b
STG for z
logic synthesis (petrify)
circuit for a
circuit for b
circuit for z
31Synthesis example
32x3
x1
x2
33z
x4
x5
34(No Transcript)
35(No Transcript)
36Conclusions
- Fast technique for state encoding checking,
providing a speed-up of several orders of
magnitude - Novel technique for decomposing the spec
- Complete design flow for the synthesis of
speed-independent circuits - Can handle big-size specifications
- Quality comparable to state-based techniques
37Thank you!