End-to-End Verification of ARM Processors with ISA-Formal

نویسندگان

  • Alastair Reid
  • Rick Chen
  • Anastasios Deligiannis
  • David Gilday
  • David Hoyes
  • Will Keen
  • Ashan Pathirane
  • Owen Shepherd
  • Peter Vrabel
  • Ali Zaidi
چکیده

Despite 20+ years of research on processor verification, it remains hard to use formal verification techniques in commercial processor development. There are two significant factors: scaling issues and return on investment. The scaling issues include the size of modern processor specifications, the size/complexity of processor designs, the size of design/verification teams and the (non)availability of enough formal verification experts. The return on investment issues include the need to start catching bugs early in development, the need to continue catching bugs throughout development, and the need to be able to reuse verification IP, tools and techniques across a wide range of design styles. This paper describes how ARM has overcome these issues in our Instruction Set Architecture Formal Verification framework “ISA-Formal.” This is an end-to-end framework to detect bugs in the datapath, pipeline control and forwarding/stall logic of processors. A key part of making the approach scale is use of a mechanical translation of ARM’s Architecture Reference Manuals to Verilog allowing the use of commercial modelcheckers. ISA-Formal has proven especially effective at finding microarchitecture specific bugs involving complex sequences of instructions. An essential feature of our work is that it is able to scale all the way from simple 3-stage microcontrollers, through superscalar in-order processors up to out-of-order processors. We have applied this method to 8 different ARM processors spanning all stages of development up to release. In all processors, this has found bugs that would have been hard for conventional simulation-based verification to find and ISA-Formal is now a key part of ARM’s formal verification strategy. To the best of our knowledge, this is the most broadly applicable formal verification technique for verifying processor pipeline control in mainstream commercial use.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Verified LISP Implementations on ARM, x86 and PowerPC

This paper reports on a case study, which we believe is the first to produce a formally verified end-to-end implementation of a functional programming language running on commercial processors. Interpreters for the core of McCarthy’s LISP 1.5 were implemented in ARM, x86 and PowerPC machine code, and proved to correctly parse, evaluate and print LISP s-expressions. The proof of evaluation requi...

متن کامل

Trustworthy decompilation: extracting models of machine code inside an ITP

Modern processors support a large numbers of instructions and a multitude of features; as a result, detailed formal models of real instruction set architectures (ISAs) are long and hard to understand. Established approaches for proving functional properties on top of these models tie proofs to a specific model and require expert knowledge of the underlying model and substantial manual effort of...

متن کامل

Trustworthy programming for multiple instruction sets

The proposed research builds upon previous work at Cambridge on the formal verification of ARM processor hardware and assembly level software. We will use formal models of the ARM4T instruction set architecture (ISA) resulting from the completed EPSRC project Formal Specification and Verification of ARM-based Systems (GR/T20106/01). The aim of the project is to continue and broaden work started...

متن کامل

Formal Verification of Secure User Mode Device Execution with DMA

Separation between processes on top of an operating system or between guests in a virtualized environment is essential for establishing security on modern platforms. A key requirement of the underlying hardware is the ability to support multiple partitions executing on the shared hardware without undue interference. For modern processor architectures with hardware support for memory management,...

متن کامل

Instruction-Level Abstraction (ILA): A Uniform Specification for System-on-Chip (SoC) Verification

Modern Systems-on-Chip (SoC) designs are increasingly heterogeneous and contain specialized semi-programmable accelerators in addition to programmable processors. In contrast to the preaccelerator era, when the ISA played an important role in verification by enabling a clean separation of concerns between software and hardware, verification of these “accelerator-rich” SoCs presents new challeng...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016