LUTRAM

Versal ACAP コンフィギャラブル ロジック ブロック アーキテクチャ マニュアル (AM005)

Document ID
AM005
Release Date
2023-02-28
Revision
1.2 日本語

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) を使用する必要があります。

書き込みイネーブル ロジックを作成するには、外部 LUT も必要となります。旧アーキテクチャではハード化された書き込みデコーダーを使用していました。この方式ではベスト ケースのタイミングを高速化できますが、配置の柔軟性に欠けます。書き込みイネーブル ロジックをソフト化することにより、深い LUTRAM 構成の個々の LUT をスライス内でシャッフルすることや、異なるスライスに配置することが可能となります (ただし、それぞれのスライスに書き込みアドレス用の H-LUT 入力ピンを使用する必要がある)。次の図に、この概念を 512x1 LUTRAM について示します。青いブロックは CLE 内のハード化されたロジックであり、赤いブロックは外部 LUT から作成されています。イネーブル信号は、各 LUTRAM LUT に関連付けられるバイパス ピンに配線されます。
図 1. 書き込みデコーダー

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 を使用して作成されたソフト ロジックが必要です。