SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
The ARP32 CPU supports instruction driven transition to a low-power state that is used to trigger a CPU system-wide low-power state. This is accomplished by the IDLE instruction. Upon execution of the IDLE instruction, the ARP32 CPU waits for any pending instruction or data memory transaction to complete and then goes to an endless wait state.
When in idle state, the CPU output signal cpu_standby_o is asserted high. During this window, the CPU gates clocks to all of its registers (except the interrupt flag register (IFR)) to achieve maximum saving of dynamic power. It is assured that the ARP32 CPU does not issue any new transactions on either instruction or data memory interfaces during this window. So, peripherals external to the CPU that don't need to be active while the CPU is in IDLE are also clock gated during this window.
The CPU comes out of this wait state only via an enabled external interrupt (NMI, INT4-INT7) or reset. The cpu_standby_o signal is de-asserted as soon as one of the following events occurs:
Interrupt enable conditions (like GIE, IER, etc.) are not considered when de-asserting cpu_standby_o. Thus, a disabled interrupt being asserted at the CPU boundary causes the cpu_standby_o signal to be de-asserted but the CPU still remains in idle state until an enabled interrupt (or reset) occurs.
Figure 8-57 provides an illustrative waveform showing the CPU going into IDLE mode followed by a wakeup via INT4.