A Multipurpose Formal RISC-V Specification

04/01/2021
by   Thomas Bourgeat, et al.
0

RISC-V is a relatively new, open instruction set architecture with a mature ecosystem and an official formal machine-readable specification. It is therefore a promising playground for formal-methods research. However, we observe that different formal-methods research projects are interested in different aspects of RISC-V and want to simplify, abstract, approximate, or ignore the other aspects. Often, they also require different encoding styles, resulting in each project starting a new formalization from-scratch. We set out to identify the commonalities between projects and to represent the RISC-V specification as a program with holes that can be instantiated differently by different projects. Our formalization of the RISC-V specification is written in Haskell and leverages existing tools rather than requiring new domain-specific tools, contrary to other approaches. To our knowledge, it is the first RISC-V specification able to serve as the interface between a processor-correctness proof and a compiler-correctness proof, while supporting several other projects with diverging requirements as well.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/13/2020

QED at Large: A Survey of Engineering of Formally Verified Software

Development of formal proofs of correctness of programs can increase act...
research
03/01/2022

Specialized Accelerators and Compiler Flows: Replacing Accelerator APIs with a Formal Software/Hardware Interface

Specialized accelerators are increasingly used to meet the power-perform...
research
05/30/2020

CC-Light eQASM Architecture Specification

This document is the specification of the CC-Light instantiation of exec...
research
11/13/2015

Specifying a Realistic File System

We present the most interesting elements of the correctness specificatio...
research
09/05/2017

Context Generation from Formal Specifications for C Analysis Tools

Analysis tools like abstract interpreters, symbolic execution tools and ...
research
09/23/2018

Kishon's Poker Game

We present an approach for proving the correctness of distributed algori...
research
01/18/2021

Computer Aided Formal Design of Swarm Robotics Algorithms

Previous works on formally studying mobile robotic swarms consider neces...

Please sign up or login with your details

Forgot password? Click here to reset