Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/losfair/violet
Superscalar RISC-V processor written in Clash.
https://github.com/losfair/violet
clash cpu hardware haskell risc-v
Last synced: 4 months ago
JSON representation
Superscalar RISC-V processor written in Clash.
- Host: GitHub
- URL: https://github.com/losfair/violet
- Owner: losfair
- License: lgpl-3.0
- Created: 2020-09-06T00:19:21.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-08-23T17:36:44.000Z (over 2 years ago)
- Last Synced: 2023-08-07T22:41:07.860Z (over 1 year ago)
- Topics: clash, cpu, hardware, haskell, risc-v
- Language: Haskell
- Homepage:
- Size: 171 KB
- Stars: 34
- Watchers: 3
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Violet
Violet is a dual-issue superscalar RISC-V processor for educational purpose, written in [Clash](https://github.com/clash-lang/clash-compiler).
![Build status](https://github.com/losfair/Violet/actions/workflows/main.yaml/badge.svg)
## 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](https://github.com/losfair/Violet/runs/2093355709)
- Configurable## Architecture
![Architecture](res/Violet.svg)
## 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](https://github.com/losfair/violet-cosim) written in Rust. Verification isn't extensive though - currently
only a small set of programs are tested. Don't tape out Violet yet :)