Variable Ordering Using aBDD Based Sampling - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Variable Ordering Using aBDD Based Sampling

Description:

Co-author: Jawahar Jain, Fujitsu Lab of America. Edmund Clarke, Carnegie Mellon University ... Carnegie Mellon University. Outline. Motivation. Related Work ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 21
Provided by: carl290
Category:

less

Transcript and Presenter's Notes

Title: Variable Ordering Using aBDD Based Sampling


1
Variable Ordering Using aBDDBased Sampling
  • Yuan Lu
  • Electrical and Computer Engineering
  • Carnegie Mellon University

Co-author Jawahar Jain, Fujitsu Lab of
America Edmund Clarke, Carnegie Mellon
University Masahiro Fujita, University of Tokyo
2
Outline
  • Motivation
  • Related Work
  • Cube-based Sampling
  • Window-based Sampling
  • Experiments
  • Conclusion and Future work

3
Motivation
  • BDDs are widely used in synthesis and
    verification
  • Good variable ordering is essential
  • Existing techniques are not adequate
  • static ordering is fast, but lacks power
  • dynamic reordering is slower, but efficient
  • Obtaining a better order may be a hit-and-trial
    process
  • numerous experiments are performed
  • Sampling based approaches are promising

4
Related Work
  • Static Variable Ordering (Fujita88, Malik88)
  • Dynamic Reordering (Fujita91,Rudell93,Panda95)
  • reasonably powerful
  • slower, local minimum
  • Function Sampling-based Ordering (Jain98)
  • application driven, forward look-ahead
  • faster, sometimes very powerful
  • Implemented using cube-based sampling
  • large deviation in BDD size unpredictable
  • BDD Manager based-sampling (Meinel98)
  • Lacks forward look-ahead Not the focus of this
    paper

5
Cube-based Sampling (Jain98)
  • Given a Boolean function F(x1, x2, x3, ...), it
    is likely that a good variable order for F(0,1,
    x3,) is also a good order for F.
  • Assume cube c!x1 x2, F(0,1,) F(x1,x2,) c
  • Obtaining good orders for smaller function is
    simpler than original functions.
  • Sample the Boolean space using random cubes
  • Select the best from the obtained orders
  • Unsolved puzzles
  • Which cube to be chosen?
  • How to average the effects from different orders?

6
Window-based Sampling
  • A cube may not represent the behavior of the full
    function, e.g. F(0,1, x3,) 1
  • Instead of using one cube, more than one cube
    should be used w c1 c2 ...
  • How to generate good windows?

Cube-based sampling
Window-based sampling
Boolean space
7
Abstract BDDs
  • Given abstraction function h, abstract BDT H(f)
    of f is constructed as follows.
  • Nodes are classified into equivalence classes
  • One representative v is chosen from each class
  • Let , if
  • Abstract BDT
  • Different definitions for abstract BDDs are
    possible

8
Abstract BDDs Example
  • Assume
  • Abstract BDT for is

0
0
1
1
9
Abstract BDDs Properties
  • Distribution property
  • Let c(v) be the cube corresponding to v,

10
Window-based Sampling Using aBDDs
  • Use aBDDs to generate window samples
  • Advantages
  • Averaging effects of multiple cubes
  • Produce more stable ordering than cube-based
    approaches
  • Procedure
  • Choose variables to be abstracted
  • Generate window samples
  • Select best samples

11
Variable Ordering Methodology
Abstraction
estimation
candidate order select
functions
orders
circuit filter
evolution filter
orders
final initial order
Similar methodology as cube-based sampling
(Jain98)
12
Experiments
  • Experiments on combinational circuits
  • Experiment I static ordering for single-output
    functions
  • Experiment II dynamic ordering for single-output
    functions
  • Experiment III dynamic ordering for
    multiple-output circuits
  • Experiment on sequential circuits
  • generate initial ordering for model checking PCI
    bus protocol

13
Experiment I Static Ordering
14
Experiment I Static Ordering
15
Experiments II Dynamic Reordering
16
Experiment II Dynamic Ordering
17
Experiments IIIMultiple Outputs
18
Variable Ordering for Model Checking
  • Variable ordering is essential for model checking
  • Current dynamic reordering approaches do not have
    the forward look-ahead capability
  • Abstraction-based variable ordering
  • Given a set of abstraction functions, the system
    automatically build abstract Kripke structure.
  • CTL properties are preprocessed on the abstract
    Kripke structure.
  • The obtained order is used as initial order for
    the final model checking process.

19
Experiments IVModel Checking
20
Conclusion
  • Our approach overcomes the large deviation
    problem of the cube-based sampling approach.
  • Window-based sampling techniques are efficient to
    obtain good variable orders.
  • Window-based sampling can use other forms instead
    of aBDDs, e.g. decomposed BDDs.
  • We are currently investigating how to incorporate
    similar ideas inside BDD packages instead of
    exploring the circuit structures.
Write a Comment
User Comments (0)
About PowerShow.com