You are the integrator for NanoSoC v1: one 32-bit core, a 2-master by 4-slave AXI4 fabric at 96 MHz, 64 KB plus 64 KB of SRAM, a 16 KB boot ROM, the streaming DMA behind its stream bridge, and five slow peripherals behind an APB bridge. Each stage of this lab produces one artefact, a map table, a clock and reset plan, an interrupt and boot record, a test matrix, and each artefact is checked by the same small runnable engine that is embedded in every lesson. Every check is a function of the design data and is shown to fail when its bug is injected. The lab ends with a signoff manifest check that reads every stage artefact and prints PASS only when every stage agrees, and a readiness review that lists what is still open, including a known hole in the security partition.
Topic | What it covers | After it you can... |
|---|---|---|
Requirements, deliverables, working data, rubric, the ten planted bugs | State what NanoSoC v1 must do and how the lab is graded. | |
Map table, overlap and alignment checks, decode, response codes, link sizing | Prove the map has no overlap and name the bottleneck link. | |
Clock plan, ten crossings, reset tree and order, domains, isolation, power-up | Release resets in an order no boot can outrun. | |
Interrupt map and latency, DMA sequence, boot flow, secure partition | Programme a DMA job that cannot confuse its lengths or its keys. | |
Test matrix for all ten bugs, manifest, waiver ageing, final check | Run one script that prints PASS only when everything agrees. |
Suggested order: top to bottom, about 12 hours with the worked checks (NanoSoC teaching value: the Capstone Brief 1 hour, each stage 2 to 3 hours, signoff review 1 hour). The map comes first because every later stage quotes addresses; clocks, resets and power come as one stage because release order ties them together; interrupts and boot follow because the boot code programmes them; verification closes the lab because its matrix points back at every stage. Each lesson runs standalone: goal, inputs, steps, the checker to run, expected output, what each failure means, a hint ladder, and an interview follow-up.
Per-stage checks pass against their own inputs, so a map fix that never reached the boot code would still show four green stages. The manifest cross-checks the artefacts against each other, which is the only check that catches drift between stages.