次の表に、ブロック RAM のプリミティブを示します。
プリミティブ | 説明 |
---|---|
RAMB36E5 RAMB18E5 |
|
ブロック RAM のライブラリ プリミティブ、RAMB18E5 および RAMB36E5 はすべてのブロック RAM コンフィギュレーションの基本構築ブロックです。その他のブロック RAM のプリミティブおよびマクロは、このプリミティブを基にしています。ブロック RAM の属性によっては、1 つのプリミティブでのみ設定できます (パイプライン レジスタ、カスケードなど)。
9 ビット幅 (8+1)、18 ビット幅 (16+2)、36 ビット幅 (32+4) のコンフィギュレーションでは、入力および出力データ バスは 2 つのバスで表されます。各バイトに関連付けられている 9 番目のビットにはパリティ ビット (エラー訂正ビット) を保存するか、追加のデータ ビットとして使用できます。この 9 番目のビットには、特定の機能はありません。パリティ ビット用に別のバスを使用した方が良いデザインもありますが、たいていの場合は、通常のデータ バスとパリティ バスを一緒にして、9 ビット、18 ビット、または 36 ビット バスを使用しても問題ありません。読み出し/書き込み、および保存はパリティ ビットを含めてすべてのビットで同様に実行されます。
次の図に、36Kb の TDP のブロック RAM プリミティブ (RAMB36) の I/O ポートを示します。次の表に、これらのプリミティブを示します。
注記: この図には ECC 関連のピンは示していません。詳細は、ビルトイン エラー訂正 を参照してください。
図 1. ブロック RAM ポート信号 (RAMB36E5)
プリミティブ | 説明 |
---|---|
RAMB36E5 |
|
RAMB18E5 |
|
次に、上の表で示したプリミティブのポート名と説明を示します。ECC ポートについては、ビルトイン エラー訂正 で説明します。
ポート名 | 説明 |
---|---|
DINADIN[31:0] | ポート A データ入力。アドレスは ADDRARDADDR で指定します。SDP メモリとして使用する場合のポート名マッピングは、表 5 を参照してください。 |
DINPADINP[3:0] | ポート A データ パリティ入力。アドレスは ADDRARDADDR で指定します。SDP メモリとして使用する場合のポート名マッピングは、表 5 を参照してください。 |
DINBDIN[31:0] | ポート B データ入力。アドレスは ADDRBWRADDR で指定します。SDP メモリとして使用する場合のポート名マッピングは、表 5 を参照してください。 |
DINPBDINP[3:0] | ポート A データ パリティ入力。アドレスは ADDRBWRADDR で指定します。SDP メモリとして使用する場合のポート名マッピングは、表 5 を参照してください。 |
ADDRARDADDR[11:0] | ポート A アドレス入力バス。SDP メモリとして使用する場合は RDADDR バスとなります。 |
ADDRARDADDR[10:0] | (RAMB18E5 のみ) ポート A アドレス入力バス。SDP メモリとして使用する場合は RDADDR バスとなります。 |
ADDRBWRADDR[11:0] | ポート B アドレス入力バス。SDP メモリとして使用する場合は WRADDR バスとなります。 |
ADDRBWRADDR[10:0] | (RAMB18E5 のみ) ポート B アドレス入力バス。SDP メモリとして使用する場合は WRADDR バスとなります。 |
ARST_A | ポート A の出力レジスタの値をすべて 0 にリセットする非同期リセット。 |
ARST_B | ポート B の出力レジスタの値をすべて 0 にリセットする非同期リセット。 |
WEA[3:0] | ポート A バイト ライト イネーブル。SDP メモリとする場合は使用しません。 |
WEBWE[8:0] | ポート B バイト ライト イネーブル。SDP モードでは、バイト ライト イネーブルとなります。 |
ENARDEN | ポート A イネーブル。SDP メモリとして使用する場合は RDEN となります。 |
ENBWREN | ポート B イネーブル。SDP メモリとして使用する場合は WREN となります。 |
RSTREGARSTREG | 同期出力レジスタのセット/リセット。SRVAL_A (DOA_REG = 1) で初期化します。REGCE よりも優先するかどうかは RSTREG_PRIORITY_A で設定します。SDP メモリとして使用する場合は RSTREG となります。 |
RSTREGB | 同期出力レジスタのセット/リセット。SRVAL_B (DOA_REG = 1) で初期化します。REGCE よりも優先するかどうかは、RSTREG_PRIORITY_B で設定します。 |
RSTRAMARSTRAM | 同期出力ラッチのセット/リセット。SRVAL_A (DOA_REG = 0) で初期化します。SDP メモリとして使用する場合は RSTRAM となります。 |
RSTRAMB | 同期出力ラッチのセット/リセット。SRVAL_B (DOB_REG = 0) で初期化します。 |
CLKARDCLK | ポート A クロック入力。SDP メモリとして使用する場合は RDCLK となります。 |
CLKBWRCLK | ポート B クロック入力。SDP メモリとして使用する場合は WRCLK となります。 |
REGCEAREGCE | ポート A 出力レジスタ クロック イネーブル (DOA_REG = 1)。SDP メモリとして使用する場合は REGCE となります。 |
REGCEB | ポート B 出力レジスタ クロック イネーブル (DOB_REG = 1)。 |
CASDINA[31:0] | ポート A カスケード データ入力。下段のブロック RAM のデータ出力から接続されます。RAMB18E5 の場合: CASDINA[15:0] です。 |
CASDINPA[3:0] | ポート A カスケード パリティ データ入力。下段のブロック RAM のパリティ データ出力から接続されます。RAMB18E5 の場合: CASDINPA[1:0] です。 |
CASDINB[31:0] | ポート B カスケード データ入力。下段のブロック RAM のデータ出力から接続されます。RAMB18E5 の場合: CASDINB[15:0] です。 |
CASDINPB[3:0] | ポート B カスケード パリティ データ入力。下段のブロック RAM のパリティ データ出力から接続されます。 RAMB18E5 の場合: CASDINPB[1:0] です。 |
CASDOUTA[31:0] | ポート A カスケード データ出力。上段のブロック RAM の CASDINA[31:0] に接続します。RAMB18E5 の場合: CASDOUTA[15:0] です。 |
CASDOUTPA[3:0] | ポート A カスケード パリティ データ出力。上段のブロック RAM の CASDINPA[3:0] に接続します。RAMB18E5 の場合: CASDOUTPA[1:0] です。 |
CASDOUTB[31:0] | ポート B カスケード データ出力。上段のブロック RAM の CASDINB[31:0] に接続します。RAMB18E5 の場合: CASDOUTB[15:0] です。 |
CASDOUTPB[3:0] | ポート B カスケード パリティ データ出力。上段のブロック RAM の CASDINPB[3:0] に接続します。RAMB18E5 の場合: CASDOUTPB[1:0] です。 |
CASDOMUXA | ポート A のデータ カスケード出力マルチプレクサーを制御する入力を選択します。 |
CASDOMUXEN_A | CASDOMUXA レジスタの制御を有効にします。 |
CASDOMUXB | ポート B のデータ カスケード出力マルチプレクサーを制御する入力を選択します。 |
CASDOMUXEN_B | CASDOMUXB レジスタの制御を有効にします。SDP メモリとする場合は使用しません。 |
CASOREGIMUXA | ポート A の出力レジスタの前のカスケード マルチプレクサーを制御する入力を選択します。 |
CASOREGIMUXEN_A | CASOREGIMUXA レジスタの制御を有効にします。 |
CASOREGIMUXB | ポート B の出力レジスタの前のカスケード マルチプレクサーを制御する入力を選択します。SDP メモリとする場合は使用しません。 |
CASOREGIMUXEN_B | CASOREGIMUXB レジスタの制御を有効にします。SDP メモリとする場合は使用しません。 |
DOUTADOUT[31:0] | ポート A データ出力バス。アドレスは ADDRARDADDR で指定します。SDP メモリとして使用する場合のポート名マッピングは、表 5 を参照してください。RAMB18E5: DOUTADOUT[15:0] です。 |
DOUTPADOUTP[3:0] | ポート A パリティ出力バス。アドレスは ADDRARDADDR で指定します。SDP メモリとして使用する場合のポート名マッピングは、表 5 を参照してください。RAMB18E5: DOUTPADOUTP[1:0] です。 |
DOUTBDOUT[31:0] | ポート B データ出力バス。アドレスは ADDRBWRADDR で指定します。SDP メモリとして使用する場合のポート名マッピングは、表 5 を参照してください。RAMB18E5: DOUTBDOUT[15:0] です。 |
DOUTPBDOUTP[3:0] | ポート B パリティ出力バス。アドレスは ADDRBWRADDR で指定します。SDP メモリとして使用する場合のポート名マッピングは、表 5 を参照してください。RAMB18E5: DOUTPBDOUTP[1:0] です。 |
SLEEP | 動的パワー ゲーティング。 |