GR740-UM-DS, Nov 2017, Version 1.7
349
www.cobham.com/gaisler
GR740
27
AHB Status Registers
27.1
Overview
AHB status registers store information about AMBA AHB accesses triggering an error response.
There is a status register and a failing address register capturing the control and address signal values
of a failing AMBA bus transaction, or the occurrence of a correctable error being signaled from a fault
tolerant core.
The system has two AHB status register cores. One monitoring the Processor AHB bus and one mon-
itoring the Slave I/O AHB bus. Both cores are accessed via the AMBA APB bus. The memory scrub-
ber core, described in section 11, on the Memory AHB bus also provides the same base functionality
as an AHB status register.
27.2
Operation
27.2.1 Errors
The registers monitor AMBA AHB bus transactions and store the current HADDR, HWRITE,
HMASTER and HSIZE internally. The monitoring are always active after startup and reset until an
error response (HRESP = “01”) is detected. When the error is detected, the status and address register
contents are frozen and the New Error (NE) bit is set to one. At the same time an interrupt is gener-
ated, as described hereunder.
The fault tolerant memory controllers and L2 cache containing EDAC signal an un-correctable error
as an AMBA error response, so that it can be detected by the processor as described above.
27.2.2 Correctable errors
Not only error responses on the AHB bus can be detected. The PROM/IO controller has a correctable
error signal that is asserted each time a correctable error is detected. When such an error is detected,
the effect will be the same as for an AHB error response. The only difference is that the Correctable
Error (CE) bit in the status register is set to one when a correctable error is detected.
When the CE bit is set the interrupt routine can acquire the address containing the correctable error
from the failing address register and correct it. When it is finished it resets the NE bit and the monitor-
ing becomes active again. Interrupt handling is described in detail hereunder.
Note that only the AHB status register monitoring the Slave I/O AHB bus reacts to correctable errors.
Correctable errors on the Processor AHB bus are reported via the L2 cache and correctable errors
from the memory controllers on the Memory AHB bus are reported via the memory scrubber core.
27.2.3 Interrupts
The interrupt is connected to the interrupt controller to inform the processor of the error condition.
The normal procedure is that an interrupt routine handles the error with the aid of the information in
the status registers. When it is finished it resets the NE bit and the monitoring becomes active again.
Interrupts are generated for both AMBA error responses and correctable errors as described above.
27.2.4 Filtering and multiple error detection (revision 1 only)
The status register has two sets of status and failing address registers, supports filtering on errors, and
has a status bit that gets set in case additional errors are detected when the New Error (NE) bit is set.
The status register will only react to the first error in a burst operation. After the first error has been
detected, monitoring of the burst is suspended. An error event will only be recorded by the first status
register that should react based on filter settings. If register set 1 has reacted then register 2 will not be
set for the same error event.