UltraScale Architecture Memory Resources
ug573-ultrascale-memory-resources
ug573-ultrascale-memory-resources
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Chapter 3: Built-in Error Correction<br />
ECC Modes<br />
In the standard ECC mode (EN_ECC_READ = TRUE and EN_ECC_WRITE = TRUE), both<br />
encoder and decoder are enabled. During a write, 64-bit data and 8-bit ECC generated<br />
parity are stored in the array. The external parity bits are ignored. During a read, the 72-bit<br />
decoded data and parity (64-bit data and 8-bit parity) are read out, and the parity is<br />
checked against the data on DOUT.<br />
The encoder and decoder can be accessed separately (independently) for external use in<br />
RAMB36E2 in simple dual-port mode and by extension in the FIFO36E2, both in 72-bit<br />
mode. To use the encoder by itself, the data needs to be sent through the DIN port, and the<br />
ECCPARITY output port can be sampled. To use the decoder by itself, the encoder is<br />
disabled, the data is written into the block RAM, and the corrected data and status bits are<br />
read out of the block RAM. See Block RAM and FIFO ECC Attributes, page 87.<br />
The decoder can be used in two ways:<br />
• To use the decoder in standard ECC mode, set (EN_ECC_WRITE = TRUE and<br />
EN_ECC_READ = TRUE).<br />
• To use the decoder-only mode, set (EN_ECC_WRITE = FALSE and EN_ECC_READ =<br />
TRUE). The DIN data along with a user-generated parity is presented on the eight DINP<br />
ports. The data is not encoded. The read operation reads back the data on DOUT and<br />
performs the decoder parity check on the data.<br />
The encoder can be used in two ways:<br />
• To use the encoder in standard ECC mode, set (EN_ECC_WRITE = TRUE and<br />
EN_ECC_READ = TRUE).<br />
• To use the encoder-only mode, set (EN_ECC_WRITE = TRUE and EN_ECC_READ = FALSE).<br />
The DIN data is presented, and the ECC encoded value of the DIN data is stored in the<br />
parity bits for every write operation. The read operation reads those eight bits without<br />
performing the encode function.<br />
The functionality of the block RAM when using the ECC mode is described as follows:<br />
• The block RAM ports still have independent address, clocks, and enable inputs, but one<br />
port is a dedicated write port, and the other is a dedicated read port (simple dual-port).<br />
• DOUT represents the read data after correction.<br />
• DOUT stays valid until the next active read operation.<br />
• Simultaneous decoding and encoding of different read/write addresses is allowed.<br />
However, simultaneous decoding and encoding of the same read/write address is not<br />
allowed.<br />
<strong>UltraScale</strong> <strong>Architecture</strong> <strong>Memory</strong> <strong>Resources</strong> www.xilinx.com<br />
Send Feedback<br />
83<br />
UG573 (v1.2) February 24, 2015