1
Arria Vデバイスのロジック・アレイ・ブロック
およびアダプティブ・ロジック・モジュール
2013.05.06 AV-52001 署名 フィードバック この章では、ArriaVコア・ファブリックのロジック・アレイ・ブロック(LAB)の機能について 説明します。 LABは、ロジック・ファンクション、演算ファンクション、およびレジスタ・ファンクションを 実装するようにコンフィギュレーションできるアダプティブ・ロジック・モジュール(ALM) として知られる基本ビルディング・ブロックで構成されています。 ArriaVデバイス内で使用可能なLABのうち4分の1をメモリLAB(MLAB)として使用可能です。 Quartus® II ソフトウェアおよびサポートされるサードパーティ合成ツールは、LPM(Library of Parameterized Modules)などのパラメータ化されたファンクションと併用することによって、カ ウンタ、加算器、減算器、および演算ファンクションなどの一般的なファンクションに対して適 切なモードを自動的に選択します。 この章は、以下の項で構成されています。 • LAB • ALM動作モードLAB
LABは、ロジックリソースのグループで構成されているコンフィギュレーション可能なロジッ ク・ブロックです。各LABには、ALMに対するコントロール信号をドライブするための専用ロ ジックが含まれています。 MLABはLABのスーパーセットであり、LABの機能をすべて備えています。 ISO 9001:2008©2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or service marks are the property of their respective holders as described at
図 1-1: Arria VデバイスのLAB構造およびインターコネクトの概要
この図は、LABインターコネクトにおけるArria V LABおよびMLAB構造の概略を示します。
Fast Local Interconnect Is Driven from Either Sides by Column Interconnect and LABs, and from Above by Row Interconnect
Column Interconnects of Variable Speed and Length Row Interconnects of
Variable Speed and Length
MLAB LAB Local Interconnect ALMs C2/C4 C12 R14 R3/R6 Direct-Link Interconnect from Adjacent Block Direct-Link Interconnect to Adjacent Block Direct-Link Interconnect to Adjacent Block Direct-Link Interconnect from Adjacent Block Connects to adjacent LABs, memory blocks, digital signal processing (DSP) blocks, or I/O element (IOE) outputs.
MLAB
各MLABは、最大640ビット のシンプル・デュアル・ポートSRAMをサポートします。 以下のコンフィギュレーションでMLAB内の各ALMをコンフィギュレーションできます。 • 32×2メモリ・ブロックとしてコンフィギュレーションすると Arria V GX、GT、SX、およびST デバイスに対する32×20シンプル・デュアル・ポートSRAMブロックのコンフィギュレーショ ンが可能 • 64×1あるいは32×2ブロックとしてコンフィギュレーションすると Arria V GZデバイスに対す る64×10あるいは32×20のシンプル・デュアル・ポートSRAMブロックのコンフィギュレーショ ンが可能 AV-52001 MLAB 1-2 2013.05.06図 1-2: Arria V GX、GT、SX、およびSTデバイスのLABとMLAB構造
MLAB LAB
LUT-Based-32 x 2 Simple Dual-Port SRAM
LUT-Based-32 x 2 Simple Dual-Port SRAM
LUT-Based-32 x 2 Simple Dual-Port SRAM
LUT-Based-32 x 2 Simple Dual-Port SRAM
LUT-Based-32 x 2 Simple Dual-Port SRAM
LUT-Based-32 x 2 Simple Dual-Port SRAM
LUT-Based-32 x 2 Simple Dual-Port SRAM
LUT-Based-32 x 2 Simple Dual-Port SRAM
LUT-Based-32 x 2 Simple Dual-Port SRAM
LUT-Based-32 x 2 Simple Dual-Port SRAM
ALM ALM ALM ALM ALM ALM ALM ALM ALM ALM LAB Control Block LAB Control Block
You can use an MLAB ALM as a regular LAB ALM or configure it as a dual-port SRAM.
You can use an MLAB ALM as a regular LAB ALM or configure it as a dual-port SRAM. 1-3 MLAB AV-52001 2013.05.06
図 1-3: Arria V GZデバイスのLABとMLAB構造
MLAB LAB
LUT-Based-64 x 1 Simple Dual-Port SRAM
LUT-Based-64 x 1 Simple Dual-Port SRAM
LUT-Based-64 x 1 Simple Dual-Port SRAM
LUT-Based-64 x 1 Simple Dual-Port SRAM
LUT-Based-64 x 1 Simple Dual-Port SRAM
LUT-Based-64 x 1 Simple Dual-Port SRAM
LUT-Based-64 x 1 Simple Dual-Port SRAM
LUT-Based-64 x 1 Simple Dual-Port SRAM
LUT-Based-64 x 1 Simple Dual-Port SRAM
LUT-Based-64 x 1 Simple Dual-Port SRAM
ALM ALM ALM ALM ALM ALM ALM ALM ALM ALM LAB Control Block LAB Control Block
You can use an MLAB ALM as a regular LAB ALM or configure it as a dual-port SRAM.
You can use an MLAB ALM as a regular LAB ALM or configure it as a dual-port SRAM.
ローカルおよびダイレクト・リンク・インターコネクト
各LAB は高速ローカル・インタコネクトとダイレクト・リンク・インタコネクトを介して、30 個のALM をドライブすることができます。10個のALM が与えられた任意のLAB内にあり、10 個 のALM が隣接する各LAB 内にあります。 ローカル・インタコネクトは、同一LAB 内のカラムとロウのインタコネクトおよびALM 出力を 使用して、同一LAB 内のALM をドライブすることができます。 ダイレクト・リンク接続を通して、左側または右側の隣接LAB、MLAB、M20KおよびM10Kブ ロック、あるいはデジタル信号処理(DSP)ブロックがLABのローカル・インタコネクトをドラ イブすることもできます。 このダイレクト・リンクによる接続機能は、ロウおよびカラム・インタコネクトの使用が最小限 で済むため、さらに高い性能と柔軟性を提供します。 AV-52001 ローカルおよびダイレクト・リンク・インターコネクト 1-4 2013.05.06
図 1-4: Arria VデバイスのためのLABの高速ローカルおよびダイレクト・リンク・インタコネクト MLAB ALMs ALMs LAB Fast Local Interconnect
Direct Link Interconnect from Left LAB, Memory Block, DSP Block, or IOE Output
Direct Link Interconnect to Left Direct Link Interconnect to Right Direct Link Interconnect from Right LAB, Memory Block, DSP Block, or IOE Output
LABコントロール信号
各LAB には、ALM にコントロール信号をドライブするための専用ロジックが内蔵されており、 2 本の固有のクロック・ソースおよび3本のクロック・イネーブル信号があります。 LAB コントロール・ブロックは、2 本のクロック・ソースと3 本のクロック・イネーブル信号を 使用して、最大3本のクロックを生成します。各クロック信号とクロック・イネーブル信号はリ ンクされています。 クロック・イネーブル信号がディアサートされると、対応するLABワイドのクロック信号はオフ になります。 1-5 LABコントロール信号 AV-52001 2013.05.06図 1-5: Arria V GX, GT, SX, and, STデバイスのLABワイド・コントロール信号 この図は、LAB内のクロック・ソースおよびクロック・イネーブル信号を示しています。 Dedicated Row LAB Clocks Local Interconnect Local Interconnect Local Interconnect Local Interconnect labclk2 syncload labclkena0 or asyncload or labpreset
labclk0 labclk1 labclr1
labclkena1 labclkena2 labclr0 synclr
6
6
6
There are two unique clock signals per LAB.
AV-52001
LABコントロール信号
図 1-6: Arria V GZデバイスのLABワイド·コントロール信号 この図は、LAB内のクロック・ソースおよびクロック・イネーブル信号を示しています。 Dedicated Row LAB Clocks Local Interconnect Local Interconnect Local Interconnect Local Interconnect Local Interconnect Local Interconnect labclk2 syncload labclkena0 or asyncload or labpreset
labclk0 labclk1 labclr1
labclkena1 labclkena2 labclr0 synclr 6
6
6
There are two unique clock signals per LAB.
ALMリソース
1個のALMには、4個のプログラマブル・レジスタが含まれています。各レジスタは、次のポー トがあります: • データ • クロック • 同期および非同期クリア • 同期ロード グローバル信号、汎用I/Oピン(GPIO)、または任意の内部ロジックでALMレジスタのクロック・ コントロール信号とクリア・コントロール信号をドライブすることができます。 GPIOピンまたは内部ロジックは、クロック・イネーブル信号をドライブします。 組み合わせファンクションを実現するときには、レジスタがバイパスされ、LUTの出力がALMの 出力を直接ドライブします。 Quartus IIソフトウェアは自動的に最適な性能を達成するようALMをコンフィギュレーショ ンします。 注: 1-7 ALMリソース AV-52001 2013.05.06図 1-7: Arria V GX、GT、SX、 およびSTデバイスにおけるALMの上位レベルのブロック図 datac datad datae1 dataf1 adder1 datae0 dataf0 dataa datab carry_in carry_out Combinational/ Memory ALUT0 6-Input LUT 6-Input LUT shared_arith_out shared_arith_in Combinational/ Memory ALUT1 adder0 reg0 labclk reg1 reg2 reg3 D Q D Q D Q D Q To General or Local Routing 図 1-8: Arria V GZデバイスにおけるALMの上位レベルのブロック図 datac datad datae1 dataf1 adder1 datae0 dataf0 dataa datab carry_in carry_out Combinational/ Memory ALUT0 6-Input LUT 6-Input LUT shared_arith_out shared_arith_in Combinational/ Memory ALUT1 adder0 labclk reg1 To General or Local Routing reg0 reg3 reg2 AV-52001 ALMリソース 1-8 2013.05.06
ALM出力
各ALMの一般配線出力は、ローカル、ロウ、およびカラム配線リソースをドライブします。2本 のALM出力は、カラム、ロウ、またはダイレクト・リンク配線接続をドライブできます。これ らのALM出力の1本はローカル・インタコネクト・リソースもドライブできます。 LUT、加算器、またはレジスタ出力は、ALM出力をドライブすることができます。LUTまたは加 算器がある出力をドライブしている状態で、レジスタが他の出力をドライブします。 レジスタ・パッキングは、別のレジスタおよび組み合わせロジックをシングルALMにパッキン グできるようにすることで、デバイスの稼働率を向上させます。フィッティングを向上させる別 のメカニズムは、レジスタ出力を同じALM のルックアップ・テーブル(LUT)にフィードバッ クさせて、レジスタを自身のファンアウトLUTとパッキングできるようにする、というもので す。また、ALMはラッチされた出力およびラッチされていない出力の両方のLUT出力もドライ ブ・アウト可能です。 1-9 ALM出力 AV-52001 2013.05.06図 1-9: Arria V GX、GT、SX、およびSTデバイスのALM接続の詳細
DCLRQ DCLRQ
Row, Column Direct Link Routing
DCLRQ Local Interconnect Local Interconnect DCLRQ carry_out GND VCC aclr[1:0] sclr syncload clk[2:0] carry_in + shared_arith_out shared_arith_in 4-Input LUT 4-Input LUT 3-Input LUT 3-Input LUT 3-Input LUT 3-Input LUT + dataf0 datae0 dataa datab datac1 datae1 dataf1 datac0 Row, Column Direct Link Routing
Row, Column Direct Link Routing
Row, Column Direct Link Routing
AV-52001
ALM出力
図 1-10: Arria V GZデバイスのALM接続の詳細 + carry_in dataf0 datae0 dataa datab datac1 datae1 dataf1 shared_arith_out carry_out shared_arith_in 4-Input LUT 4-Input LUT 3-Input LUT 3-Input LUT 3-Input LUT 3-Input LUT + datac0 GND VCC aclr[1:0] sclr syncload clk[2:0] DCLRQ DCLRQ Row, Column Direct Link Routing
DCLRQ
DCLRQ 3
3
Row, Column Direct Link Routing
Row, Column Direct Link Routing
Row, Column Direct Link Routing
ALM動作モード
Arria V ALMは、次のいずれかのモードで動作することができます。 • ノーマル・モード • 拡張LUTモード • 演算モード • 共有演算モード 1-11 ALM動作モード AV-52001 2013.05.06ノーマル・モード
ノーマル・モードでは、1個のArria V ALMで2つのファンクション、または1個のALMで最大6本 の入力を持つ1つのファンクションを実装できます。 LABローカル・インタコネクトからの最大8本のデータ入力が組み合わせロジックの入力になり ます。 ALMは、完全に独立したファンクションの特定の組み合わせおよび共通の入力を持つファンク ションの様々な組み合わせをサポートできます。拡張LUTモード
このモードでは、7入力ファンクションがラッチされない場合は、未使用の8番目の入力をレジス タ・パッキングに使用できます。 テンプレートに適合するファンクションが、次の図に示すように、多くの場合、デザインにVerilog HDLまたはVHDLコードの「if-else」文として現れます。 図 1-11: Arria Vデバイスの拡張LUTモードでサポートされる7入力ファンクションのテンプレート datae0 combout0 5-Input LUT 5-Input LUT datac dataa datab datad dataf0 datae1 dataf1 D Q reg0This input is available for register packing.
To General or Local Routing
演算モード
演算モードのALMは、2個の専用全加算器と共に2個の4入力LUTを2組使用します。 専用加算器によってLUT が加算器前ロジックを実行できるため、各加算器は2 つの4 入力ファン クションの出力を加算することができます。 ALMは組み合わせロジックの出力と加算器のキャリー出力の同時使用をサポートしています。 この動作では、加算器の出力は無視されます。 このように加算器と組み合わせロジックの出力を併用すると、このモードを使用可能なファンク ションのリソースが最大50%節約されます。 AV-52001 ノーマル・モード 1-12 2013.05.06図 1-12: Arria Vデバイスの演算モードでのALM datae0 carry_in carry_out dataa datab datac datad datae1 4-Input LUT 4-Input LUT 4-Input LUT 4-Input LUT adder1 dataf0 dataf1 adder0 reg1 To General or Local Routing reg0 reg3 reg2 キャリー・チェイン 演算モードまたは共有演算モードにおいて、キャリー・チェインは、専用加算器間でのキャリー・ ファンクションを高速化します。 Arria Vデバイスの2ビット・キャリー選択機能は、ALM内でキャリー・チェインの伝播遅延を半 減します。キャリー・チェインは、LAB内の最初のALMまたは5番目のALMから開始できます。 最後のキャリー・アウト信号はALMに接続され、そこでローカル、ロウ、カラムのいずれかの インタコネクトに供給されます。 高ファンイン演算ファンクションが実装されたときにデバイス内の1つの小さな領域で配線が密 集するのを防ぐために、LABは次のLABに接続する前にLABの上半分または下半分のいずれかの みを使用するキャリー・チェインをサポートできます。これにより、LAB内のALMの別の半分を ノーマル・モードでより幅の狭いファンイン・ファンクションの実装に使用できます。最初の LAB内の上位5個のALMを使用するキャリー・チェインは、カラム内で次のLAB内のALMの上半 分に取り込みます。最初のLAB内の下位5個のALMを使用するキャリー・チェインは、カラム内 で次のLAB内のALMの下半分に取り込みます。LABカラムの上半分およびMLABカラムの下半分 をバイパスすることができます。 Quartus II コンパイラは、複数のLABを自動的にリンクさせることにより、20個(演算モードま たは共有演算モードでは10個)を超えるALMで構成される長いキャリー・チェインを作成しま す。フィッティング機能を強化するため、長いチェインは垂直に並べ、TriMatrixメモリおよび DSPブロックへの水平方向の接続を高速化することができます。キャリー・チェインはカラム全 体に延長できます。
共有演算モード
共有演算モードでは、ALM で3入力加算が実装できます。 1-13 共有演算モード AV-52001 2013.05.06このモードでは、4入力 LUTでALM をコンフィギュレーションします。各LUTは、3本の入力の 和または3本の入力のキャリーのいずれかを計算します。キャリー計算の出力は、共有演算チェ インと呼ばれる専用の接続を使用して、次の加算器に供給されます。 図 1-13: Arria V デバイスの共有演算モードでのALM datae0 carry_in shared_arith_in shared_arith_out carry_out dataa datab datac datad datae1 4-Input LUT 4-Input LUT 4-Input LUT 4-Input LUT labclk reg1 To General or Local Routing reg0 reg3 reg2 共有演算チェイン 拡張演算モードで使用可能な共有演算チェインはALMによる3入力加算器の実装を可能にしま す。これにより、大きな加算器ツリーまたは相関器ファンクションの実装に必要なリソースが大 幅に削減されます。 共有演算チェインはLAB内の最初のALMまたは6番目のALMのいずれでも開始できます。 キャリー・チェインと同様に、LABカラムは1つおきに共有演算チェインも上半分または下半分 をバイパス可能です。この機能により、共有演算チェインをLAB内のALMの半分でカスケード接 続し、別の半分を幅の狭いファンイン・ファンクションに使用できます。すべてのLABでは、カ ラムは上半分がバイパス可能で、MLABでは、下半分がバイパス可能です。 Quartus II コンパイラは、複数のLABを自動的にリンクさせることにより、20個以上(演算モー ドまたは共有演算モードでは10個のALM)で構成される長い共有演算チェインを作成します。 フィッティング機能を強化するため、長い共有演算チェインは垂直に並べ、TriMatrixメモリおよ びDSPブロックへの水平方向の接続を高速化することができます。共有演算チェインはカラム全 体に延長できます。 AV-52001 共有演算モード 1-14 2013.05.06
改訂履歴
変更内容 バージョン 日付 • ナレッジベースへ既知の文書の問題に関するリンクを追加 • M20Kメモリ·ブロックを追加し、ローカル・インタコネクトお よびダイレクト・リンク・インタコネクトのセクションを更新 • レジスタ・チェイン出力の情報をALM出力のセクションから削 除 • Arria V GX、GT、SX、およびSTデバイスにおけるALMの上位レベルのブロック図とALM接続の詳細図からreg_chain_inとreg_
chain_outポートを削除 2013.05.06 2013年5月 • Arria V GZデバイスへMLAB構造を追加 • LABワイド·コントロール信号を Arria V GZデバイスへ追加 • ALMの上位レベルのブロック図を Arria V GZデバイスへ追加 • ALM接続の詳細図を Arria V GZデバイスへ追加 • コンテンツおよび新しいテンプレートを再編成 2012.11.19 2012年11月 Quartus IIソフトウェア v12.0のリリースにより更新 • 章を再編成 • 図1-6を更新 2.0 2012年6月 章を再編成 1.1 2011年11月 初版 1.0 2011年5月 1-15 改訂履歴 AV-52001 2013.05.06