Skip to content
Mattia edited this page Apr 26, 2024 · 34 revisions

Welcome to the riscv-cpu wiki!

v0.1.0

General Idea

Implement a simple 5 stage RISC-V Non pipelined architecture and test it.

Features to be implemented

  • Instruction Decode;
  • Execute Stage;
  • Memory Access;
  • Write back;

Done

  • Instruction Fetch;

Technical Details

Instruction Memory

Instruction memory will consist of a ROM BRAM (Read only memory Block RAM), for the time being with a width of 32 bits (instruction size, RISC-V like) and a depth of 4096 instructions. The block memory is defined as a single port ROM, that's because we are only interested in reading the hardcoded RISC-V instructions inside of it. The BRAM will have an enable pin and a synchronous reset pin (will only work when memory is enabled). The IP will have an embedded output register where the Instruction to be decoded is saved before the instruction decode stage. The input address is 32 bit wide to ease RISC-V jump instructions. For this time the load_en for the instruction memory will be hard-wired to "1".

Clock

  • Clock is now set at 50 MHz, let's try if it works.

Instruction Fetch Stage

Instruction Fetch drawio

Clone this wiki locally