Four sources can reset NanoSoC, three nets carry reset to the flops, and one register remembers why. This topic names the sources, draws the tree per domain, and teaches the controller's register view that software reads first after every reset. The release order and its timing are the next topic; here the question is what resets what. For the RTL view see Reset Tree Planning and Reset Sequencing and POR Controller.
Lesson | After it you can... |
|---|---|
Name all four sources, their conditions and what each one resets. | |
Trace each net from its source to every flop it reaches. | |
Read RST_CAUSE first and drive a software reset correctly. |
Suggested order: top to bottom. Sources first, because the tree multiplexes them; then the tree, because the register view reports on it; then the software view, which is read in bring-up order. The release sequence in the next topic assumes every net drawn here.
Different events need different scopes: a software reset must not wipe the always-on controller that issued it, and a wake reset must not clear the retained memory the resume needs. Per-domain nets let each source reset exactly what its recovery requires.