(57)【要約】【課題】プログラマブルロジックエレメントの面積効率を好適に上げること。【解決手段】フラクチャブルロジックエレメント（２００）は、第一、第二、第三および第四の２入力ルックアップテーブル（２−ＬＵＴ）（２０２、２０４、２０６、２０８）を含む。該ロジックエレメントは、また、６個の入力（２１０、２１２、２１４、２１６、２１８、２２０）からなるセットと第一のモードおよび第二のモードで動作するように構成された制御回路（２２２）とを含む。制御回路（２２２）が第一のモードで動作するとき、第一の組み合わせ出力が、６個の入力からなるセットの４個の入力と、第一、第二、第三および第四の２−ＬＵＴとを使用して生成される。制御回路（２２２）が第二のモードで動作するとき、第二の組み合わせ出力が、６個の入力からなるセットの３個の入力からなる第一のサブセットと、第一および第二の２−ＬＵＴとを使用して生成される。【選択図】図２
2007089180.tif 000002
【特許請求の範囲】
【請求項１】
第一、第二、第三および第四の２入力ルックアップテーブル（２−ＬＵＴ）であって、各２−ＬＵＴは４個のメモリエレメントを含み、各メモリエレメントは１データビットを保持するように構成される、第一、第二、第三および第四の２−ＬＵＴと、
６個の入力からなるセットと、
第一のモードおよび第二のモードで動作するように構成された制御回路と
を備える、フラクチャブルロジックエレメントであって、
該制御回路が第一のモードで動作するとき、第一の組み合わせ出力が、該６個の入力からなるセットの４個の入力と、該第一、第二、第三および第四の２−ＬＵＴとを使用して生成され、
該制御回路が第二のモードで動作するとき、第二の組み合わせ出力が、該６個の入力からなるセットの３個の入力からなる第一のサブセットと、第一および第二の２−ＬＵＴとを使用して生成され、
該制御回路が第二のモードで動作するとき、第三の組み合わせ出力が、該６個の入力からなるセットの３個の入力からなる第二のサブセットと、第三および第四の２−ＬＵＴとを使用して生成され、該第一と第二のサブセットとは、該６個の入力からなるセットの重なり合わないサブセットである、フラクチャブルロジックエレメント。
【請求項２】
前記６個の入力からなるセットの第一および第四の入力に接続された入力と、前記第一および第二の２−ＬＵＴに接続された出力とを有する第一のマルチプレクサと、
前記６個の入力からなるセットの第二および第三の入力に接続された入力と、前記第一および第二の２−ＬＵＴに接続された出力とを有する第二のマルチプレクサと
をさらに備え、
前記制御回路は、該第一と第二のマルチプレクサの制御入力に接続され、
前記制御回路が前記第一のモードで動作するとき、該第一および第二のマルチプレクサは、該第四および第三の入力を、該第一および第二のマルチプレクサから前記第一および第二の２−ＬＵＴへの出力として、選択し、
前記制御回路が前記第二のモードで動作するとき、該第一および第二のマルチプレクサは、該第一および第二の入力を、該第一および第二のマルチプレクサから前記第一および第二の２−ＬＵＴへの出力として選択する、請求項１に記載のフラクチャブルロジックエレメント。
【請求項３】
前記第一、第二、第三および第四の２−ＬＵＴに接続されたマルチプレクサの階層をさらに備え、
前記制御回路が前記第二のモードで動作するとき、前記第一、第二、第三および第四の入力は、該マルチプレクサの階層によって、該マルチプレクサの階層に対する制御入力として使用される前記６個の入力からなるセットの第五および第六の入力を用いて、多重化される、請求項２に記載のフラクチャブルロジックエレメント。
【請求項４】
前記マルチプレクサの階層は、
前記第一および第二の２−ＬＵＴに接続された入力と、前記第五の入力に接続された制御入力とを有する第三のマルチプレクサと、
前記第三および第四の２−ＬＵＴに接続された入力と、前記第五の入力に接続された制御入力とを有する第四のマルチプレクサと、
該第三および第四のマルチプレクサに接続された入力と、前記第六の入力に接続された制御入力とを有する第五のマルチプレクサと
を含む、請求項３に記載のフラクチャブルロジックエレメント。
【請求項５】
前記第三および第四の２−ＬＵＴに接続された入力と、前記第六の入力に接続された制御入力とを有する第六のマルチプレクサと、
前記第四および第五のマルチプレクサの間に接続され、前記第四および第六のマルチプレクサに接続された入力を有する第七のマルチプレクサと、
該第七のマルチプレクサの制御入力に接続された第一のロジックゲートと、
前記第五のマルチプレクサの制御入力に接続され、該第一のロジックゲートおよび前記第六の入力に接続された入力を有する第二のロジックゲートと
をさらに備える、請求項４に記載のフラクチャブルロジックエレメント。
【請求項６】
以前のロジックエレメントと接続されたキャリーチェイン入力と、次のロジックエレメントと接続されたキャリーチェイン出力とを有する演算回路をさらに備え、
該演算回路は、前記第一および第二の２−ＬＵＴならびに該キャリーチェイン入力からの出力に基づいて、演算和を生成するように構成される、請求項１に記載のフラクチャブルロジックエレメント。
【請求項７】
キャリーチェイン入力と、前記６個の入力からなるセットの第一および第四の入力とに接続され、該キャリーチェイン入力ならびに該６個の入力からなるセットの第一および第四の入力に基づいて、演算和を生成する、第一の加算器回路と、
前記６個の入力からなるセットの第三および第四の入力とに接続され、該６個の入力からなるセットの第三および第四の入力に基づいて、演算和を生成する、第二の加算器回路と
をさらに備える、請求項１に記載のフラクチャブルロジックエレメント。
【請求項８】
前記６個の入力からなるセットの４個の入力を使用して、第一の登録出力を生成するために、あるいは、前記６個の入力からなるセットの３個の入力からなる第一のサブセットを使用して、第二の登録出力を生成するために、前記第一、第二、第三および第四の２−ＬＵＴの出力に接続されたフリップフロップをさらに備える、請求項１に記載のフラクチャブルロジックエレメント。
【請求項９】
前記第一および第二の２−ＬＵＴの出力に接続された第一の出力ラインと、
前記第一、第二、第三および第四の２−ＬＵＴの出力に接続された第二の出力ラインと、
前記フリップフロップに接続された第三の出力ラインと、
該第一、第二および第三の出力ラインに接続された入力を有する第一のマルチプレクサと、
該第一、第二および第三の出力ラインに接続された入力を有する第二のマルチプレクサと
をさらに備える、請求項８に記載のフラクチャブルロジックエレメント。
【請求項１０】
前記第一、第二、第三および第四の２−ＬＵＴに接続された入力を有する第一の４：１マルチプレクサと、
前記第一、第二、第三および第四の２−ＬＵＴに接続された入力を有する第二の４：１マルチプレクサと
をさらに備える、請求項１に記載のフラクチャブルロジックエレメント。
【請求項１１】
前記６個の入力からなるセットの第五および第一の入力に接続された入力と、第一および第二の２−ＬＵＴに接続された出力とを有する第一のマルチプレクサと、
前記６個の入力からなるセットの第二および第四の入力とに接続された入力、第三および第四の２−ＬＵＴに接続された出力とを有する第二のマルチプレクサと
をさらに備え、
前記制御回路が前記第一のモードで動作するとき、前記第一の４：１マルチプレクサは、前記６個の入力からなるセットの第一、第二、第五および第六の入力の第一の組み合わせ出力を生成し、前記第二の４：１マルチプレクサは、該６個の入力からなるセットの第一、第二、第三および第四の入力の第一の組み合わせ出力を生成し、
前記制御回路が前記第二のモードで動作するとき、前記第一の４：１マルチプレクサは、前記６個の入力からなるセットの第二、第五および第六の入力の第二の組み合わせ出力を生成し、前記第二の４：１マルチプレクサは、該６個の入力からなるセットの第一、第三および第四の入力の第三の組み合わせ出力を生成する、請求項１０に記載のフラクチャブルロジックエレメント。
【請求項１２】
前記第一および第三の入力とに接続された入力を備える第三のマルチプレクサをさらに備え、
前記第一のマルチプレクサが、前記第一の２−ＬＵＴに、前記６個の入力からなるセットの第一の入力を出力し、前記第二のマルチプレクサが、前記第四の２−ＬＵＴに、前記６個の入力からなるセットの第四の入力を出力し、該第三のマルチプレクサが、前記第三の２−ＬＵＴに、前記６個の入力からなるセットの第三の入力を出力するとき、
前記第一の４：１マルチプレクサは、該第一の４：１マルチプレクサ用の制御入力として使用される前記第五および第六の入力を用いて、該第一、第二、第三および第四の入力を多重化する、請求項１１に記載のフラクチャブルロジックエレメント。
【請求項１３】
前記第一の４：１マルチプレクサは、２：１マルチプレクサのツリーである、請求項１０に記載のフラクチャブルロジックエレメント。
【請求項１４】
請求項１に記載のロジックエレメントを備える、プログラマブルロジックデバイス。
【請求項１５】
請求項１４に記載のプログラマブルロジックデバイスを包含する、データ処理システム。
【請求項１６】
第一、第二、第三および第四の２入力ルックアップテーブル（２−ＬＵＴ）であって、各２−ＬＵＴは４個のメモリエレメントを含み、各メモリエレメントは１データビットを保持するように構成される、第一、第二、第三および第四の２−ＬＵＴと、
６個の入力からなるセットと、
該６個の入力からなるセットの４個に接続された入力と、該第一、第二、第三および第四の２−ＬＵＴの少なくとも２つに接続された出力と有するマルチプレクサのセットと、
該マルチプレクサのセットに接続され、第一のモードおよび第二のモードで動作するように構成された制御回路と
を備える、フラクチャブルロジックエレメントであって、
該制御回路が第一のモードで動作するとき、第一の組み合わせ出力が、該６個の入力からなるセットの４個の入力と、第一、第二、第三および第四の２−ＬＵＴとを使用して生成され、
該制御回路が第二のモードで動作するとき、第二の組み合わせ出力が、該６個の入力からなるセットの３個の入力からなる第一のサブセットと、第一および第二の２−ＬＵＴとを使用して生成され、
該制御回路が第二のモードで動作するとき、第三の組み合わせ出力が、該６個の入力からなるセットの３個の入力からなる第二のサブセットと、第三および第四の２−ＬＵＴとを使用して生成され、該第一と該第二のサブセットとは、該６個の入力からなるセットの重なり合わないサブセットである、フラクチャブルロジックエレメント。
【請求項１７】
前記マルチプレクサのセットは、
前記６個の入力からなるセットの第一および第四の入力に接続された入力と、前記第一および第二の２−ＬＵＴに接続された出力とを有する第一のマルチプレクサと、
前記６個の入力からなるセットの第二および第三の入力に接続された入力と、前記第一および第二の２−ＬＵＴに接続された出力とを有する第二のマルチプレクサと
をさらに備え、
前記制御回路は、該第一および第二のマルチプレクサの制御入力に接続され、
前記制御回路が前記第一のモードで動作するとき、該第一および第二のマルチプレクサは、前記第四および第三の入力を、該第一および第二のマルチプレクサから前記第一および第二の２−ＬＵＴへの出力として選択し、
前記制御回路が前記第二のモードで動作するとき、該第一および第二のマルチプレクサは、前記第一および第二の入力を、該第一および第二のマルチプレクサから前記第一および第二の２−ＬＵＴへの出力として選択する、請求項１６に記載のフラクチャブルロジックエレメント。
【請求項１８】
前記６個の入力からなるセットの第五および第一の入力に接続された入力と、前記第一および第二の２−ＬＵＴに接続された出力とを有する第一のマルチプレクサと、
前記６個の入力からなるセットの第二および第四の入力に接続された入力と、前記第三および第四の２−ＬＵＴに接続された出力とを有する第二のマルチプレクサと
をさらに備え、
前記制御回路は、該第一および第二のマルチプレクサの制御入力に接続され、
前記制御回路が前記第一のモードで動作するとき、該第一および第二のマルチプレクサは、前記第一および第二の入力を、該第一および第二のマルチプレクサからの出力として選択し、
前記制御回路が前記第二のモードで動作するとき、該第一および第二のマルチプレクサは、前記第五および第四の入力を、該第一および第二のマルチプレクサからの出力として選択する、請求項１６に記載のフラクチャブルロジックエレメント。
【請求項１９】
前記第一、第二、第三および第四の２−ＬＵＴに接続された入力を有する第一の４：１マルチプレクサと、
前記第一、第二、第三および第四の２−ＬＵＴに接続された入力を有する第二の４：１マルチプレクサと
をさらに備え、
前記制御回路が前記第一のモードで動作するとき、該第一の４：１マルチプレクサは、前記６個の入力からなるセットの第一、第二、第五および第六の入力の第一の組み合わせ出力を生成し、該第二の４：１マルチプレクサは、該６個の入力からなるセットの第一、第二、第三および第四の入力の第一の組み合わせ出力を生成し、
前記制御回路が前記第二のモードで動作するとき、該第一の４：１マルチプレクサは、前記６個の入力からなるセットの第二、第五および第六の入力の第二の組み合わせ出力を生成し、該第二の４：１マルチプレクサは、該６個の入力からなるセットの第一、第三および第四の入力の第三の組み合わせ出力を生成する、請求項１８に記載のフラクチャブルロジックエレメント。
【請求項２０】
第一、第二、第三および第四の２入力ルックアップテーブル（２−ＬＵＴ）を形成するステップであって、各２−ＬＵＴは４個のメモリエレメントを含み、各メモリエレメントは１データビットを保持するように構成される、ステップと、
６個の入力ラインからなるセットを形成するステップと、
第一のモードおよび第二のモードで動作するように構成された制御回路を形成するステップと
を包含する、フラクチャブルロジックエレメントを製造する方法であって、
該制御回路が第一のモードで動作するとき、第一の組み合わせ出力が、該６個の入力ラインからなるセットの４個の入力ラインと、該第一、第二、第三および第四の２−ＬＵＴとを使用して生成され、
該制御回路が第二のモードで動作するとき、第二の組み合わせ出力が、該６個の入力ラインからなるセットの３個の入力ラインからなる第一のサブセットと、第一および第二の２−ＬＵＴとを使用して生成され、
該制御回路が第二のモードで動作するとき、第三の組み合わせ出力が、該６個の入力ラインからなるセットの３個の入力ラインからなる第二のサブセットと、第三および第四の２−ＬＵＴとを使用して生成され、該第一と該第二のサブセットとは、該６個の入力ラインからなるセットの重なり合わないサブセットである、方法。
【請求項２１】
第一のマルチプレクサの入力を前記６個の入力ラインからなるセットの第一および第四の入力ラインに接続するステップと、
該第一のマルチプレクサの出力を前記第一および第二の２−ＬＵＴに接続するステップと、
第二のマルチプレクサの入力を前記６個の入力ラインからなるセットの第二および第三の入力ラインに接続するステップと、
該第二のマルチプレクサの出力を前記第一および第二の２−ＬＵＴに接続するステップと、
前記制御回路を該第一および第二のマルチプレクサの制御入力に接続するステップと
をさらに包含し、
前記制御回路が前記第一のモードで動作するとき、該第一および第二のマルチプレクサは、該第四および第三の入力ラインを選択し、
前記制御回路が前記第二のモードで動作するとき、該第一および第二のマルチプレクサは、該第一および第二の入力ラインを選択する、請求項２０に記載の方法。
【請求項２２】
第一のマルチプレクサの入力を前記６個の入力ラインからなるセットの第五および第一の入力ラインに接続するステップと、
該第一のマルチプレクサの出力を前記第一および第二の２−ＬＵＴに接続するステップと、
第二のマルチプレクサの入力を前記６個の入力ラインからなるセットの第二および第四の入力ラインに接続するステップと、
該第二のマルチプレクサの出力を前記第三および第四の２−ＬＵＴに接続するステップと、
前記制御回路を該第一および第二のマルチプレクサの制御入力に接続するステップと
をさらに包含し、
前記制御回路が前記第一のモードで動作するとき、該第一および第二のマルチプレクサは、該第一および第二の入力ラインを選択し、
前記制御回路が前記第二のモードで動作するとき、該第一および第二のマルチプレクサは、該第五および第四の入力ラインを選択する、請求項２０に記載の方法。
【請求項２３】
第一の４：１マルチプレクサの入力を前記第一、第二、第三および第四の２−ＬＵＴに接続するステップと、
第二の４：１マルチプレクサの入力を前記第一、第二、第三および第四の２−ＬＵＴに接続するステップと
をさらに包含し、
前記制御回路が前記第一のモードで動作するとき、該第一および第二の４：１マルチプレクサは、第一の組み合わせ出力を生成し、
前記制御回路が前記第二のモードで動作するとき、該第一の４：１マルチプレクサは、第二の組み合わせ出力を生成し、該第二の４：１マルチプレクサは、第三の組み合わせ出力を生成する、請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、プログラマブルロジックデバイスまたは他の同様なデバイスに使用されるロジックエレメントに関する。
【背景技術】
【０００２】
プログラマブルロジックデバイス（「ＰＬＤ」）（ＣＰＬＤ、ＰＡＬ、ＰＬＡ、ＦＰＬＡ、ＥＰＬＤ、ＥＥＰＬＤ、ＬＣＡ、ＦＰＧＡまたは他の名称で呼ばれ得る）は、カスタム集積回路の柔軟性を備えた固定集積回路の利点を提供する周知の集積回路である。このようなデバイスは、業界では周知で、典型的には、ユーザの特定のニーズに合うように電気的にプログラムされ得る部分を少なくとも有する「既製品」デバイスを提供する。特定用途向け集積回路（「ＡＳＩＣ」）は、従来は、固定集積回路であったが、プログラマブルである部分を有するＡＳＩＣを提供することが可能である。このように、集積回路デバイスにとって、集積回路デバイスが、ＡＳＩＣおよびＰＬＤの双方の品質を有するようにすることは可能である。本明細書にて使用されるＰＬＤという用語は、このようなデバイスを含む幅広い意味で考えられる。
【０００３】
ＰＬＤは、典型的には、ロジックエレメントのブロックを含み、このロジックエレメントは、ときどき、ロジックアレイブロック（「ＬＡＢ」）あるいは「コンフィギュラブルロジックブロック」（「ＣＬＢ」）と称される。「ロジック回路」または「ロジックセル」というような別称もあるロジックエレメント（「ＬＥ」）は、ルックアップテーブル（「ＬＵＴ」）、プロダクトターム、実行チェーン、レジスタおよび他のエレメントを含み得る。
【０００４】
ロジックエレメントは、ＬＵＴベースのロジックエレメントも含め、典型的には、構成データを保持するコンフィギュラブルエレメントを含む。コンフィギュラブルエレメントは、ロジックエレメントによって実行される特定の機能を決定する。典型的なＬＵＴ回路は、データ（「１」または「０」）を保持するＲＡＭビットを含み得る。しかしながら、他のタイプのコンフィギュラブルエレメントも使用され得る。一部の例には、静的、磁気的、強誘電体あるいは動的なランダムアクセスメモリ、電気的消去可能な読み込み専用メモリ、フラッシュ、ヒューズおよびアンチヒューズのプログラマブル接続を含み得る。構成エレメントのプログラミングは、また、デバイス製造時に、マスクプログラミングを介してもインプリメントされ得る。マスクプログラミングは、先に挙げたフィールドプログラマブルなオプションの一部では不利でもあり得るが、特定の高容量におけるアプリケーションにおいて有用であり得る。本明細書の目的において、「メモリエレメント」は、ＰＬＤによってインプリメントされる機能を決定するために構成され得る任意のプログラマブルエレメントを意味して使用される。
【０００５】
上述のように、ＰＬＤは、基本ロジックエレメントとして、ルックアップテーブル（ＬＵＴ）を使用して、構築される。例えば、Ｋ−入力ルックアップテーブル（Ｋ−ＬＵＴ）は、典型的には２Ｋ個のプログラマブルメモリエレメントと、２Ｋ〜１個のマルチプレクサツリーを含む。このツリーは、マルチプレクサへのＫ個の選択入力の制御下にあるストレージエレメントの１つを選択する。これらＫ個の入力は、Ｋ−入力ロジック機能への入力であると考えられ得る。Ｋ−入力ロジック機能は、メモリエレメントの中身に適切な値を設定することで、任意の特定の必要とされるロジック機能をインプリメントできる
ＬＵＴを備えたロジック回路のコストと速度との間には、トレードオフの関係がある。典型的には、各ＬＵＴのコストは、Ｋ個の選択によって、指数関数的に大きくなるが、ロジック回路の構築に必要とされるＬＵＴの数は、Ｋの値が大きければ、よりゆっくりと減少する。しかしながら、大きな値のＫに対して直列であると、ＬＵＴの数は減らすことができ、ロジック回路をより速くすることができる。例えば、単一のＬＵＴを構築するために、Ｋ＝４のとき、１６個のメモリエレメントと、１６：１マルチプレクサが必要とされ、Ｋ＝６のとき、６４個のメモリエレメントと、６４：１マルチプレクサが必要とされる。所定のロジック回路は、１０００個の４−ＬＵＴを必要とし得るが、８００個の６−ＬＵＴのみを必要とし得る。このような仮定の下、６−ＬＵＴを構築するために、さらなるハードウェアが必要とされる。なぜなら、ＬＵＴの数を減らすと、各ＬＵＴの更なる複雑化を補償するのに十分でないからである。ロジック回路を介する最長の経路は、１０個の４−ＬＵＴに対し、８個の６−ＬＵＴであり得る。このように、回路の６−ＬＵＴバージョンは、大きくなり得るが、高速になり得る。さらに、６−ＬＵＴ回路は、ＰＬＤにおいて、プログラマブルなルーティングをさほど要求しないので、コストアップを幾分か抑えられる。
【０００６】
大きなＬＵＴが効率性を欠く理由の一つは、全てのロジック機能が、全てのＫ個の入力に使用されないからである。上述の例では、８００個の６−ＬＵＴは、現実には、３００個の６−入力機能、３００個の５−入力機能、１００個の４−入力機能、および、１００個の３入力機能を含む。このように、６−ＬＵＴに基づくＬＥは、８００個のインスタンスに対し、その最大限界を使用しているのは、３００個のインスタンスのみに過ぎない。
【０００７】
このように、プログラマブルな構造を有するロジックエレメントが、比較的大きなＬＵＴあるいは複数の小さなＬＵＴをインプリメントするように構成され得ることに対して、ニーズがある。
【発明の開示】
【課題を解決するための手段】
【０００８】
好ましい一実施形態において、フラクチャブル（ｆｒａｃｔｕｒａｂｌｅ）ロジックエレメントは、第一、第二、第三および第四の２入力ルックアップテーブル（２−ＬＵＴ）を含む。各２−ＬＵＴは、４つのメモリエレメントを含む。各メモリエレメントは、１データビットを保持するように構成される。フラクチャブルロジックエレメントは、また、６個の入力からなるセットと第一のモードおよび第二のモードで動作するように構成された制御回路とを含む。制御回路が第一のモードで動作するとき、第一の組み合わせ出力が、６個の入力からなるセットの４個の入力と、該第一、第二、第三および第四の２−ＬＵＴとを使用して生成される。制御回路が第二のモードで動作するとき、第二の組み合わせ出力が、６個の入力からなるセットの３個の入力からなる第一のサブセットと、第一および第二の２−ＬＵＴとを使用して生成される。さらに、制御回路が第二のモードで動作するとき、第三の組み合わせ出力が、６個の入力からなるセットの３個の入力からなる第二のサブセットと、第三および第四の２−ＬＵＴとを使用して生成される。第一と第二のサブセットとは、６個の入力からなるセットの重なり合わない（ｎｏｎ−ｉｎｔｅｒｓｅｃｔｉｎｇ）サブセットである。
【０００９】
本発明は、さらに以下の手段を提供する。
【００１０】
（項目１）
第一、第二、第三および第四の２入力ルックアップテーブル（２−ＬＵＴ）であって、各２−ＬＵＴは４個のメモリエレメントを含み、各メモリエレメントは１データビットを保持するように構成される、第一、第二、第三および第四の２−ＬＵＴと、
６個の入力からなるセットと、
第一のモードおよび第二のモードで動作するように構成された制御回路と
を備える、フラクチャブルロジックエレメントであって、
該制御回路が第一のモードで動作するとき、第一の組み合わせ出力が、該６個の入力からなるセットの４個の入力と、該第一、第二、第三および第四の２−ＬＵＴとを使用して生成され、
該制御回路が第二のモードで動作するとき、第二の組み合わせ出力が、該６個の入力からなるセットの３個の入力からなる第一のサブセットと、第一および第二の２−ＬＵＴとを使用して生成され、
該制御回路が第二のモードで動作するとき、第三の組み合わせ出力が、該６個の入力からなるセットの３個の入力からなる第二のサブセットと、第三および第四の２−ＬＵＴとを使用して生成され、該第一と第二のサブセットとは、該６個の入力からなるセットの重なり合わないサブセットである、フラクチャブルロジックエレメント。
【００１１】
（項目２）
上記６個の入力からなるセットの第一および第四の入力に接続された入力と、上記第一および第二の２−ＬＵＴに接続された出力とを有する第一のマルチプレクサと、
上記６個の入力からなるセットの第二および第三の入力に接続された入力と、上記第一および第二の２−ＬＵＴに接続された出力とを有する第二のマルチプレクサと
をさらに備え、
上記制御回路は、該第一と第二のマルチプレクサの制御入力に接続され、
上記制御回路が上記第一のモードで動作するとき、該第一および第二のマルチプレクサは、該第四および第三の入力を、該第一および第二のマルチプレクサから上記第一および第二の２−ＬＵＴへの出力として、選択し、
上記制御回路が上記第二のモードで動作するとき、該第一および第二のマルチプレクサは、該第一および第二の入力を、該第一および第二のマルチプレクサから上記第一および第二の２−ＬＵＴへの出力として選択する、項目１に記載のフラクチャブルロジックエレメント。
【００１２】
（項目３）
上記第一、第二、第三および第四の２−ＬＵＴに接続されたマルチプレクサの階層をさらに備え、
上記制御回路が上記第二のモードで動作するとき、上記第一、第二、第三および第四の入力は、該マルチプレクサの階層によって、該マルチプレクサの階層に対する制御入力として使用される上記６個の入力からなるセットの第五および第六の入力を用いて、多重化される、項目２に記載のフラクチャブルロジックエレメント。
【００１３】
（項目４）
上記マルチプレクサの階層は、
上記第一および第二の２−ＬＵＴに接続された入力と、上記第五の入力に接続された制御入力とを有する第三のマルチプレクサと、
上記第三および第四の２−ＬＵＴに接続された入力と、上記第五の入力に接続された制御入力とを有する第四のマルチプレクサと、
該第三および第四のマルチプレクサに接続された入力と、上記第六の入力に接続された制御入力とを有する第五のマルチプレクサと
を含む、項目３に記載のフラクチャブルロジックエレメント。
【００１４】
（項目５）
上記第三および第四の２−ＬＵＴに接続された入力と、上記第六の入力に接続された制御入力とを有する第六のマルチプレクサと、
上記第四および第五のマルチプレクサの間に接続され、上記第四および第六のマルチプレクサに接続された入力を有する第七のマルチプレクサと、
該第七のマルチプレクサの制御入力に接続された第一のロジックゲートと、
上記第五のマルチプレクサの制御入力に接続され、該第一のロジックゲートおよび上記第六の入力に接続された入力を有する第二のロジックゲートと
をさらに備える、項目４に記載のフラクチャブルロジックエレメント。
【００１５】
（項目６）
以前の（ｐｒｅｖｉｏｕｓ）ロジックエレメントと接続されたキャリーチェイン（ｃａｒｒｙ−ｃｈａｉｎ）入力と、次の（ｓｕｂｓｅｑｕｅｎｔ）ロジックエレメントと接続されたキャリーチェイン出力とを有する演算回路をさらに備え、
該演算回路は、上記第一および第二の２−ＬＵＴならびに該キャリーチェイン入力からの出力に基づいて、演算和を生成するように構成される、項目１に記載のフラクチャブルロジックエレメント。
【００１６】
（項目７）
キャリーチェイン入力と、上記６個の入力からなるセットの第一および第四の入力とに接続され、該キャリーチェイン入力ならびに該６個の入力からなるセットの第一および第四の入力に基づいて、演算和を生成する、第一の加算器回路と、
上記６個の入力からなるセットの第三および第四の入力とに接続され、該６個の入力からなるセットの第三および第四の入力に基づいて、演算和を生成する、第二の加算器回路と
をさらに備える、項目１に記載のフラクチャブルロジックエレメント。
【００１７】
（項目８）
上記６個の入力からなるセットの４個の入力を使用して、第一の登録出力を生成するために、あるいは、上記６個の入力からなるセットの３個の入力からなる第一のサブセットを使用して、第二の登録出力を生成するために、上記第一、第二、第三および第四の２−ＬＵＴの出力に接続されたフリップフロップをさらに備える、項目１に記載のフラクチャブルロジックエレメント。
【００１８】
（項目９）
上記第一および第二の２−ＬＵＴの出力に接続された第一の出力ラインと、
上記第一、第二、第三および第四の２−ＬＵＴの出力に接続された第二の出力ラインと、
上記フリップフロップに接続された第三の出力ラインと、
該第一、第二および第三の出力ラインに接続された入力を有する第一のマルチプレクサと、
該第一、第二および第三の出力ラインに接続された入力を有する第二のマルチプレクサと
をさらに備える、項目８に記載のフラクチャブルロジックエレメント。
【００１９】
（項目１０）
上記第一、第二、第三および第四の２−ＬＵＴに接続された入力を有する第一の４：１マルチプレクサと、
上記第一、第二、第三および第四の２−ＬＵＴに接続された入力を有する第二の４：１マルチプレクサと
をさらに備える、項目１に記載のフラクチャブルロジックエレメント。
【００２０】
（項目１１）
上記６個の入力からなるセットの第五および第一の入力に接続された入力と、第一および第二の２−ＬＵＴに接続された出力とを有する第一のマルチプレクサと、
上記６個の入力からなるセットの第二および第四の入力とに接続された入力、第三および第四の２−ＬＵＴに接続された出力とを有する第二のマルチプレクサと
をさらに備え、
上記制御回路が上記第一のモードで動作するとき、上記第一の４：１マルチプレクサは、上記６個の入力からなるセットの第一、第二、第五および第六の入力の第一の組み合わせ出力を生成し、上記第二の４：１マルチプレクサは、該６個の入力からなるセットの第一、第二、第三および第四の入力の第一の組み合わせ出力を生成し、
上記制御回路が上記第二のモードで動作するとき、上記第一の４：１マルチプレクサは、上記６個の入力からなるセットの第二、第五および第六の入力の第二の組み合わせ出力を生成し、上記第二の４：１マルチプレクサは、該６個の入力からなるセットの第一、第三および第四の入力の第三の組み合わせ出力を生成する、項目１０に記載のフラクチャブルロジックエレメント。
【００２１】
（項目１２）
上記第一および第三の入力とに接続された入力を備える第三のマルチプレクサをさらに備え、
上記第一のマルチプレクサが、上記第一の２−ＬＵＴに、上記６個の入力からなるセットの第一の入力を出力し、上記第二のマルチプレクサが、上記第四の２−ＬＵＴに、上記６個の入力からなるセットの第四の入力を出力し、該第三のマルチプレクサが、上記第三の２−ＬＵＴに、上記６個の入力からなるセットの第三の入力を出力するとき、
上記第一の４：１マルチプレクサは、該第一の４：１マルチプレクサ用の制御入力として使用される上記第五および第六の入力を用いて、該第一、第二、第三および第四の入力を多重化する、項目１１に記載のフラクチャブルロジックエレメント。
【００２２】
（項目１３）
上記第一の４：１マルチプレクサは、２：１マルチプレクサのツリーである、項目１０に記載のフラクチャブルロジックエレメント。
【００２３】
（項目１４）
項目１に記載のロジックエレメントを備える、プログラマブルロジックデバイス。
【００２４】
（項目１５）
項目１４に記載のプログラマブルロジックデバイスを包含する、データ処理システム。
【００２５】
（項目１６）
第一、第二、第三および第四の２入力ルックアップテーブル（２−ＬＵＴ）であって、各２−ＬＵＴは４個のメモリエレメントを含み、各メモリエレメントは１データビットを保持するように構成される、第一、第二、第三および第四の２−ＬＵＴと、
６個の入力からなるセットと、
該６個の入力からなるセットの４個に接続された入力と、該第一、第二、第三および第四の２−ＬＵＴの少なくとも２つに接続された出力と有するマルチプレクサのセットと、
該マルチプレクサのセットに接続され、第一のモードおよび第二のモードで動作するように構成された制御回路と
を備える、フラクチャブルロジックエレメントであって、
該制御回路が第一のモードで動作するとき、第一の組み合わせ出力が、該６個の入力からなるセットの４個の入力と、第一、第二、第三および第四の２−ＬＵＴとを使用して生成され、
該制御回路が第二のモードで動作するとき、第二の組み合わせ出力が、該６個の入力からなるセットの３個の入力からなる第一のサブセットと、第一および第二の２−ＬＵＴとを使用して生成され、
該制御回路が第二のモードで動作するとき、第三の組み合わせ出力が、該６個の入力からなるセットの３個の入力からなる第二のサブセットと、第三および第四の２−ＬＵＴとを使用して生成され、該第一と該第二のサブセットとは、該６個の入力からなるセットの重なり合わないサブセットである、フラクチャブルロジックエレメント。
【００２６】
（項目１７）
上記マルチプレクサのセットは、
上記６個の入力からなるセットの第一および第四の入力に接続された入力と、上記第一および第二の２−ＬＵＴに接続された出力とを有する第一のマルチプレクサと、
上記６個の入力からなるセットの第二および第三の入力に接続された入力と、上記第一および第二の２−ＬＵＴに接続された出力とを有する第二のマルチプレクサと
をさらに備え、
上記制御回路は、該第一および第二のマルチプレクサの制御入力に接続され、
上記制御回路が上記第一のモードで動作するとき、該第一および第二のマルチプレクサは、上記第四および第三の入力を、該第一および第二のマルチプレクサから上記第一および第二の２−ＬＵＴへの出力として選択し、
上記制御回路が上記第二のモードで動作するとき、該第一および第二のマルチプレクサは、上記第一および第二の入力を、該第一および第二のマルチプレクサから上記第一および第二の２−ＬＵＴへの出力として選択する、項目１６に記載のフラクチャブルロジックエレメント。
【００２７】
（項目１８）
上記６個の入力からなるセットの第五および第一の入力に接続された入力と、上記第一および第二の２−ＬＵＴに接続された出力とを有する第一のマルチプレクサと、
上記６個の入力からなるセットの第二および第四の入力に接続された入力と、上記第三および第四の２−ＬＵＴに接続された出力とを有する第二のマルチプレクサと
をさらに備え、
上記制御回路は、該第一および第二のマルチプレクサの制御入力に接続され、
上記制御回路が上記第一のモードで動作するとき、該第一および第二のマルチプレクサは、上記第一および第二の入力を、該第一および第二のマルチプレクサからの出力として選択し、
上記制御回路が上記第二のモードで動作するとき、該第一および第二のマルチプレクサは、上記第五および第四の入力を、該第一および第二のマルチプレクサからの出力として選択する、項目１６に記載のフラクチャブルロジックエレメント。
【００２８】
（項目１９）
上記第一、第二、第三および第四の２−ＬＵＴに接続された入力を有する第一の４：１マルチプレクサと、
上記第一、第二、第三および第四の２−ＬＵＴに接続された入力を有する第二の４：１マルチプレクサと
をさらに備え、
上記制御回路が上記第一のモードで動作するとき、該第一の４：１マルチプレクサは、上記６個の入力からなるセットの第一、第二、第五および第六の入力の第一の組み合わせ出力を生成し、該第二の４：１マルチプレクサは、該６個の入力からなるセットの第一、第二、第三および第四の入力の第一の組み合わせ出力を生成し、
上記制御回路が上記第二のモードで動作するとき、該第一の４：１マルチプレクサは、上記６個の入力からなるセットの第二、第五および第六の入力の第二の組み合わせ出力を生成し、該第二の４：１マルチプレクサは、該６個の入力からなるセットの第一、第三および第四の入力の第三の組み合わせ出力を生成する、項目１８に記載のフラクチャブルロジックエレメント。
【００２９】
（項目２０）
第一、第二、第三および第四の２入力ルックアップテーブル（２−ＬＵＴ）を形成するステップであって、各２−ＬＵＴは４個のメモリエレメントを含み、各メモリエレメントは１データビットを保持するように構成される、ステップと、
６個の入力ラインからなるセットを形成するステップと、
第一のモードおよび第二のモードで動作するように構成された制御回路を形成するステップと
を包含する、フラクチャブルロジックエレメントを製造する方法であって、
該制御回路が第一のモードで動作するとき、第一の組み合わせ出力が、該６個の入力ラインからなるセットの４個の入力ラインと、該第一、第二、第三および第四の２−ＬＵＴとを使用して生成され、
該制御回路が第二のモードで動作するとき、第二の組み合わせ出力が、該６個の入力ラインからなるセットの３個の入力ラインからなる第一のサブセットと、第一および第二の２−ＬＵＴとを使用して生成され、
該制御回路が第二のモードで動作するとき、第三の組み合わせ出力が、該６個の入力ラインからなるセットの３個の入力ラインからなる第二のサブセットと、第三および第四の２−ＬＵＴとを使用して生成され、該第一と該第二のサブセットとは、該６個の入力ラインからなるセットの重なり合わないサブセットである、方法。
【００３０】
（項目２１）
第一のマルチプレクサの入力を上記６個の入力ラインからなるセットの第一および第四の入力ラインに接続するステップと、
該第一のマルチプレクサの出力を上記第一および第二の２−ＬＵＴに接続するステップと、
第二のマルチプレクサの入力を上記６個の入力ラインからなるセットの第二および第三の入力ラインに接続するステップと、
該第二のマルチプレクサの出力を上記第一および第二の２−ＬＵＴに接続するステップと、
上記制御回路を該第一および第二のマルチプレクサの制御入力に接続するステップと
をさらに包含し、
上記制御回路が上記第一のモードで動作するとき、該第一および第二のマルチプレクサは、該第四および第三の入力ラインを選択し、
上記制御回路が上記第二のモードで動作するとき、該第一および第二のマルチプレクサは、該第一および第二の入力ラインを選択する、項目２０に記載の方法。
【００３１】
（項目２２）
第一のマルチプレクサの入力を上記６個の入力ラインからなるセットの第五および第一の入力ラインに接続するステップと、
該第一のマルチプレクサの出力を上記第一および第二の２−ＬＵＴに接続するステップと、
第二のマルチプレクサの入力を上記６個の入力ラインからなるセットの第二および第四の入力ラインに接続するステップと、
該第二のマルチプレクサの出力を上記第三および第四の２−ＬＵＴに接続するステップと、
上記制御回路を該第一および第二のマルチプレクサの制御入力に接続するステップと
をさらに包含し、
上記制御回路が上記第一のモードで動作するとき、該第一および第二のマルチプレクサは、該第一および第二の入力ラインを選択し、
上記制御回路が上記第二のモードで動作するとき、該第一および第二のマルチプレクサは、該第五および第四の入力ラインを選択する、項目２０に記載の方法。
【００３２】
（項目２３）
第一の４：１マルチプレクサの入力を上記第一、第二、第三および第四の２−ＬＵＴに接続するステップと、
第二の４：１マルチプレクサの入力を上記第一、第二、第三および第四の２−ＬＵＴに接続するステップと
をさらに包含し、
上記制御回路が上記第一のモードで動作するとき、該第一および第二の４：１マルチプレクサは、第一の組み合わせ出力を生成し、
上記制御回路が上記第二のモードで動作するとき、該第一の４：１マルチプレクサは、第二の組み合わせ出力を生成し、該第二の４：１マルチプレクサは、第三の組み合わせ出力を生成する、項目２２に記載の方法。
【発明を実施するための最良の形態】
【００３３】
図１を参照すると、例示的な２入力ルックアップテーブル（２−ＬＵＴ）１００が図示されている。２−ＬＵＴ１００は、２：１マルチプレクサ１０４，１０６に接続されたメモリエレメント１０２を含む。特に、各メモリエレメント１０２は、１データビット（すなわち、１または０）を記憶することができ、各々は、マルチプレクサ１０４、１０６の入力に上記ビットを提供するように接続されている。図１に示されているように、マルチプレクサ１０４，１０６の制御入力は、入力１１０に接続されている。マルチプレクサ１０４、１０６の出力は、２：１マルチプレクサ１０８に接続されている。マルチプレクサ１０８の制御入力は、入力１１２に接続されている。このため、入力１１０，１１２は、メモリエレメント１０２のうちの任意の１つを２−ＬＵＴ１００の出力１１４として選択するように使用され得る。
【００３４】
図２を参照すると、フラクチャブルロジックエレメント２００の第１の例示的実施形態が示されている。ロジックエレメント２００は、４つの２−ＬＵＴ２０２，２０４，２０６および２０８と、６つの入力２１０，２１２，２１４，２１６，２１８、および２２０のセットとを含む。各２−ＬＵＴ２０２，２０４，２０６および２０８は、４つのメモリエレメントを含む。このため、ロジックエレメント２００は、総計１６個のメモリエレメントを含み、それらはまたＬＵＴマスクと呼称される。フラクチャブルロジックエレメントに関する追加的な記述としては、２００３年２月１０日に出願され、「ＦＲＡＣＴＵＲＡＢＬＥ  ＬＯＯＫＵＰ  ＴＡＢＬＥ  ＡＮＤ  ＬＯＧＩＣ  ＥＬＥＭＥＮＴ」と題された米国特許出願シリアル番号１０／３６４，３１０号を参照されたい。上記特許出願は、参照のため、その全体が本明細書に援用される。
【００３５】
ロジックエレメント２００は、第１モードと第２モードとで動作する制御回路２２２を含む。制御回路２２２の第１モードにおいて、ロジックエレメント２００は、単一の４−ＬＵＴとして動作し、ここでは６つの入力のうちの４つが使用され、６つの入力のうちの２つが使用されない。制御回路２２２の第２のモードにおいて、ロジックエレメント２００は、２つの３−ＬＵＴ（すなわち、３−ＬＵＴ２０１と３−ＬＵＴ２０３）として動作し、ここでは６つの入力のうち第１のサブセットが第１の３−ＬＵＴ２０１に使用され、６つの入力のうちの第２のサブセットが第２の３−ＬＵＴ２０３に使用され、第１および第２のサブセットにおける入力は、異なっている。
【００３６】
特に、図２に示されているように、制御回路２２２は、マルチプレクサ２２６，２２８の制御入力に接続された制御ビット２２４を含む。入力２１０、２１６は、マルチプレクサ２２６に接続されている。入力２１２，２１４は、マルチプレクサ２２８に接続されている。マルチプレクサ２２６、２２８の出力は、２−ＬＵＴ２０２，２０４の入力に接続されている。２−ＬＵＴ２０２，２０４の出力は、マルチプレクサ２３０の入力に接続されている。入力２１４，２１６はまた、２−ＬＵＴ２０６，２０８の入力に接続されている。２−ＬＵＴ２０６，２０８の出力は、マルチプレクサ２４２の入力に接続されている。入力２１８は、マルチプレクサ２４６を介してマルチプレクサ２３０の制御入力に接続されている。入力２１８はまた、マルチプレクサ２４２の制御入力に接続されている。マルチプレクサ２４２の出力は、マルチプレクサ２３４を介してマルチプレクサ２３８の入力に接続されている。マルチプレクサ２３０の出力は、マルチプレクサ２３８の別の入力に接続されている。入力２２０は、ロジックゲート２４０を介してマルチプレクサ２３８の制御入力に接続されている。
【００３７】
このため、制御回路２２２が第１モードで動作するとき、制御ビット２２４は、入力２１０，２１２ではなく入力２１４，２１６をマルチプレクサ２２６，２２８の出力として選択するように、マルチプレクサ２２６，２２８を制御する。このため、入力２１４，２１６は、２−ＬＵＴ２０６，２０８と同様に２−ＬＵＴ２０２，２０４の入力として使用される。入力２１８は、２−ＬＵＴ２０２，２０４，２０６および２０８の出力の中から選択をするようにマルチプレクサ２３０，２４２を制御する。制御ビット２２４はまた、マルチプレクサ２３４の出力としてマルチプレクサ２４２の出力を選択するように、マルチプレクサ２３４を制御する。入力２２０は、ロジックゲート２４０を介することにより、マルチプレクサ２３０とマルチプレクサ２３４との間で選択をするようにマルチプレクサ２３８を制御する。このため、出力ライン２３４は、４つの入力２１４，２１６，２１８および２２０の組み合わせ出力を出力する。
【００３８】
制御回路２２２が第２モードで動作するとき、制御ビット２２４は、入力２１４，２１６ではなく入力２１０，２１２をマルチプレクサ２２６，２２８の出力として選択するように、マルチプレクサ２２６，２２８を制御する。このため、入力２１０，２１２は、２−ＬＵＴ２０２，２０４の入力として使用される。入力２１８は、２−ＬＵＴ２０２，２０４の出力の間で選択をするように、マルチプレクサ２４６を介してマルチプレクサ２３０を制御する。このため、出力ライン２３２は、３つの入力２１０，２１２，および２１８の組み合わせ出力を出力する。
【００３９】
加えて、制御回路２２２が第２モードで動作するとき、入力２１４，２１６は、２−ＬＵＴ２０６，２０８の入力として使用される。入力２２０は、２−ＬＵＴ２０６，２０８の出力の間で選択をするようにマルチプレクサ２３６を制御する。制御ビット２２４は、マルチプレクサ２３６の出力をマルチプレクサ２３４の出力として選択する。制御ビット２２４はまた、ロジックゲート２４０を介することにより、マルチプレクサ２３８の出力としてマルチプレクサ２３４の出力を選択するように、マルチプレクサ２３８を制御する。このため、出力ライン２３４は、３つの入力２１４，２１６および２２０の組み合わせ出力を出力する。
【００４０】
本例示的実施形態において、ロジックエレメント２００は、１ビット演算を実施するような演算回路２４３を含んでいる。図２に示されているように、演算回路２４３は、キャリーチェーン（ｃａｒｒｙ−ｃｈａｉｎ）入力（Ｃｉｎ）２４４を含んでおり、これは周知のロジックエレメントで生成され、マルチプレクサ２４６の入力に接続されている。制御ビット２４８は、入力２１８とキャリーチェーン入力２４４との間で選択をするようにマルチプレクサ２４６を制御する。マルチプレクサ２４６の出力は、マルチプレクサ２３０を制御する。このため、演算モードにおいて、マルチプレクサ２３０は、２−ＬＵＴ２０２，２０４への入力とキャリーチェーン入力２４４とに基づいて、算術的合計を生成し得る。また図２に示されているように、キャリーチェーン入力２４４は、以後に続くロジックエレメントに供給されるキャリーチェーン出力（ＣＯＵＴ）２５２を生成するようにマルチプレクサ２５０を制御する。
【００４１】
本例示的実施形態において、ロジックエレメント２００は、出力ライン２５６上にレジスタ出力を生成するフリップフロップ２５４を含んでいる。図２に示されているように、フリップフロップ２５４は、クロック信号２５８を受信し、フリップフロップ２５４のデータ入力は、マルチプレクサ２６０の出力に接続されている。制御ビット２６２は、入力２１０，２１２，２１８の組み合わせ出力を出力するマルチプレクサ２３０の出力と、４つの入力２１４，２１６，２１８、および２２０の組み合わせ出力を出力するマルチプレクサ２３８の出力との間を選択するように、マルチプレクサ２６０を制御する。このため、出力ライン２５６は、３つの入力２１０，２１２、および２１８か、あるいは４つの入力２１４，２１６，２１８、および２２０のいずれか一方のレジスタ出力を出力する。
【００４２】
図３を参照すると、ロジックエレメント２００の第２の例示的実施形態が示されている。ロジックエレメント２００の第２の例示的実施形態は、出力ラインの数を３から２に低減して必要なドライバの個数を低減させる３：１マルチプレクサ３０２，３０４の追加と共に、第１の例示的実施形態の特徴を含んでいる。図３に示されているように、マルチプレクサ３０２，３０４は各々、出力ライン２３２，２３４および２５６に接続されている。このため、マルチプレクサ３０２，３０４からの出力ライン３０６，３０８上の出力はそれぞれ、出力ライン２３２，２３４、および２５６の間から選択され得る。
【００４３】
図４を参照すると、ロジックエレメント２００の第３の例示的実施形態が示されている。ロジックエレメント２００の第３の例示的実施形態は、４：１マルチプレキシングモードを実施するロジックゲート４０２の追加と共に、第１の例示的実施形態の特徴を含んでいる。図４に示されているように、ロジックゲート４０２は、制御ビット２２４，４０４に接続された入力と、ロジックゲート２４０の入力ならびにマルチプレクサ２３４の制御入力に接続された出力とを有するＯＲゲートである。
【００４４】
４：１マルチプレキシングモードで動作するため、制御ビット２２４は、入力２１０，２１２を選択するように、制御マルチプレクサ２２６，２２８を制御する。入力２１８は、マルチプレクサ２４６を介することにより、入力２１０，２１２を選択するようにマルチプレクサ２３０を制御する。入力２１８はまた、入力２１４，２１６の間で選択を行なうようにマルチプレクサ２４２を制御する。制御ビット４０４は、マルチプレクサ２３４への出力としてマルチプレクサ２４２の出力を選択するように、マルチプレクサ２３４を制御し、ロジックゲート２４０を介することにより入力２２０がマルチプレクサ２３８を制御するように適切に設定される。このため、入力２２０は、マルチプレクサ２３０（入力２１０，２１２）とマルチプレクサ２３４（入力２１４，２１６）との間で選択を行なうようにマルチプレクサ２３８を制御する。２つのＳＲＡＭ構成ビットを使用し続ける間に、この制御に関する振る舞いが実行可能となるように、複数のマルチプレクサ（例えばマルチプレクサ２２６）の順序が改変され得ることに注意されたい。
【００４５】
図５を参照すると、ロジックエレメント２００の第４の例示的実施形態が示されている。ロジックエレメント２００の第４の例示的実施形態は、出力ラインの数を３から２に低減して必要なドライバの個数を低減させるマルチプレクサ３０２，３０４の追加と共に、第３の例示的実施形態の特徴を含んでいる。図５に示されているように、マルチプレクサ３０２，３０４は各々、出力ライン２３２，２３４、および２５６に接続されている。このため、マルチプレクサ３０２，３０４からの出力ライン３０６，３０８上の出力はそれぞれ、出力ライン２３２，２３４、および２５６の間から選択され得る。
【００４６】
図６を参照すると、ロジックエレメント２００の第５の例示的実施形態が示されている。ロジックエレメント２００の第５の例示的実施形態は、第３の例示的実施形態の特徴を含むが、２ビット演算を実施する、加算回路６００，６０２から構成される演算回路２４３をも有している。ロジックエレメント２００の第５の例示的実施形態はまた、第２のフリップフロップ６２６と第４の出力ライン６２８とを含んでいる。
【００４７】
加算回路６００は、入力２１０，２１２に接続された入力を有する排他的ＯＲ（ＸＯＲ）６０４を含んでいる。マルチプレクサ６０６の入力は、ＸＯＲ６０４の出力と、インバータ６０８を介することによりＸＯＲ６０４の出力の反転（ｉｎｖｅｒｓｅ）とを受信する。マルチプレクサ６０６の制御入力は、キャリー・チェーン入力２４４に接続されている。このため、演算モードにおいて、マルチプレクサ６０６は、入力２１０，２１２とキャリー・チェーン入力２４４とに基づいて、算術的合計を生成し得る。マルチプレクサ６１０の入力は、マルチプレクサ６０６とマルチプレクサ２３０との出力に接続されている。マルチプレクサ６１０の制御入力は、制御ビット６１２に接続されている。このため、制御ビット６１２は、マルチプレクサ６０６によって生成された和（ｓｕｍ）とマルチプレクサ２３０の出力との間で選択を行なうようにマルチプレクサ６１０を制御する。
【００４８】
加算回路６０２は、入力２１４，２１６に接続された入力を有するＸＯＲ６１６を含んでいる。マルチプレクサ６１８の入力は、ＸＯＲ６１６の出力と、インバータ６２０を介することによりＸＯＲ６１６の出力の反転とを受信する。このため、演算モードにおいて、マルチプレクサ６１８は、入力２１４，２１６に基づいて、算術的合計を生成し得る。マルチプレクサ６２２の入力は、マルチプレクサ６１８とマルチプレクサ２３６との出力に接続されている。マルチプレクサ６２２の制御入力は、制御ビット６２４に接続されている。このため、制御ビット６２４は、マルチプレクサ６１８によって生成された和とマルチプレクサ２３６の出力との間で選択を行なうようにマルチプレクサ６２２を制御する。
【００４９】
本例示的実施形態において、ロジックエレメント２００は、出力ライン６２８上に第２のレジスタ出力を生成する第２のフリップフロップ６２６を含んでいる。図６に示されているように、フリップフロップ６２６は、クロック信号２５８を受信し、フリップフロップ６２６のデータ入力は、マルチプレクサ６３０の出力に接続されている。制御ビット６３２は、マルチプレクサ６１０の出力とマルチプレクサ２３８の出力との間で選択を行なうようにマルチプレクサ６３０を制御する。
【００５０】
図７を参照すると、ロジックエレメント２００の第６の実施形態が示されている。本例示的実施形態において、ロジックエレメント２００は、２−ＬＵＴ２０２，２０４，２０６および２０８のロジックエレメント／ＬＵＴマスクを共有する２つの４入力ロジック機能（ｌｏｇｉｃ  ｆｕｎｃｔｉｏｎ）を実行するように構成され得る。
【００５１】
図７に示されているように、本例示的実施形態において、第１の４：１マルチプレクサ７０２は、各２−ＬＵＴ２０２，２０４，２０６、および２０８からの入力を受信する。第２の４：１マルチプレクサ７０４もまた、各２−ＬＵＴ２０２，２０４，２０６、および２０８からの入力を受信する。制御回路２２２は、マルチプレクサ７０８，７１０の制御入力に接続された制御ビット７０６を含んでいる。入力２１０，２１８は、マルチプレクサ７０８の入力に接続されている。マルチプレクサ７０８の出力は、２−ＬＵＴ２０２，２０４の入力に接続されている。２−ＬＵＴ２０２，２０４の出力は、４：１マルチプレクサ７０２，７０４に接続されている。入力２１８はまた、マルチプレクサ７１０の入力に接続されている。マルチプレクサ７１０の出力は、４：１マルチプレクサ７０２の制御入力に接続されている。入力２２０は、４：１マルチプレクサ７０２の別の制御入力に接続されている。
【００５２】
制御回路２２２はまた、マルチプレクサ７１４，７１６の制御入力に接続された制御ビット７１２を含んでいる。入力２１２，２１６は、マルチプレクサ７１４の入力に接続されている。マルチプレクサ７１４の出力は、２−ＬＵＴ２０６，２０８の入力に接続されている。２−ＬＵＴ２０６，２０８の出力は、４：１マルチプレクサ７０２，７０４に接続されている。入力２１６は、４：１マルチプレクサ７０４の制御入力に接続されている。入力２１４は、４：１マルチプレクサ７０４の別の制御入力に接続されている。
【００５３】
制御回路２２２が第１モードで動作するとき、制御ビット７０６は、マルチプレクサ７０８の出力として入力２１８ではなく入力２１０を選択するように、制御マルチプレクサ７０８を制御する。制御ビット７１２は、マルチプレクサ７１４の出力として入力２１２を選択するようにマルチプレクサ７１４を制御する。このように、入力２１０、２１２は、２−ＬＵＴ２０２，２０４と同じく２−ＬＵＴ２０６，２０８の入力として使用される。制御ビット７０６は、マルチプレクサ７１０の出力として入力２１８を選択するように、マルチプレクサ７１０を制御する。このため、４：１マルチプレクサ７０２は、入力２１８，２２０によって制御され、４：１マルチプレクサ７０２の出力は、４つの入力２１０，２１２，２１８および２２０の組み合わせ出力となる。加えて、制御ビット７１２は、マルチプレクサ７１６の出力として入力２１６を選択するように、マルチプレクサ７１６を制御する。このため、４：１マルチプレクサ７０２は、入力２１４，２１６によって制御され、４：１マルチプレクサ７０４の出力は、４つの入力２１０，２１２，２１４、および２１６の組み合わせ出力となる。
【００５４】
制御回路２２２が第２モードで動作するとき、制御ビット７０６は、マルチプレクサ７０８の出力として入力２１０ではなく入力２１８を選択するように、マルチプレクサ７０８を制御する。このため、入力２１２，２１８は、２−ＬＵＴ２０２，２０４の入力として使用される。入力２２０は、４：１マルチプレクサ７０２を制御する。このため、４：１マルチプレクサ７０２の出力は、３つの入力２１２，２１８、および２２０の組み合わせ出力となる。
【００５５】
加えて、制御回路２２２が第２モードで動作するとき、制御ビット７１２は、マルチプレクサ７１４の出力として入力２１６を選択するように、マルチプレクサ７１４を制御する。このため、入力２１０，２１６は、２−ＬＵＴ２０６，２０８の入力として使用される。入力２１４は、４：１マルチプレクサ７０４を制御する。このため、４：１マルチプレクサ７０４の出力は、３つの入力２１０，２１４、および２１６の組み合わせ出力となる。
【００５６】
各４：１マルチプレクサ７０２，７０４が複数の２：１マルチプレクサのツリーとして実施され得ることが理解される。例えば、図８を参照すると、４：１マルチプレクサ７０２は、２：１マルチプレクサ８０２，８０４，８０６のツリーとして実施し得る。マルチプレクサ８０２の入力は、２−ＬＵＴ２０２（図７）の出力と、２−ＬＵＴ２０６（図７）の出力とにそれぞれ接続されている。マルチプレクサ８０４の入力は、２−ＬＵＴ２０４（図７）の出力と２−ＬＵＴ２０８（図７）の出力とにそれぞれ接続されている。マルチプレクサ８０２，８０４の制御入力は、入力２１８に接続されている。マルチプレクサ８０２，８０４の出力は、マルチプレクサ８０６の入力に接続されている。マルチプレクサ８０６の制御入力は、入力２２０に接続されている。
【００５７】
共有ＬＵＴマスクに関する追加的な記述としては、２００４年３月２５日に出願され、「ＯＭＮＩＢＵＳ  ＬＯＧＩＣ  ＥＬＥＭＥＮＴ」と題された米国特許出願シリアル番号１０／８１０，１１７号を参照されたい。上記特許出願は、参照のため、その全体が本明細書に援用される。さらに、２００３年１月２４日に出願され、「ＬＯＧＩＣ  ＣＩＲＣＵＩＴＲＹ  ＷＩＴＨ  ＳＨＡＲＥＤ  ＬＯＯＫＵＰ  ＴＡＢＬＥ」と題された米国特許出願シリアル番号１０／３５１，０２６号を参照されたい。上記特許出願は、参照のため、その全体が本明細書に援用される。
【００５８】
図９を参照すると、ロジックエレメント２００の第７の例示的実施形態が示されている。ロジックエレメント２００の第７の実施形態は、４：１マルチプレキシングモードを実施するマルチプレクサ９０２の追加と共に、第６の例示的実施形態の特徴を含んでいる。図９に示されているように、マルチプレクサ９０２は、制御ビット９０４の制御の下、入力２１０，２１４を選択する。
【００５９】
４：１マルチプレキシングモードで動作するために、制御ビット７０６は、入力２１０を選択するようにマルチプレクサ７０８を制御する。制御ビット９０４は、入力２１４を選択するようにマルチプレクサ９０２を制御する。制御ビット７１２は、入力２１６を選択するようにマルチプレクサ７１４を制御する。このため、入力２１０，２１２，２１４、および２１６は、４：１マルチプレクサ７０２への入力として使用される。入力２１８，２２０は、４：１マルチプレクサ７０２を制御する。
【００６０】
図１０を参照すると、例示的なデータ処理システム１０００が示されている。データ処理システム１０００は、ロジックエレメント２００に関する上述されたような実施形態を含み得るＰＬＤ１０１０を含んでいる。ＰＬＤ１０１０は、図示されているＬＡＢ１０１２のような複数のロジックアレイブロック（ＬＡＢ；ｌｏｇｉｃ  ａｒｒａｙ  ｂｌｏｃｋ）を含んでいる。（過度に複雑にならないようにするため、唯１つのＬＡＢのみが示されている）。ＬＡＢ１０１２は、ロジックエレメント２００のような複数のロジックエレメントを含んでいる。（過度に複雑にならないようにするため、唯１つのロジックエレメントのみが示されている）。データ処理システム１０００は、以下のコンポーネントの１つ以上を含み得る：プロセッサ１０４０、メモリ１０５０、Ｉ／Ｏ回路１０２０、および周辺デバイス１０３０。これらのコンポーネントは、システムバス１０６０によって互いに接続されており、エンドユーザシステム１０８０に含まれる回路基板１０７０の上に配置されている。
【００６１】
データ処理システム１０００は、例えばコンピュータネットワーク、データネットワーク、計測機器、ビデオ処理装置、デジタル信号処理装置、あるいは、プログラマブルロジックまたはリプログラマブルロジックを使用することが望ましいその他任意のアプリケーションのような、多種多様なアプリケーションに使用され得る。ＰＬＤ１０１０は、様々な異なるロジック機能を実行するように使用され得る。例えば、ＰＬＤ１０１０は、プロセッサか、またはプロセッサ１０４０と協働するコントローラとして構成され得る（あるいは、代替的な実施形態において、ＰＬＤはそれ自身が単独システムプロセッサとして機能する）。ＰＬＤ１０１０はまた、システム１０００における共有リソースへのアクセスを仲裁するアービーター（ａｒｂｉｔｅｒ）として使用され得る。さらに別の実施形態において、ＰＬＤ１０１０は、プロセッサ１０４０とシステム１０００におけるその他のコンポーネントのうちの１つとの間のインターフェースとして構成され得る。システム１０００は、単に例示のためのものであることに注意されたい。
【００６２】
様々な例示的実施形態が記述されてきたが、当業者により様々な改変と代替とがなされ得ることが理解される。
【図面の簡単な説明】
【００６３】
【図１】例示的な２入力ルックアップテーブル（２−ＬＵＴ）に関する回路図である。
【図２】例示的なフラクチャブルロジックエレメントの回路図である。
【図３】別の例示的なフラクチャブルロジックエレメントの回路図である。
【図４】別の例示的なフラクチャブルロジックエレメントの回路図である。
【図５】別の例示的なフラクチャブルロジックエレメントの回路図である。
【図６】別の例示的なフラクチャブルロジックエレメントの回路図である。
【図７】別の例示的なフラクチャブルロジックエレメントの回路図である。
【図８】２：１マルチプレクサのツリーとして実装された例示的な４：１マルチプレクサの回路図である。
【図９】例示的なフラクチャブルロジックエレメントの回路図である。
【図１０】例示的なデータ処理システムのブロック図である。
【符号の説明】
【００６４】
１０２  メモリエレメント
２００  フラクチャブルロジックエレメント
２０２，２０４，２０６，２０８  ２−ＬＵＴ
２１０，２１２，２１４，２１６，２１８，２２０  入力
２２２  制御回路
１０００  データ処理システム
１０１０  ＰＬＤ
【図１】
2007089180.tif 000003
【図２】
2007089180.tif 000004
【図３】
2007089180.tif 000005
【図４】
2007089180.tif 000006
【図５】
2007089180.tif 000007
【図６】
2007089180.tif 000008
【図７】
2007089180.tif 000009
【図８】
2007089180.tif 000010
【図９】
2007089180.tif 000011
【図１０】
2007089180.tif 000012