June 2012 CV-52001-2.0 CV-52001-2.0 この章では Cyclone V コア ファブリック内のロジック アレイ ブロック (LAB) の機能を説明します LAB は ロジック ファンクション 演算ファンクション およびレジスタ ファンクションを実装するためにコンフィギュレーションできるアダプティブ ロジック モジュール () として知られる基本的なビルディング ブロックで構成されています Cyclone V デバイス内の使用可能な LAB のうち 4 分の 1 をメモリ LAB(MLAB) として使用することができます Quartus II ソフトウェアおよび他のサポートされたサードパーティ合成ツールは LPM(Library of Parameterized Modules) などのパラメータ化されたファンクションと併用することによって カウンタ 加算器 減算器 および演算ファンクションなどの一般的なファンクションに対して適切なモードを自動的に選択します この章は 以下のセクションで構成されています LAB 1 9 ページの 動作モード 2012 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, 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 www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. ISO 9001:2008 Registered Cyclone V 6 Feedback Subscribe
LAB は ロジック リソースのグループで構成されているコンフィギュレーション可能なロジック ブロックです 各 LAB には LE にコントロール信号をドライブするための専用ロジックが内蔵されています MLAB は LAB のスーパーセットで LAB の機能をすべて備えています 図 1 1 に LAB インタコネクトを持っている Cyclone V の LAB および MLAB の構造の概要を示します C2/C4 C12 Row interconnects of variable speed and length R14 R3/R6 s Direct link interconnect from adjacent block (1) Direct link interconnect from adjacent block Direct link interconnect to adjacent block Direct link interconnect to adjacent block Local interconnect 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 図 1 1 の注 : (1) 隣接する ALB メモリ ブロック ディジタル信号処理 (DSP) ブロック または I/O エレメント (IOE) 出力に接続します Cyclone V 6
MLAB は 最大 640 ビットのシンプル デュアル ポート SRAM をサポートします MLAB の各 を 32 x 2 のメモリ ブロックとしてコンフィギュレーションすると 32 x 20 のシンプル デュアル ポート SRAM ブロックをコンフィギュレーションできます 図 1 2 に LAB および MLAB のトポロジーを示します (1) -based-32 x 2 (1) -based-32 x 2 -based-32 x 2 (1) -based-32 x 2 (1) -based-32 x 2 (1) LAB Control Block -based-32 x 2 (1) -based-32 x 2 (1) -based-32 x 2 (1) -based-32 x 2 (1) -based-32 x 2 (1) MLAB LAB Control Block LAB 図 1 2 の注 : (1) MLAB を通常の LAB として使用するか またはデュアル ポート SRAM としてコンフィギュレーションできます 6 Cyclone V
各 LAB は高速ローカル インタコネクトとダイレクト リンク インタコネクトを介して 30 個の をドライブすることができます は与えられた任意の LAB 内にあり 10 個の が隣接する各 LAB 内にあります ローカル インタコネクトは 同一 LAB 内のカラムとロウのインタコネクトおよび 出力を使用して 同一 LAB 内の をドライブすることができます ダイレクト リンク接続を通して 左側または右側の隣接 LAB MLAB M10K ブロック あるいは DSP ブロックが LAB のローカル インタコネクトをドライブすることもできます このダイレクト リンク接続機能では ロウおよびカラム インタコネクトの使用を最小限に抑えるため さらに高い性能と柔軟性を提供します 図 1 3 に LAB の高速ローカル インタコネクトおよびダイレクト リンク インタコネクトを示します Direct link interconnect from left LAB, memory block, DSP block, or IOE output Direct link interconnect from right LAB, memory block, DSP block, or IOE output s s Direct link interconnect to left Fast local interconnect Direct link interconnect to right MLAB LAB Cyclone V 6
各 LAB には にコントロール信号をドライブするための専用ロジックが内蔵されており 2 本の固有のクロック ソースおよび 3 本のクロック イネーブル信号があります LAB コントロール ブロックは 2 本のクロック ソースと 3 本のクロック イネーブル信号を使用して 最大 3 本のクロックを生成します 各クロック信号とクロック イネーブル信号はリンクされています クロック イネーブル信号がデアサートされると 対応する LAB ワイドのクロック信号はオフになります 図 1 4 に LAB のクロック ソースおよびクロック イネーブル信号を示します There are two unique clock signals per LAB. Dedicated Row LAB Clocks 6 6 6 Local Interconnect Local Interconnect Local Interconnect Local Interconnect 図 1 4 の注 : (1) 詳しくは 1 8 ページの図 1 6 を参照してください labclk0 labclk1 labclk2 syncload labclr1 labclkena0 or asyncload or labpreset labclkena1 labclkena2 labclr0 synclr 6 Cyclone V
1 個の には 2 個のプログラマブル レジスタが含まれています 各レジスタには データ クロック 同期 / 非同期クリア および同期ロード ファンクションがあります グローバル信号 汎用 I/O ピン または任意の内部ロジックで レジスタのクロック コントロール信号とクリア コントロール信号をドライブすることができます GPIO ピンまたは内部ロジックでクロック イネーブル信号をドライブします 組み合わせファンクションを実現するときには レジスタがバイパスされ ルックアップ テーブル () の出力が の出力を直接ドライブします 図 1 5 に Cyclone V の上位レベルのブロック図を示します shared_arith_in carry_in reg_chain_in Combinational/ Memory A0 labclk dataf0 datae0 dataa 6-Input adder0 reg0 datab reg1 datac datad datae1 6-Input adder1 Combinational/ Memory A1 reg2 dataf1 D reg3 Q shared_arith_out carry_out reg_chain_out 1 Quartus II ソフトウェアは 最適化されたパフォーマンス用に を自動的にコンフィギュレーションします Cyclone V 6
加算器 またはレジスタ出力は 出力をドライブできます 出力のセットには 一般配線出力およびレジスタ チェイン出力の 2 種類があります 出力ドライバの各セットについて 2 本の 出力がカラム ロウ またはダイレクト リンク配線接続をドライブでき これらの 出力の 1 本はローカル インタコネクト リソースもドライブできます レジスタが出力をドライブしているとき または加算器は別の出力をドライブすることができます レジスタ パッキングは 別のレジスタおよび組み合わせロジックをシングル にパッキングできるようにすることで デバイスの稼働率を向上させます フィッティングを向上させる別のメカニズムは レジスタ出力を同じ のルックアップ テーブル () にフィードバックさせて レジスタを自身のファンアウト とパッキングできるようにする というものです また はラッチされた出力およびラッチされていない出力の両方の 出力または加算器出力もドライブ アウト可能です 6 Cyclone V
図 1 6 に 内のすべての接続の詳細図を示します shared_arith_in carry_in syncload aclr[1:0] clk[2:0] sclr reg_chain_in dataf0 datae0 dataa datab datac0 GND 3-Input + CLR row, column direct link routing 3-Input CLR row, column direct link routing local interconnect datac1 3-Input + CLR row, column direct link routing 3-Input VCC CLR row, column direct link routing local interconnect datae1 dataf1 reg_chain_out shared_arith_out carry_out Cyclone V 6
Cyclone V は 次の任意のモードで動作することができます ノーマル モード 拡張 モード 演算モード 共有演算モード 6 Cyclone V
LAB ローカル インタコネクトからの最大 8 本のデータ入力が組み合わせロジックの入力になります ノーマル モードでは 1 個の Cyclone V で 2 つのファンクション または 1 個の で最大 6 本の入力を持つ 1 つのファンクションを実装できます は 完全に独立したファンクションの特定の組み合わせおよび共通の入力を持つファンクションの様々な組み合わせをサポートできます Cyclone V 6
このモードでは 7 入力ファンクションがラッチされない場合は 未使用の 8 番目の入力をレジスタ パッキングに使用できます 1 図 1 7 に示すテンプレートに適合するファンクションは Verilog HDL または VHDL コードの if-else 文として デザインで自然に生じます 図 1 7 に 拡張 モードを使用してサポートされる 7 入力ファンクションのテンプレートを示します datae0 datac dataa datab datad dataf0 datae1 5-Input 5-Input combout0 D reg0 Q To gener al or To gener al or dataf1 (1) This input is available for register packing. 6 Cyclone V
演算モードの は 2 個の専用全加算器と共に 2 個の 4 入力 を 2 組使用します 専用加算器によって が加算器前ロジックを実行できるため 各加算器は 2 つの 4 入力ファンクションの出力を加算することができます は 組み合わせロジックの出力と加算器のキャリ出力の同時使用をサポートします この動作では 加算器の出力は無視されます 加算器と組み合わせロジックの出力を併用すると このモードを使用できるファンクションのリソースが最大 50% 節約されます 図 1 8 に 演算モードの を示します carry_in datae0 dataf0 datac datab dataa adder0 reg0 reg1 datad datae1 dataf1 carry_out adder1 reg2 reg3 Cyclone V 6
演算モードまたは共有演算モードにおいて キャリー チェインは 専用加算器間でのキャリー ファンクションを高速化します Cyclone V デバイスの 2 ビット キャリー選択機能は 内でキャリー チェインの伝播遅延を半減します キャリー チェインは LAB 内の最初の または 5 番目の から開始できます 最後のキャリー アウト信号は に接続され そこでローカル ロウ カラムのいずれかのインタコネクトに供給されます 高ファンイン演算ファンクションが実装されたときにデバイス内の 1 つの小さな領域で配線が密集するのを防ぐために LAB は次の LAB に接続する前に LAB の上半分または下半分のいずれかのみを使用するキャリー チェインをサポートできます これにより LAB 内の の別の半分をノーマル モードでより幅の狭いファンイン ファンクションの実装に使用できます 最初の LAB 内の上位 5 個の を使用するキャリー チェインは カラム内で次の LAB 内の の上半分に取り込みます 最初の LAB 内の下位 5 個の を使用するキャリー チェインは カラム内で次の LAB 内の の下半分に取り込みます LAB カラムの上半分および MLAB カラムの下半分をバイパスすることができます Quartus II Compiler は 複数の LAB を自動的にリンクさせることにより 20 個 ( 演算モードまたは共有演算モードでは 10 個 ) を超える で構成される長いキャリー チェインを作成します フィッティング機能を強化するため 長いキャリー チェインは垂直に並べ TriMatrix メモリおよび DSP ブロックへの水平方向の接続を高速化することができます キャリー チェインはカラム全体に延長できます 6 Cyclone V
共有演算モードでは で 3 入力加算を実装できます このモードは 4 入力 で をコンフィギュレーションします 各 は 3 本の入力の和または 3 本の入力のキャリーのいずれかを計算します キャリー計算の出力は 共有演算チェインと呼ばれる専用の接続を使用して 次の加算器に供給されます 図 1 9 に この機能を使用した を示します shared_arith_in carry_in labclk datae0 datac datab dataa reg0 reg1 datad datae1 shared_arith_out reg2 reg3 carry_out Cyclone V 6
拡張演算モードで使用可能な共有演算チェインは による 3 入力加算器の実装を可能にします これにより 大きな加算器ツリーまたは相関器ファンクションを実装するのに必要なリソースが大幅に削減されます キャリー チェインと同様に LAB カラムは 1 つおきに共有演算チェインも上半分または下半分をバイパス可能です この機能により 共有演算チェインを LAB 内の の半分でカスケード接続し 別の半分を幅の狭いファンイン ファンクションに使用できます LAB カラムは 1 つおきに上半分がバイパス可能で 他の LAB カラムは下半分がバイパス可能です 共有演算チェインは LAB 内の最初の または 6 番目の のいずれでも開始できます Quartus II Compiler は 複数の LAB を自動的にリンクさせることにより 20 個以上の ( 演算モードまたは共有演算モードでは 10 個の ) で構成される長い共有演算チェインを作成します フィッティング機能を強化するため 長い共有演算チェインは垂直に並べ TriMatrix メモリおよび DSP ブロックへの水平方向の接続を高速化することができます 共有演算チェインはカラム全体に延長できます 6 Cyclone V
表 1 1 に 本資料の改訂履歴を示します 日付 バージョン 変更内容 Quartus II ソフトウェア v12.0 リリースの更新 2012 年 6 月 2.0 章の再構成 図 1 6 の更新 2011 年 11 月 1.1 テキストのマイナーな編集 2011 年 10 月 1.0 初版 Cyclone V 6