Content Initialization – INIT_xx - Content Initialization – INIT_xx - UG573

UltraScale Architecture Memory Resources User Guide (UG573)

Document ID
UG573
Release Date
2025-11-18
Revision
1.14 English

The memory content can be initialized or cleared in the configuration bitstream. A standard, valid bitstream is required for block RAM initialization or readback due to the power gating feature. For more details on initialization and readback of uninstantiated (power gated) block RAM, see Power Gating of Unused Block RAMs.

Important: The bitstream RSA authentication feature uses certain block RAMs to hold interim rolling keys. For a given block RAM column, each 36K block RAM block in the bottom of a clock region is affected. The first 36K block RAM starting at the bottom of a device is used and then every twelfth 36K block RAM after that in a column is used (BRAM36_X*Y0, BRAM36_X*Y12, BRAM36_X*Y24, etc.) These block RAMs cannot be initialized to user defined values. The block RAMs are always initialized to 0 after configuration.

INIT_xx attributes define the initial memory contents. By default, block RAM is initialized with all zeros during the device configuration sequence. The 64 initialization attributes from INIT_00 through INIT_3F for the RAMB18E2, and the 128 initialization attributes from INIT_00 through INIT_7F for the RAMB36E2 represent the regular memory contents. Each INIT_xx is a 64-digit hex-encoded bit vector. The memory contents can be partially initialized and are automatically completed with zeros.

The following formula is used to determine the bit positions for each INIT_xx attribute. Given yy = conversion hex-encoded to decimal (xx), INIT_xx corresponds to the memory cells as follows:

  • from [(yy + 1) × 256] - 1
  • to (yy) × 256

For example, for the attribute INIT_1F, the conversion is:

  • yy = conversion hex-encoded to decimal (xx) "1F " = 31
  • from [(31+1) × 256] - 1 = 8,191
  • to 31 × 256 = 7,936

More examples are given in the following table.

Table 1. Block RAM Initialization Attributes
Attribute Memory Location
From To
INIT_00 255 0
INIT_01 511 256
INIT_02 767 512
INIT_0E 3839 3584
INIT_0F 4095 3840
INIT_10 4351 4096
INIT_1F 8191 7936
INIT_20 8447 8192
INIT_2F 12287 12032
INIT_30 12543 12288
INIT_3F 16383 16128
INIT_7F 32767 32512