All Projects → Featherweight-IP → Fwrisc

Featherweight-IP / Fwrisc

Licence: apache-2.0
Featherweight RISC-V implementation

Projects that are alternatives of or similar to Fwrisc

E200 opensource
This repository hosts the project for open-source hummingbird E203 RISC processor Core.
Stars: ✭ 1,909 (+4794.87%)
Mutual labels:  verilog, risc-v
spu32
Small Processing Unit 32: A compact RV32I CPU written in Verilog
Stars: ✭ 51 (+30.77%)
Mutual labels:  verilog, risc-v
Biriscv
32-bit Superscalar RISC-V CPU
Stars: ✭ 208 (+433.33%)
Mutual labels:  verilog, risc-v
Ustc Rvsoc
FPGA-based RISC-V CPU+SoC.
Stars: ✭ 77 (+97.44%)
Mutual labels:  verilog, risc-v
super-miyamoto-sprint
Homebrew game for homebrew FPGA game console
Stars: ✭ 48 (+23.08%)
Mutual labels:  verilog, risc-v
Icestation 32
Compact FPGA game console
Stars: ✭ 93 (+138.46%)
Mutual labels:  verilog, risc-v
drec-fpga-intro
Materials for "Introduction to FPGA and Verilog" at MIPT DREC
Stars: ✭ 66 (+69.23%)
Mutual labels:  verilog, risc-v
picorv32 Xilinx
A picorv32-riscv Soc with DMAC and Ethernet controller & lwip & Kirtex7@333MHz
Stars: ✭ 49 (+25.64%)
Mutual labels:  verilog, risc-v
getting-started
List of ideas for getting started with TimVideos projects
Stars: ✭ 50 (+28.21%)
Mutual labels:  verilog, risc-v
yarvi
Yet Another RISC-V Implementation
Stars: ✭ 59 (+51.28%)
Mutual labels:  verilog, risc-v
Riscy Soc
Riscy-SoC is SoC based on RISC-V CPU core, designed in Verilog
Stars: ✭ 59 (+51.28%)
Mutual labels:  verilog, risc-v
Scr1
SCR1 is a high-quality open-source RISC-V MCU core in Verilog
Stars: ✭ 393 (+907.69%)
Mutual labels:  verilog, risc-v
Darkriscv
opensouce RISC-V cpu core implemented in Verilog from scratch in one night!
Stars: ✭ 1,062 (+2623.08%)
Mutual labels:  verilog, risc-v
Tang e203 mini
LicheeTang 蜂鸟E203 Core
Stars: ✭ 135 (+246.15%)
Mutual labels:  verilog, risc-v
srv32
Simple 3-stage pipeline RISC-V processor
Stars: ✭ 88 (+125.64%)
Mutual labels:  verilog, risc-v
Riscv
RISC-V CPU Core (RV32IM)
Stars: ✭ 272 (+597.44%)
Mutual labels:  verilog, risc-v
Platformio Core
PlatformIO is a professional collaborative platform for embedded development 👽 A place where Developers and Teams have true Freedom! No more vendor lock-in!
Stars: ✭ 5,539 (+14102.56%)
Mutual labels:  verilog, risc-v
Riscv Megaproject
A series of (practise) projects of RISC-V cores. All cores will support at least the I instruction set. Expect bugs/limitations for earlier ones
Stars: ✭ 29 (-25.64%)
Mutual labels:  verilog
Verilog Utils
native Verilog pcap, littletoe, bcd, xml and hash modules, with Icarus testbenches
Stars: ✭ 33 (-15.38%)
Mutual labels:  verilog
Zbasic
A bare bones, basic, ZipCPU system designed for both testing and quick integration into new systems
Stars: ✭ 27 (-30.77%)
Mutual labels:  verilog

FWRISC

Build Status

FWRISC-S is a Featherweight RISC-V implementation of the RV32IMC instruction set with IoT-appropriate security features. This implementation supports the integer instructions, registers, CSRs, and exceptions as required by the RISC-V spec.

This revision of the core was created for the 2019 RISC-V security contest: https://riscv.org/2019/07/risc-v-softcpu-core-contest/

FWRISC is a non-pipelined processor that aims to balance performance with FPGA resource utilization. It achieves 0.15 DMIPS/Mhz.

FWRISC correctly runs all RISCV RV32I compliance tests. It also supports the Zephyr RTOS.

Core Features

  • RV32IMC instructions
  • Multi-cycle shift
  • Multi-cycle multiply/divide
  • Support for the compressed-instruction ISA
  • MINSTR, MCYCLE counters
  • ECALL/EBREAK/ERET instrutions
  • Support for address-alignment exceptions

SEcurity Features

FWRISC-S implements Data Execution Prevention, as a way to prevent arbitrary code execution. While more-complex protection techniques are appropriate for more-complex systems, IoT systems typically run a fixed program that can be easily protected in this way. The Zephyr SoC-support configuration has been setup such that data execution prevention is configured just after kernel boot. Using linker symbols, the configuration programs CSRs to only allow execution in the text section of the image. See Zephyr for more information.

Resource Stats

The bare FWRISC-S 1.0.0 core consumes the following resources:

Target LUTs/LCs RAM Frequency
Microsemi IGLOO2 (Synplify) 2592 LUTs 2x 64x18 36.6Mhz

Getting Started

See the Quickstart document to get started with FWRISC. For more detailed information, see the documents below.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].