Abstract
Some modern systems with a simple deterministic high-level specification have implementations that exhibit highly nondeterministic behavior. Such systems maintain a simple operation semantics at the high-level. However their underlying implementations exploit parallelism to enhance performance leading to interaction among operations and contention for resources. The deviation from the sequential execution model not only leads to nondeterminism in the implementation but creates the potential for serious design errors. This paper presents a methodology for formal verification of such systems. An abstract specification describes the high-level behavior as a set of operations. A mapping relates the sequential semantics of these operations to the underlying nondeterminism in the implementation. Symbolic Trajectory Evaluation, a modified form of symbolic simulation, is used to perform the actual verification. The methodology is currently being used to verify portions of a superscalar processor which implements the PowerPC architecture. Our initial work on the fixed point unit indicates that this is a promising approach for verification of processors.
This work partially funded by Semiconductor Research Corporation # 95-DC-068.
Preview
Unable to display preview. Download preview PDF.
References
R. E. Bryant, D. L. Beatty and C. J. H. Seger, “Formal Hardware Verification by Symbolic Ternary Trajectory Evaluation,” 28th Design Automation Conference, pp. 397–402, June 1991.
D. L. Beatty, “A Methodology for Formal Hardware Verification with Application to Microprocessors,” PhD Thesis, published as technical report CMU-CS-93-190, School of Computer Science, Carnegie Mellon University, August 1993.
D. L. Beatty and R. E. Bryant, “Formally Verifying a Microprocessor Using a Simulation Methodology,” 31st Design Automation Conference, pp. 596–602, June 1994.
C. J. H. Seger and R. E. Bryant, “Formal Verification by Symbolic Evaluation of Partially-Ordered Trajectories,” Formal Methods in System Design 6, pp. 147–189, 1995.
J. R. Burch, E. M. Clarke, K. L. McMillan and D. L. Dill, “Sequential Circuit Verification Using Symbolic Model Checking,” 27th Design Automation Conference, pp. 46–51, June 1990.
K. L. McMillan, “Symbolic Model Checking,” Kluwer Academic Publishers, 1993.
R. P. Kurshan, “Analysis of Discrete Event Coordination,” Lecture Notes in Computer Science 430, pp. 414–453, 1990.
R. P. Kurshan, “Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach,” Princeton University Press, 1994.
W. A. Hunt, “FM8501: A Verified Microprocessor,” Lecture Notes in Artificial Intelligence 795, 1994.
T. K. Miller III, B. L. Bhuva, R. L. Barnes, J.-C. Duh, H.-B. Lin and D. E. Van den Bout, “The Hector Microprocessor,” International Conference on Computer Design, pp 406–411, 1986.
M. Srivas and M. Bickford, “Formal Verification of a Pipelined Microprocessor,” IEEE software 7(5), pp. 52–64, September 1990.
C. May, E. Silha, R. Simpson and H. Warren, “The PowerPC Architecture: A Specification for a New Family of RISC Processors,” Morgan Kaufmann Publishers, 1994.
J. R. Burch and D. L. Dill, “Automatic Verification of Pipelined Microprocessor Control,” Lecture Notes in Computer Science, Computer Aided Verification, 6th International Conference, CAV 94, pp. 68–80, 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jain, A., Nelson, K., Bryant, R.E. (1996). Verifying nondeterministic implementations of deterministic systems. In: Srivas, M., Camilleri, A. (eds) Formal Methods in Computer-Aided Design. FMCAD 1996. Lecture Notes in Computer Science, vol 1166. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0031803
Download citation
DOI: https://doi.org/10.1007/BFb0031803
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61937-6
Online ISBN: 978-3-540-49567-3
eBook Packages: Springer Book Archive