Skip to main content

BDD-Based Hardware Verification

  • Conference paper
Formal Methods for Hardware Verification (SFM 2006)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bryant, R.E.: Graph–Based Algorithms for Boolean Function Manipulation. IEEE Trans. on Computers 35(8), 677–691 (1986)

    Article  MATH  Google Scholar 

  2. Lee, C.Y.: Representation of Switching Circuits by Binary-Decision Programs. Bell System Technical Journal 38, 985–999 (1959)

    Article  MathSciNet  Google Scholar 

  3. Akers, S.B.: Binary Decision Diagram. IEEE Trans. on Computers C-27(6), 509–516 (1978)

    Article  MATH  Google Scholar 

  4. Bryant, R.E.: Symbolic Boolean Manipulation with Ordered Binary–Decision Diagrams. ACM Computing Surveys 24(3), 293–318 (1992)

    Article  MathSciNet  Google Scholar 

  5. Clarke, E., Kurshan, R.: Computer-Aided Verification. IEEE Spectrum 33(6), 61–67 (1996)

    Article  Google Scholar 

  6. 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)

    Article  Google Scholar 

  7. Clarke, E., Grumberg, O., Long, D.: Model Checking and Abstraction. In: Proc. ACM Symposium on Principles of Programming Languages, New York (January 1992)

    Google Scholar 

  8. 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)

    Chapter  Google Scholar 

  9. Hu, A.J.: Formal Hardware Verification with BDDs: An Introduction (July 1999)

    Google Scholar 

  10. Andersen, H.R.: An Introduction to Binary Decision Diagrams (October 1997), www.itu.dk/people/hra/bdd97.ps

  11. Moore, E.F., Shannon, C.E.: Reliable Circuits Using Less Reliable Relays I. Journal Franklin Institute 262, 191–208 (1956)

    Article  MathSciNet  MATH  Google Scholar 

  12. 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)

    Google Scholar 

  13. Kurshan, R.P.: Computer Aided Verification of Coordinating Processes. Princeton University Press, Princeton (1994)

    MATH  Google Scholar 

  14. Hoare, C.A.R.: Communicating sequential processes. Prentice-Hall International series in computer science. Prentice-Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  15. Milner, R.: Communication and Concurrency. International Series in Computer Science. Prentice-Hall International, Englewood Cliffs (1989)

    MATH  Google Scholar 

  16. 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)

    Chapter  Google Scholar 

  17. Emerson, E.A.: Temporal and modal logic, pp. 997–1072 (1990)

    Google Scholar 

  18. Bryant, R.E.: A Methodology for Hardware Verification Based on Logic Simulation. Journal of the Association for Computing Machinery 38(2), 299–328 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. Queille, J., Sifakis, J.: Specification and verification of concurrent systems in CAESAR. In: Proc. of Fifth ISP (1982)

    Google Scholar 

  22. Pnueli, A.: A temporal logic of concurrent programs. Theor. Comp. Sci. 13, 45–60 (1981)

    Article  MATH  Google Scholar 

  23. Har’El, Z., Kurshan, R.P.: Software for analytical development of communications protocols. AT&T Bell Laboratories Technical Journal 69(1), 45–59 (1990)

    Article  Google Scholar 

  24. 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)

    Article  Google Scholar 

  25. 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)

    Google Scholar 

  26. Fernandez, J.A., Grant, J., Minker, J.: Model theoretic approach to view updates in deductive databases. Journal of Automated Reasoning 17, 171–197 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  27. 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)

    Chapter  Google Scholar 

  28. Vardi, M., Wolper, P.: Automata-theoretic techniques for modal logics of programs. Journal of Computer and Systems Science 32, 183–221 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  29. Tarski, A.: Lattice-theoretic fixpoint theorem and its applications. Journal Franklin Institute 5, 285–309 (1955)

    MATH  Google Scholar 

  30. 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)

    Google Scholar 

  31. 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)

    Google Scholar 

  32. 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)

    Article  Google Scholar 

  33. Bryant, R.E.: Symbolic Verification of MOS Circuits. In: Chapel Hill Conference on VLSI, pp. 419–438 (1985)

    Google Scholar 

  34. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics