Skip to main content

Verifying nondeterministic implementations of deterministic systems

  • Conference paper
  • First Online:
Formal Methods in Computer-Aided Design (FMCAD 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1166))

Included in the following conference series:

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.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. D. L. Beatty and R. E. Bryant, “Formally Verifying a Microprocessor Using a Simulation Methodology,” 31st Design Automation Conference, pp. 596–602, June 1994.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. K. L. McMillan, “Symbolic Model Checking,” Kluwer Academic Publishers, 1993.

    Google Scholar 

  7. R. P. Kurshan, “Analysis of Discrete Event Coordination,” Lecture Notes in Computer Science 430, pp. 414–453, 1990.

    Google Scholar 

  8. R. P. Kurshan, “Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach,” Princeton University Press, 1994.

    Google Scholar 

  9. W. A. Hunt, “FM8501: A Verified Microprocessor,” Lecture Notes in Artificial Intelligence 795, 1994.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. M. Srivas and M. Bickford, “Formal Verification of a Pipelined Microprocessor,” IEEE software 7(5), pp. 52–64, September 1990.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Mandayam Srivas Albert Camilleri

Rights and permissions

Reprints 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

Publish with us

Policies and ethics