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.
Preview
Unable to display preview. Download preview PDF.
References
V. Bhagwati, S. Devadas, “Automatic Verification of Pipelined Microprocessors”, Proceedings of 31st Design Automation Conference, 1994.
J. Burch, “Techniques for Verifying Superscalar Microprocessors”, Design Automation Conference, 1996.
J. Burch, D. Dill, “Automated Verification of Pipelined Micro-processors”, Computer-Aided Verification, 1994.
Ed C. Clarke, X. Zhao, “Word Level Model Checking, A New Approach for Verifying Arithmetic Circuits”, Technical Report, Carnegie Melon University, May 1995.
Szu-Tsung Cheng and Robert K. Brayton, “Compiling Verilog into Automata”, University of California at Berkeley”, Memorandum UCB/ERL M94/37, 1994.
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.
David Cyrluk, “Microprocessor Verification in PVS: A Methodology and Simple Example”, Technical Report SRI-CSL-93-12, Computer Science Laboratory, SRI International, December 1993.
D. Cyrluk, P. Narendran, “Ground Temporal Logic: A Logic for Hardware Verification”, Computer-Aided Verification, 1994.
D. Cyrluk, private communication, 1995.
John L. Hennessy, David A. Patterson, “Computer Architecture A Quantitative Approach”, Morgan Kaufmann Publishers, 1990.
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.
R. Hojati, R. K. Brayton, “Automatic Datapath Abstraction of Hardware Systems”, Conference on Computer-Aided Verification, 1995.
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.
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.
Peter Yan-Tek Hsu, “Design of the R8000 Microprocessor”, IEEE Micro 1993. Also available at http://www.mips.com under R8000 microprocessor.
John E. Hopcroft, Jeffery D. Ullman, “Introduction to Automata Theory, Languages, and Computation”, Addison-Wesley, 1979.
Mike Johnson, “Superscalar Microprocessor Design”, Prentice Hall, 1991.
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.
A. Charnas, et al. “A 64b Microprocessor with Multimedia Support”, International Solid-State Circuits Conference, pp178–179, Feb, 1995.
C. H. Seger, R. E. Bryant, “Formal Verification by Symbolic Evaluation of Partially-Ordered Trajectories”, Formal Methods in System Design, 6:147–189, 1995.
Toru Shonai, Tsuguo Shimizu, “Formal Verification of Pipelined and Superscalar Processors”, Conference on Hardware Description Languages, Tokyo, Japan, August 1995.
James E. Smith and Andrew R. Pleszkun, “Implementing Precise Interrupts in Pipelined Processors”, IEEE Transactions on Computers, Vol. 37, No. 5, May 1986.
Mandayam K. Srivas, Steven P. Miller, “Applying Formal Verification to a Commercial Microprocessor”, Conference on Hardware Description Languages, Tokyo, Japan, August 1995.
Editor information
Rights 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