Skip to main content
Log in

Verisym: Verifying Circuits by Symbolic Simulation

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

Verisym is used to check the functional behavior of circuit designs. It was initially targeted at verifying custom memory designs, which present major difficulties for current production tools, but it is a general-purpose system that has also been applied to arithmetic and control circuits. Verisym has been used to validate custom memory array designs containing up to four million transistors in a few hours on standard hardware. Verisym symbolically simulates the execution of a circuit, given as either a transistor-level schematic or an RTL description, to check a property, given as the stimulus to the circuit and the expected response. It can also simulate two circuit descriptions (of the same or different types), applying the same stimulus to each, and checking that the responses are the same. Simulation is performed by executing a finite-state machine model extracted from the circuit description. A property is checked with a single run of the model (one run of each model for dual simulation). Execution is symbolic, so properties can assert properties about all possible values on particular nodes, and complete coverage of a circuit's behavior is possible. Concrete counter-example runs can be generated as a debugging aid if a property check fails. Verisym is integrated into IBM's Nutshell EDA environment, which provides a common user interface and scripting language across IBM's EDA tools, and allows interoperation between them.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. B.C. Brock, W.A. Hunt, Jr., and W.D. Young, “An introduction to a formally-defined hardware description language,” Technical Report 76, Computational Logic Incorporated, 1992.

  2. R.E. Bryant, “Graph-based algorithms for boolean function manipulation,” IEEE Transactions on Computers, Vol. C-35, No. 8, pp. 677–691, 1986.

    Google Scholar 

  3. R.E. Bryant, “Algorithmic aspects of symbolic switch network analysis,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. CAD-6, No. 4, pp. 618–633, 1987a.

    Google Scholar 

  4. R.E. Bryant, “Boolean analysis of MOS circuits,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. CAD-6, No. 4, pp. 634–649, 1987b.

    Google Scholar 

  5. R.E. Bryant, Private communication, 2001.

  6. R.E. Bryant, D. Beatty, K. Brace, K. Cho, and T. Sheffler, “COSMOS: A compiled simulator for MOS circuits,” in Proceedings of the 24th Design Automation Conference, 1987, pp. 9–16.

  7. S.C. Kleene, Introduction to Metamathematics, North-Holland, Amsterdam, 1952.

  8. A. Kuehlman, A. Srinivasan, and D.P. LaPotin, “Verity: A formal verification program for custom CMOS circuits,” IBM Journal of Research and Development, Vol. 39, No. 1/2, pp. 149–166, 1995.

    Google Scholar 

  9. A. Martin, “Principles and practice of symbolic trajectory evaluation,” in Tutorial Presentation at the 13th International Conference on Theorem Proving in Higher-Order Logics, 2000.

  10. L.W. Nagel, “SPICE2: A computer program to simulate semiconductor circuits,” Memorandum ERL-M520, Electronics Research Laboratory, College of Engineering, University of California, Berkeley, 1975.

  11. J.K. Ousterhout, Tcl and the Tk Toolkit, Addison-Wesley, Reading, MA, 1994.

    Google Scholar 

  12. M. Pandey, “Formal verification of memory arrays,” Ph.D. Thesis, Department of Computer Science, Carnegie-Mellon University. Available as Technical Report CMU-CS–97–162, 1997.

  13. C.-J.H. Seger and R.E. Bryant, “Formal verification by symbolic evaluation of partially-ordered trajectories,” Formal Methods in System Design, Vol. 6, No. 2, pp. 147–190, 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Adams, W., Hunt, W.A. & Jamsek, D. Verisym: Verifying Circuits by Symbolic Simulation. Formal Methods in System Design 22, 163–173 (2003). https://doi.org/10.1023/A:1022977607142

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1022977607142

Navigation