Abstract
This chapter overviewes Binary Decision Diagrams (BDDs) and their application in Formal Hardware Verification. BDDs are first described as a representation formalism for Boolean functions. BDDs are directed acyclic graphs, deriving their efficiency from canonicity, and from their ability to be exponentially more compact, in terms of node count, than alternative Boolean representations. The chapter introduces the main BDD operators, in terms of recursive graph manipulation functions. Some of the most succesful Formal Verification techniques, based on BDD engines, are then reported. The description is limited to Reduced Ordered BDDs (ROBDDs), which, albeight being just one among several decomposition types, are the most widely used and the most general one.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bryant, R.E.: Graph–Based Algorithms for Boolean Function Manipulation. IEEE Trans. on Computers 35(8), 677–691 (1986)
Lee, C.Y.: Representation of Switching Circuits by Binary-Decision Programs. Bell System Technical Journal 38, 985–999 (1959)
Akers, S.B.: Binary Decision Diagram. IEEE Trans. on Computers C-27(6), 509–516 (1978)
Bryant, R.E.: Symbolic Boolean Manipulation with Ordered Binary–Decision Diagrams. ACM Computing Surveys 24(3), 293–318 (1992)
Clarke, E., Kurshan, R.: Computer-Aided Verification. IEEE Spectrum 33(6), 61–67 (1996)
Burch, J.R., Clarke, E.M., Long, D.E., McMillan, K.L., Dill, D.L.: Symbolic Model Checking for Sequential Circuit Verification. IEEE Trans. on Computer-Aided Design 13(4), 401–424 (1994)
Clarke, E., Grumberg, O., Long, D.: Model Checking and Abstraction. In: Proc. ACM Symposium on Principles of Programming Languages, New York (January 1992)
Zhang, L., Malik, S.: The Quest for Efficient Boolean Satisfiability Solvers. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 17–36. Springer, Heidelberg (2002)
Hu, A.J.: Formal Hardware Verification with BDDs: An Introduction (July 1999)
Andersen, H.R.: An Introduction to Binary Decision Diagrams (October 1997), www.itu.dk/people/hra/bdd97.ps
Moore, E.F., Shannon, C.E.: Reliable Circuits Using Less Reliable Relays I. Journal Franklin Institute 262, 191–208 (1956)
Thomas, W.: Automata on Infinite Objects. In: Handbook of Theoretical Computer Science, The Netherlands and Cambridge - Massachussets, vol. B, pp. 134–191. MIT Press and Elsevier Science Publishers (1990)
Kurshan, R.P.: Computer Aided Verification of Coordinating Processes. Princeton University Press, Princeton (1994)
Hoare, C.A.R.: Communicating sequential processes. Prentice-Hall International series in computer science. Prentice-Hall, Englewood Cliffs (1985)
Milner, R.: Communication and Concurrency. International Series in Computer Science. Prentice-Hall International, Englewood Cliffs (1989)
Clarke, E., Emerson, M.: Synthesis of synchronization skeletons for branching time temporal logic. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, Springer, Heidelberg (1982)
Emerson, E.A.: Temporal and modal logic, pp. 997–1072 (1990)
Bryant, R.E.: A Methodology for Hardware Verification Based on Logic Simulation. Journal of the Association for Computing Machinery 38(2), 299–328 (1991)
Coudert, O., Madre, J.C.: A Unified Framework for the Formal Verification of Sequential Circuits. In: Proc. Int’l. Conf. on Computer-Aided Design, San Jose, California, pp. 126–129 (November 1990)
Touati, H., Savoj, H., Lin, B., Brayton, R.K., Sangiovanni-Vincentelli, A.: Implicit Enumeration of Finite State Machines Using BDDs. In: Proc. Int’l. Conf. on Computer-Aided Design, San Jose, California, pp. 130–133 (November 1990)
Queille, J., Sifakis, J.: Specification and verification of concurrent systems in CAESAR. In: Proc. of Fifth ISP (1982)
Pnueli, A.: A temporal logic of concurrent programs. Theor. Comp. Sci. 13, 45–60 (1981)
Har’El, Z., Kurshan, R.P.: Software for analytical development of communications protocols. AT&T Bell Laboratories Technical Journal 69(1), 45–59 (1990)
Cleaveland, R., Parrow, J., Steffen, B.: The Concurrency Workbench: A semantics-based tool for the verification of concurrent systems. ACM TOPLAS 15(1), 36–72 (1993)
Roscoe, A.: Model-checking CSP. In: Roscoe, A. (ed.) A Classical Mind: Essays in Honour of C.A.R. Hoare, Prentice-Hall, Englewood Cliffs (1994)
Fernandez, J.A., Grant, J., Minker, J.: Model theoretic approach to view updates in deductive databases. Journal of Automated Reasoning 17, 171–197 (1996)
Roy, V., de Simone, R.: Auto and autograph. In: Clarke, E., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531, pp. 65–75. Springer, Heidelberg (1991)
Vardi, M., Wolper, P.: Automata-theoretic techniques for modal logics of programs. Journal of Computer and Systems Science 32, 183–221 (1986)
Tarski, A.: Lattice-theoretic fixpoint theorem and its applications. Journal Franklin Institute 5, 285–309 (1955)
Iwashita, H., Nakata, T., Hirose, F.: CTL model checking based on forward state traversal. In: Proceedings of the International Conference on Computer-Aided Design, San Jose - CA, pp. 82–87 (November 1996)
Iwashita, H., Nakata, T.: Forward model checking techniques oriented to buggy designs. In: Proceedings of the International Conference on Computer-Aided Design, San Jose - CA, pp. 400–405 (November 1997)
Seger, C.-J.H., Bryant, R.E.: Formal Verification by Symbolic Evaluation of Partially-Ordered Trajectories. Formal Methods in Systems Design 6(1), 147–189 (1995)
Bryant, R.E.: Symbolic Verification of MOS Circuits. In: Chapel Hill Conference on VLSI, pp. 419–438 (1985)
Bryant, R.E., Seger, C.-J.: Formal Verification of Digital Circuits Using Symbolic Ternary System Models. In: DIMAC Workshop on Computer-Aided Verification, pp. 183–221 (June 1990)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cabodi, G., Murciano, M. (2006). BDD-Based Hardware Verification. In: Bernardo, M., Cimatti, A. (eds) Formal Methods for Hardware Verification. SFM 2006. Lecture Notes in Computer Science, vol 3965. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11757283_4
Download citation
DOI: https://doi.org/10.1007/11757283_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-34304-2
Online ISBN: 978-3-540-34305-9
eBook Packages: Computer ScienceComputer Science (R0)