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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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.
R. Bryant. Graph Based Algorithms for Boolean Fonction Manipulation. IEEE Transactions on Computers, 35(8):677–691, August 1986.
R. Bryant. Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams. ACM Computing Surveys, 24:293–318, September 1992.
Y. Dutuit and A. Rauzy. A Linear-Time Algorithm to Find Modules of Fault Trees. IEEE Transactions on Reliability, 45:422–425, 1996.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
I. Niemel. On simplification of large fault trees. In Elsevier Science Limited, editor, Reliability Engeneering and System Safety, pages 135–138, 1994.
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.
M. NikolskaÏa, A. Rauzy, and D. J. Sherman. Editable DAG (eDAG) specification. Technical Report 1198-98, LaBRI, Université Bordeaux-1, April 1998.
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.
A. Rauzy. New Algorithms for Fault Trees Analysis. Reliability Engineering & System Safety, 05(59):203–211, 1993.
A. Rauzy. Aralia Version 1.0: Developer’s Guide. Technical report, LaBRI-URA CNRS 1304-Université Bordeaux I, 1995.
A. Rauzy. Aralia version 1.0: the Toolbox Manual. Technical report 1093-95, LaBRI-URA CNRS 1304-Université Bordeaux-I, 1995.
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.
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.
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.
I. Wegener. On the Complexity of Branching Programs and Decision Trees for Clique Functions. J. ACM, 35(2):461–471, 1988.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
NikolskaÏa, M., Rauzy, A., Sherman, D.J. (1998). Almana: A BDD Minimization Tool Integrating Heuristic and RewritingMethods. In: Gopalakrishnan, G., Windley, P. (eds) Formal Methods in Computer-Aided Design. FMCAD 1998. Lecture Notes in Computer Science, vol 1522. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49519-3_8
Download citation
DOI: https://doi.org/10.1007/3-540-49519-3_8
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65191-8
Online ISBN: 978-3-540-49519-2
eBook Packages: Springer Book Archive