2. Cyclone IV デバイスのロジック・ エレメントおよびロジック・アレイ・ ブロック CYIV-51002-1.0 この章では、ロジック・エレメント(LE)およびロジック・アレイ・ブロック (LAB)の機能定義について説明します。LE の動作、LAB に LE のグループを含める方 法、および LAB と Cyclone® IV デバイス内の他のブロックとのインタフェース方法に ついても詳しく説明しています。 ロジック・エレメント ロジック・エレメント(LE)は、Cyclone IV デバイス・アーキテクチャにおけるロ ジックの最小単位です。LE はコンパクトであり、ロジックを効率的に使用しながら 高度な機能を提供します。以下に、各 LE の特長を示します。 ■ 4 変数による任意のファンクションを実装可能な 4 入力ルック・アップ・テーブル (LUT) ■ プログラマブル・レジスタ ■ キャリー・チェイン接続 ■ レジスタ・チェイン接続 ■ 以下のインタコネクトをドライブ可能 ■ ローカル ■ ロウ ■ カラム ■ レジスタ・チェイン ■ ダイレクト・リンク ■ レジスタ・パッキングのサポート ■ レジスタ・フィードバックのサポート © 2009 年 11 月 Altera Corporation Cyclone IV デバイス・ハンドブック Volume 1 2‒2 Cyclone IV デバイスのロジック・エレメントおよびロジック・アレイ・ブロック ロジック・エレメント 図 2-1 に、Cyclone IV デバイスの LE を示します。 図 2-1. Cyclone IV デバイスの LEs Register Chain Routing from previous LE LE Carry-In data 1 data 2 data 3 Register Bypass LAB-Wide Synchronous LAB-Wide Programmable Synchronous Load Register Clear Synchronous Load and Clear Logic Look-Up Table Carry Chain (LUT) data 4 D Q ENA CLRN labclr1 labclr2 Chip-Wide Reset Register Feedback Asynchronous Clear Logic Row, Column, And Direct Link Routing Row, Column, And Direct Link Routing Local Routing (DEV_CLRn) Clock & Clock Enable Select LE Carry-Out Register Chain Output labclk1 labclk2 labclkena1 labclkena2 LE の特長 各 LE のプログラマブル・レジスタは、D、T、JK、または SR フリップ・フロップ動 作を行うようにコンフィギュレーションできます。各レジスタには、データ、クロッ ク・イネーブル、およびクリア入力があります。グローバル・クロック・ネットワー ク、汎用 I/O ピン、または任意の内部ロジックを使用する信号は、レジスタのクロッ クおよびクリア・コントロール信号をドライブすることができます。汎用 I/O ピンま たは内部ロジックのいずれかが、クロック・イネーブルをドライブできます。組み 合わせファンクションでは、LUT 出力はレジスタをバイパスし、LE 出力に直接ドラ イブします。 各 LE には、ローカル、ロウ、およびカラム配線リソースをドライブする 3 本の出力 があります。LUT またはレジスタ出力は、これらの出力を個別にドライブできます。 2 本の LE 出力がカラムまたはロウ、およびダイレクト・リンク配線接続をドライブ し、1 本の出力がローカル・インタコネクト・リソースをドライブします。これによ り、レジスタがある出力をドライブしている状態で、LUT が別の出力をドライブす ることが可能になります。この機能はレジスタ・パッキングと呼ばれ、デバイスの 稼働率を向上させます。これはレジスタと LUT を全く別の機能として使用できるか らです。レジスタ・パッキングを使用するときには、LAB ワイドの同期ロード・コン トロール信号は使用できません。同期ロード・コントロール信号について詳しくは、 2–6 ページの「LAB コントロール信号」コントロール信号 Åv を参照してください。 別の特殊パッキング・モードでは、レジスタ出力を同じ LE の LUT にフィードバック させて、レジスタを自身のファンアウト LUT とパッキングすることができ、フィッ ティング機能を向上させる別のメカニズム提供します。また、LE はラッチされた出 力およびラッチされていない出力の両方の LUT 出力もドライブ・アウト可能です。 Cyclone IV デバイス・ハンドブック Volume 1 © 2009 年 11 月 Altera Corporation Cyclone IV デバイスのロジック・エレメントおよびロジック・アレイ・ブロック LE の動作モード 2‒3 3 の一般配線出力に加えて、LAB 内の LE にはレジスタ・チェイン出力があります。 レジスタ・チェイン出力により、同一 LAB 内のレジスタをカスケード接続できます。 レジスタ・チェイン出力により、LUT を組み合わせファンクションに使用したり、 レジスタを別のシフト・レジスタの実装に使用することができます。これらのリソー スは、LAB 間の接続を高速化し、同時にローカル・インタコネクト・リソースの節 約を図ります。 LE の動作モード Cyclone IV の LE は、以下のモードで動作します ■ ノーマル・モード ■ 演算モード Quartus® II ソフトウェアは、LPM(Library of Parameterized Modules)ファンクションな どのパラメータ化されたファンクションを併用することによって、カウンタ、加算 器、減算器、および演算ファンクションなどの一般的なファンクションに対して、 適切なモードを自動的に選択します。また、必要に応じて、ユーザーが特別なファン クションを作成して、各デザインに最適な性能が得られる LE の動作モードを指定す ることもできます。 ノーマル・モード ノーマル・モードは、汎用のロジック・アプリケーションや組み合わせファンク ションに適しています。ノーマル・モードでは、LAB ローカル・インタコネクトから の 4 本のデータ入力が 4 入力 LUT の入力になります(図 2-2 を参照)。Quartus II コン パイラは、キャリー・イン(cin)または data3 信号を LUT の入力の 1 つとして自 動的に選択します。ノーマル・モードの LE は、レジスタ・パッキングおよびレジス タ・フィードバックをサポートします。 図 2-2 に、ノーマル・モードの LE を示します。 図 2-2. Cyclone IV デバイスのノーマル・モードの LE Register Chain Connection sload sclear (LAB Wide) (LAB Wide) Packed Register Input D Row, Column, and Direct Link Routing ENA CLRN Row, Column, and Direct Link Routing Q data1 data2 data3 cin (from cout of previous LE) data4 Four-Input LUT clock (LAB Wide) ena (LAB Wide) Local Routing aclr (LAB Wide) Register Bypass © 2009 年 11 月 Altera Corporation Register Feedback Register Chain Output Cyclone IV デバイス・ハンドブック Volume 1 2‒4 Cyclone IV デバイスのロジック・エレメントおよびロジック・アレイ・ブロック LE の動作モード 演算モード 演算モードは、加算器、カウンタ、アキュムレータ、およびコンパレータの実装に 最適です。演算モードにおいて、LE は 2 ビットの全加算器と基本的なキャリー・ チェイン(図 2-3)を実装します。また、演算モードの LE はラッチされた出力、ま たはラッチされていない出力のいずれの LUT 出力もドライブ・アウト可能です。レ ジスタ・フィードバックおよびレジスタ・パッキングは、LE が演算モードで使用さ れているときにサポートされます。 図 2-3 に、演算モードの LE を示します。 図 2-3. Cyclone IV デバイスの演算モードの LE Register Chain Connection Packed Register Input sload sclear (LAB Wide) (LAB Wide) data4 data1 data2 Three-Input LUT cin (from cout of previous LE) Row, Column, and Direct link routing ENA CLRN Row, Column, and Direct link routing Q data3 Three-Input LUT D clock (LAB Wide) ena (LAB Wide) Local Routing aclr (LAB Wide) cout Register Chain Output Register Bypass Register Feedback Quartus II のコンパイラは、デザイン処理中にキャリー・チェイン・ロジックを自動 的に作成しますが、ユーザーがデザインの入力時に手動で作成することもできます。 LPM ファンクションなどのパラメータ化されたファンクションは、キャリー・チェ インの利点を自動的に活用して、適切な機能を実現します。. Quartus II コンパイラは、同じカラムの複数の LAB を自動的にリンクさせて、16 個の LE よりも長いキャリー・チェインを作成します。フィッティング機能を強化するた めに、長いキャリー・チェインを垂直に並べ、ダイレクト・リンク・インタコネク トによって M9K メモリ・ブロックまたはエンベデッド・マルチプライヤへの水平方 向の接続を高速化することができます。例えば、デザインに M9K メモリ・ブロック のカラムに隣接する LAB カラムに長いキャリー・チェインがあった場合、どの LE 出 力も隣接する M9K メモリ・ブロックにダイレクト・リンク・インタコネクトを通じ て供給できます。キャリー・チェインが水平に並んでいる場合、M9K メモリ・ブ ロックのカラムに隣接していない LAB は、他のロウまたはカラム・インタコネクト を使用して、M9K メモリ・ブロックをドライブすることになります。キャリー・ チェインはカラム全体に延長します。 Cyclone IV デバイス・ハンドブック Volume 1 © 2009 年 11 月 Altera Corporation Cyclone IV デバイスのロジック・エレメントおよびロジック・アレイ・ブロック ロジック・アレイ・ブロック 2‒5 ロジック・アレイ・ブロック ロジック・アレイ・ブロックは、LE のグループで構成されています。 トポロジー 各 LAB は、以下の特長で構成されています。 ■ 16 LE ■ LAB コントロール信号 ■ LE キャリー・チェイン ■ レジスタ・チェイン ■ ローカル・インタコネクト ローカル・インタコネクトは、同一 LAB 内で LE 間の信号を転送します。レジスタ・ チェイン接続は、LAB 内の 1 つのレジスタ出力を隣接する LE のレジスタに転送しま す。Quartus II コンパイラは LAB または隣接 LAB 内に関連ロジックを生成し、ローカル 接続、およびレジスタ・チェイン接続の使用を可能にして性能と面積効率を高めま す。 図 2-4 に、Cyclone IV デバイスの LAB 構造を示します。 図 2-4. Cyclone IV デバイスの LAB 構造 Row Interconnect Column Interconnect Direct link interconnect from adjacent block Direct link interconnect from adjacent block Direct link interconnect to adjacent block Direct link interconnect to adjacent block LAB © 2009 年 11 月 Altera Corporation Local Interconnect Cyclone IV デバイス・ハンドブック Volume 1 2‒6 Cyclone IV デバイスのロジック・エレメントおよびロジック・アレイ・ブロック LAB コントロール信号 LAB インタコネクト LAB ローカル・インタコネクトは、同一 LAB 内のカラムとロウのインタコネクトお よび LE 出力によってドライブされます。ダイレクト・リンク接続を通して、左側ま たは右側の隣接 LAB、PLL、M9K RAM ブロック、およびエンベデッド・マルチプライ ヤが LAB のローカル・インタコネクトをドライブすることもできます。このダイレ クト・リンクによる接続機能は、ロウおよびカラム・インタコネクトの使用が最小 限で済むため、さらに高い性能と柔軟性を提供します。各 LE は、高速ローカル・イ ンタコネクトおよびダイレクト・リンク・インタコネクトによって、48 個の LE をド ライブできます。 図 2-5 に、ダイレクト・リンク・インタコネクトによる接続を示します。 図 2-5. Cyclone IV デバイスのダイレクト・リンク接続 Direct link interconnect from left LAB, M9K memory block, embedded multiplier, PLL, or IOE output Direct link interconnect from right LAB, M9K memory block, embedded multiplier, PLL, or IOE output Direct link interconnect to right Direct link interconnect to left Local Interconnect LAB LAB コントロール信号 各 LAB には、LE にコントロール信号をドライブするための専用ロジックが内蔵され ています。以下のコントロール信号があります。 ■ 2 つのクロック ■ 2 つのクロック・イネーブル ■ 2 つの非同期クリア ■ 1 つの同期クリア ■ 1 つの同期ロード これにより、一度に最大 8 本のコントロール信号を使用できます。レジスタのパッキ ングと同期ロードは、同時に使用できません。 各 LAB は、最大 4 本の非グローバル・コントロール・信号を持つことができます。 グローバル信号の場合は、追加の LAB コントロール信号を使用できます。 同期クリアおよびロード信号は、カウンタおよび他のファンクションを実装するの に有用です。同期クリアおよび同期ロード信号は、LAB ワイドの信号であるため、 LAB 内のすべてのレジスタに影響を与えます。 Cyclone IV デバイス・ハンドブック Volume 1 © 2009 年 11 月 Altera Corporation Cyclone IV デバイスのロジック・エレメントおよびロジック・アレイ・ブロック LAB コントロール信号 2‒7 各 LAB では、2 本のクロック信号と 2 本のクロック・イネーブル信号を使用できま す。各 LAB のクロック信号とクロック・イネーブル信号はリンクされています。例 えば、labclk1 信号を使用する特定の LAB の LE は、labclkena1 信号も使用しま す。クロックの立ち上がりと立ち下がりの双方のエッジを LAB 内で使用する場合、 LAB ワイドのクロック信号を 2 本とも使用します。クロック・イネーブル信号がディ アサートされると、LAB ワイドのクロック信号はオフになります。 LAB ロウ・クロック [5..0] および LAB ローカル・インタコネクトは、LAB ワイド のコントロール信号を生成します。MultiTrack インタコネクトに固有の低スキューに より、データに加えてクロックおよびコントロール信号を分配することができます。 図 2-6 に、LAB コントロール信号の生成回路を示します。 図 2-6. Cyclone IV デバイスの LAB ワイド・コントロール信号 Dedicated LAB Row Clocks 6 Local Interconnect Local Interconnect Local Interconnect Local Interconnect labclkena2 labclkena1 labclk1 labclk2 synclr labclr1 syncload labclr2 レジスタのクリア信号を実現するロジックは、LAB ワイド信号によって制御されま す。LE は非同期クリア機能を直接サポートします。各 LAB は、最大 2 本の非同期ク リア信号(labclr1 および labclr2)をサポートします。 レジスタのプリセット信号を実現するロジックを制御するための、LAB ワイドの非 同期ロード信号はありません。レジスタのプリセットは、NOT gate push-back テク ニックを使用して達成されます。Cyclone IV デバイスは、プリセットまたは非同期ク リア信号の一方のみサポートできます。 Cyclone IV デバイスでは、クリア・ポートの他に、デバイス内のすべてのレジスタを リセットするチップ・ワイドのリセット・ピン(DEV_CLRn)が提供されています。 このピンは、Quartus II ソフトウェアでコンパイルを行う前に設定されたオプション によって制御されます。このチップ・ワイドのリセット信号は、他のすべてのコント ロール信号よりも優先されます。 © 2009 年 11 月 Altera Corporation Cyclone IV デバイス・ハンドブック Volume 1 2‒8 Cyclone IV デバイスのロジック・エレメントおよびロジック・アレイ・ブロック 改訂履歴 改訂履歴 表 2–1 に、本資料の改訂履歴を示します。 表 2‒1. 改訂履歴 日付 2009 年 11 月 バージョン 1.0 Cyclone IV デバイス・ハンドブック Volume 1 変更内容 初版。 © 2009 年 11 月 Altera Corporation