Reset
Reset is handled hierarchically so that the management infrastructure comes
out of reset first and then releases dependent domains in a controlled order.
A global power-on reset (rst_cold_ni) establishes a known state for the
entire chiplet, but the always-on domain is intended to be released first so
that early control logic is live immediately. From there, the SMC sequences
reset deassertion for the SMN and for downstream managed blocks according to
platform dependencies, boot policy, and fault conditions. This staged reset
model also supports partial and warm-reset behaviours in which application
domains can be reset or recovered without fully tearing down the always-on
management infrastructure.
The reset hierarchy within the SMU proceeds as follows:
-
Power-on / cold reset. The external
rst_cold_niis asserted during power-up and deasserted synchronously after supply voltages stabilise. Thepowergood_iinput indicates that supplies are stable. -
SMC reset synchronisation. The SMC reset unit (
smc_reset_unit) generates domain-specific synchronised resets from the single cold reset input:-
rst_primary_smc_clk_no— synchronised to the primary SMC clock domain -
rst_primary_ref_clk_no— synchronised to the reference clock domain -
rst_primary_periph_clk_no— synchronised to the peripheral clock domain -
rst_cold_stable_ref_clk_no— stable cold reset in the reference domain
-
-
DTP reset. The DTP is held in reset by the SMC’s primary synchronised reset (
rst_primary_smc_clk_no). In addition, the JTAG state machine requires a power-on reset that remains asserted until supplies are stable; at the SMU level this is thepowergood_stablesignal generated by the SMC. -
SEP reset. The SEP is held in reset by the same SMC primary reset (
rst_primary_smc_clk_no). The SEP watchdog timer also drives a shared warm-reset path (rst_wdt_nat the SMU level); its blast radius is limited to the SEP CPU and the SEP warm scratch registers, plus the parts of the SMC that the SMC reset unit routes through the warm-reset path. -
Downstream subsystem sequencing. The SMC sequences reset deassertion for up to 32 managed subsystems through
ss_reset_ctrl_o[31:0]and isolation throughisolate_req_o[31:0]. Subsystems report completion viass_reset_complete_i[31:0]. -
Function Level Reset (FLR). Asserting
cfg_flr_pf_active_itriggers a warm reset sequence that isolates subsystems throughisolate_req_oand performs controlled reset propagation without tearing down the always-on infrastructure. -
Debug reset overrides. The DTP provides JTAG IC_RESET controls that can override the fuse, cold, cool, warm, and per-subsystem reset domains independently for debug scenarios. These are wired through the SMU into the SMC reset unit and the SEP reset controller. The Programmer’s Guide gives the programming order these overrides require.
1. IC_RESET TDR
The primary TAP implements the IEEE 1149.1-2013 §17 IC_RESET TDR as three
slices on the scan chain from TDI to TDO, followed by a single reset_hold
bit nearest TDO:
-
SMC slice (nearest TDI). Fuse, cold, cool, and warm resets, plus cold and warm resets for each of the 32 managed subsystems. The SMU consumes this slice internally.
-
SEP slice. SEP main reset and the Adams Bridge, TRNG, KMAC, HMAC, AES, OTBN, and Key Manager resets. Present when SEP is instantiated; omitted otherwise. The SMU consumes this slice internally.
-
External slice. Reset overrides for logic outside the SMU. The ports in this slice are adopter-defined: the integrator supplies the slice type and routes the SMU output to that logic. OCAH does not name the external bits. The default type is a single-override stub.
Each port carries an override-enable bit and an active-low reset value. The Integrator Guide records the SMU port map, including how to size the external slice.
For the detailed reset controller design, sequencing FSM, reset register interface, and clock-reset interaction, refer to the Clock and Reset Management chapter: