User guide

DS512 March 1, 2011 www.xilinx.com 47
Product Specification
LogiCORE IP Block Memory Generator v6.1
Single-bit errors are corrected
Double-bit errors are detected
Supports Simple Dual-port RAM memory type
Supports optional Input and/or Output Registering stages
Supported Block Memory Generator features include:
Minimum Area, Fixed Primitive and Low Power Algorithms
Mux Pipelining Stages
Embedded Primitive Registers
Core Output Registers
Optional Enable Inputs
Fully parameterized implementation enables optimization of resources
Details
Each Write operation generates between 4 and 8 protection bits for 1 to 64 bits of data, which are stored
with the data in memory. These bits are used during each Read operation to correct any single-bit error,
or to detect (but not correct) any double-bit error.
The two status outputs (SBITERR and DBITERR) indicate the three possible Read results: no error,
single error corrected, and double error detected. For single-bit errors, the Read operation does not
correct the error in the memory array; it only presents corrected data on DOUT.
When using Soft ECC, the Block Memory Generator can construct the memory from the available
primitives in Kintex-7, Virtex-7, Virtex-6, and Spartan-6 FPGA architectures. The Soft ECC feature is
implemented as an overlay on top of the Block Memory Generator core. This allows users to select
algorithm options and registering options in the core. When Soft ECC is selected, limited core options
include:
Byte-Write enable is not available
All port widths must be identical
Use RST[A|B] Pin and the Output Reset Value options are not available
Memory Initialization is not supported
The Soft ECC implementation is optimized to generate the core for different data widths, as shown in
Table 10. For the selected data width, the number of check bits appended is shown in Table 11. The
operation of appending the additional check bits for the given data width is done within the Block
Memory Generator core and is transparent to the user.
Table 10: Soft ECC Data width Support
Spartan-6 Kintex-7 Virtex-5 Virtex-6 Virtex-7
Block RAM
mode
SDP Mode SDP Mode No SDP Mode SDP Mode
Supported Data
Widths
64 bits 64 bits n/a 64 bits 64 bits
Bit Error
Insertion
Support
Yes Yes n/a Yes Yes