Abstract
This paper gives an overview of progress made on the formal specification and verification of the ARM6 micro-architecture using the HOL proof system. The ARM6 is a commercial processor design prevalent in mobile and embedded systems – it features a 3-stage pipeline with a multi-cycle execute stage, six operating modes and a rich 32-bit RISC instruction set. This paper describes some of the difficulties encountered when working with a full blown instruction set architecture that has not been designed with verification in mind.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aagaard, M.D., Cook, B., Day, N.A., Jones, R.B.: A framework for microprocessor correctness statements. In: Margaria, T., Melham, T.F. (eds.) CHARME 2001. LNCS, vol. 2144, pp. 433–448. Springer, Heidelberg (2001)
Barras, B.: Programming and computing in HOL. In: Aagaard, M.D., Harrison, J. (eds.) TPHOLs 2000. LNCS, vol. 1869, pp. 17–37. Springer, Heidelberg (2000)
Berezin, S., Clarke, E., Biere, A., Zhu, Y.: Verification of out-of-order processor designs using model checking and a light-weight completion function. Formal Methods in System Design 20(2), 187–222 (2002)
Birtwistle, G., Subrahmanyam, P.A. (eds.): VLSI Specification, Verification and Synthesis. Kluwer Academic Publishers, Dordrecht (1988)
Brock, B., Kaufmann, M., Moore, J.S.: ACL2 theorems about commercial microprocessors. In: Srivas, M., Camilleri, A. (eds.) FMCAD 1996. LNCS, vol. 1166, pp. 275–293. Springer, Heidelberg (1996)
Cohn, A.: The notion of proof in hardware verification. Journal of Automated Reasoning 5(2), 127–139 (1989)
Fox, A.C.J.: Algebraic Models for Advanced Microprocessors. PhD thesis, University of Wales Swansea (1998)
Fox, A.C.J.: An algebraic framework for modelling and verifying microprocessors using HOL. Technical Report 512, University of Cambridge, Computer Laboratory (April 2001)
Fox, A.C.J.: A HOL specification of the ARM instruction set architecture. Technical Report 545, University of Cambridge, Computer Laboratory (June 2001)
Fox, A.C.J.: Formal verification of the ARM6 micro-architecture. Technical Report 548, University of Cambridge, Computer Laboratory (November 2002)
Graham, B.T.: The SECD Microprocessor, A Verification Case Study. Kluwer International Series in Engineering and Computer Science. Kluwer Academic Publishers, Dordrecht (1992)
Harman, N.A., Tucker, J.V.: Algebraic models and the correctness of microprocessors. In: Milne, G.J., Pierre, L. (eds.) CHARME 1993. LNCS, vol. 683, pp. 92–108. Springer, Heidelberg (1993)
Hunt Jr., W.A.: FM8501: A Verified Microprocessor. LNCS, vol. 795. Springer, Heidelberg (1994)
Hunt Jr., W.A., Brock, B.C.: A formal HDL and its use in the FM9001 verification. In: Hoare, C.A.R., Gordon, M.J.C. (eds.) Mechanized Reasoning and Hardware Design, pp. 35–47. Prentice-Hall, Englewood Cliffs (1992)
Jones, R.B., Skakkebæk, J.U., Dill, D.L.: Formal verification of out-of-order execution with incremental flushing. Formal Methods in System Design 20(2), 139–158 (2002)
Joyce, J.J.: Formal verification and implementation of a microprocessor. In: Birtwistle and Subrahmanyam [4], pp. 129–157
Kaufmann, M., Manolios, P., Moore, J.S. (eds.): Computer-Aided Reasoning: ACL2 Case Studies. Kluwer Academic Publishers, Dordrecht (2000)
McMillan, K.: Verification of an implementation of tomasulo’s algorithm by compositional model checking. In: Hu, A.J., Vardi, M.Y. (eds.) CAV 1998. LNCS, vol. 1427. Springer, Heidelberg (1998)
Melham, T.F.: Abstraction mechanisms for hardware verification. In: Birtwistle and Subrahmanyam [4], pp. 267–291
Miller, S.P., Srivas, M.K.: Applying formal verification to the AAMP5 microprocessor: A case study in the industrial use of formal methods. Formal Methods in Systems Design 8(2), 153–188 (1996)
Sawada, J., Hunt Jr., W.A.: Verification of FM9801: An out-of-order model with speculative execution, exceptions, and program-modifying capability. Formal Methods in System Design 20(2), 187–222 (2002)
Seal, D. (ed.): ARM Architectural Reference Manual, 2nd edn. Addison-Wesley, Reading (2001)
Tahar, S., Kumar, R.: A practical methodology for the formal verification of RISC processors. Formal Methods in System Design 13(2), 159–225 (2002)
Tomasulo, R.M.: An efficient algorithm for exploiting multiple arithmetic units. IBM Journal 11(34), 25–33 (1967)
Windley, P.J., Coe, M.L.: A correctness model for pipelined microprocessors. In: Kumar, R., Kropf, T. (eds.) TPCD 1994. LNCS, vol. 901, pp. 33–51. Springer, Heidelberg (1995)
Wong, W.: Modelling bit vectors in HOL: The word library. In: Joyce, J.J., Seger, C.-J.H. (eds.) HUG 1993. LNCS, vol. 780, pp. 371–384. Springer, Heidelberg (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fox, A. (2003). Formal Specification and Verification of ARM6. In: Basin, D., Wolff, B. (eds) Theorem Proving in Higher Order Logics. TPHOLs 2003. Lecture Notes in Computer Science, vol 2758. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10930755_2
Download citation
DOI: https://doi.org/10.1007/10930755_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40664-8
Online ISBN: 978-3-540-45130-3
eBook Packages: Springer Book Archive