The controller performs error injections in the injection state. The controller always passes through the injection state in response to a valid error injection command issued from the idle state, even if error injection is disabled; this can occur if error injection commands are presented on the Monitor Interface, as the Monitor Interface exists even when error injection is disabled. During the injection state, status_injection is TRUE.
The error injection process is a simple read-modify-write to invert one configuration memory bit at an address specified as part of the error injection command.
The controller always transitions from the injection state back to the idle state. Multi-bit errors can be constructed by repeated error injections commands, each resulting in a transition through the injection state. At the end of error injection, the controller must be moved from the idle state back into the observation state.