AR# 15518


5.1i BitGen - Virtex-II/Virtex-II Pro block RAM register INIT_A, INIT_B, and SRVAL_A values are corrupted (Incorrect output is given at startup or reset)


Keywords: INIT_A, INIT_B, SRVAL_A, SRVAL_B, SelectRAM, block RAM, blockRAM

Urgency: Standard

General Description:
Two BitGen problems can cause incorrect initialization values for the block RAM output registers in Virtex-II and Virtex-II Pro devices. (These problems exist in all versions of the 3.1i, 4.1i, and 4.2i software.)

Note that these problems DO NOT affect block RAM memory cells -- only the output registers are affected.


This problem is fixed in the latest 5.1i Service Pack, available at:
The first service pack containing the fix is 5.1i Service Pack 2.

Issue 1: Corrupted INIT_A and INIT_B Values

If the hexadecimal value "0xD" is specified as the initialization value for the block RAM output registers DOA[0-31] and DOB[0-31], BitGen will change this value to "0xF". The initialization values of the DOA[0-31] and DOB[0-31] output registers are specified by the INIT_A and INIT_B attributes.

This problem does not affect the block RAM memory cell initialization values, which are specified by the INIT_00 through INIT_3f values.

Issue 2: Corrupted SRVAL_A Value

The set/reset value that is specified for the output register on DOA28 will also be applied to DOA20; the value that is specified by the user for DOA20 will not be used. The output register set/reset value is specified by the SRVAL_A attribute. Note that this only affects block RAMs that are configured with port widths that use the DOA20 register.

Because these problems are caused by BitGen, the INIT_A, INIT_B and SRVAL_A values will appear to be correct in FPGA Editor. The problems will exist only in the .bit file.

For more information on the Virtex-II and Virtex-II Pro Block SelectRAM (including definitions of the various attributes), please refer to the Chapter 2 of the Virtex-II or Virtex-II Pro userguide :
AR# 15518
日期 04/04/2005
状态 Archive
Type 综合文章
People Also Viewed