Advertisement

Almana: A BDD Minimization Tool Integrating Heuristic and RewritingMethods

  • Macha NikolskaÏa
  • Antoine Rauzy
  • David James Sherman
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1522)

Abstract

Constructing a small BDD from a given boolean formula depends on finding a good variable ordering. Finding a good order is NP-complete. In the past, methods based on heuristic analysis and formula (circuit) rewriting have shown to be useful for specific problem domains. We show that these methods need to be integrated: heuristic analysis can drive rewriting, which in turn simplifies analysis. We support this claim with experimental results, and describe Almana, an integrated tool for exploring the combination of analysis and rewriting on large boolean formulae.

Keywords

Direct Acyclic Graph Application Domain Variable Order Fault Tree Boolean Formula 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. BBR97.
    M. Bouissou, F. Bruyére, and A. Rauzy. BDD based fault-tree processing: A comparison of variable ordering heuristics. In Proceedings of European Safety and Reliability Association Conference, ESREL’97, 1997.Google Scholar
  2. Ber89.
    C.L. Berman. Ordered Binary Decision Diagrams and Circuit Structure. In Proceedings of the IEEE International Conference on Computer Aided Design, ICCAD’ 89, September 1989. Cambridge MA, USA.Google Scholar
  3. Bou96.
    M. Bouissou. An Ordering Heuristics for Building Binary Decision Diagrams from Fault-Trees. In Proceedings of the Annual Reliability and Maintenability Symposium, ARMS’96, 1996.Google Scholar
  4. BRKM91.
    K.M. Butler, D.E. Ross, R. Kapur, and M.R. Mercer. Heuristics to Compute Variable Orderings for Efficient Manipulation of Ordered BDDs. In Proceedings of the 28th Design Automation Conference, DAC’91, June 1991. San Francisco, California.Google Scholar
  5. Bry86.
    R. Bryant. Graph Based Algorithms for Boolean Fonction Manipulation. IEEE Transactions on Computers, 35(8):677–691, August 1986.Google Scholar
  6. Bry92.
    R. Bryant. Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams. ACM Computing Surveys, 24:293–318, September 1992.Google Scholar
  7. DR96.
    Y. Dutuit and A. Rauzy. A Linear-Time Algorithm to Find Modules of Fault Trees. IEEE Transactions on Reliability, 45:422–425, 1996.CrossRefGoogle Scholar
  8. FFK88.
    M. Fujita, H. Fujisawa, and N. Kawato. Evaluation and Improvements of Boolean Comparison Method Based on Binary Decision Diagrams. In Proceedings of IEEE International Conference on Computer Aided Design, ICCAD’88, pages 2–5, 1988.Google Scholar
  9. FFM93.
    M. Fujita, H. Fujisawa, and Y. Matsugana. Variable Ordering Algorithm for Ordered Binary Decision Diagrams and Their Evalutation. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 12(1):6–12, January 1993.Google Scholar
  10. FMK91.
    M. Fujita, Y. Matsunaga, and N. Kakuda. On the Variable Ordering of Binary Decision Diagrams for the Application of Multilevel Logic Synthesis. In Proceedings of European Conference on Design Automation, EDAC’91, pages 50–54, 1991.Google Scholar
  11. FOH93.
    H. Fujii, G. Ootomo, and C. Hori. Interleaved Based Variables Ordering Methods for Ordered Binary Decision Diagrams. In Proceedings of the IEEE International Conference on Computer Aided Design, pages 38–41, 1993.Google Scholar
  12. FS90.
    S.J. Friedman and K.J. Supowit. Finding the Optimal Variable Ordering for Binary Decision Diagrams. IEEE Transactions on Computers, 39(5):710–713, May 1990.Google Scholar
  13. FYBSV93.
    E. Felt, G. York, R. Brayton, and A. Sangiovanni-Vincentelli. Dynamic Variable Reordering for BDD Minimization. In Proceedings of the European Design Automation Conference EURO-DAC’93/EURO-VHDL’93, pages 130–135. IEEE Computer Society Press, 1993.Google Scholar
  14. IH93.
    K. Iwama and K. Hino. Random Generation of Test Instances for Logic Optimizers. In Proceedings 31th ACM/IEEE Design Automation Conference, DAC’93, pages 430–434, San Diego, 1993.Google Scholar
  15. ISY91.
    N. Ishuira, H. Sawada, and S. Yajima. Minimization of Binary Decision Diagrams Based on Exchanges of Variables. In Proceedings of the IEEE International Conference on Computer Aided Design, ICCAD’91, pages 472–475, November 1991. Santa Clara CA, USA.Google Scholar
  16. MIY90.
    S. Minato, N. Ishiura, and S. Yajima. Shared Binary Decision Diagrams with Attributed Edges for Efficient Boolean Function Manipulation. In L.J.M Claesen, editor, Proceedings of the 27th ACM/IEEE Design Automation Conference, DAC’90, pages 52–57, June 1990.Google Scholar
  17. MWBSV88.
    S. Malik, A.R. Wang, R.K Brayton, and A. Sangiovanni-Vincentelli. Logic Verification using Binary Decision Diagrams in Logic Synthesis Environment. In Proceedings of the IEEE International Conference on Computer Aided Design, ICCAD’88, pages 6–9, November 1988. Santa Clara CA, USA.Google Scholar
  18. Nie94.
    I. Niemel. On simplification of large fault trees. In Elsevier Science Limited, editor, Reliability Engeneering and System Safety, pages 135–138, 1994.Google Scholar
  19. NR98.
    M. Nikolskaia and A. Rauzy. Heuristics for BDD handling of sum-of-products formulae. In Balkema, editor, Proceedings of the European Safety and Reliability Association Conference, ESREL’98, June 1998.Google Scholar
  20. NRS98.
    M. NikolskaÏa, A. Rauzy, and D. J. Sherman. Editable DAG (eDAG) specification. Technical Report 1198-98, LaBRI, Université Bordeaux-1, April 1998.Google Scholar
  21. PS95.
    S. Panda and F. Somenzi. Who Are the Variables in Your Neighborhood. In Proceedings of IEEE International Conference on Computer Aided Design, ICCAD’ 95, pages 74–77, 1995.Google Scholar
  22. Rau93.
    A. Rauzy. New Algorithms for Fault Trees Analysis. Reliability Engineering & System Safety, 05(59):203–211, 1993.CrossRefGoogle Scholar
  23. Rau95a.
    A. Rauzy. Aralia Version 1.0: Developer’s Guide. Technical report, LaBRI-URA CNRS 1304-Université Bordeaux I, 1995.Google Scholar
  24. Rau95b.
    A. Rauzy. Aralia version 1.0: the Toolbox Manual. Technical report 1093-95, LaBRI-URA CNRS 1304-Université Bordeaux-I, 1995.Google Scholar
  25. Rud93.
    R. Rudell. Dynamic Variable Ordering for Ordered Binary Decision Diagrams. In Proceedings of IEEE International Conference on Computer Aided Design, ICCAD’ 93, pages 42–47, November 1993.Google Scholar
  26. THY93.
    S. Tani, K. Hamaguchi, and S. Yajima. The complexity of the optimal variable ordering problems of shared binary decision diagrams. In Proceedings of the 4th International Symposium on Algorithms and Computations, ISAAC’93, volume 762 of LNCS, pages 389–398. Springer Verlag, 1993.Google Scholar
  27. TI94.
    S. Tani and H. Imai. A reordering operation for an ordered binary decision diagram and an extended framework for combinatorics of graphs. In Proceedings of the 5th International Symposium on Algorithms and Computations, ISAAC’94, volume 834 of LNCS, pages 575–583. Springer Verlag, 1994.Google Scholar
  28. Weg88.
    I. Wegener. On the Complexity of Branching Programs and Decision Trees for Clique Functions. J. ACM, 35(2):461–471, 1988.MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Macha NikolskaÏa
  • Antoine Rauzy
    • 1
  • David James Sherman
    • 1
  1. 1.LaBRIUniversité Bordeaux-1France

Personalised recommendations