カスケード接続された UltraRAM でマトリクスを構築する

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

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

複数の UltraRAM で深さのある (ワード数の多い) 論理 SRAM を構築できます。これらの UltraRAM のインスタンスでは、アドレス、制御信号、およびデータが UltraRAM マトリクスの左下に入力され、出力データが右上に現れるマトリクスが形成されます。次の図に、UltraRAM マトリクスの概念を示します。この X x Y (行 x 列) マトリクスの各マトリクス要素は、垂直にカスケード接続されるシングル UltraRAM ブロックです。マトリクスに対する読み出し/書き込みでは、アドレス、制御信号、およびデータ (書き込みの場合) が行 1 (Row 1) の UltraRAM マトリクスに入力されます。書き込み動作では、入力データがアドレス指定された位置の行、列 (R、C) の UltraRAM ブロックおよびその中に含まれるワードに書き込まれます。読み出し動作も同様に、UltraRAM R、C およびその位置を指定することで出力データが (必ず) 列の一番上の出力バスに到達します。次の図に 4x4 の UltraRAM マトリクスを示します。

図 1. 4x4 の UltraRAM マトリクス

各 UltraRAM に対して個別アドレス エンコード方式を用いて、データを含む必要があるかどうかを各ブロック別に判断します。SELF_ADDRESS および SELF_MASK によって非固有のアドレスがマトリクス内で使用可能になるため、同じサイクル内で複数の UltraRAM にデータを同時に伝搬できます。SELF_ADDRESS はワンホット エンコード アドレスとして使用可能で (パーシャルであっても)、SELF_MASK は重要なアドレス ビットおよび無視しても問題のないアドレス ビット (ワンコールド) を判断します。その結果、マトリクス内のすべての UltraRAM に適用されるグローバル アドレスを、あらかじめ指定した一連の UltraRAM に適用できます。次の図は、行 1 の UltraRAM (2 つ以上、またはすべて) にデータが同時に書き込まれる様子を示しています。この例では、同時にデータを受信する必要があるブロックの SELF_ADDR 設定を用いてブロック アドレスの下位 4 ビットが OR 回路を介して出力され、SELF_MASK は、ブロックのデコードされないアドレス ビットを無視します。このようなユース ケースでは、UltraRAM は 1 回の読み出し/1 回の書き込みモードでしか使用できません。

図 2. カスケード接続された UltraRAM 列の行 1 への同時 (ブロードキャスト) 書き込み