メモリ内容の初期化 – INIT_xx

Versal ACAP メモリ リソース アーキテクチャ マニュアル (AM007)

Document ID
AM007
Release Date
2020-11-24
Revision
1.1 日本語

メモリ内容は、コンフィギュレーション ビットストリームで初期化またはクリアできます。パワー ゲーティング機能のため、ブロック 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

次の表に例を示します。

表 1. ブロック RAM の初期化属性
属性 メモリ位置
開始位置 終了位置
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