Skip to content

This Out-of-Order processor implementing RV32I is for Han and everybody else who wants to handcraft some complicated architectural concepts and has a builder personality. The core is still under verification, the goal for phase 1 is to run C programs and polling only . CSR and more advanced mechanism will be implemented when the core matures.

Notifications You must be signed in to change notification settings

SoftwareBugger/Han_OoO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HanOoO — RV32I Out-of-Order RISC-V Core (from scratch)

HanOoO is a from-scratch RISC-V RV32I out-of-order processor focused on learning and real microarchitectural correctness: register renaming, reservation stations, a reorder buffer, a conservative-but-correct LSU, and ROB-based recovery.

This is a microarchitecture lab project, not a production CPU.


Highlights

  • RV32I baseline ISA target (bare-metal oriented)
  • Out-of-order execute, in-order commit
  • Register renaming + PRF
  • ROB-based recovery (branch mispredict, traps/flush boundaries)
  • Conservative loads (avoid speculative load replay)
  • Store-at-commit policy (no wrong-path stores reaching memory)
  • Designed for MMIO peripherals and accelerator control (polling-first)

Why this project

Most educational cores are in-order. Most industrial OoO cores are closed. HanOoO exists to build a mental model you can trust by implementing the real machinery:

  • rename / PRF readiness
  • wakeup / select / issue
  • precise state via ROB commit
  • recovery boundaries and squashing
  • memory ordering rules that actually hold up

Architecture Overview

alt text

FPGA implementation

So far, only BRAM ip is used. If you want to simulate the system, feel free to use vivado or check out previous RTL files of memory models!

About

This Out-of-Order processor implementing RV32I is for Han and everybody else who wants to handcraft some complicated architectural concepts and has a builder personality. The core is still under verification, the goal for phase 1 is to run C programs and polling only . CSR and more advanced mechanism will be implemented when the core matures.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published