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.
Similar content being viewed by others
References
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.
R.E. Bryant, “Graph-based algorithms for boolean function manipulation,” IEEE Transactions on Computers, Vol. C-35, No. 8, pp. 677–691, 1986.
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.
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.
R.E. Bryant, Private communication, 2001.
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.
S.C. Kleene, Introduction to Metamathematics, North-Holland, Amsterdam, 1952.
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.
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.
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.
J.K. Ousterhout, Tcl and the Tk Toolkit, Addison-Wesley, Reading, MA, 1994.
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.
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.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1022977607142