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

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors