This directory contains the verification infrastructure for IronCore.
The verification strategy is split into three tiers:
-
Unit Tests (
tb/unit/):- Goal: low-level functional correctness of submodules (ALU, Decoder).
- Tool: Pytest (Python).
- Command:
make unit
-
Integration Tests (
tb/cocotb/):- Goal: Top-level processor verification running assembly programs.
- Tool: Cocotb + Verilator.
- Command:
make cocotb
-
Compliance Tests (
tb/compliance/):- Goal: Architectural compliance against the RISC-V spec.
- Tool: RISC-V Arch Tests + Verilator.
- Command:
make compliance
unit/: Python scripts for testing standalone combinatorial modules.cocotb/: System-level testbench using Cocotb. IncludesMakefilefor Cocotb runners.compliance/: Submodule/integration for the official RISC-V compliance suite.
Run the full regression suite from the project root:
make regressThis runs Lint -> Unit -> Cocotb -> Compliance.