DeepAI AI Chat
Log In Sign Up

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

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...
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...
05/30/2020

CC-Light eQASM Architecture Specification

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

Specifying a Realistic File System

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

Context Generation from Formal Specifications for C Analysis Tools

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

Kishon's Poker Game

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

Computer Aided Formal Design of Swarm Robotics Algorithms

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