n l v calazans r p jacobi q zhang c trullemans universit
play

N. L. V. Calazans, R. P. Jacobi, Q. Zhang, C. Trullemans Universit - PowerPoint PPT Presentation

Improving BDDs Manipulation Through Incremental Reduction and Enhanced Heuristics N. L. V. Calazans, R. P. Jacobi, Q. Zhang, C. Trullemans Universit Catholique de Louvain - Laboratoire de Microlectronique Summary Introduction MBDs


  1. Improving BDDs Manipulation Through Incremental Reduction and Enhanced Heuristics N. L. V. Calazans, R. P. Jacobi, Q. Zhang, C. Trullemans Université Catholique de Louvain - Laboratoire de Microélectronique

  2. Summary • Introduction • MBDs and Boolean Verification • Ordering of Input Variables • Incremental Manipulation • Benchmark Results • Conclusions and Future Work

  3. Canonical BDDs Characteristics • Used to represent and manipulate Boolean functions (general); • Applied to design verification, symbolic simulation, logic synthesis, etc; • Subject to a problem: Establishing the variable ordering.

  4. Our Approach: • Generalization of BDDs for logic synthesis applications; • New initial ordering heuristics; • Incremental techniques to change the ordering dynamically.

  5. Summary √ Introduction • MBDs and Boolean Verification • Ordering of Input Variables • Incremental Manipulation • Benchmark Results • Conclusions and Future Work

  6. Example x 0 x 0 g f X X 0 X 1 X 0 0 x 1 x 1 x 1 x 1 X X 1 1 0 X 1 X x 2 x 2 g on g off g dc f on f off f dc x 0 x 0 x 0 x 0 x 0 x 0 x 1 x 1 x 1 x 1 x 1 x 1 x 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 0 1 0 0 1 1 0 1 1 0 1 0

  7. Corresponding MBD f g x 0 x 0 x 1 x 2 x 2 0 X 1

  8. Boolean Verification Relies on the computation of: g on ⊂ f on + f dc * f on ⊂ g on + g dc If this results in a tautology, f ≡ g. • For BDDs, 2-4 calls to apply ; • For MBDs, 1-2 calls to apply ; • For CSFs, no calls to apply needed.

  9. Summary √ Introduction √ MBDs and Boolean Verification • Ordering of Input Variables • Incremental Manipulation • Benchmark Results • Conclusions and Future Work

  10. Initial Ordering for Input Variables 2 n • Exact solution to date: O(n 3 ); • Heuristics are unavoidable; • Fujita et al. proposed depth-first search with pivots.

  11. Depth-first ordering example t 8 a b t 12 c o 0 t 9 d t 10 e t 13 t 14 t 11 f g • One possibility: <(c b a) (e d g f)>

  12. Tentative Enhancements • Sort intermediate/output variables; • Sort pivoted lists using transitive fan-in; • Combination of both. "Results were still rather erratic and dependent on input description."

  13. Weighted Nodes Heuristic t 1 a t 2 b c o 0 t 3 t 4 d 1/8 a t 1 1/8 b 1/4 t 2 1/2 1 c 1/2 o 0 t 4 1/4 d 1/2 1/4 a t 1 1 1/4 o 0 b 1/2 1/2 d

  14. Summary √ Introduction √ MBDs and Boolean Verification √ Ordering of Input Variables • Incremental Manipulation • Benchmark Results • Conclusions and Future Work

  15. Supportive Statements -"Exchanging two adjacent variables in the ordering underlying a BDD changes only the levels of the BDD involved in the operation." -"The reduced BDD corresponding to the new ordering differs from the original reduced BDD only in the exchanged levels."

  16. Operations needed • Swap , in order to exchange two variables in the ordering; x y x y y y x x x x y A C B C A B C D A B C A C B D (b) (a) x x A B A B (c) • Local-Reduce , in order to put the BDD back into a canonical form.

  17. Example of Application: Incremental reduction of the number of nodes in an MBD using heuristics • Successive applications of Swap + Local-Reduce on selected pairs of adjacent levels ; • Heuristics for ordering selection of pairs and stop conditions: • best-pair swap ( swap-all-red ); • greedy swap ( swap-run-down ). • Best results were obtained with sequential application of both heuristics.

  18. Summary √ Introduction √ MBDs and Boolean Verification √ Ordering of Input Variables √ Incremental Manipulation • Benchmark Results • Conclusions and Future Work

  19. In our benchmarks: • MBDs provided average gain of 35% over separated BDDs; • Initial MBDs are 10% smaller in average, if weighted nodes heuristics is used; Difference is the same after incremental reduction; • Incremental reduction provided additional average gain of 21%. - More than 40 examples of various sizes run. Most benchmarks taken from MCNC and ISCAS.

  20. Summary √ Introduction √ MBDs and Boolean Verification √ Ordering of Input Variables √ Incremental Manipulation √ Benchmark Results • Conclusions and Future Work

  21. Conclusions • MBDs - a compact and efficient way of representing Boolean functions; • Underlying structure of network is explicit in MBDs; • Sharing among functions is also explicit; • Single graph for the whole network, on-, off-, and dc- sets; • New heuristic + inc. reduction = smaller MBDs, thus faster execution; • Incremental techniques provide a way to surpass the intrinsic limitation of BDDs/MBDs (total ordering of input variables).

  22. Future Work • Extraction of sum-of-products representation from MBDs; • Factorization and decomposition; • Boolean division and other optimization techniques; • Sequential circuits considerations.

Recommend


More recommend