16.11.2015 Views

UltraScale Architecture Memory Resources

ug573-ultrascale-memory-resources

ug573-ultrascale-memory-resources

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!