Skip to content

🌌 A tiny, customizable and extensible MCU-class 32-bit RISC-V soft-core CPU and microcontroller-like SoC written in SystemVerilog. Stage 1, the purpose is to learn how to design a risc-v processor with basic peripherals and the RISC-V instruction set architecture.

Notifications You must be signed in to change notification settings

DatNguyen97-VN/cellrv32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CELLRV32

The CELLRV32 RISC-V Processor

Note: this project is referred from [The NEORV32 Processor](https://github.com/stnolting/cellrv32.git) by Stephan Nolting.

  1. Overview
  2. Features
  3. FPGA Implementation Results
  4. Performance
  5. Software Framework & Tooling
  6. Getting Started

1. Overview

cellrv32 overview

The CELLRV32 Processor is a customizable microcontroller-like system on chip (SoC) built around the CELRV32 RISC-V CPU and written in platform-independent SystemVerilog. The processor is intended as know about specific arrangement of registers, ALUs, finite state machines (FSMs), memories, and other logic building blocks (microarchitecture) needed to implement an RISC-V architecture and building blocks from theory of operation to combinational and sequential circuits for the internal IPs. The project is intended to work out of the box and targets FPGA / RISC-V beginners and amateurs.

Special focus is paid on execution safety to provide defined and predictable behavior at any time. Therefore, the CPU ensures that all memory accesses are properly acknowledged and that all invalid/malformed instructions are always detected as such. Whenever an unexpected situation occurs the application software is informed via precise and resumable hardware exceptions.

Key Features

  • all-in-one package: CPU + SoC + Software Framework & Tooling
  • extensive configuration options for adapting the processor to the requirements of the application
  • aims to be as small as possible while being as RISC-V-compliant as possible - with a reasonable area-vs-performance trade-off
  • FPGA friendly (e.g. all internal memories can be mapped to block RAM - including the CPU's register file)
  • optimized for high clock frequencies to ease integration / timing closure
  • from zero to "hello world!" - completely open source and documented
  • easy to use even for FPGA / RISC-V starters – intended to work out of the box

Project Status

Repository & Status
GitHub Pages (docs) GitHub Pages
Processor (SoC) verification Processor
FPGA implementations Implementation
Prebuilt GCC toolchains Prebuilt_Toolchains
RISCOF core verification RISCOF core verification

About

🌌 A tiny, customizable and extensible MCU-class 32-bit RISC-V soft-core CPU and microcontroller-like SoC written in SystemVerilog. Stage 1, the purpose is to learn how to design a risc-v processor with basic peripherals and the RISC-V instruction set architecture.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published