UltraRAM のカスケード接続とマトリクス コンフィギュレーション

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

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

UltraRAM が備える高度なビルトイン機能の 1 つとして、専用の直接インターコネクトを介して 1 つのカラム内で複数の UltraRAM ブロックを直接カスケード接続し、よりビット数の多い RAM を構築できます。データ入力、データ出力、ECC エラー、アドレス、イネーブル、読み出し/書き込み選択、書き込みマスク属性のポートがあり、カスケード接続を容易にしています (図 1 参照)。

カスケード接続は、常に下段から上段への一方向にのみサポートされます。UltraRAM ブロックは、SLR 内の 1 つのカラム内では無制限にカスケード接続できます。各ブロックはビルトイン接続ポートを備えています。各 UltraRAM 内でカスケード パイプライン レジスタをオプションで利用できます (IREG_CAS ステージおよび OREG_CAS ステージは、REG_CAS 属性で有効になる)。これらのレジスタは、デザインの最大周波数およびレイテンシの要件に基づいて、必要に応じて有効にできます。1 つのクロック領域から上段の次のクロック領域にカスケード接続する場合は、セットアップ タイム違反を回避するため、カスケード チェーンの入力側と出力側の両方に追加のパイプライン レジスタが必要になることがあります。

ロジック リソースおよび配線リソースを利用することで、UltraRAM を複数のカラムにわたってカスケード接続することも可能です。UltraRAM は、読み出しが実行されたことを示す読み出しアクセス ステータス出力 (RDACCESS_A/B) を生成します。この出力は、それに対応する読み出しデータと同じレイテンシを持ちます。複数のカラムにわたってカスケード接続する場合、この出力を使用して適切な読み出しデータかを選択できます。

実行中の読み出し動作がない場合、カスケード チェーンの最後の (ブロックの出口点の) 読み出し出力は、以前のデータを保持します。

Versal デバイスの UltraRAM には、これを使用して制御およびデータフロー用のカスケード チェーン構成にするカスケード接続オプションが 2 つあり、CASCADE_ORDER 属性で選択します。各ポートには 2 つの CASCADE_ORDER 属性があります。CASCADE_ORDER_CTRL は、カスケード チェーン内のブロックのアドレス、イネーブル、および読み出し/書き込み動作を決定します。CASCADE_ORDER_DATA は、カスケード チェーンのデータフローを決定します。CASCADE_ORDER_CTRL 属性は ADDR、EN、および RDB_WR のみを制御し、CASCADE_ORDER_DATA 属性は DIN、BWE、DOUT、RDACCESS、SBITERR、および DBITERR を制御します。ほとんどのアプリケーションでは、制御カスケード接続とデータ カスケード接続は同じ長さとします。読み出しの競合を回避するため、データ カスケード接続は制御カスケード チェーンよりも長くできません。次の表に、これら属性の適切な組み合わせを示します。

表 1. CASCADE_ORDER 属性の適切な組み合わせ
CASCADE_ORDER_CTRL_A/B CASCADE_ORDER_DATA_A/B
NONE NONE
FIRST NONE、FIRST
MIDDLE NONE、FIRST、MIDDLE、LAST
LAST NONE、LAST

CASCADE_ORDER_CTRL/DATA を NONE または FIRST に設定した入力の入力パイプライン レジスタを有効または無効にするには、IREG_PRE 属性を使用します。同様に、CASCADE_ORDER_CTRL/DATA が MIDDLE または LAST の場合、カスケード パイプライン レジスタを有効または無効にするには REG_CAS 属性を使用します。CASCADE_ORDER_CTRL と CASCADE_ORDER_DATA を異なる値に設定した場合、IREG_PRE と REG_CAS の両方の属性を使用してパイプラインを必要に応じて有効にできます。また、IREG_PRE は CASCADE_ORDER 属性から独立したビット エラー挿入ピンにも使用できます。

1 つのデータ CASCADE_ORDER 内では、OREG および OREG_ECC パイプライン レジスタを同じように使用する必要があります。つまり、データ チェーンの FIRST UltraRAM ブロックと LAST UltraRAM ブロック間の 1 つの CASCADE_ORDER_DATA チェーン内では、これらのパイプライン レジスタをすべて有効にするか、すべて無効にする必要があります。

図 1. UltraRAM のカスケード接続のブロック図 (1 ポートのみ表示)
図 2. UltraRAM の制御およびデータ カスケード接続のブロック図