Eecient Simulation of Formal Processor Models

Computer systems under development are routinely modeled by sim-ulators, and formal veriication can be integrated into conventional computer system development by reasoning directly about such simulators. However, simulators must be extremely fast to be usable in a real development eeort. We have crafted a model for a simple processor in the logic of the ACL2 theorem prover that supports both formal analysis and eecient execution, with performance near that of a simulator written in C. We describe our approach using the simple model and indicate how we are applying it to our latest microprocessor.

[1]  Matthew Wilding,et al.  A Mechanically Verified Application for a Mechanically Verified Environment , 1993, CAV.

[2]  Robert S. Boyer,et al.  Mechanized formal reasoning about programs and computing machines , 1997 .

[3]  Mandayam K. Srivas,et al.  Formal verification of the AAMP5 microprocessor: a case study in the industrial use of formal methods , 1995, Proceedings of 1995 IEEE Workshop on Industrial-Strength Formal Specification Techniques.

[4]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[5]  Bishop Brock,et al.  ACL2 Theorems About Commercial Microprocessors , 1996, FMCAD.

[6]  Robert Veroff,et al.  Automated Reasoning and Its Applications: Essays in Honor of Larry Wos , 1997 .

[7]  Mark Bickford,et al.  Formal Specification and Verification of VHDL , 1996, FMCAD.

[8]  Frank Yellin,et al.  The java virtual machine , 1996 .

[9]  Bishop C. Brock,et al.  Testing the FM9001 Microprocessor , 1995 .

[10]  William R. Bevier,et al.  Kit: A Study in Operating System Verification , 1989, IEEE Trans. Software Eng..

[11]  J. Strother Moore,et al.  An Industrial Strength Theorem Prover for a Logic Based on Common Lisp , 1997, IEEE Trans. Software Eng..

[12]  Matthew Wilding,et al.  Robust Computer System Proofs in PVS , 1997 .

[13]  K Srivas Mandayam,et al.  Formal Verification of the AAMP-FV Microcode , 1999 .

[14]  Robert S. Boyer,et al.  Automated proofs of object code for a widely used microprocessor , 1996, JACM.

[15]  John Rushby,et al.  User guide for the pvs specification and verification system (beta release) , 1991 .

[16]  W. Hunt,et al.  The DUAL-EVAL Hardware Description Language and Its Use in the Formal Specification and Verification of the FM9001 Microprocessor , 1995, Proceedings of ASP-DAC'95/CHDL'95/VLSI'95 with EDA Technofair.

[17]  David M. Russinoff A Mechanically Checked Proof of IEEE Compliance of the Floating Point Multiplication, Division and Square Root Algorithms of the AMD-K7™ Processor , 1998, LMS J. Comput. Math..

[18]  Martyn Thomas The industrial use of formal methods , 1993, Microprocess. Microsystems.

[19]  David A. Greve Symbolic Simulation of the JEM1 Microprocessor , 1998, FMCAD.

[20]  Robert S. Boyer,et al.  A computational logic handbook , 1979, Perspectives in computing.

[21]  Matthew Wilding,et al.  Transforming the Theorem Prover into a Digital Design Tool: From Concept Car to Off-Road Vehicle , 1998, CAV.

[22]  M. Wilding A Mechanically Veriied Application for a Mechanically Veriied Environment , 1993 .