Module Inventory
This document catalogs every leaf RTL block under modules/.
(For full repo layout, refer to 01-overview).
Folder Sub-tree
RVSvKit/
└── modules/
├── arithmetic/
│ ├── half_adder/
│ ├── adder/
│ ├── multiplier/
│ ├── divider/
│ └── alu/
├── logic/
│ ├── comparator/
│ ├── bitwise_and/
│ ├── bitwise_or/
│ ├── bitwise_xor/
│ └── mux/
├── register/
│ ├── register/
│ ├── pipeline_reg/
│ └── reg_file/
├── control/
│ ├── immediate_generator/
│ ├── branch_unit/
│ ├── control_fsm/
│ ├── instruction_decoder/
│ ├── csr_unit/
│ └── trap_handler/
├── memory/
│ ├── load_store_unit/
│ ├── fifo/
│ └── cache_wrap/
├── pipeline/
│ ├── decoupled_reg/
│ ├── hazard_unit/
│ ├── forwarding_unit/
│ └── wb_mux/
├── peripheral/
│ └── clint/
└── debug/
└── dtm/1. Initial Modules
arithmetic/
half_adder — 1-bit sum & carry
adder — N-bit addition/subtraction with carry in/out
multiplier — iterative or Booth-based multiplier
divider — restoring/non-restoring divider
alu — composite ALU (add/sub, bitwise ops, shifts, comparisons)
logic/
comparator — equality, inequality, signed/unsigned comparisons
bitwise_and — bitwise AND operation
bitwise_or — bitwise OR operation
bitwise_xor — bitwise XOR operation
mux — 2-to-1 / N-to-1 multiplexers
register/
register — parameterized flip-flop with synchronous reset
pipeline_reg — ready-valid handshake pipeline register
reg_file — 32×XLEN-bit register file (2 read, 1 write)
control/
immediate_generator — sign-extends I/S/B/U/J immediates
branch_unit — branch condition evaluation & target calculation
control_fsm — pipeline stall/flush FSM
instruction_decoder — opcode/funct3/funct7 bit-field extraction
csr_unit — manages mstatus, mepc, mtvec, and CSR accesses
trap_handler — exception & interrupt flow control
memory/
load_store_unit — aligned/misaligned loads & stores
fifo — synchronous FIFO with status flags
cache_wrap — write-through cache wrapper
pipeline/
decoupled_reg — back-pressure-aware pipeline register
hazard_unit — RAW/WAR/WAW hazard detection
forwarding_unit — data bypass network for EX stage
wb_mux — selects ALU result, load data, or CSR output
peripheral/
- clint — core-local interrupt controller (mtime, msoft)
debug/
- dtm — JTAG/SWD Debug Transport Module
2. Future Modules Future Modules
Multiplier/divider variants — pipelined, SRT, non-restoring algorithms
Cache enhancements — write-back, set-associative, MESI protocol
MMU stubs — simple page tables & TLB interfaces
DRAM controller — AXI-compliant DDR3/DDR4 interface
Vector unit — RVV-style SIMD lanes