application to the automatic extraction of circuit shapes charles hymans modular analysis of a...
TRANSCRIPT
![Page 1: Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation](https://reader036.vdocuments.us/reader036/viewer/2022072006/56649f465503460f94c67b35/html5/thumbnails/1.jpg)
Application to the automatic extraction of circuit shapes
Charles Hymans
Modular analysis of a circuit description
language by Abstract Interpretation
![Page 2: Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation](https://reader036.vdocuments.us/reader036/viewer/2022072006/56649f465503460f94c67b35/html5/thumbnails/2.jpg)
6 April 2002 Designing Correct Circuits 2
lfp F (lfp G)
Concrete semanticsfix-point of F
Galois connection (, ) linksconcrete D and abstract A domain
Sound abstract semanticsfix-point of G algorithm
A. I. design flowF
G
D
A
D
A
![Page 3: Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation](https://reader036.vdocuments.us/reader036/viewer/2022072006/56649f465503460f94c67b35/html5/thumbnails/3.jpg)
6 April 2002 Designing Correct Circuits 3
Shape analysis for RTL VHDL
A <= B or C;
A
B
C
or
A
B
C
![Page 4: Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation](https://reader036.vdocuments.us/reader036/viewer/2022072006/56649f465503460f94c67b35/html5/thumbnails/4.jpg)
6 April 2002 Designing Correct Circuits 4
Generic modules?
entity example generic(n : integer) port(A : bit_vector(1 to n), B : bit_vector(1 to 2*n))
for I in 1 to n A[I] <= not B[I + 1]; end;end;
No a-priori bound on
n !
![Page 5: Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation](https://reader036.vdocuments.us/reader036/viewer/2022072006/56649f465503460f94c67b35/html5/thumbnails/5.jpg)
6 April 2002 Designing Correct Circuits 5
Modular analysis
Semantics of a module?
Representation for infinite shapes?
A
B
1 ... n
n + 1
infinite !
![Page 6: Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation](https://reader036.vdocuments.us/reader036/viewer/2022072006/56649f465503460f94c67b35/html5/thumbnails/6.jpg)
6 April 2002 Designing Correct Circuits 6
Operational semantics Execution builds a circuit
State : (l, E, G, S)
VHDL command basic operators
7 basic operators modify (E, G)assert, create_int, connect ...
![Page 7: Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation](https://reader036.vdocuments.us/reader036/viewer/2022072006/56649f465503460f94c67b35/html5/thumbnails/7.jpg)
6 April 2002 Designing Correct Circuits 7
Trace semantics? Chopped semantics!
M
N
call return
M
N
![Page 8: Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation](https://reader036.vdocuments.us/reader036/viewer/2022072006/56649f465503460f94c67b35/html5/thumbnails/8.jpg)
6 April 2002 Designing Correct Circuits 8
Fix-point for chopped semantics
F(X)(g) = entry(g)
{s0 … sn+1 | s0 … sn X(g), sn sn+1 }
{s0 … sn+1 | s0 … sn X(g),
sn call(f), sn t0, t0 … tm X(f),
tm return, tm sn+1 }
![Page 9: Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation](https://reader036.vdocuments.us/reader036/viewer/2022072006/56649f465503460f94c67b35/html5/thumbnails/9.jpg)
6 April 2002 Designing Correct Circuits 9
Abstract domain
At each program point l
Possible values of integer variablesnumerical domain
Shapes built since module entrydecorated connection graph
![Page 10: Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation](https://reader036.vdocuments.us/reader036/viewer/2022072006/56649f465503460f94c67b35/html5/thumbnails/10.jpg)
6 April 2002 Designing Correct Circuits 10
Numerical domains
Intervals affine subspaces octagons polyhedra
X [aX, bX] Y [aY, bY]
aX + bY = c
X Y c
aX + bY c
Symbolic representation for numerical functions
![Page 11: Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation](https://reader036.vdocuments.us/reader036/viewer/2022072006/56649f465503460f94c67b35/html5/thumbnails/11.jpg)
6 April 2002 Designing Correct Circuits 11
Decorated connection graph
finite !
l + 1 = r
A
B
1 ... n
n+1
infinite !
A
B
for I in 1 to n A[I] <= not B[I + 1];end;
![Page 12: Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation](https://reader036.vdocuments.us/reader036/viewer/2022072006/56649f465503460f94c67b35/html5/thumbnails/12.jpg)
6 April 2002 Designing Correct Circuits 12
Abstract operators
Operational semantics expressed thanks to 7 basic operators
Design onlyabstract operatorsabstract module plug-in
sound operators sound analysis
![Page 13: Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation](https://reader036.vdocuments.us/reader036/viewer/2022072006/56649f465503460f94c67b35/html5/thumbnails/13.jpg)
6 April 2002 Designing Correct Circuits 13
Example: wire connection
A[2*I + 1] <= not B[J];
left expression: l = 2*I + 1 environment: I = J right expression: r = J
resulting constraint: l = 2 * r + 1
![Page 14: Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation](https://reader036.vdocuments.us/reader036/viewer/2022072006/56649f465503460f94c67b35/html5/thumbnails/14.jpg)
6 April 2002 Designing Correct Circuits 14
Wire connection (cont.)
I J
l rresulting connection
environment
left right
![Page 15: Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation](https://reader036.vdocuments.us/reader036/viewer/2022072006/56649f465503460f94c67b35/html5/thumbnails/15.jpg)
6 April 2002 Designing Correct Circuits 15
Conclusion
Modular analysis Decorated connection graph Quickly applicable to other languages
Data-dependency: all VHDL Timed dependencies:
“B depends on A with a delay of 3 cycles”
![Page 16: Application to the automatic extraction of circuit shapes Charles Hymans Modular analysis of a circuit description language by Abstract Interpretation](https://reader036.vdocuments.us/reader036/viewer/2022072006/56649f465503460f94c67b35/html5/thumbnails/16.jpg)
Thank you for your attention!