The Research on Formal Verification of CPU Structure Based on Theorem Proving

With the development of SOC technology, the structure of today’s CPU is very complex, conventional design and verification methods such as testing and simulating can’t guarantee the correctness of CPU structure designs. In the area of CPU design and verification, formal verification is an emerging technology. To solve the problem of verifying CPU structure, we construct the CPU structure axiom system based on the CPU structure model and propose a formal method that proving theorem on this axiom system. Meanwhile we develop an automated verification tool. In this paper we describe our formal verification work on MIPS CPU.

[1]  Michael Norrish,et al.  seL4: formal verification of an operating-system kernel , 2010, Commun. ACM.

[2]  Yu Yang,et al.  Reducing Verification Complexity of a Multicore Coherence Protocol Using Assume/Guarantee , 2006, 2006 Formal Methods in Computer Aided Design.

[3]  Mads Dam,et al.  Machine Assisted Proof of ARMv7 Instruction Level Isolation Properties , 2013, CPP.

[4]  Tom Ridge,et al.  The semantics of x86-CC multiprocessor machine code , 2009, POPL '09.

[5]  Hoyt Lougee,et al.  SOFTWARE CONSIDERATIONS IN AIRBORNE SYSTEMS AND EQUIPMENT CERTIFICATION , 2001 .

[6]  Aharon Aharon,et al.  Test Program Generation for Functional Verification of PowePC Processors in IBM , 1995, 32nd Design Automation Conference.

[7]  Klaus-Dieter Schubert,et al.  Functional verification of the IBM POWER7 microprocessor and POWER7 multiprocessor systems , 2011 .

[8]  Magnus O. Myreen,et al.  A Trustworthy Monadic Formalization of the ARMv7 Instruction Set Architecture , 2010, ITP.

[9]  Anthony C. J. Fox,et al.  Formal Specification and Verification of ARM6 , 2003, TPHOLs.

[10]  Christian Berthet,et al.  Functional verification methodology of Chameleon processor , 1996, DAC '96.

[11]  Wang Peng Memory Consistency Verification of Chip Multi-Processor , 2010 .

[12]  M. Bartley,et al.  Functional verification methodology of Chameleon processor , 1996, 33rd Design Automation Conference Proceedings, 1996.

[13]  Yu Yang,et al.  Efficient methods for formally verifying safety properties of hierarchical cache coherence protocols , 2010, Formal Methods Syst. Des..

[14]  Klaus-Dieter Schubert,et al.  Solutions to IBM POWER8 verification challenges , 2015, IBM J. Res. Dev..

[15]  Jason Baumgartner,et al.  Functional verification of the POWER4 microprocessor and POWER4 multiprocessor system , 2002, IBM J. Res. Dev..

[16]  Ganesh Gopalakrishnan,et al.  Transaction Based Modeling and Verification of Hardware Protocols , 2007, Formal Methods in Computer Aided Design (FMCAD'07).

[17]  Julien Schmaltz,et al.  A Functional Approach to the Formal Specification of Networks on Chip , 2004, FMCAD.