RTL Source Reference
One page per file in rtl/, each with its port list, functionality, and worked examples. This is the file-level companion to the narrative design docs (architecture.md, chiplets.md, cpu.md, npu.md, gpu.md) — those explain how the pieces fit together; these pages document each file on its own.
Chip assembly & chiplets (v5)
UCIe transport
Routing
CPU datapath
Memory / coherency
Compute accelerators
| File |
Role |
| npu.sv |
16×16 MAC array — INT8/INT16, ping-pong weight banks, tiled GEMM |
| pe.sv |
Systolic MAC-cell architectural reference — not instantiated |
| gpu.sv |
16-lane INT32 vector ALU (ADD/SUB/AND/XOR) |
Currently instantiated in the live build (i.e. reachable from system_top): system_top, base_die_top, cpu_chiplet_top, npu_chiplet_top, ucie_chan, ucie_link_ctrl, noc_router, riscv_core, alu, imm_decode, register_file, duck_coherency_ctrl, npu, gpu — 14 files, matching Makefile's VERILOG_SOURCES list. server_dispatch_unit, l2_cache, and pe are historical/reference-only; duck_ucie_pkg and duck_cache_pkg are docs-only packages never imported (Icarus Verilog 11 / cocotb 2.0 compatibility — flat signals only on module ports).
See tb/index.md for the testbench-side reference, and verification.md for how to run everything.