Skip to main content

A methodology for processor implementation verification

  • 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

We address the problem of verification of implementations of complex processors using architectural level automatic test program generators. A number of automatic test program generators exist, and are widely used for verification of the compliance of complex processors with their architectures. We define a four stage verification process: (1) describing the processor implementation control as a Finite State Machine (2) deriving transition coverage on the FSM using methods from formal verification (3) translation of the covering tours to constraints on test programs (4) generation of test programs for each set of constraints. This process combines a high quality and well defined theoretical method along with tools used in industrial practice. There are a number of advantages of our Method: (a) The last three stages are automated (b) Implementing the FSM model involves relatively little expert designers time (c) The method is feasible for modem superscalar processors and was studied on an enhanced PowerPC processor. We describe a formal framework for the new process, identify the obstacles that are encountered in the modeling phase, and show how to overcome them.

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. A. Aharon, A. Bar-David, B. Dorfman, E. Gofman, M. Leibowitz, V. Shwartzbund “Verification of the IBM RISC System/6000 by a Dynamic Biased Pseudo-Random Test Program Generator”, In IBM Systems Journal, April 1991

    Google Scholar 

  2. B. Beizer, “The Pentium Bug, an Industry Watershed”, Testing Techniques Newsletter On-Line Edition, September 1995

    Google Scholar 

  3. A. Aharon, D. Goodman, M. Levinger, Y Lichtenstein, Y. Malka, C. Metzger, M. Molco, G. Shurek “Test Program Generation for Functional Verification of PowerPC Processors in IBM”, In proceeding of ACM/ IEEE Design Automation Conference 1995

    Google Scholar 

  4. Y. Lichtenstein, Y. Malka, A. Aharon “Model Based Test Generation for Processor Design Verification”, In Innovative Applications of Artificial Intelligence (IAAI) AAAI Press 1994

    Google Scholar 

  5. Ahi A. M., Burroughs G.D., Gore A.B., LaMar S.W., Lin C.R., Wieman A.L “Design Verification of the HP9000 Series 7000 pa-risc Workstations”, Hewlett-Packard-Journal num. 8 vol. 14 August 1992

    Google Scholar 

  6. A. Chandra, V. Iyengar, D. Jameson, R. Jawalker, I. Nair, B. Rosen, M. Mullen, J. Yoor, R. Armoni, D. Geist, Y. Wolfstal “AVPGEN — A Test Case Generator for Architecture Verification”, IEEE Transactions on VLSI Systems 6(6) June 1995

    Google Scholar 

  7. D. Geist, M. Farkas, A. Landver, Y. Lichtenstein, S. Ur, Y. Wolfsthal “Coverage Directed Generation Using Symbolic Techniques”, FMCAD 96

    Google Scholar 

  8. E. J. Weyuker, B. Jeng “Analyzing Partition Testing Strategies”, IEEE Transactions on Software Engineering vol. 17 no. 7 July 1991

    Google Scholar 

  9. E. J. Weyuker, T.J. Ostrand “Theories of Program Testing and the Application of Revealing Subdomains” IEEE Transactions on Software Engineering vol. 6 no 3 May 1980

    Google Scholar 

  10. Y. Abarbanel, Y. Lichtenstein, Y. Malka, S. Ur “Coverage Driven Processor Bug Classification” Submitted to ACM/IEEE Design Automation Conference 1996

    Google Scholar 

  11. G. J. Holtzman, “Design and Validation of Computer Protocols”, Prentice Hall, Englewood Cliffs, NJ 1991

    Google Scholar 

  12. K.L McMillan “Symbolic Model Checking” Kluwer Academic Press, Norwell MA 1993

    Google Scholar 

  13. K.L McMillan “The SMV System DRAFT”, Carnegie Mellon University, Pittsburgh PA 1992

    Google Scholar 

  14. A.K. Chandra, V.S. Iyengar, R.V. Jawalekar, M.P. Mullen, I. Nair, B.K. Rosen “Architectural Verification of Processors Using Symbolic Instruction Graphs”, In Proceedings of the International Conference on Computer Design, October 1994

    Google Scholar 

  15. D. Lewin, L. Fournier, M. Levinger, E. Roytman, G. Shurek “Constraint Satisfaction for Test Program Generation”, IEEE International Phoenix Conference on Communication and Computers, 1995

    Google Scholar 

  16. A.K. Chandra, V.S. Iyengar “Constraint Solving for Test Case Generation”, In Proceedings of ICCD-92, Cambridge Mass, 1992

    Google Scholar 

  17. R. C. Ho, C. Han Yang, M. A. Horowitz, D. L. Dill “Architecture Validation for Processors” In ACM ISCA 1995

    Google Scholar 

  18. H. Iwashita, S. Kowatari, T. Nakata, F. Hirose “Automatic Test Program Generation for Pipelined Processors”, In Proceedings of the International Conference on Computer Aided Design, November 1994

    Google Scholar 

  19. D. L. Beatty, R. E. Bryant “Formally Verifying a Microprocessor Using a Simulation Methodology”, In Proceedings of the ACM/IEEE Design Automation Conference 1994

    Google Scholar 

  20. T. A. Diep, J. P. Shen “Systematic Validation of Pipeline Interlock for Superscalar Microarchitectures” In Proceedings of the 25'th Annual International Symposium on Fault Tolerance, June 1995

    Google Scholar 

  21. H. Iwashita, T. Nakata, F. Hirose “Integrated Design and Test Assistance for Pipeline Controllers”, IEICE Transactions Information Systems (Japan) Vol.E76-D, No. 7, July 1993

    Google Scholar 

  22. C. May, E. Silha, R. Simpson, H. Warren editors “The PowerPC Architecture”, Morgan Kaufmann, 1994

    Google Scholar 

  23. S. Weiss, J. E. Smith “POWER and PowerPC”, Morgan Kaufmann, 1994

    Google Scholar 

  24. D. Lewin, D. Lorenz, S. Ur “A Processor Implementation Verification Methodology”, IBM Unpublished Document

    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

Lewin, D., Lorenz, D., Ur, S. (1996). A methodology for processor implementation verification. 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/BFb0031804

Download citation

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

  • 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