Every earlier topic in this section ends at the same question: what stops the wrong software from reaching the right hardware. The answer is the security architecture: a partition of masters and slaves into secure and non-secure, enforced by filters the integrator places and configures, managed across lifecycle states, and closed against debug escape. This topic works through the NanoSoC partition: the AxPROT filter, the secure-only slaves, the lifecycle ladder, and the checklist that proves the partition holds. It also teaches the one escape NanoSoC v1 still has: a master whose security attribute is a register that non-secure software can write. Until that is fixed the partition is not closed, and the lessons show the fix and the test that proves it. For the attribute theory behind the partition, the course points at the protocol-first-principles material on access attributes; for firewall placement, at its material on firewalls and filtering.
Lesson | After it you can... |
|---|---|
Enforce the NanoSoC secure partition, predict the response of every cross-state access, and close the SBR attribute escape. | |
Advance lifecycle states monotonically and lock debug by state. | |
Check attribute propagation, firewall placement and verification before signoff. |
Suggested order: top to bottom. Draw the partition first, because lifecycle and checklists both assume its boundaries; then manage the states that open and close doors in it; then run the checklist that proves it holds. Readers from the secure-boot topic already know what the partition protects; this topic shows how.
Because no block sees the whole partition: each slave knows its own attribute, but only the integrator places the filters, assigns the states, routes the interrupts and locks the debug paths. The escapes live between blocks, which is exactly the integrator's ground.