Naviq is a public gem5 fork with a cycle-level AMD NoC extension. It supports
AXIS and AXI-MM traffic, BRAM, DDR, HBM, CPU, SmartNIC, and optional RTL
experiments. main is the supported public branch; integration work is
validated through pull requests before it is merged.
Project owner and maintainer: Professor Deming Chen, University of Illinois Urbana-Champaign.
Start with the NoC user guide, repository layout, and test guide. The experiment launcher lists reproducible campaigns and their external requirements.
Create an isolated Python environment for the NoC experiment and analysis tools:
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements.txtBuild the gem5 variant for your workload:
| Variant | ISA | Use case |
|---|---|---|
NULL |
None | NoC-only traffic-generator simulations and portable tests |
ARM |
ARM | ARM CPU compatibility scenarios |
RISCV |
RISC-V | RISC-V CPU compatibility scenarios |
X86 |
X86 | X86 CPU, DDR, and SmartNIC scenarios |
scons build/NULL/gem5.opt -j$(nproc)Replace NULL with ARM, RISCV, or X86 when needed. Replace .opt with
.debug for a debug build with full assertions.
Run a small NoC-only scenario from the repository root:
./build/NULL/gem5.opt src/noc/testing/generic/aximm_1_to_1_close_smoke.pyRun the portable quick gate and the HBM gate from tests/:
cd tests
./main.py run --skip-build --length=quick --isa=NULL --variant=opt gem5/noc
./main.py run --skip-build --isa=NULL --variant=opt \
--exclude-tags '.*' --include-tags noc-hbm gem5/nocCPU setup commands are maintained as compatibility paths. Use the CPU NoC guide rather than copying unvalidated topology paths from old notes.
- NoC user guide
- NoC architecture
- NoC source guide
- NoC testing and release gates
- Reproducible experiments
- Experiment guide
- Repository layout
- Artifact policy
- Archive index
- Maintenance backlog
- Release status and limitations
- Publication checklist
Naviq retains gem5's source and licensing. For general gem5 build, configuration, resources, and contribution guidance, see the gem5 documentation and the upstream repository. For AMD NoC background, see the AMD NoC documentation.