220 likes | 363 Views
A Partitioning Methodology for BDD-based Verification. D. Sahoo, Stanford S. Iyer, UT-Austin J. Jain, Fujitsu C. Stangier, Fujitsu A. Narayan, BDA D. Dill, Stanford E. A. Emerson, UT-Austin. IWLS 2004. Outline. Background The Partitioning Methodology Experimental Results Conclusion.
E N D
A Partitioning Methodology for BDD-based Verification D. Sahoo, Stanford S. Iyer, UT-Austin J. Jain, Fujitsu C. Stangier, Fujitsu A. Narayan, BDA D. Dill, Stanford E. A. Emerson, UT-Austin IWLS 2004
Outline • Background • The Partitioning Methodology • Experimental Results • Conclusion
Motivation • BDD-based Verification • Reachability Analysis • Partitioned Reachability Analysis • Problems of Partitioned-based Reachability
What Are Partitioned OBDDs? For FV, replace BDDs by POBDDs (Jain 92) x1 X3 = 0 X3 = 1 x2 x2 x1 x1 x2 x2 x2 x3 x4 x4 x4 x4 0 1 x4 0 1 0 1
w2 w1 I1(x) I3(x) w3 w4 Event Queue 1 3 Reachability using Partitioned-ROBDDs
w2 w1 I1(x) T11 I3(x) w3 w4 Event Queue 3 Reachability using Partitioned-ROBDDs
Event Queue 3 4 Reachability using Partitioned-ROBDDs w2 w1 T12 R1 T14 T13 I3(x) w3 w4
w2 w1 R1 T33 I3(x) w3 w4 Event Queue 4 Reachability using Partitioned-ROBDDs
w2 w1 R1 T31 T32 T34 R3 w3 w4 Event Queue 4 2 1 Reachability using Partitioned-ROBDDs
w2 w1 R1 T44 R3 w3 w4 Event Queue 1 2 Reachability using Partitioned-ROBDDs
Challengesin POBDD-based Verification Creating Partitions: 6 Basic Questions • When to partition? • How to partition? • How many partitions? • What type of partitions? • Where to re-partition? • How to process partitions?
New Partitioning Methodology • Initial Partitioning • Choice of Partitioning Variable • Global Dynamic Partitioning • Local Partitioning • Scheduling • Trace-based decisions
Initial Partitioning • Easy Reachability • Leads to a better Partitioning Strategy
Choice of Partitioning Variable • Cost function • Trace-based selection
Choice of Partitioning Variable • Cost function • Trace-based selection
Global Dynamic Partitioning • Blowup in a Partition • Balanced Partitioning Strategy
Local Partitioning • Non-compatible Intermediate functions Memory
Scheduling • Partition Traversal order • Cost function • Density based scheduling • Time based scheduling
Trace-based decisions • Try different configurations • Pick the best ?
Results on VIS Benchmarks (All circuits reported where VIS needs > 250K BDD nodes) T = Timeout, M/O = Memout
Summary • Proved viability of POBDDs by answering fundamental questions on partitioning • What/when/how/where/… to partition • POBDDs can be more efficient for many reachability problems but somewhat unstable • Requires trace-centric approach • Preliminary results shown.