~ruther/verilog-riscv-semestral-project

verilog-riscv-semestral-project/src/stages d---------
refactor: save pc + 4 in stages
chore: clearer naming
fix: jumping should flush two registers
fix: sign extend only when misaligned access
fb02ebb2 — Rutherther 2 years ago
Merge pull request #2 from Rutherther/feat/misaligned-reads

Support misaligned read
b89bec43 — Rutherther 2 years ago
feat: add misaligned memory access support
66d14163 — Rutherther 2 years ago
feat: move jumping to execute stage
7581533c — Rutherther 2 years ago
fix: temporarily turn off switching fetch valid

The instruction is always valid, since
for now jumps are calculated right away,
not one cycle after decode. That means
that next instruction is not fetched!

This is fine for simulation,
but when synthesized I think this
would slow down the processor as there
has to be the register file read performed
along with alu operation in one cycle.

First this should be changed, then uncomment
this line, to make the fetched pc+4 instruction
invalid when jumping.
f8e4e3ed — Rutherther 2 years ago
Merge pull request #1 from Rutherther/feat/pipeline

Implement pipeline
docs: better document the stage code, organize it better
489df849 — Rutherther 2 years ago
chore: import cpu types in stages
aeab4038 — Rutherther 2 years ago
feat: add forwarding signal for better debugging
89310129 — Rutherther 2 years ago
feat: implement pipeline