All Projects → osresearch → risc8

osresearch / risc8

Licence: other
Mostly AVR compatible FPGA soft-core

Programming Languages

Verilog
626 projects
c
50402 projects - #5 most used programming language
Makefile
30231 projects
assembly
5116 projects

Projects that are alternatives of or similar to risc8

cariboulite
CaribouLite turns any 40-pin Raspberry-Pi into a Tx/Rx 6GHz SDR
Stars: ✭ 785 (+4031.58%)
Mutual labels:  fpga, yosys, ice40
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 (+29052.63%)
Mutual labels:  microcontroller, fpga
Platformio Atom Ide
PlatformIO IDE for Atom: The next generation integrated development environment for IoT
Stars: ✭ 475 (+2400%)
Mutual labels:  microcontroller, fpga
Neo430
A very small msp430-compatible customizable soft-core microcontroller-like processor system written in platform-independent VHDL.
Stars: ✭ 120 (+531.58%)
Mutual labels:  microcontroller, fpga
shapool-core
FPGA core for SHA256d mining targeting Lattice iCE40 devices.
Stars: ✭ 19 (+0%)
Mutual labels:  fpga, ice40
verifla
Fork of OpenVeriFla - FPGA debugging logic analyzer to use with your designs - examples (so far) for ice40/IceStorm
Stars: ✭ 21 (+10.53%)
Mutual labels:  fpga, ice40
Neorv32
A small and customizable full-scale 32-bit RISC-V soft-core CPU and SoC written in platform-independent VHDL.
Stars: ✭ 106 (+457.89%)
Mutual labels:  microcontroller, fpga
Platformio Vscode Ide
PlatformIO IDE for VSCode: The next generation integrated development environment for IoT
Stars: ✭ 676 (+3457.89%)
Mutual labels:  microcontroller, fpga
icefloorplan
iCE40 floorplan viewer
Stars: ✭ 22 (+15.79%)
Mutual labels:  fpga, ice40
spu32
Small Processing Unit 32: A compact RV32I CPU written in Verilog
Stars: ✭ 51 (+168.42%)
Mutual labels:  fpga, ice40
sphinxcontrib-hdl-diagrams
Sphinx Extension which generates various types of diagrams from Verilog code.
Stars: ✭ 37 (+94.74%)
Mutual labels:  fpga, yosys
iceskate
A low cost FPGA development board for absolute newbies
Stars: ✭ 15 (-21.05%)
Mutual labels:  fpga, ice40
gateware
A collection of little open source FPGA hobby projects
Stars: ✭ 38 (+100%)
Mutual labels:  fpga, ice40
icestick-lpc-tpm-sniffer
FPGA-based LPC bus sniffing tool for Lattice iCEstick Evaluation Kit
Stars: ✭ 41 (+115.79%)
Mutual labels:  fpga, ice40
no2muacm
Drop In USB CDC ACM core for iCE40 FPGA
Stars: ✭ 26 (+36.84%)
Mutual labels:  fpga, ice40
kianRiscV
KianRISC-V! No RISC-V, no fun! RISC-V CPU with strong design rules and unittested! CPU you can trust! kianv rv32im risc-v a hdmi soc with harris computer architecture in verilog: multicycle, singlecycle and 5-stage pipelining Processor. Multicycle Soc with firmware that runs raytracer, mandelbrot, 3d hdmi gfx, dma controller, etc.....
Stars: ✭ 167 (+778.95%)
Mutual labels:  fpga, ice40
yosys
Unofficial Yosys WebAssembly packages
Stars: ✭ 29 (+52.63%)
Mutual labels:  fpga, yosys
up5k
Upduino v2 with the ice40 up5k FPGA demos
Stars: ✭ 65 (+242.11%)
Mutual labels:  fpga, upduino
yarvi
Yet Another RISC-V Implementation
Stars: ✭ 59 (+210.53%)
Mutual labels:  fpga
open-electronics
📚 💻 Great Resources for Electronics Enthusiasts
Stars: ✭ 347 (+1726.32%)
Mutual labels:  microcontroller

RISC-8 softcore

The RISC-8 is a small 8-bit CPU that is mostly compatible with the AVR instruction set. It does not have 100% of the architecture implemented, although enough to run many avr-gcc compiled programs in the soft-core.

Sometimes you want all the power of a 32-bit RISC-V like Claire's picorv32, although sometimes the 8-bit CPU isn't a limitation and you prefer faster synthesis times (10 seconds vs 45 seconds) or using fewer FPGA resources (1200 LC vs 4500 LC), and the 8-bit CPU isn't a limitation.

CPU overview

The CPU has a two stage pipeline (instruction decode and register fetch, operation and register write) and can retire one instruction per clock. Most instructions are single cycle, with some complex instructions like IN/OUT, LD/ST and CALL/RET that require multiple cycles.

On an ice40up5k it uses approximately 1400 LC for the SOC with uart and gpio with nearly the full instruction set (which will synthesize around 15.5 MHz). By removing some of the instructions the design can run up to 18 MHz, and overclocking is also possible.

The ice40up5k's 64 KB of SPRAM can be used for the SOC's data memory, although the program memory has to be in DPRAM so that it can be stored in the bitstream.

The two stage pipeline allows the register file to be stored in block RAM, which greatly reducing the number of logic cells required. The register file has a forward-feed to support immediate use-after-write with no wait states.

Limitations

  • No interrupts
  • No SPM instruction support
  • Not very many built in peripherals
  • Probably full of bugs

Examples

Instruction set

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