Fabric DDR Subsystem
Microsemi ProprietaryUG0446 User Guide Revision 7.0
151
4.6.3.4.4
SECDED
The DDR controller supports built-in SECDED capability for correcting single-bit errors and detecting
dual-bit errors. The SECDED feature can be enabled. When SECDED is enabled, the DDR controller
adds 8 bits of SECDED data to every 64 bits of data.
When SECDED is enabled, a write operation computes and stores a SECDED code along with the data,
and a read operation reads and checks the data against the stored SECDED code.
The SECDED bits are interlaced with the data bits, as shown in the following table.
When the controller detects a correctable SECDED error, it does the following:
•
Generates an interrupt signal which can be monitored by reading the interrupt status register,
DDRC_ECC_INT_SR (
page 102). The FDDR also generates ECCINT interrupt signal,
which can be monitored from FPGA fabric.
•
Sends the corrected data to the read requested MSS/HPMS and FPGA fabric master as part of the
read data.
•
Sends the SECDED error information to the DDRC_LCE_SYNDROME_1_SR register,
•
Performs a read-modify-write operation to correct the data present in the DRAM.
When the controller detects an uncorrectable error, it does the following:
•
Generates an interrupt signal that can be monitored by reading the interrupt status register
DDRC_ECC_INT_SR,
page 102. The FDDR also generates an ECC_INT interrupt
signal, which can be monitored from FPGA fabric.
•
Sends the data with error to the read requested MSS/HPMS and FPGA fabric master as part of the
read data.
•
Sends the SECDED error information to the DDRC_LUE_SYNDROME_1_SR register,
The following SECDED Registers in
page 63 can be monitored for identifying the exact location
of an error in the DDR SDRAM.
•
DDRC_LUE_ADDRESS_1_SR and DDRC_LUE_ADDRESS_2_SR gives the row/bank/column
information of the SECDED unrecoverable error.
•
DDRC_LCE_ADDRESS_1_SR and DDRC_LCE_ADDRESS_2_SR gives the row/bank/column
information of the SECDED error correction.
•
DDRC_LCB_NUMBER_SR indicates the location of the bit that caused the single-bit error in the
SECDED case (encoded value).
•
DDRC_ECC_INT_SR indicates whether the SECDED interrupt is because of a single-bit error or
double-bit error. The interrupt can be cleared by writing zeros to DDRC_ECC_INT_CLR_REG,
4.6.3.4.5
Power Saving Modes
The DDR controller can operate DDR memories in three power saving modes:
•
Precharge power-down (DDR2, DDR3, LPDDR1)
If power-down is enabled in the System Builder FDDR configuration or
REG_DDRC_POWERDOWN_EN = 1 (
page 68), the DDR controller automatically keeps DDR
memory in Precharge power-down mode when the period specified by the power down entry time or
Table 133 •
SECDED DQ Lines at DDR
Mode
SECDED Data Pins
M2S050/M2GL050 (FG896)
M2S150/M2GL150 (FC1152)
Full bus width mode
FDDR_DQ_ECC[3:0]
FDDR_DQ_ECC[3:0]
Half bus width mode
FDDR_DQ_ECC[1:0]
FDDR_DQ_ECC[1:0]
Quarter bus width mode
–
FDDR_DQ_ECC[0]