Skip to main content
  • 437 Accesses

2.8 Summary

This chapter presented an overview of the design and verification flow involved in the development of a digital integrated circuit. It discussed the main techniques used to verify such circuits, namely functional validation (by means of logic simulation) and formal verification, using a range of techniques.

We reviewed basic concepts and representations for Boolean functions and for sequential systems, and described how a logic simulator works. The models discussed in the earlier sections will be needed to present all the main techniques in the later chapters. The last part of the chapter was dedicated to skim over a range of formal verification techniques, and give a sense of this methodology through the presentation of symbolic FSM traversal. The next chapter covers in great detail another technique, symbolic simulation, and draws the similarities between that and reachability analysis.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 119.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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. Aharon Aharon, Dave Goodman, Moshe Levinger, Yossi Lichtenstein, Yossi Malka, Charlotte Metzger, Moshe Molcho, and Gil Shurek. Test program generation for functional verification of PowerPc processors in IBM. In DAC, Proceedings of Design Automation Conference, pages 279–285, June 1995.

    Google Scholar 

  2. Randal E. Bryant and Yirng-An Chen. Verification of arithmetic circuits using binary moment diagrams. International Journal on Software Tools for Technology Transfer, 3(2):137–155, 2001.

    Google Scholar 

  3. Jerry R. Burch, Edward M. Clarke, David E. Long, Ken L. McMillan, and David L. Dill. Symbolic model checking for sequential circuit verification. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 13(4):401–424, 1994.

    Article  Google Scholar 

  4. Zeev Barzilai, J. Lawrence Carter, Barry K. Rosen, and Joseph D. Rutledge. HSS-a high-speed simulator. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, pages 601–617, July 1987.

    Google Scholar 

  5. Janick Bergeron. Writing Testbenches: Functional Verification of HDL Models. Kluwer Academic Publishers, 2nd edition, 2003.

    Google Scholar 

  6. Jerry R. Burch and David E. Long. Efficient Boolean function matching. In ICCAD, Proceedings of the International Conference on Computer Aided Design, pages 408–411, November 1992.

    Google Scholar 

  7. Beate Bollig, Martin Löbbing, and Ingo Wegener. Simulated annealing to improve variable orderings for OBDDs. In International Workshop on Logic Synthesis, pages 5.1–5.10, May 1995.

    Google Scholar 

  8. Karl Brace, Richard Rudell, and Randal E. Bryant. Efficient implementation of a BDD package. In DAC, Proceedings of Design Automation Conference, pages 40–45, 1990.

    Google Scholar 

  9. Randal E. Bryant. Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers, 35(8):677–691, August 1986.

    MATH  Google Scholar 

  10. Randal E. Bryant. Symbolic Boolean manipulation with ordered binary-decision diagrams. ACM Computing Surveys, 24(3):293–318, September 1992.

    Article  Google Scholar 

  11. Olivier Coudert, Christian Berthet, and Jean Christophe Madre. Verification of synchronous sequential machines based on symbolic execution. In Automatic Verification Methods for Finite State Systems, International Workshop, volume 407 of Lecture Notes in Computer Science, pages 365–3. Springer, June 1989.

    Google Scholar 

  12. A. Chandra, V. Iyengar, D. Jameson, R. Jawalekar, I. Nair, B. Rosen, M. Mullen, J. Yoon, R. Armoni, D. Geist, and Y. Wolfsthal. AVPGEN-a test generator for architecture verification. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 3(2):188–200, June 1995.

    Article  Google Scholar 

  13. Srihari Cadambi, Chandra S. Mulpuri, and Pranav N. Ashar. A fast, inexpensive and scalable hardware acceleration technique for functional simulation. In DAC, Proceedings of Design Automation Conference, pages 570–575, June 2002.

    Google Scholar 

  14. Charles J. DeVane. Efficient circuit partitioning to extend cycle simulation beyond synchronous circuits. In ICCAD, Proceedings of the International Conference on Computer Aided Design, pages 154–161, November 1997.

    Google Scholar 

  15. Masahiro Fujita, Hisanori Fujisawa, and Nobuaki Kawato. Evaluation and improvements of Boolean comparison method based on binary decision diagrams. In ICCAD, Proceedings of the International Conference on Computer Aided Design, pages 2–5, November 1988.

    Google Scholar 

  16. Masahiro Fujita, Patrick McGeer, and Jerry Yang. Multi-terminal binary decision diagrams: An efficient datastructure for matrix representation. Formal Methods in System Design, 10(2–3):149–169, 1997.

    Article  Google Scholar 

  17. Craig Hansen. Hardware logic simulation by compilation. In DAC, Proceedings of Design Automation Conference, pages 712–716, June 1988.

    Google Scholar 

  18. Scott Hauck. Multi-FPGA Systems. PhD thesis, University of Washington, Dept. of Computer Science and Engineering, 1995.

    Google Scholar 

  19. Faisal I. Haque, Khizar A. Khan, and Jonathan Michelson. The Art of Verification with Vera. Verification Central, 2001.

    Google Scholar 

  20. Yoav Hollander, Matthew Morley, and Amos Noy. The e language: A fresh separation of concerns. In Technology of Object-Oriented Languages and Systems, volume TOOLS-38, pages 41–50, March 2001.

    Article  Google Scholar 

  21. Gérard Huet. Higher order unification 30 years later. In Theorem Proving in Higher Order Logics, volume 2410 of Lecture Notes in Computer Science, pages 3–12. Springer-Verlag, August 2002.

    MATH  Google Scholar 

  22. Steven Johnson. View from the fringe of the fringe. In CHARME, volume 2144 of Lecture Notes in Computer Science, pages 1–12. Springer-Verlag, September 2001.

    MATH  Google Scholar 

  23. Michael Kantrowitz and Lisa M. Noack. I’m done simulating; now what? verification coverage analysis and correctness checking of the DECchip 21164 Alpha microprocessor. In DAC, Proceedings of Design Automation Conference, pages 325–330, June 1996.

    Google Scholar 

  24. Tommy Kuhn, Tobias Oppold, Markus Winterholer, Wolfgang Rosenstiel, Marc Edwards, and Yaron Kashai. A framework for object oriented hardware specification, verification and synthesis. In DAC, Proceedings of Design Automation Conference, pages 413–418, June 2001.

    Google Scholar 

  25. Oded Lachish, Eitan Marcus, Shmuel Ur, and Avi Ziv. Hole analysis for functional coverage data. In DAC, Proceedings of Design Automation Conference, pages 807–812, June 2002.

    Google Scholar 

  26. Frédéric Mailhot and Giovanni DeMicheli. Algorithms for technology mapping based on binary decision diagrams and on Boolean operations. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 12:599–620, May 1993.

    Article  Google Scholar 

  27. S.-I. Minato. Zero-suppressed bdds for set manipulation in combinatorial problems. In DAC, Proceedings of Design Automation Conference, pages 272–277, June 1993.

    Google Scholar 

  28. Sharad Malik, Albert Wang, Robert K. Brayton, and Alberto Sangiovanni-Vincentelli. Logic verification using binary decision diagrams in a logic synthesis environment. In ICCAD, Proceedings of the International Conference on Computer Aided Design, pages 6–9, November 1988.

    Google Scholar 

  29. Gregory F. Pfister. The yorktown simulation engine: Introduction. In DAC, Proceedings of Design Automation Conference, pages 51–54, January 1982.

    Google Scholar 

  30. Richard Rudell. Dynamic variable ordering for ordered binary decision diagrams. In ICCAD, Proceedings of the International Conference on Computer Aided Design, pages 42–47, November 1993.

    Google Scholar 

  31. Hervé Touati, Hamid Savoj, Bill Lin, Robert K. Brayton, and Alberto L. Sangiovanni-Vincentelli. Implicit state enumeration of finite state machines using BDDs. In ICCAD, Proceedings of the International Conference on Computer Aided Design, pages 130–133, November 1990.

    Google Scholar 

  32. Laung-Terng Wang, Nathan E. Hoover, Edwin H. Porter, and John J. Zasio. SSIM: A software levelized compiled-code simulator. In DAC, Proceedings of Design Automation Conference, pages 2–8, June 1987.

    Google Scholar 

  33. Jun Yuan, Kurt Schultz, Carl Pixley, Hiller Miller, and Adnan Aziz. Modeling design constraints and biasing using bdds in simulation. In ICCAD, Proceedings of the International Conference on Computer Aided Design, pages 584–590, November 1999.

    Google Scholar 

Download references

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer Science+Business Media, Inc.

About this chapter

Cite this chapter

(2006). Design and Verification of Digital Systems. In: Scalable Hardware Verification with Symbolic Simulation. Springer, Boston, MA. https://doi.org/10.1007/0-387-29906-8_2

Download citation

  • DOI: https://doi.org/10.1007/0-387-29906-8_2

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-0-387-24411-2

  • Online ISBN: 978-0-387-29906-8

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics