All Projects → skordal → Potato

skordal / Potato

Licence: bsd-3-clause
A simple RISC-V processor for use in FPGA designs.

Projects that are alternatives of or similar to Potato

Neorv32
A small and customizable full-scale 32-bit RISC-V soft-core CPU and SoC written in platform-independent VHDL.
Stars: ✭ 106 (-41.44%)
Mutual labels:  vhdl, risc-v, processor
Forth Cpu
A Forth CPU and System on a Chip, based on the J1, written in VHDL
Stars: ✭ 244 (+34.81%)
Mutual labels:  vhdl, processor
arv
ARV: Asynchronous RISC-V Go High-level Functional Model
Stars: ✭ 18 (-90.06%)
Mutual labels:  processor, risc-v
simple-riscv
A simple three-stage RISC-V CPU
Stars: ✭ 14 (-92.27%)
Mutual labels:  vhdl, risc-v
Riscv Rust
RISC-V processor emulator written in Rust+WASM
Stars: ✭ 253 (+39.78%)
Mutual labels:  risc-v, processor
Darkriscv
opensouce RISC-V cpu core implemented in Verilog from scratch in one night!
Stars: ✭ 1,062 (+486.74%)
Mutual labels:  risc-v, processor
getting-started
List of ideas for getting started with TimVideos projects
Stars: ✭ 50 (-72.38%)
Mutual labels:  vhdl, risc-v
Microwatt
A tiny Open POWER ISA softcore written in VHDL 2008
Stars: ✭ 383 (+111.6%)
Mutual labels:  vhdl, processor
Cores Swerv
SweRV EH1 core
Stars: ✭ 406 (+124.31%)
Mutual labels:  risc-v, processor
Cores Swerv El2
SweRV EL2 Core
Stars: ✭ 79 (-56.35%)
Mutual labels:  risc-v, processor
Neo430
A very small msp430-compatible customizable soft-core microcontroller-like processor system written in platform-independent VHDL.
Stars: ✭ 120 (-33.7%)
Mutual labels:  vhdl, processor
Vna2
Second version of homemade 30 MHz - 6 GHz VNA
Stars: ✭ 150 (-17.13%)
Mutual labels:  vhdl
E200 opensource
This repository hosts the project for open-source hummingbird E203 RISC processor Core.
Stars: ✭ 1,909 (+954.7%)
Mutual labels:  risc-v
Mega65 Core
MEGA65 FPGA core
Stars: ✭ 137 (-24.31%)
Mutual labels:  vhdl
C64 Video Enhancement
Component video modification for the C64 8-bit computer
Stars: ✭ 136 (-24.86%)
Mutual labels:  vhdl
Degate
Open source software for chip reverse engineering.
Stars: ✭ 156 (-13.81%)
Mutual labels:  vhdl
Stylecow
Modern CSS to all browsers
Stars: ✭ 147 (-18.78%)
Mutual labels:  processor
Monolog Cascade
Configure multiple loggers and handlers in the blink of an eye
Stars: ✭ 136 (-24.86%)
Mutual labels:  processor
Tang e203 mini
LicheeTang 蜂鸟E203 Core
Stars: ✭ 135 (-25.41%)
Mutual labels:  risc-v
Fmcw3
Two RX-channel 6 GHz FMCW radar design files
Stars: ✭ 126 (-30.39%)
Mutual labels:  vhdl

The Potato Processor

Processor architecture overview diagramme

The Potato Processor is a simple RISC-V processor written in VHDL for use in FPGAs. It implements the 32-bit integer subset of the RISC-V Specification version 2.0 and supports large parts of the the machine mode specified in the RISC-V Privileged Architecture Specification v1.10.

The processor has been tested on an Arty board using the example SoC design provided in the example/ directory and the applications found in the software/ directory. Synthesis and implementation has been tested on various versions of Xilinx' Vivado toolchain, most recently version 2019.2.

Features

  • Supports the complete 32-bit RISC-V base integer ISA (RV32I) version 2.0
  • Supports large parts of the machine mode defined in the RISC-V Privileged Architecture version 1.10
  • Supports up to 8 individually maskable external interrupts (IRQs)
  • 5-stage "classic" RISC pipeline
  • Optional instruction cache
  • Supports the Wishbone bus, version B4

Peripherals

The project includes a variety of Wishbone-compatible peripherals for use in system-on-chip designs based on the Potato processor. The main peripherals are:

  • Timer - a 32-bit timer with compare interrupt
  • GPIO - a configurable-width generic GPIO module
  • Memory - a block RAM memory module
  • UART - a UART module with hardware FIFOs, configurable baudrate and RX/TX interrupts

Quick Start/Instantiating

To instantiate the processor, add the source files from the src/ folder to your project. Use the pp_potato entity to instantiate a processor with a Wishbone interface. Some generics are provided to configure the processor core.

An example System-on-Chip for the Arty development board can be found in the example/ directory of the source repository.

Compiler Toolchain

To program the processor, you need an appropriate compiler toolchain. To compile a working toolchain, go to the RISCV GNU toolchain repository and clone the project. Compile and install the toolchain using the following commands (note that make will both build and install the toolchain, ensure that the destination directory is writeable by your user):

./configure --prefix=/opt/riscv-toolchain --with-abi=ilp32 --with-arch=rv32i
make

Reporting bugs and issues

Bugs and issues related to the Potato processor can be reported on the project's GitHub page.

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].