Optimizing Automatic Abstraction Refinement for GSTE - PowerPoint PPT Presentation

About This Presentation
Title:

Optimizing Automatic Abstraction Refinement for GSTE

Description:

Optimizing Automatic Abstraction Refinement for GSTE Yan Chen, Fei Xie Portland State University Jin Yang Intel – PowerPoint PPT presentation

Number of Views:136
Avg rating:3.0/5.0
Slides: 30
Provided by: cy56
Learn more at: https://home.ttic.edu
Category:

less

Transcript and Presenter's Notes

Title: Optimizing Automatic Abstraction Refinement for GSTE


1
Optimizing Automatic Abstraction Refinement for
GSTE
  • Yan Chen, Fei Xie
  • Portland State University
  • Jin Yang
  • Intel

2
Outline
  • Overview of (G)STE
  • Quaternary Abstraction and its Imprecision
  • AutoGSTE Automatic Abstraction Refinement
  • Optimizing AutoGSTE
  • More Accurate Fan-in Analysis
  • Precise Nodes with Lifespans
  • State Set Containment Check
  • Conclusions

3
Symbolic Trajectory Evaluation
Bryant Seger
Buffered Register
Simulation-based model checking
4
Generalized STE
Yang Seger
Buffered Register
GSTE Assertion Graph
an infinite collection of STE assertions
Simulation with fixed-point computation
5
Outline
  • Overview of (G)STE
  • Quaternary Abstraction and its Imprecision
  • AutoGSTE Automatic Abstraction Refinement
  • Optimizing AutoGSTE
  • More Accurate Fan-in Analysis
  • Precise Nodes with Lifespans
  • State Set Containment Check
  • Conclusions

6
Quaternary Abstraction
T
(Conflict)
  • Two sides of a coin
  • Significantly reduce state space representation
    by quaternary abstraction ?
  • Over abstractions cause false negatives ?

0
1
X
(Unknown)
Information Partial Order
Propagation of Unknown
7
Causes of False Negatives Quaternary State Set
Unions
Edge 1 2
dinDATA, wr1, rdX, BRselX
dinX, wr0, rd1, BDATA, RX, sel0 Check
outDATA
Quaternary Simulation Result
Quaternary Union
dinX, wr0, rd1, BDATA, RX, selX Check
outDATA fail
dinX, wr0, rd1, BDATA, RDATA, sel1 Check
outDATA
8
Causes of False Negatives Quantified-out
Symbolic Variables
Edge 1 2
AX, BX Check out0 fail
Av, Bv
Quaternary Simulation Result
9
Outline
  • Overview of (G)STE
  • Quaternary Abstraction and its Imprecision
  • AutoGSTE Automatic Abstraction Refinement
  • Optimizing AutoGSTE
  • More Accurate Fan-in Analysis
  • Precise Nodes with Lifespans
  • State Set Containment Check
  • Conclusions

10
AutoGSTE Automatic Abstraction Refinement
FMCAD07
Abstraction refinement (monotonic) (1)
Constraining inputs with symbolic
constants/variables (2) Model refinement
introducing precise nodes (3) Spec refinement
assertion graph transformations
Circuit Impl.
Assertion Graph
(1) GSTE
(3) Abstraction Refinement
Refined Abstraction
Assertion holds
Counter Example
(2) Counter Example Analysis
Causes of Imprecision
Assertion fails
Causes of imprecision in GSTEs quaternary
abstraction (1) Under-constrained inputs (2)
Quaternary state set unions (3) Existentially
quantified-out symbolic variables
11
Outline
  • Overview of (G)STE
  • Quaternary Abstraction and its Imprecision
  • AutoGSTE Automatic Abstraction Refinement
  • Optimizing AutoGSTE
  • More Accurate Fan-in Analysis
  • Precise Nodes with Lifespans
  • State Set Containment Check
  • Conclusions

12
Counterexample Analysis -- Union
DATA
X
X
0
X
Counter Example
Edge 1 dinDATA, wr1, rdX, BRselX
Edge 2 dinX, wr0, rd1, BDATA, RX, sel0
Edge 2 dinX, wr0, rd1, BDATA, RX, selX
13
Counterexample Analysis -- Weak
Counter Example
Edge 1 Av, Bv
Edge 2 AX, BX
14
Inefficiency in Backward Reasoning
  • The original counterexample analysis algorithm
  • Did not consider post-image functions

Can identify more causes than necessary
15
Consider Post-image Functions
  • Get the post-image function for Out
  • Substitute circuit nodes with values in
    counterexample
  • Canonicalize post-image function using BDD

16
Effectiveness
  • Speculative Design of FIFOs
  • When the mux has 24 fan-ins, number of
    circuitnodes identified
  • Original algorithm 120
  • Optimized algorithm 5

17
Experimental Results
18
Outline
  • Overview of (G)STE
  • Quaternary Abstraction and its Imprecision
  • AutoGSTE Automatic Abstraction Refinement
  • Optimizing AutoGSTE
  • More Accurate Fan-in Analysis
  • Precise Nodes with Lifespans
  • State Set Containment Check
  • Conclusions

19
Model Refinement
  • Quaternary Union
  • Mark sel as precise node

BDATA, RX, sel0
BDATA, RDATA, sel1
BDATA, RX, selX
?

BDATA, RX, sel0
BDATA, RDATA, sel1
?

20
Inefficiency in Model Refinement
  • Problem May mark unnecessary nodes
    preciseSolution More accurate fan-in analysis
    help to reduce unnecessary precise nodes
  • Problem Precise nodes are made during the whole
    simulation
  • Solution
  • Mark the circuit nodes precise only on certain
    assertion edges
  • Monotonic precise node marking on each edge
  • Trade-offs between iteration times and state
    spaces

21
Experiments on Staged Design with Speculation
  • Staged design with speculation
  • Hard to check using original AutoGSTE

22
Experimental Results
23
Outline
  • Overview of (G)STE
  • Quaternary Abstraction and its Imprecision
  • AutoGSTE Automatic Abstraction Refinement
  • Optimizing AutoGSTE
  • More Accurate Fan-in Analysis
  • Precise Nodes with Lifespans
  • State Set Containment Check
  • Conclusions

24
Specification Refinement
  • Loop unrolling/case-splitting transformations on
    assertion graphs

A1, B1
2
True /
out0
3
1
A0, B0
25
Inefficiency in Specification Refinement
sim(e) C1, D1, Cv, D0, C0, D0
CX, DX
GSTE
C1, D1
Cv, D0
AutoGSTE
C0, D0
26
Improve Specification Refinement
  • Specification Refinement
  • Check if a new state s is contained in the state
    set of that assertion edge
  • If true, fixed-point found
  • If a previous state is contained in s, replace
    with s
  • Containment Check
  • Given two state s1, s2.
  • Build Boolean expression (Is s1 contained in s2?)
  • s2 ? s1
  • Satisfibility of the expression
  • Existentially quantify out all variables in BDD

27
Experiments
Circuit Circuit Results Without Containment Check Results Without Containment Check Results Without Containment Check Results with Containment Check Results with Containment Check Results with Containment Check
FIFO Depth of Edges of Edges Time (Sec.) Mem (MB) of Edges Time (Sec.) Mem (MB)
3 11 51 0.32 12 25 0.3 12
8 26 296 2.98 14 145 2.56 15
16 50 1104 16.97 22 545 13.9 17
24 74 2424 50 33 1201 44.3 20
28
Outline
  • Overview of (G)STE
  • Quaternary Abstraction and its Imprecision
  • AutoGSTE Automatic Abstraction Refinement
  • Optimizing AutoGSTE
  • More Accurate Fan-in Analysis
  • Precise Nodes with Lifespans
  • State Set Containment Check
  • Conclusions

29
Conclusions
  • Optimization of Counterexample Analysis
  • Consider post-image function andunknown
    conditions
  • Effective in reducing unnecessary X-chasing
  • Optimization of Model Refinement
  • Extend precise node with lifespans
  • Effective in reducing memory usage
  • Optimization of Specification Refinement
  • Containment check for state set unions
  • Effective in reducing unnecessary loop unrolling
    and case splitting
Write a Comment
User Comments (0)
About PowerShow.com