DeepAI AI Chat
Log In Sign Up

A Multipurpose Formal RISC-V Specification

by   Thomas Bourgeat, et al.

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.


page 1

page 2

page 3

page 4


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

Development of formal proofs of correctness of programs can increase act...

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

Specialized accelerators are increasingly used to meet the power-perform...

CC-Light eQASM Architecture Specification

This document is the specification of the CC-Light instantiation of exec...

Specifying a Realistic File System

We present the most interesting elements of the correctness specificatio...

Context Generation from Formal Specifications for C Analysis Tools

Analysis tools like abstract interpreters, symbolic execution tools and ...

Kishon's Poker Game

We present an approach for proving the correctness of distributed algori...

Computer Aided Formal Design of Swarm Robotics Algorithms

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