GR740-UM-DS, Nov 2017, Version 1.7
88
www.cobham.com/gaisler
GR740
9.2.6
AHB address mapping
The AHB slave interface occupies three AHB address ranges. The first AHB memory bar is used for
memory/cache data access and is mapped at 0x00000000 - 0x7FFFFFFF. The second AHB memory
bar is used for access to configuration registers and the diagnostic interface and is mapped at
0xF0800000 - 0xF08FFFFF. The last AHB memory bar is used to map the IO area of the backend
AHB bus (to access the plug&play information on that bus) and maps the Memory AHB bus area
0xFFE00000 - 0xFFEFFFFF.
9.2.7
Memory protection and Error handling
The L2 cache provides Error Detection And Correction (EDAC) protection for the data and tag mem-
ory. One error can be corrected and two errors can be detected with the use of a (39, 32, 7) BCH code.
The EDAC functionality can dynamically be enabled or disabled. Before being enabled the cache
should be flushed. The dirty and valid bits fore each cache line is implemented with TMR. When
EDAC error or backend AHB error or write-protection hit in a MTRR register is detected, the error
status register is updated to store the error type. The address which caused the error is also saved in
the error address register. The error types is prioritised in the way that a uncorrected EDAC error will
overwrite any other previously stored error in the error status register. In all other cases, the error sta-
tus register has to be cleared before a new error can be stored. Each error type (correctable-, uncor-
rectable EDAC error, write-protection hit, backend AHB error) has a pending register bit. When set
and this error is unmasked, a interrupt is generated. When an uncorrectable error is detected in the
read data, the cache will respond with an AHB error. AHB error responses can also be enabled for
access that match a stored error in the error status register. Error detection is done per cache line. The
cache also provides a correctable error counter accessible via the error status register. After power-up
the error status register needs to be cleared before any valid data can be read out.
Table 67.
Cache action on detected EDAC error
Access/Error type
Cache-line not dirty
Cache-line dirty
Read, Correctable
Tag error
Tag is corrected before read is handled, Error sta-
tus is updated with a correctable error.
Tag is corrected before read is handled, Error
status is updated with a correctable error.
Read, Uncorrectable
Tag error
Cache-line invalidated before read is handled,
Error status is updated with a correctable error.
Cache-line invalidated before read is handled,
Error status is updated with a uncorrectable
error. Cache data is lost.
Write, Correctable
Tag error
Tag is corrected before write is handed, Error sta-
tus is updated with a correctable error.
Tag is corrected before write is handled, Error
status is updated with a correctable error.
Write, Uncorrect-
able Tag error
Cache-line invalidated before write is handled,
Error status is updated with a correctable error.
Cache-line invalidated before write is handled,
Error status is updated with a uncorrectable
error. Cache data is lost.
Read, Correctable
Data error
Cache-data is corrected and updated, Error status
is updated with a correctable error. AHB access
is not affected.
Cache-data is corrected and updated, Error sta-
tus is updated with a correctable error. AHB
access is not affected.
Read, Uncorrectable
Data error
Cache-line is invalidated, Error status is updated
with a correctable error. AHB access is termi-
nated with retry.
Cache-line is invalidated, Error status is
updated with a uncorrectable error. AHB
access is terminated with error.
Write (<32-bit), Cor-
rectable Data error
Cache-data is corrected and updated, Error status
is updated with a correctable error. AHB access
is not affected.
Cache-data is corrected and updated, Error sta-
tus is updated with a correctable error. AHB
access is not affected.
Write (<32-bit),
Uncorrectable Data
error
Cache-line is re-fetched from memory, Error sta-
tus is updated with a correctable error. AHB
access is not affected.
Cache-line is invalidated, Error status is
updated with a uncorrectable error. AHB
access write data and cache data is lost.