The controller classifies errors
in the Classification state. The controller always passes through
the Classification state, even if error classification is disabled.
During the Classification state, status_classification
is asserted High.
All errors signaled as uncorrectable during
the Correction state are signaled as essential. The only reason an error can be uncorrectable
is because it cannot be located. In this circumstance, the controller cannot look up the error
to determine whether it is essential. The controller asserts status_essential
, generates a classification report on the Monitor Interface, and
transitions to the Idle state. After an uncorrectable error is encountered, the controller
does not continue looking for errors. Now, the FPGA must be reconfigured.
status_essential
should be sampled at the falling edge of status_classification
. This signal is sticky and does not
update until the controller corrects and classifies the next error. The treatment of errors signaled as correctable during the Correction state depends on the controller option setting. If error classification is disabled, all correctable errors are unconditionally signaled as essential. If error classification is enabled, the controller generates an essential bits data request on the Fetch Interface.
In the system-level design example, the SPI
flash master helper block translates this essential bits data request into a read of the
external memory. The returned data is provided to the controller by the SPI flash master
helper block. With this data, the controller determines whether it is essential. In all cases,
the controller generates a classification report on the Monitor Interface, changes status_essential
as appropriate, and transitions to the Observation
state to resume looking for errors.