Skip to content

losfair/Violet

Repository files navigation

Violet

Violet is a dual-issue superscalar RISC-V processor for educational purpose, written in Clash.

Build status

Features

  • RV32IM
  • 7-stage superscalar pipeline with in-order issue and "almost-in-order" commit
  • BTB and GShare branch predictor
  • Runs at 70-110 MHz on Artix-7 depending on configuration
  • 3.76 CoreMark/MHz
  • Configurable

Architecture

Architecture

Not yet implemented

  • Interrupts
  • RISC-V Privileded Architecture
  • ISA Extensions other than M
  • Instruction and data caches

Verification

Violet is verified using cosimulation with a software model written in Rust. Verification isn't extensive though - currently only a small set of programs are tested. Don't tape out Violet yet :)