メモリ内容は、コンフィギュレーション ビットストリームで初期化またはクリアできます。パワー ゲーティング機能のため、ブロック RAM の初期化またはリードバックには標準の有効なビットストリームが必要です。インスタンシエートされていないパワー ゲーティングされたブロック RAM の初期化またはリードバックは、未使用ブロック RAM のパワー ゲーティング を参照してください。
INIT_xx 属性では、最初のメモリ内容を定義します。ブロック RAM は、デフォルトでは、デバイスのコンフィギュレーション シーケンス中にすべて 0 に初期化されます。RAMB18E5 では INIT_00 ~ INIT_3F の 64 個の初期化属性を使用し、RAMB36E5 では INIT_00 ~ INIT_7F の 128 個の初期化属性を使用して、通常のメモリ内容を指定します。各 INIT_xx は、16 進数で表した 64 桁のビット ベクトルです。一部の内容だけを初期化することも可能です。この場合、初期値を指定した部分以外は自動的に 0 になります。
各 INIT_xx 属性のビット位置は、次の式で決まります。16 進数 (xx) を 10 進数に変換した値を yy とすると、INIT_xx は次のメモリ セルに対応します。
- 開始セル [(yy + 1) x 256] – 1
- 終了セル (yy) x 256
たとえば、INIT_1F 属性は次のように変換されます。
- yy = 16 進数 (xx)
1F
を 10 進数に変換した値 = 31 - 開始セル: [(31 + 1) x 256] - 1 = 8,191
- 終了セル: 31 x 256 = 7,936
次の表に例を示します。
属性 | メモリ位置 | |
---|---|---|
開始位置 | 終了位置 | |
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 |