Formal Specification of the RISC-V Instruction Set Architecture
summary
An executable, machine‑readable RISC‑V ISA is implemented as an elementary Haskell executable spec that defines one‑instruction‑at‑a‑time semantics with explicit decoding, legality checks, and state transforms. The core is side‑effect free and uses pure functional core with IO wrappers to model memory and devices. A working wrapper boots Linux in Haskell (~5–6 min); aim is to become the compliance golden model and later extend to concurrent/multi‑core and weak memory semantics.
AI-written summary · about
chapters (14)
- 0:00Intro
- 0:55Context
- 5:56Challenges
- 7:47Extensibility
- 8:35Concurrency Weak Memory Models
- 11:42Formal
- 13:14Forbus
- 13:52Design Principles
- 16:43GL Instruction
- 20:49Hidden Subtlety
- 23:42Status Plans
- 24:12Milestones
- 24:56Enhancements
- 25:56Questions
related talks
02h 49mA Tour of the RISC V ISA Formal Specification
31mFormal Specification
12mISA Formal Task Group Update
24mStrong Formal Verification For RISC V: From Instruction Set Manual To RTL
36mAccelerate RISC-V Instruction Set Simulation by Tiered JIT Compilation
19mRISC V ISA & Foundation Overview
17mDemo: RISC-V Models for Verification, Software Development and Architectural Explor...
36mFlexible Instruction-Set Semantics via Abstract Monads
