The rule of the whole topic fits in one line: slaves and fabric first, masters last, with the CPU the last thing to leave reset. This topic turns that line into cycles: the seven-step cold-boot release totalling 53.948 us, the two-flop synchroniser behind every release with a waveform to prove it, and the failure where the CPU wakes before the fabric. For the circuit view see Async Assert, Sync Deassert; for reset ordering across power and warm resets see Reset Sequencing with Power-On and Warm Reset and Release Order Across Domains.
Lesson | After it you can... |
|---|---|
Quote the NanoSoC release order in cycles and recompute its total. | |
Prove per-domain release is synchronous and read the release waveform. | |
Tell the CPU-early failure and the partial-reset hang as symptom, capture and fix. |
Suggested order: top to bottom. Order first, because the synchroniser lesson implements two rows of its table; then the release circuit with its waveform; then the failures, which are all violations of the order. The boot flow after release belongs to the memories and boot section.
Everything it touches on its first cycles must already be alive: the fabric to carry its fetches, the ROM to answer them, the bridges settled. A CPU out of reset before its slaves fetches into a fabric that cannot answer.