Skip to main content

Verification using uninterpreted functions and finite instantiations

  • 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

One approach to address the state explosion problem in verification of microprocessors with wide datapaths is to model variables as integers and datapath functions as uninterpreted ones. Verification then proceeds by either symbolically simulating this abstract model, or creating a small finite instantiation which contains all possible behaviors. In this paper, we first prove that the reachability problem for models with uninterpreted functions and predicates only of the form x=y, where both x and y are integer variables, is undecidable. However, such predicates are generally only needed in the property being checked and not in the model. For properties involving predicates of the forms x=term and x=y, we provide complete and partial verification techniques using finite instantiations respectively. Applications of these result to the verification of the control circuitry of superscalar microprocessors are provided, where one can verify various correctness properties using models with one or a few bit integers.

This work was supported in part by SRC, under contract DC-324-033.

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. V. Bhagwati, S. Devadas, “Automatic Verification of Pipelined Microprocessors”, Proceedings of 31st Design Automation Conference, 1994.

    Google Scholar 

  2. J. Burch, “Techniques for Verifying Superscalar Microprocessors”, Design Automation Conference, 1996.

    Google Scholar 

  3. J. Burch, D. Dill, “Automated Verification of Pipelined Micro-processors”, Computer-Aided Verification, 1994.

    Google Scholar 

  4. Ed C. Clarke, X. Zhao, “Word Level Model Checking, A New Approach for Verifying Arithmetic Circuits”, Technical Report, Carnegie Melon University, May 1995.

    Google Scholar 

  5. Szu-Tsung Cheng and Robert K. Brayton, “Compiling Verilog into Automata”, University of California at Berkeley”, Memorandum UCB/ERL M94/37, 1994.

    Google Scholar 

  6. F. Corella, “Automatic High-Level Verification Against Clocked Algorithmic Specifications”, Proceedings of the IFIP WG10.2 Conference on Computer Hardware Description Languages and their Applications, Ottawa, Canada, Apr. 1993. Elsevier Science Publishers B.V.

    Google Scholar 

  7. David Cyrluk, “Microprocessor Verification in PVS: A Methodology and Simple Example”, Technical Report SRI-CSL-93-12, Computer Science Laboratory, SRI International, December 1993.

    Google Scholar 

  8. D. Cyrluk, P. Narendran, “Ground Temporal Logic: A Logic for Hardware Verification”, Computer-Aided Verification, 1994.

    Google Scholar 

  9. D. Cyrluk, private communication, 1995.

    Google Scholar 

  10. John L. Hennessy, David A. Patterson, “Computer Architecture A Quantitative Approach”, Morgan Kaufmann Publishers, 1990.

    Google Scholar 

  11. Richard C. Ho, Han Yang, Mark A. Horowitz, David L. Dill, “Architecture Validation for Processors”, Proceedings of the 22nd Annual Intl. Symposium on Computer Architecture, June 1995.

    Google Scholar 

  12. R. Hojati, R. K. Brayton, “Automatic Datapath Abstraction of Hardware Systems”, Conference on Computer-Aided Verification, 1995.

    Google Scholar 

  13. R. Hojati, R. Mueller-Thuns, P. Loewenstein R. K. Brayton, “Automatic Verification of Memory Systems which Execute Their Instructions Out of Order”, Conference on Hardware Description Languages and Their Applications, 1995.

    Google Scholar 

  14. A. Aziz, F. Balarin, S. T. Cheng, R. Hojati, T. Kam, S. C. Krishnan, R. K. Ranjan, T. R. Shiple, V. Singhal, S. Tasiran, H.-Y. Wang, R. K. Brayton and A. L. Sangiovanni-Vincentelli, “HSIS: A BDD-Based Environment for Formal Verification”, Design Automation Conference, 1994.

    Google Scholar 

  15. Peter Yan-Tek Hsu, “Design of the R8000 Microprocessor”, IEEE Micro 1993. Also available at http://www.mips.com under R8000 microprocessor.

    Google Scholar 

  16. John E. Hopcroft, Jeffery D. Ullman, “Introduction to Automata Theory, Languages, and Computation”, Addison-Wesley, 1979.

    Google Scholar 

  17. Mike Johnson, “Superscalar Microprocessor Design”, Prentice Hall, 1991.

    Google Scholar 

  18. D.C. Luckham, D.M.R. Park, and M.S. Patterson, “On Formalized Computer Programs,” Journal of Computer and System Sciences, 4, 3, pp. 220–249, June 1970.

    Google Scholar 

  19. A. Charnas, et al. “A 64b Microprocessor with Multimedia Support”, International Solid-State Circuits Conference, pp178–179, Feb, 1995.

    Google Scholar 

  20. C. H. Seger, R. E. Bryant, “Formal Verification by Symbolic Evaluation of Partially-Ordered Trajectories”, Formal Methods in System Design, 6:147–189, 1995.

    Google Scholar 

  21. Toru Shonai, Tsuguo Shimizu, “Formal Verification of Pipelined and Superscalar Processors”, Conference on Hardware Description Languages, Tokyo, Japan, August 1995.

    Google Scholar 

  22. James E. Smith and Andrew R. Pleszkun, “Implementing Precise Interrupts in Pipelined Processors”, IEEE Transactions on Computers, Vol. 37, No. 5, May 1986.

    Google Scholar 

  23. Mandayam K. Srivas, Steven P. Miller, “Applying Formal Verification to a Commercial Microprocessor”, Conference on Hardware Description Languages, Tokyo, Japan, August 1995.

    Google Scholar 

Download references

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

Hojati, R., Isles, A., Kirkpatrick, D., Brayton, R.K. (1996). Verification using uninterpreted functions and finite instantiations. 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/BFb0031810

Download citation

  • DOI: https://doi.org/10.1007/BFb0031810

  • 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