losfair / Violet

Superscalar RISC-V processor written in Clash.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 :)

About

Superscalar RISC-V processor written in Clash.

License:GNU Lesser General Public License v3.0


Languages

Language:Haskell 85.1%Language:Rust 4.5%Language:Verilog 3.6%Language:Assembly 2.8%Language:Python 1.5%Language:Shell 0.9%Language:Makefile 0.5%Language:C 0.5%Language:C++ 0.4%Language:HTML 0.1%