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.
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
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.
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.
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.
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.
Janick Bergeron. Writing Testbenches: Functional Verification of HDL Models. Kluwer Academic Publishers, 2nd edition, 2003.
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.
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.
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.
Randal E. Bryant. Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers, 35(8):677–691, August 1986.
Randal E. Bryant. Symbolic Boolean manipulation with ordered binary-decision diagrams. ACM Computing Surveys, 24(3):293–318, September 1992.
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.
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.
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.
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.
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.
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.
Craig Hansen. Hardware logic simulation by compilation. In DAC, Proceedings of Design Automation Conference, pages 712–716, June 1988.
Scott Hauck. Multi-FPGA Systems. PhD thesis, University of Washington, Dept. of Computer Science and Engineering, 1995.
Faisal I. Haque, Khizar A. Khan, and Jonathan Michelson. The Art of Verification with Vera. Verification Central, 2001.
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.
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.
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.
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.
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.
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.
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.
S.-I. Minato. Zero-suppressed bdds for set manipulation in combinatorial problems. In DAC, Proceedings of Design Automation Conference, pages 272–277, June 1993.
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.
Gregory F. Pfister. The yorktown simulation engine: Introduction. In DAC, Proceedings of Design Automation Conference, pages 51–54, January 1982.
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.
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.
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.
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.
Rights 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)