220 likes | 374 Vues
This paper presents a novel partitioning methodology aimed at improving BDD-based verification processes, particularly in reachability analysis. The study addresses key challenges in partitioned reachability, exploring fundamental questions regarding when, how, and what to partition. Through experimental results on VIS benchmarks, the methodology's effectiveness is showcased, demonstrating the potential of Partitioned OBDD (POBDD) to enhance efficiency in various reachability problems. The findings advocate for trace-centric approaches and reveal the need for dynamic partitioning strategies for optimal performance.
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.