Skip to content

suryakantamangaraj/awesome-riscv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome RISC-V Awesome

RISC-V is a popular architecture for microcontrollers and embedded systems.

Contents

Open Source Implementations

Open source implementations of the RISC-V architecture.

Accelerators

  • DANA - Dynamically Allocated Neural Network (DANA) Accelerator.

Cores

Open source RISC-V cores with proper documentation.

  • bigPULP - Big version of the PULP platform with large cluster configurations for HPC workloads.
  • biRISC-V - 32-bit dual-issue in-order RISC-V CPU.
  • BOOM - Berkeley Out-of-Order RISC-V Processor.
  • CDL Hardware - Hardware designs in Cycle Description Language (CDL) targeting RISC-V.
  • CV32E40P - OpenHW Group CORE-V CV32E40P RISC-V IP.
  • CVA6 - 6-stage, single-issue in-order RISC-V core maintained by the OpenHW Group.
  • DarkRISCV - Experimental RISC-V implementation in Verilog, fitting in a small FPGA.
  • E203 - Hummingbird E203 Opensource Processor Core.
  • FlexPRET - 5-stage, fine-grained multithreaded RISC-V processor.
  • Freedom - By SiFive for its Freedom E300 and U500 platforms.
  • FWRISC - Featherweight RISC-V implementation.
  • FWRISC-S - Extended variant of the FWRISC featherweight RISC-V core with added CSR support.
  • Ibex - Small, 32-bit RISC-V core from lowRISC, formally verified and production-proven.
  • KLESSYDRA-F03 - Interleaved multithreaded RISC-V processor (F03 variant) with DSP extensions.
  • KLESSYDRA-T02 - Interleaved multithreaded RISC-V processor (T02 variant).
  • KLESSYDRA-T03 - Interleaved multithreaded RISC-V processor (T03 variant).
  • KLESSYDRA-T13 - Interleaved multithreaded RISC-V processor (T13 variant).
  • Kronos - Lightweight, 3-stage in-order RV32I pipeline written in SystemVerilog.
  • Leros - Tiny accumulator-based processor core targeting FPGAs.
  • lipsi - Probably the smallest processor in the world, implemented in Chisel.
  • Lizard - Modular, out-of-order RISC-V processor built with PyMTL.
  • Maestro - RISC-V RV32I processor implemented in VHDL.
  • Minerva - 32-bit RISC-V soft processor.
  • MR1 - Minimal RISC-V RV32I core implemented in SpinalHDL.
  • mriscv - 32-bit pipelined RISC-V processor implemented in Verilog.
  • NEORV32 - Customizable, extensible MCU-class 32-bit soft-core CPU and SoC written in VHDL.
  • NutShell - RISC-V processor developed by the University of Chinese Academy of Sciences.
  • OpenPiton - World's first open source, general purpose, multithreaded manycore processor.
  • patmos - Time-predictable VLIW processor.
  • PicoRV32 - Size-Optimized RISC-V CPU.
  • PULP - Parallel Ultra-Low-Power open-source multi-core computing platform.
  • Rattlesnake - RISC-V RV32IMC Soft CPU, with a Security-Hardened Processor Core.
  • Reindeer - PulseRain soft CPU supporting the RISC-V RV32IM instruction set.
  • ReonV - RISC-V implementation based on a modified version of the Leon3 SPARC processor.
  • RISCV-CLaSH - RiscV processor implementing the RV32I instruction set written in clash.
  • riscv-mini - Simple three-stage RISC-V pipeline written in Chisel.
  • Riscy - MIT CSAIL family of open-sourced, formally verified RISC-V processors.
  • RiscyOO - MIT CSAIL out-of-order RISC-V processor with memory model support.
  • Rocket - Parameterizable RISC-V SoC generator from UC Berkeley.
  • RPU - Basic RISC-V CPU implementation in VHDL.
  • RSD - Out-of-order superscalar RISC-V processor written in SystemVerilog.
  • RV01 - Pipelined RV32I implementation on OpenCores targeting FPGAs.
  • RV12 - Single-issue, in-order RV32I/RV64I RISC-V core from RoaLogic.
  • Sail RISC-V - RISCV Sail Model.
  • SCR1 - Free and open-source MCU-class RISC-V core from Syntacore.
  • SERV - Award-winning ultra-compact bit-serial RISC-V core.
  • Shakti C-Class - Application-class 64-bit RISC-V core from IIT Madras.
  • Shakti E-Class - Embedded-class 32-bit RISC-V core from IIT Madras.
  • Sodor - Educational collection of simple RISC-V processors written in Chisel by UC Berkeley.
  • SSRV - SuperScalar-RISCV-CPU.
  • Steel - Simple, 32-bit RISC-V processor core designed to be easily embedded into SoCs.
  • SweRV - EH1 SweRV RISC-V CoreTM 1.8 from Western Digital.
  • SweRV EH2 - EH2 SweRV RISC-V CoreTM 1.2 from Western Digital.
  • SweRV EL2 - EL2 SweRV RISC-V CoreTM 1.2 from Western Digital.
  • Taiga - 32-bit RISC-V processor designed for Xilinx FPGAs, targeting high performance.
  • Tiny Risc-V - Easy-to-understand, from-scratch RISC-V implementation written in Verilog.
  • VeeR EL2 - CHIPS Alliance VeeR EL2 RISC-V Core; the actively maintained successor to the Western Digital SweRV family.
  • VexRiscv - FPGA-friendly 32-bit RISC-V implementation written in SpinalHDL.
  • Wally (CVW) - CORE-V Wally: a configurable, 5-stage-pipeline RISC-V processor associated with the RISC-V System-on-Chip Design textbook by Harris et al.
  • WARP-V - Open-source RISC-V core IP you can shape to your needs.
  • XiangShan - Open-source high-performance out-of-order RISC-V processor developed at the Institute of Computing Technology, Chinese Academy of Sciences.
  • RISCV-CPU - A 6-stage pipelined RV32IM core on FPGA, achieving 263.7 CoreMark and 91.0 DMIPS at 100 MHz.

SoCs

A curated list of RISC-V SoCs, available as open sources.

  • Icicle - 32-bit RISC-V system on chip for iCE40 HX8K, iCE40 UP5K and ECP5 FPGAs.
  • Iob-SoC - Template for building RISC-V-based SoCs using open-source tools.
  • PicoSoC - Simple example SoC using PicoRV32.
  • Raven - ASIC implementation of the PicoSoC PicoRV32.
  • Riscy SoC - RISC-V SoC implementation targeting Xilinx FPGAs.
  • Shakti SoC - Complete SoC built around the Shakti RISC-V processor family from IIT Madras.

Open Source Toolchains

Open source toolchains for designing and developing RISC-V systems.

Design Environment

  • BRSIC-V - Browser-based RISC-V architecture design space exploration tool from Boston University.
  • Chipyard - Framework for agile development of Chisel-based systems-on-chip.
  • Firrtl - Flexible Internal Representation for RTL.
  • FTPVL - FPGA Tool Performance Visualization Library.
  • LowRISC Chip - lowRISC SoC platform built on the Rocket RISC-V core.
  • nextpnr - Portable FPGA place and route tool.
  • PULPino - Single-core microcontroller system, based on 32-bit RISC-V cores.
  • PULPissimo - Microcontroller architecture of the more recent PULP chips.
  • RISC-V GNU Toolchain - RISC-V GNU Compiler Toolchain.
  • RISC-V Linux - Build Fedora Gnome Desktop on RISC-V.
  • Treadle - Chisel/Firrtl Execution Engine.

HDLs

Simulators/Emulators

Open source Emulators and Simulators for designing and testing RISC-V systems.

  • Dromajo - Esperanto Technology's RISC-V Reference Model.
  • FireSim - Easy-to-use, Scalable, FPGA-accelerated Cycle-accurate Hardware Simulation.
  • FireSim-NVDLA - Full-system simulator integrated with NVIDIA Deep Learning Accelerator (NVDLA).
  • FuseSoC - Award-winning package manager and build tool set for HDL projects.
  • GAP8 SDK - SDK for the GAP8 RISC-V multi-core IoT application processor by GreenWaves Technologies.
  • gem5 - The gem5 computer-system architecture simulator; widely used in academia for RISC-V microarchitecture research.
  • QEMU - The leading open-source machine emulator and virtualizer; supports both RV32 and RV64 system and user-mode emulation.
  • RARS - RISC-V Assembler and Runtime Simulator.
  • Renode - Antmicro's open-source simulation framework with excellent RISC-V support; ideal for embedded and multi-core prototyping.
  • Ripes - Visual computer architecture simulator and assembly code editor.
  • riscv-VM - OpenHW Group's RISC-V Virtual Machine.
  • Shakti SDK - Software development kit for the Shakti RISC-V processor family from IIT Madras.
  • Spike - RISC-V ISA Simulator.
  • SweRV ISS - Instruction Set Simulator for the SweRV RISC-V core family.
  • TinyEMU - System emulator for the RISC-V and x86 architectures.
  • TLBSim - Fast TLB simulator for RISC-V systems.
  • Venus - Browser-based RV32 assembler and runtime simulator used in UC Berkeley's CS 61C course; ideal for beginners.
  • Verilator - Fastest Verilog/SystemVerilog simulator.
  • WebRISC-V - Web-based graphical pipelined datapath simulation environment built for the RISC-V.

Verification and Testing Environment

  • Axe - Automatic black box testing.
  • BOOM Attacks - BOOM Speculative Attacks.
  • CHISEL Tester - Testing utilities for circuits written in Chisel.
  • RISC-V DV - SV/UVM based open-source instruction generator for RISC-V processor verification.
  • RISC-V Formal - Open-source formal verification framework for RISC-V processors.
  • RISC-V Tests - Unit tests for RISC-V processors.
  • RISC-V Torture - Random torture test generator for RISC-V processors.
  • UVM - Universal Verification Methodology (UVM) library for open-source EDA flows.

Hardware

Physical boards and platforms for hands-on RISC-V experimentation.

Educational Boards

Affordable and accessible RISC-V development boards recommended for students and researchers.

  • HiFive1 Rev B - SiFive's Arduino-compatible RISC-V microcontroller board; an accessible entry point for bare-metal embedded programming.
  • Milk-V Duo - Extremely low-cost ($5–$9) ultra-compact embedded Linux board based on a RISC-V + ARM dual-core SoC; great for IoT learning.

Technical Resources

Resources to help you make your own designs.

Articles

Books

Courses

Documentation

  • Chipyard Docs - Official documentation for the Chipyard SoC design framework.
  • CHISEL Cheatsheet - Quick-reference cheatsheet for the Chisel hardware design language.
  • Ripes Wiki - Official wiki and introduction for the Ripes RISC-V visual simulator.
  • RISCV-FS - RISC-V formal ISA Specification.

Papers and Publications

Tutorials

Videos

Social Media

These social media profiles will update about recent RISC-V related news.

Forums

  • OSDForum - Open-source digital design forum covering RISC-V, FPGAs, and EDA topics.
  • RISC-V official forum - Official RISC-V International technical forums for ISA and ecosystem discussions.

Google Groups

  • Chisel Users - Community mailing list for users of the Chisel hardware design language.
  • RISC-V HW Dev - Official RISC-V hardware development mailing list.
  • RISC-V ISA Dev - Official mailing list for RISC-V ISA specification development discussions.
  • RISC-V Teach - Mailing list for educators using RISC-V in courses and academic programs.

Reddit

  • RISC-V - Subreddit for RISC-V news, projects, and community discussion.

Telegram

  • RISC-V - Telegram group for real-time RISC-V community chat.

This list grows with the community. Whether you've found a new open-source core, a great course, or a tool that made your RISC-V workflow significantly better, your contribution is welcome here.

Please read the Contribution Guidelines before opening a pull request. We follow the sindresorhus/awesome standard: every entry must have a description, a live https:// link, and be actively maintained.

Found a dead link or an outdated resource? Open an issue on GitHub — that's a contribution too!

About

RISC-V: Open-source instruction set architecture based on reduced instruction set computer principles.

Topics

Resources

License

Contributing

Stars

375 stars

Watchers

13 watching

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors