Versal® アーキテクチャの LUTRAM は、旧アーキテクチャに比べて簡素化されています。注目すべき変更点は次のとおりです。
- 64 ビットおよび 32 ビット深度の LUTRAM セルが利用可能です。これより深いセルは、一連の 64 ビットおよび 32 ビット セルとマルチプレクサー ツリーに分解されます。
- 高次アドレス デコード回路はありません。各 LUT には 6 つの書き込みアドレス入力があります。
- MUXF7、MUXF8、MUXF9 はありません。より深い LUTRAM は、追加のロジックを使用して実装できます。
- より深い LUTRAM コンフィギュレーションのハードウェア サポートが削減されたため、最適な性能を得るための LUT/SRL/LUTRAM のクラスターの配置に制約があります。
- デュアルエッジ クロッキングのサポート。
- LUTRAM 書き込みイネーブル用の専用 LRAM_WE サイト入力。
- LUTRAM または SRL は、SLICEM のロジック LUT と組み合わせることができます。
既に説明したように、各 CLB 内の LUT の半分は LUTRAM および SRL 対応です (CLB アーキテクチャ の図 1 参照)。LUTRAM モードでは、LUT は 32 ビットまたは 64 RAM として構成できます。SRL モードでは、LUT は 1 個の 32 ビットまたは 2 個の 16 ビット シフト レジスタとして構成できます。分散 RAM を組み合わせて、さまざまなサイズと機能の LUTRAM ブロックまたは SRL ブロックを作成できます。
アドレス ライン マスキング回路は、LUT ごとにではなく 8 個の LUT からなるカラムごとに存在します。これは Versal アーキテクチャの新機能です。このため、ソフトウェアは SRL、LUTRAM、または LUT を 8-LUT クラスターにパックしますが、これらを組み合わせてパックすることはありません。SLICEM の 4-LUT クラスターは、LUT のカラムをベースとしています。{A_M,C_M,E_M,G_M} が 1 つのクラスターで、{B_M,D_M,F_M,H_M} は別のクラスターです。クラスターには、LUTRAM、SRL、または通常のロジック LUT を含むことができます。複数の LUT タイプを 1 つの 4-LUT クラスターに組み合わせることはできません。CLB の各半分は LUTRAM または SRL を持つことができますが、両方を備えることはできません。1 つの 8-LUT クラスターで LUTRAM が使用される場合、同じ側にあるもう 1 つの 8-LUT クラスターは必ず通常の LUT または LUTRAM になります。同様に、1 つの 8-LUT クラスターで SRL が使用される場合、同じ側にあるもう 1 つの 8-LUT クラスターは必ず通常の LUT または SRL になります。LUTRAM と SRL は同じ CLB 内に共存できますが、異なる側に配置する必要があります。各 8-LUT クラスターは、通常の LUT、LUTRAM として構成された LUT、SRL として構成された LUT のいずれかになります。その他の LUT タイプを 1 つの 8-LUT クラスターに組み合わせることはできません。
Versal アーキテクチャと旧アーキテクチャのもう 1 つの違いは、多入力マルチプレクサー (F7、F8、F9) が削除されたことです。これらのマルチプレクサーは、深い LUTRAM および SRL をハードとしてサポートするために使用されていました。深度が 64 ビットより大きい LUTRAM と、動的タップ選択を使用する 32 ビットより大きい SLR には、ソフト ロジック (すなわち、動的マルチプレクサーとして実装された LUT) を使用する必要があります。
Versal アーキテクチャは、旧アーキテクチャでサポートされるすべての LUTRAM モードをサポートします。分散 RAM をさまざまな方法で組み合わせることで、格納できるデータ容量を増やすことができます。RAM エレメントはコンフィギュレーション可能であり、次を実装できます。
- シングル ポート 32 x (1 ~ 16) ビット RAM
- デュアル ポート 32 x (1 ~ 4) ビット RAM
- クワッド ポート 32 x (1 ~ 4) ビット RAM
- シンプル デュアル ポート 32 x (1 ~ 14) ビット RAM
- シングル ポート 64 x (1 ~ 8) ビット RAM
- デュアル ポート 64 x (1 ~ 4) ビット RAM
- クワッド ポート 64 x (1 ~ 2) ビット RAM
- オクタル ポート 64 x 1 ビット RAM
- シンプル デュアル ポート 64 x (1 ~ 7) ビット RAM
- シングル ポート 128 x (1 ~ 4) ビット RAM
- デュアル ポート 128x1 ビット RAM
- クワッド ポート 128x1 ビット RAM
- シングル ポート 256 x (1 ~ 2) ビット RAM
- デュアル ポート 256x1 ビット RAM
- シングル ポート 512x1 ビット RAM
LUTRAM 32x1、32x2、および 64x1 には専用ハードウェアによるサポートがあります。それよりも大きな RAM には、読み出しおよび書き込みアドレス デコードをサポートする、LUT を使用して作成されたソフト ロジックが必要です。