(57)【要約】【課題】  面積効率が高く低価格な、構成可能論理回路を提供すること。【解決手段】  本発明による構成可能論理回路は、少なくとも６つの入力と、少なくとも第１の出力および第２の出力と、構成可能論理回路によって行われる論理関数を完全に構成する、プログラマブルである、６３未満のメモリビットとを含み、構成可能論理回路は、少なくとも６つの入力が、第１の出力を駆動して６入力論理関数を生成させるか、または少なくとも６つの入力の第１のサブセットが第１の出力を駆動し、少なくとも６つの入力の第２のサブセットが第２の出力を駆動するかのいずれか一方になるように構成され得る。【選択図】  図１
2004248293.tif 000002
【特許請求の範囲】
【請求項１】
構成可能論理回路であって、
少なくとも６つの入力と、
少なくとも第１の出力および第２の出力と、
該構成可能論理回路によって行われる論理関数を完全に構成する、プログラマブルである、６３未満のメモリビットと
を含み、該構成可能論理回路は、
該少なくとも６つの入力が、該第１の出力を駆動して６入力論理関数を生成させるか、または
該少なくとも６つの入力の第１のサブセットが該第１の出力を駆動し、該少なくとも６つの入力の第２のサブセットが該第２の出力を駆動するかのいずれか一方になるように構成され得る、構成可能論理回路。
【請求項２】
前記複数のメモリビットは、２５未満のメモリビットを含む、請求項１に記載の構成可能論理回路。
【請求項３】
可能な４つの入力論理関数の全てを行うように構成可能である、請求項２に記載の構成可能論理回路。
【請求項４】
前記少なくとも６つの入力のうちの少なくとも２つによって直接駆動される、完全な４−ＬＵＴを含む、請求項３に記載の構成可能論理回路。
【請求項５】
前記第１の出力を直接駆動する完全な３−ＬＵＴを含む、請求項４に記載の構成可能論理回路。
【請求項６】
前記完全な４−ＬＵＴが少なくとも２つの完全な３−ＬＵＴを含む、請求項５に記載の構成可能論理回路。
【請求項７】
前記完全な４−ＬＵＴの出力が前記第２の出力を駆動する、請求項６に記載の構成可能論理回路。
【請求項８】
少なくとも７つ目の入力と、
該少なくとも７つの入力のうちの第１の入力によって直接駆動されるように構成可能な第３の出力と、
該少なくとも７つの入力のうちの第２の入力によって直接駆動されるように構成可能な第４の出力と
を含む、請求項１に記載の構成可能論理回路。
【請求項９】
前記複数のメモリビットは、２６未満のメモリビットを含む、請求項８に記載の構成可能論理回路。
【請求項１０】
前記少なくとも６つの入力のうちの少なくとも２つの入力によって直接駆動される完全な４−ＬＵＴを含む、請求項９に記載の構成可能論理回路。
【請求項１１】
前記第１の出力を直接駆動する完全な３−ＬＵＴを含む、請求項１０に記載の構成可能論理回路。
【請求項１２】
前記完全な４−ＬＵＴが少なくとも２つの完全な３−ＬＵＴを含む、請求項１１に記載の構成可能論理回路。
【請求項１３】
前記完全な４−ＬＵＴの出力が前記第２の出力を駆動する、請求項１２に記載の構成可能論理回路。
【請求項１４】
請求項１に記載の構成可能論理回路を含む、プログラマブル論理デバイス。
【請求項１５】
請求項１４に記載の前記プログラマブル論理デバイスを含む、データ処理システム。
【請求項１６】
構成可能論理回路であって、
少なくとも６つの入力と、
少なくとも第１の出力および第２の出力と、
該少なくとも６つの入力のうちの少なくとも２つの入力によって直接駆動される完全な４−ＬＵＴと、
該少なくとも６つの入力が、該第１の出力を駆動して６つの入力論理関数を生成させるか、または
該少なくとも６つの入力のうちの６−ｎの入力が、該第１の出力を駆動して６−ｎ入力論理関数を生成させ、該少なくとも６つの入力のうちの６−ｍの入力が、該第２の出力を駆動して６−ｍ入力論理関数を生成させ、ここで、ｍおよびｎは、それぞれ整数であり、ｍは３以上５以下の範囲の範囲にわたり、ｎは、１以上５以下の範囲にわたるかのいずれかである、少なくとも１つの構成と、
を備え、該構成可能論理回路が、
可能な６つの入力論理関数の全てのサブセットのみを行うように構成され得る、構成可能論理回路。
【請求項１７】
前記構成可能論理回路によって行われる論理関数を完全に構成するようにプログラマブルである、複数のメモリビットを含み、該複数のメモリビットは、２５未満のメモリビットを含む、請求項１６に記載の構成可能論理回路。
【請求項１８】
前記第１の出力を直接駆動する完全な３−ＬＵＴを含む、請求項１７に記載の構成可能論理回路。
【請求項１９】
前記完全な４−ＬＵＴは、少なくとも２つの完全な３−ＬＵＴを含む、請求項１８に記載の構成可能論理回路。
【請求項２０】
前記完全な４−ＬＵＴの出力は、前記第２の出力を駆動する、請求項１９に記載の構成可能論理回路。
【請求項２１】
請求項１６に記載の構成可能論理回路を含む、プログラマブル論理デバイス。
【請求項２２】
請求項２１に記載のプログラマブル論理デバイスを含む、データ処理システム。
【請求項２３】
構成可能論理回路であって、
少なくとも７つの入力と、
少なくとも第１の出力および第２の出力と、
該少なくとも７つの入力のうちの第１の入力によって直接駆動されるように構成可能な第３の出力と、
該構成可能論理回路によって行われる論理関数を完全に構成するようにプログラマブルである、３２未満のメモリビットと
を備え、該構成可能論理回路は、
該少なくとも７つの入力のうちの６つの入力が、該第１の出力を駆動して６入力論理関数を生成させるか、または、
該少なくとも７つの入力の第１のサブセットが該第１の出力を駆動して、該少なくとも７つの入力の第２のサブセットが該第２の出力を駆動するかのいずれかになるように構成され得る、構成可能論理回路。
【請求項２４】
前記少なくとも７つの入力のうちの第２の入力によって直接駆動されるように構成可能な第４の出力を含む、請求項２３に記載の構成可能論理回路。
【請求項２５】
前記複数のメモリビットは、２６未満のメモリビットを含む、請求項２４に記載の構成可能論理回路。
【請求項２６】
可能な４入力論理関数の全てを行うように構成可能である、請求項２５に記載の構成可能論理回路。
【請求項２７】
前記少なくとも６つの入力のうちの少なくとも２つの入力によって、直接駆動される完全な４−ＬＵＴを含む、請求項２６に記載の構成可能論理回路。
【請求項２８】
前記第１の出力を直接駆動する完全な３−ＬＵＴを含む、請求項２７に記載の構成可能論理回路。
【請求項２９】
前記完全な４−ＬＵＴが少なくとも２つの完全な３−ＬＵＴを含む、請求項２８に記載の構成可能論理回路。
【請求項３０】
前記完全な４−ＬＵＴの出力が前記第２の出力を駆動させる、請求項２９に記載の構成可能論理回路。
【請求項３１】
請求項２３に記載の構成可能論理回路を含む、プログラマブル論理デバイス。
【請求項３２】
請求項３１に記載のプログラマブル論理デバイスを含む、データ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構成可能論理回路に関する。
【背景技術】
【０００２】
プログラマブル論理デバイス（「ＰＬＤ」）（あるいはＣＰＬＤ、ＰＡＬ、ＰＬＡ、ＦＰＬＡ、ＥＰＬＤ、ＥＥＰＬＤ、ＬＣＡ、ＦＰＧＡなどとも呼ばれる）は、カスタム化集積回路の適応性を有する固定集積回路という利点を提供する周知の集積回路である。これらのデバイスは当該分野で周知であり、典型的には、少なくともその一部がユーザの特定のニーズに合うように電気的にプログラムされ得る、一般に製造販売されているデバイスを提供する。特定用途向けＩＣ（「ＡＳＩＣ」）は伝統的には固定集積回路であるが、一部をプログラム可能にしたＡＳＩＣを提供することは可能である。これにより、ＡＳＩＣおよびＰＬＤの両方の性質を有する集積回路デバイスが可能となる。本明細書において、用語ＰＬＤはこのようなデバイスも含む広い意味で用いられる。
【０００３】
ＰＬＤは論理要素のブロックを含み、これは論理アレイブロックとも呼ばれる（あるいは「ＬＡＢ」、「構成可能論理ブロック」、「ＣＬＢ」などとも呼ばれる）。論理要素（「ＬＥ」または「論理セル」などとも呼ばれる）は、ルックアップテーブル（ＬＵＴ）、プロダクトターム（ｐｒｏｄｕｃｔ  ｔｅｒｍ）、実行チェーン、レジスタ、または他の要素を含み得る。ＬＥは典型的にはＰＬＤの最小反復可能関数ブロックである。
【０００４】
ＬＵＴは、一般的に、論理要素によって実行される特定の関数を決定する構成データを保持する構成可能要素を含む。典型的なＬＵＴ回路は、データ（「１」または「０」）を保持するＲＡＭビットを含み得る。しかし他のタイプの構成可能要素も用いられ得る。例としては、スタティックＲＡＭ、磁気ＲＡＭ、強誘電体ＲＡＭまたはダイナミックＲＡＭ、電気的に消去可能なＲＯＭ、フラッシュ、ヒューズ、およびアンチヒューズプログラマブル接続が挙げられる。本明細書において、包括的用語「メモリ要素」は、ＬＵＴによって実行される関数を決定するように構成され得る任意のプログラマブル要素を指す。論理要素として用いられる典型的なＬＵＴ回路は、複数の入力信号の関数である出力信号を提供する。提供される特定の論理関数は、ＬＵＴのメモリ要素をプログラムすることにより決定され得る。
【０００５】
ＬＵＴのｋ値は、ＬＵＴが実行する組み合わせ論理関数用の入力の最大数である。たとえば、ｋ＝４のＬＵＴまたは４−ＬＵＴは、最大４入力の組み合わせ論理関数を実行する。ｋ−ＬＵＴはさらに、ｋ入力未満の入力を有する論理関数を実行し得る。「完全な」ｋ−ＬＵＴは、あらゆる可能なｋ入力の組み合わせ論理関数およびあらゆる可能なｊ入力関数（ｊ＜ｋ）を実行し得る。
【０００６】
ＬＵＴのｋ値が高ければ高いほど、ＬＵＴが実行する論理関数の数は大きい。さらに、典型的には、ＬＵＴのｋ値が高ければ高いほど、ＬＵＴの性能も高い。この場合、性能とは、ＬＵＴによって実行される異なる論理関数におけるＬＵＴの平均クロック速度を指す。したがって、ＰＬＤ設計において、より高いｋ値のＬＵＴを用いることが望ましい。しかし、一般的に、ＬＵＴのｋ値が高ければ高いほど、ＬＵＴが占めるシリコン面積も大きく、そのためＬＵＴの提供が高価になる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、面積効率が高く低価格な、構成可能論理回路を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明による論理デバイスは、不完全でフラクチャ可能なｋ＝６のＬＣＴ（「６−ＬＵＴ」）を含む。特に、本発明による構成可能論理回路は、少なくとも６つの入力と少なくとも２つの出力とを含む。構成可能論理要素は、６３以下のメモリビットで完全に構成可能である。本発明の構成可能論理回路は、６入力論理関数を生成するために６入力が出力のうちの僅か１つを駆動するように構成され得る。さらに、構成可能論理回路はフラクチャ可能であるため、入力の第１のサブセットが第１の出力を駆動し且つ入力の第２のサブセットが第２の出力を駆動するようにも構成され得る。このようにして、構成可能論理回路は、各々が６未満の入力を有する２つの異なる論理関数を同時に実行ことができる。
【０００９】
本発明による構成可能論理回路は、６入力論理関数のすべてを実行できるわけではないが、一般的に用いられる６入力論理関数を比較的高い割合で実行し且つ比較的高い置換可能性を保持するように設計されている。しかし、構成可能論理回路は６入力すべての論理関数のサブセットしか実行できないため、構成可能論理回路がＦＰＧＡ内で占めるシリコン領域は大幅に減少し、したがって製造および使用のコストが大幅に低減される。さらに、本発明による少なくとも６入力の構成可能論理回路は６未満の入力の１より多い論理関数を実行することができるため、面積効率をさらに高めるために関数パッキングが用いられ得る。
【００１０】
本発明の別の局面によると、構成可能論理回路は少なくとも７つの入力と少なくとも３つの出力とを有する。７入力のうちの少なくとも１つは、出力の１つを直接駆動するように構成され得る。構成可能論理要素は、３２以下のプログラマブルメモリビットで完全に構成可能である。本発明の構成可能論理回路は、６入力論理関数を生成するために６入力が出力のうちの僅か１つを駆動するように構成され得る。さらに、構成可能論理回路はフラクチャ可能であるため、７入力の第１のサブセットが出力の一つを駆動し、且つ、７入力の第２のサブセットが出力のうちの別の出力を駆動するようにも構成され得る。
【００１１】
本発明の第２の局面の構成可能論理回路は、出力を直接駆動し得る入力を含むため、レジスタパッキングおよび組み合わせ論理が実行され得る。したがって、本発明の第２の局面の構成可能論理回路は、上述した利点に加えて、所与のＦＰＧＡ構成を実行するために必要とされる有効シリコン面積およびコストを低減するという利点を有する。
【００１２】
本発明による構成可能論理回路は、少なくとも６つの入力と、少なくとも第１の出力および第２の出力と、該構成可能論理回路によって行われる論理関数を完全に構成する、プログラマブルである、６３未満のメモリビットとを含み、該構成可能論理回路は、該少なくとも６つの入力が、該第１の出力を駆動して６入力論理関数を生成させるか、または、該少なくとも６つの入力の第１のサブセットが該第１の出力を駆動し、該少なくとも６つの入力の第２のサブセットが該第２の出力を駆動するかのいずれか一方になるように構成され得る。
【００１３】
前記複数のメモリビットは、２５未満のメモリビットを含んでもよい。
【００１４】
可能な４つの入力論理関数の全てを行うように構成可能であってもよい。
【００１５】
前記少なくとも６つの入力のうちの少なくとも２つによって直接駆動されてもよい。
【００１６】
前記第１の出力を直接駆動する完全な３−ＬＵＴを含んでもよい。
【００１７】
前記完全な４−ＬＵＴが少なくとも２つの完全な３−ＬＵＴを含んでもよい。
【００１８】
前記完全な４−ＬＵＴの出力が前記第２の出力を駆動してもよい。
【００１９】
少なくとも７つ目の入力と、該少なくとも７つの入力のうちの第１の入力によって直接駆動されるように構成可能な第３の出力と、該少なくとも７つの入力のうちの第２の入力によって直接駆動されるように構成可能な第４の出力とを含んでもよい。
【００２０】
前記複数のメモリビットは、２６未満のメモリビットを含んでもよい。
【００２１】
前記少なくとも６つの入力のうちの少なくとも２つの入力によって直接駆動される完全な４−ＬＵＴを含んでもよい。
【００２２】
前記第１の出力を直接駆動する完全な３−ＬＵＴを含んでもよい。
【００２３】
前記完全な４−ＬＵＴが少なくとも２つの完全な３−ＬＵＴを含んでもよい。
【００２４】
前記完全な４−ＬＵＴの出力が前記第２の出力を駆動してもよい。
【００２５】
本発明によるプログラマブル論理デバイスは、上記に記載の構成可能論理回路を含む。
【００２６】
本発明によるデータ処理システムは、上記に記載の前記プログラマブル論理デバイスを含む。
【００２７】
本発明による構成可能論理回路は、少なくとも６つの入力と、少なくとも第１の出力および第２の出力と、該少なくとも６つの入力のうちの少なくとも２つの入力によって直接駆動される完全な４−ＬＵＴと、該少なくとも６つの入力が、該第１の出力を駆動して６つの入力論理関数を生成させるか、または、該少なくとも６つの入力のうちの６−ｎの入力が、該第１の出力を駆動して６−ｎ入力論理関数を生成させ、該少なくとも６つの入力のうちの６−ｍの入力が、該第２の出力を駆動して６−ｍ入力論理関数を生成させ、ここで、ｍおよびｎは、それぞれ整数であり、ｍは３以上５以下の範囲の範囲にわたり、ｎは、１以上５以下の範囲にわたるかのいずれかである、少なくとも１つの構成と、を備え、該構成可能論理回路が、可能な６つの入力論理関数の全てのサブセットのみを行うように構成され得る。
【００２８】
前記構成可能論理回路によって行われる論理関数を完全に構成するようにプログラマブルである、複数のメモリビットを含み、該複数のメモリビットは、２５未満のメモリビットを含んでもよい。
【００２９】
前記第１の出力を直接駆動する完全な３−ＬＵＴを含んでもよい。
【００３０】
前記完全な４−ＬＵＴは、少なくとも２つの完全な３−ＬＵＴを含んでもよい。
【００３１】
前記完全な４−ＬＵＴの出力は、前記第２の出力を駆動してもよい。
【００３２】
本発明によるプログラマブル論理デバイスは、上記に記載の構成可能論理回路を含む。
【００３３】
本発明によるデータ処理システムは、上記に記載のプログラマブル論理デバイスを含む。
【００３４】
本発明による構成可能論理回路は、少なくとも７つの入力と、少なくとも第１の出力および第２の出力と、該少なくとも７つの入力のうちの第１の入力によって直接駆動されるように構成可能な第３の出力と、該構成可能論理回路によって行われる論理関数を完全に構成するようにプログラマブルである、３２未満のメモリビットとを備え、該構成可能論理回路は、該少なくとも７つの入力のうちの６つの入力が、該第１の出力を駆動して６入力論理関数を生成させるか、または、該少なくとも７つの入力の第１のサブセットが該第１の出力を駆動して、該少なくとも７つの入力の第２のサブセットが該第２の出力を駆動するかのいずれかになるように構成され得る。
【００３５】
前記少なくとも７つの入力のうちの第２の入力によって直接駆動されるように構成可能な第４の出力を含んでもよい。
【００３６】
前記複数のメモリビットは、２６未満のメモリビットを含んでもよい。
【００３７】
可能な４入力論理関数の全てを行うように構成可能であってもよい。
【００３８】
前記少なくとも６つの入力のうちの少なくとも２つの入力によって、直接駆動される完全な４−ＬＵＴを含んでもよい。
【００３９】
前記第１の出力を直接駆動する完全な３−ＬＵＴを含んでもよい。
【００４０】
前記完全な４−ＬＵＴが少なくとも２つの完全な３−ＬＵＴを含んでもよい。
【００４１】
前記完全な４−ＬＵＴの出力が前記第２の出力を駆動させてもよい。
【００４２】
本発明によるプログラマブル論理デバイスは、上記に記載の構成可能論理回路を含む。
【００４３】
本発明によるデータ処理システムは、上記に記載のプログラマブル論理デバイスを含む。
【発明の効果】
【００４４】
上述したように、本発明によると、面積効率が高く低価格な、構成可能論理回路が提供される。
【発明を実施するための最良の形態】
【００４５】
図１は、本発明による構成可能論理回路の一実施形態を示す模式図である。図１は、６−ＬＵＴ１００を示す。６−ＬＵＴ１００は、６以下の入力を有する論理関数の入力信号ｄ０、ｄ１、ｄ２、ｄ３、ｄ４およびｄ５をそれぞれ受け取る６つの入力１０２、１０４、１０６、１０８、１１０および１１２を含む。６−ＬＵＴ１００はさらに、３つの完全な３−ＬＵＴ  １−１５０、２−１５０および３−１５０を含み、これらは各々２つの完全な２−ＬＵＴおよび２入力マルチプレクサ（「２−ＭＵＸ」）を含む。具体的には、第１の３−ＬＵＴ  １−１５０は、２−ＭＵＸ  １５４の入力を駆動する２−ＬＵＴ  １−１５２および２−１５２を含む。第２の３−ＬＵＴ  ２−１５０は、２−ＭＵＸ  １６２の入力を駆動する２−ＬＵＴ  １−１６０および２−１６０を含む。第３の３−ＬＵＴ  ３−１５０は、２−ＭＵＸ  １７２の入力を駆動する２−ＬＵＴ  １−１７０および２−１７０を含む。２−ＭＵＸ  １２０の入力を駆動する第１の３−ＬＵＴ  １−１５０および第２の３−ＬＵＴ  ２−１５０は、４−ＬＵＴ  １３０を構成する。図１の実施形態では、６−ＬＵＴ  １００は僅か６つの入力および２つの出力を有するにすぎないが、以下に述べるように、本発明による６−ＬＵＴはさらなる入力および出力を含み得る。
【００４６】
入力１０４、１０６および１０８は、２−ＭＵＸ  １５４の選択入力を駆動する入力１０８で第１の３−ＬＵＴ  １−１５０を駆動する。第２の３−ＬＵＴ  ２−１５０は、２−ＭＵＸ  １１４および１１６の選択入力を制御することにより、入力１０４、１０６、１１０および１１２のいずれか２つにより駆動され得る。２−ＭＵＸ  １１４および１１６の選択入力は、構成可能メモリビットＣＲ０によって制御され得る。第２の３−ＬＵＴ  ２−１５０への第３の入力は２−ＭＵＸ  １６２の選択入力であり、入力１０８によって制御される。
【００４７】
第１の３−ＬＵＴ  １−１５０の出力は、２−ＭＵＸ  １２０および２−ＭＵＸ  １２２を駆動する。第２の３−ＬＵＴ  ２−１５０の出力は、２−ＭＵＸ  １２０および２−ＭＵＸ  １２４を駆動する。入力１１０はさらに２−ＭＵＸ  １２２を駆動し得、入力１１２はさらに２−ＭＵＸ  １２４を駆動し得る。２−ＭＵＸ  １２２の出力および２−ＭＵＸ  １２４の出力は、第３の３−ＬＵＴ  ３−１５０を駆動する。第３の３−ＬＵＴ  ３−１５０の第１の入力を駆動するために２−ＭＵＸ  １２２を介して供給されるのが、第１の３−ＬＵＴ  １−１５０の出力の信号および入力１１０の出力のいずれであるかは、メモリビットＣＲ０によって決定される。メモリビットＣＲ０は、２−ＭＵＸ  １２２の選択入力を駆動する。第３の３−ＬＵＴ  ３−１５０の第２の入力を駆動するために２−ＭＵＸ  １２４を介して供給されるのが、第２の３−ＬＵＴ  ２−１５０の出力の信号および入力１１２の出力のいずれであるかもまた、メモリビットＣＲ０によって決定される。メモリビットＣＲ０は、２−ＭＵＸ  １２４の選択入力を駆動する。第３の３−ＬＵＴ  ３−１５０の第３の入力は、２−ＭＵＸ  １７２の選択入力であるが、入力１０２によって駆動される。入力１０２はさらに４−ＬＵＴ  １３０の２−ＭＵＸ  １２０の選択入力を駆動する。
【００４８】
以下に述べるように、６−ＬＵＴ  １００はフラクチャ可能であり、そのため１より多い出力を有していなければならない。第１の出力１４０は第３の３−ＬＵＴ  ３−１５０の２−ＭＵＸ  １７２から駆動される。第２の出力１４２は４−ＬＵＴ  １３０の２−ＭＵＸ  １２０の出力から駆動される。
【００４９】
６−ＬＵＴ  １００はさらに、メモリビット１９０を含む。当業者には理解されるが、メモリビット１９０は、６−ＬＵＴ  １００によって実行される特定の関数を決定する構成データを保持するようにプログラム可能である。完全な６−ＬＵＴは、完全な６−ＬＵＴによって実行される６入力論理関数を明確に定義するようにプログラムされるためには、６４ビットを必要とする。しかし以下に述べるように、６−ＬＵＴ  １００は不完全であり、そのため、論理関数を明確に定義するためには６４未満のメモリビットを必要とする。特に、６−ＬＵＴ  １００のメモリビット１９０は好適には、３２未満のメモリビットを含み、より好適にはメモリビットＣＲ０以外では僅か２４のメモリビットを含む。図１に示す実施形態では、６−ＬＵＴ  １００の論理関数を明確に定義するためにはメモリビットＣＲ０を入れて２５メモリビットで十分である。
【００５０】
メモリビット１９０は好適にはＲＡＭビットであるが、上記したメモリ要素のいずれであってもよい。メモリビット１９０のプログラミングは好適には、６−ＬＵＴ  １００の製造後に実行される。しかし、メモリビット１９０のプログラミングは、６−ＬＵＴ  １００の製造中でもマスクプログラミングを介して達成され得る。
【００５１】
本発明による不完全な６−ＬＵＴ、例えば６−ＬＵＴ  １００は、最高６入力を有する論理関数を実行し得、さらに以下に述べるように、各々が６未満の入力を有する２つの論理関数を実行するためにフラクチャされ得る。しかし不完全な６−ＬＵＴ  １００がＰＬＤ内で実行するのに必要とする面積は、完全な６−ＬＵＴが必要とするよりも少なく、そのため不完全な６−ＬＵＴ  １００を提供する費用は完全な６−ＬＵＴよりも低い。以下にさらに述べるように、不完全な６−ＬＵＴ  １００は、完全な６−ＬＵＴの性能のほとんどを維持する。
【００５２】
上記のように、本発明の不完全な６−ＬＵＴ（６−ＬＵＴ  １００など）はフラクチャ可能である、すなわち、６より少ない入力をそれぞれ有する２つの論理関数を同時に実行し得る。例えば、本発明の不完全な６−ＬＵＴは、入力を共有することなく、５−入力論理関数と１−入力論理関数（５＋１フラクチャ）、４＋２フラクチャまたは３＋３フラクチャを実行するように構成され得る。本発明の不完全な６−ＬＵＴはまた、４＋３フラクチャ、５＋２フラクチャまたは５＋３フラクチャなどの入力を共有する２つの論理関数を実行するようにフラクチャされ得るが、これに限定されない。一般に、本発明の不完全な６−ＬＵＴは、少なくとも６つの入力のいくつかの６−ｎ入力が１つの出力を駆動して６−ｎ入力論理関数を生成するように構成され、かつ少なくとも６つの入力のいくつかの６−ｍ入力が第２の出力を駆動して（６−ｍ）入力論理関数を生成するように構成されるように（ここでｍは３〜５の整数であり、ｎは１〜５の整数である）構成され得る。すなわち、６つの入力のうちの第１のサブセットが１つの出力を駆動し得、かつ少なくとも６つの入力のうちの第２のサブセットが第２の出力を駆動し得る。
【００５３】
１入力を共有して４−入力論理関数および３−入力論理関数を実行するようにフラクチャ（４＋３フラクチャ）された６−ＬＵＴ  １００の例を図２に示す。図２は、図１の６−ＬＵＴ  １００においてメモリビットＣＲ０が１に設定された場合の６−ＬＵＴ  ２００の模式図である。このような構成において、入力２０２は２−ＭＵＸ  ２２０および２−ＭＵＸ  ２７２の両方への選択入力を駆動し、かつ３−ＬＵＴ  １−２５０および２−２５０への入力は入力２０４、２０６および２０８によって駆動される。入力２１０および２１２は３−ＬＵＴ  ３−２５０を駆動する。このように、出力２４０は入力信号ｄ０、ｄ４およびｄ５の３入力論理関数の出力を提供し、かつ出力２４２は入力信号ｄ０、ｄ１、ｄ２およびｄ３の４入力論理関数の出力を提供し、ここで３入力論理関数および４入力論理関数は入力信号ｄ０を共有する。
【００５４】
本発明の不完全な６−ＬＵＴは、比較的一般に使用される６−ＬＵＴ（ＬＵＴマスク）を比較的高い割合で実行し得る。不等価な６−入力論理関数（すなわち、６−ＬＵＴマスク）の合計数は２６４であると十分に理解されるが、これらのほんの一部がＰＬＤをプログラミングする際に常に使用される。
【００５５】
６−ＬＵＴ  １００における構成可能なすべての６入力論理関数の合計数の割合は比較的小さいが、６−ＬＵＴ  １００における構成可能な比較的一般に使用される６入力論理関数の割合は比較的高い。これは、すべての６−入力論理関数のより高い割合を実行し得る不完全な６−ＬＵＴに対してより小さい面積で達成されるので有利である。特に、同時係属中の米国特許出願（発明の名称：「Ｌｏｇｉｃ  Ｃｉｒｃｕｉｔｒｙ  ｗｉｔｈ  Ｓｈａｒｅｄ  Ｌｏｏｋｕｐ  Ｔａｂｌｅ」、発明者：Ｂ．Ｐｅｄｅｒｓｅｎ、出願日：２００３年１月２４日、以下「Ｐｅｄｅｒｓｏｎ」と呼ぶ）に開示の完全６−ＬＵＴは、完全なので、すべての６−入力論理関数を実行し得る。しかし、本発明の６−ＬＵＴ  １００の物理的なシリコン面積は、Ｐｅｄｅｒｓｏｎの６−ＬＵＴよりも小さい。さらに、この面積効率は、平均回路速度をほんのわずかに損失するだけで得られる。
【００５６】
上記のように完全または完全に近いＬＵＴの関数の多くを実行するために実際に必要なシリコン面積がより少ないことに加えて、本発明の６−ＬＵＴはフラクチャ可能である。したがって、６−ＬＵＴ  １００のよう６−ＬＵＴを構成およびＦＰＧＡ占有した場合、関数パッキングを使用して、構成が実装されるシリコン面積に対する効率性を増加し得る。特に、６−入力論理関数だけでなく５、４、３および２入力論理関数を必要とする構成を実装する場合、５、４、３および２入力論理関数の対が、第２の６−ＬＵＴをとるのではなく、１つの６−ＬＵＴ上に構成され得る。
【００５７】
ＬＵＴ性能の別の重要な指標は、並び換え性（ｐｅｒｍｕｔａｂｉｌｉｔｙ）である。並び換え性指数（「ＰＩ」）は、ＬＵＴの並び換え性についての指標を提供し、かつあるマスクに対する信号を並び換えるために利用可能な入力の数がどれくらいかの定義とされ得る。任意の完全ｋ−ＬＵＴに対して、ＰＩは、ｋ入力の任意の論理関数に対して単純にｋであり、かつｋを含むｋ入力までのすべての論理関数に対するＰＩについて平均した場合にもｋのままである。例えば、完全６−ＬＵＴに対するＰＩは、６を含む６入力までのすべての論理関数について平均すると、６である。したがって、ｋを含むｋ入力までのすべての論理関数についての平均ＰＩは６である。
【００５８】
不完全ｋ−ＬＵＴについて、並び換え性は、実装される特定のマスクに依存して一般に異なり、ｋ−入力論理関数に対して一般にｋより小さい。したがって、不完全ＬＵＴに対するｋを含むｋ入力までのすべての論理関数についての平均ＰＩは、一般にｋより小さい。例えば、不完全６−ＬＵＴについて、１および２入力関数に対するＰＩは６であり得るが、３、４、５および６入力関数に対するＰＩは６より小さい可能性がある。したがって、６を含む６入力までのすべての論理関数についての平均ＰＩは、６より小さい。しかし、比較的高い並び換え性は、論理関数におけるより重要な信号がより速い入力にルーティングされ得るのでより大きな柔軟性およびより高い性能を提供する。図１に示す６−ＬＵＴ  １００は、６を含む６入力までの論理関数について比較的高い平均並び換え性を維持するという利点を有する。
【００５９】
図３は、本発明の不完全、フラクチャ可能６−ＬＵＴ  ３００の別の実施形態の模式図である。図１に示す６−ＬＵＴ  １００と同様に、６−ＬＵＴ  ３００は信号ｄ０、ｄ１、ｄ２、ｄ３、ｄ４およびｄ５をそれぞれ搬送する６入力：３０２、３０４、３０６、３０８、３１０および３１２を含む。また、６−ＬＵＴと同様に、６−ＬＵＴ  ３００は、入力３０４および３０６によって駆動される第１の３−ＬＵＴ  １−３５０；２−ＭＵＸ  ３１６および２−ＭＵＸ  ３１４のそれぞれの状態に依存して、入力３０４および３０６または入力３１０および３１２のいずれかによって駆動され得る第２の３−ＬＵＴ  ２−３５０；および２−ＭＵＸ  ３９２を介して第１の出力３４０を駆動する３−ＬＵＴ  ３−３５０を含む。第２の出力３４２は２−ＭＵＸ  ３２０によって駆動される。２−ＭＵＸ  ３２０は、２−ＭＵＸ  ３２０の選択入力を駆動する入力３０２に基づいて第１の３−ＬＵＴ  １−３５０または第２の３−ＬＵＴ  ２−３５０のいずれかによって駆動され得る。６−ＬＵＴ  ３００はまた、第３の３−ＬＵＴ  ３−３５０を駆動する２−ＭＵＸ  ３２２および２−ＭＵＸ  ３２４を含む。２−ＭＵＸ  ３２２は、第１の３−ＬＵＴ  １−３５０からの出力信号または入力３１０からの信号ｄ４のいずれかを通過させ、３−ＬＵＴ  ３−３５０を駆動し得、２−ＭＵＸ  ３２４は、第２の３−ＬＵＴ  ２−３５０からの出力信号または入力３１２からの信号ｄ５のいずれかを通過させ得る。２−ＭＵＸ  ３２２および２−ＭＵＸ  ３２４の両方の選択入力は、ユーザ設定可能メモリビットＣＲ０’によって制御される。図３に示す実施形態において、６−ＬＵＴ  ３００は７入力および４出力だけを有するが、本発明の６−ＬＵＴはさらなる入力および出力を含み得る。
【００６０】
６−ＬＵＴ  １００と異なり、６−ＬＵＴ  ３００は、信号ｄ３ａを搬送する入力３０９、２−ＭＵＸ  ３３０および３３２、ならびに出力３４４および３４６を有する。出力３４４は第１レジスタｒｅｇ−１を駆動し、出力３４６は第２レジスタｒｅｇ−０を駆動する。第１の３−ＬＵＴ  １−３５０の出力は、２−ＭＵＸ  ３５４によって駆動される。入力３０８は、２−ＭＵＸ  ３５４の選択入力および出力３４６の両方を駆動する。第２の３−ＬＵＴ  ２−３５０の出力は２−ＭＵＸ  ３６２によって駆動される。２−ＭＵＸ  ３３０は、入力３０８上の信号ｄ３または入力３０９上の信号ｄ３ａのいずれかを第２の３−ＬＵＴ  ２−３５０の２−ＭＵＸ  ３６２の選択入力に通過させる。さらに、入力３０９は出力３４４を駆動する。ユーザ設定可能メモリビットＣＲ１は、２−ＭＵＸ  ３３０の選択入力を駆動し、入力３０８上の信号ｄ３または入力３０９上の信号ｄ３ａの間で選択する。メモリビットＣＲ１はまた、２−ＭＵＸ  ３３２の選択入力を駆動し、次いで２−ＭＵＸ  ３３２は、入力３０２上の信号ｄ０または入力３０９上の信号ｄ３ａを用いて２−ＭＵＸ  ３９２の選択入力を駆動する。６−ＬＵＴ  ３００は、メモリビット３９０を含む。好ましくは、メモリ３９０は３２より小さい数のビットを含み、より好ましくは２６ビットを含み、６−ＬＵＴ  ３００における６−入力論理関数を曖昧なく構成するために必要なすべてビットであるメモリビットＣＲ０’およびＣＲ１を含む。
【００６１】
上記の６−ＬＵＴ  １００と同様に、６−ＬＵＴ  ３００はフラクチャ可能である。すなわち、少なくとも７入力の第１のサブセットは第１出力を駆動し得、かつ少なくとも７入力の第２のサブセットは第２出力を駆動し得るように構成され得る。これにより、関数パッキングは上記のように面積効率を有利に増加し得る。
【００６２】
不完全であることに加えて、６−ＬＵＴ  ３００は、７番目の入力３０９および２つのさらなる出力３４４および３４６を含む。これらにより、レジスタパッキングが有利に可能になる。レジスタパッキングは、直前の論理素子によって使用されないレジスタまたはフリップフロップが論理ブロックの他の場所の別の論理素子によって使用されることを可能にする。このように、各論理素子が１つのレジスタを含む（従来のように）ＥＰＧＡの特定の構成において、第１論理素子は２つのレジスタを必要とするが、第２論理素子はレジスタを必要としないならば、第２論理素子のレジスタは第１論理素子によって使用され得る。
【００６３】
本発明のフラクチャ可能、不完全６−ＬＵＴにおけるレジスタパッキングを実装するために必要なさらなる回路（図３に示す実施形態おける入力３０９、出力３４４、３４６ならびに２−ＭＵＸ  ３３０および３３２）は、約３％のさらなる面積を必要とする。しかし、ＦＰＧＡにおけるレジスタパッキングは一般に、特定の構成を実装するために必要な面積を低減する。したがって、比較的一般的なＥＰＧＡ構成について、レジスタパッキングを可能にする回路を含む本発明の６−ＬＵＴを使用することは、特定のＦＰＧＡ構成を実装するために必要な面積を低減する（したがってコストを削減する）という利点がある。レジスタパッキングを可能にする回路は、同一人に譲渡された同時係属中の２００２年１０月２４日に出願された米国特許出願第１０／２８０，７２３号に詳細に記載され、その全体が本明細書中に参考として援用される。レジスタパッキングを可能にするさらなる回路を用いると、６−ＬＵＴ  ３００は、上記６−ＬＵＴ  １００またはＰｅｄｅｒｓｏｎに開示の完全６−ＬＵＴよりもさらに面積効率が高くなり得る。
【００６４】
上記のように６−ＬＵＴ  ３００は不完全であり、かつしたがって、すべての６−入力論理関数のサブセットだけを実行し得る。しかし、本発明のレジスタパッキングを可能にする回路を含む６−ＬＵＴ（６−ＬＵＴ  ３００など）は一般に、レジスタパッキングが可能でない不完全な、フラクチャ可能６−ＬＵＴ（６−ＬＵＴ  １００など）が実装できない６−入力論理関数を実装し得る。
【００６５】
図４は、データ処理システム４００におけるプログラム可能論理デバイス（ＰＬＤ）４１０を例示する。１例として、本発明の構成可能論理回路は、ＰＬＤ４１０などのＰＬＤの論理素子において実装され得る。ＰＬＤ４１０は、複数の論理アレイブロック（ＬＡＢ）（ＬＡＢ４１２など）を含む（図面が複雑にならないようにＬＡＢを１つだけ示す）。ＬＡＢ４１２は、複数の構成可能論理回路（６−ＬＵＴ  １００など）を含む（図面が複雑にならないように構成可能論理回路を１つだけ示す）。データ処理システム４００は、以下の構成要素の１つ以上を含み得る。プロセッサ４４０、メモリ４５０、Ｉ／Ｏ回路４２０、および周辺デバイス４３０である。これらの構成要素は、システムバス４６５によって互いに結合され、かつエンドユーザシステム４７０に含まれる回路ボード４６０上に配置される。
【００６６】
システム４００は、コンピュータネットワーク、データネットワーク、計測、ビデオ処理、デジタル信号処理などの用途、もしくはプログラム可能または再プログラム可能論理を使用する利点が所望される任意の他のアプリケーションなどの広範囲の用途に使用され得る。ＰＬＤ４１０は、種々の異なる論理関数を実行するために使用され得る。例えば、プログラム可能論理回路４１０は、プロセッサ４４０と協働して機能するプロセッサまたはコントローラとして構成され得る（あるいは、別の実施形態において、ＰＬＤそれ自体が、単独のシステムプロセッサとして機能し得る）。ＰＬＤ４１０はまた、システム４００における共有リソースへのアクセスを調停するアービタとして使用され得る。さらに別の例において、ＰＬＤ４１０は、プロセッサ４４０とシステム４００における他の構成要素の１つとの間のインタフェースとして構成され得る。なお、システム４００は例示に過ぎない。
【００６７】
本明細書において、少なくとも６つの入力および少なくとも２つの出力を含む、構成可能論理回路が開示される。構成可能論理素子は、６入力論理関数の全てのサブセットのみを実行することができる。従って、構成可能論理素子は、６入力論理関数の全てを行い得る６−ＬＵＴよりも実質的に小さいシリコン面積を必要とする。また、構成可能論理回路は、入力の第１のサブセットが出力のうちの１つを駆動し、入力の第２のサブセットが他の出力を駆動するように構成され得る。
【００６８】
特定の実施形態を詳細に記載したが、本明細書中に記載の実施形態に対する種々の変更が本発明の精神および範囲から逸脱せずになされ得る。本発明は、添付の特許請求項の範囲によってのみ制限される。
【００６９】
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
【図面の簡単な説明】
【００７０】
【図１】図１は、本発明による不完全なフラクチャ可能６−ＬＵＴの第１の実施形態を示す模式図である。
【図２】図２は、４＋３フラクチャリングを実行するように構成された、図１に示す不完全なフラクチャ可能６−ＬＵＴを示す模式図である。
【図３】図３は、本発明による不完全なフラクチャ可能６−ＬＵＴの第２の実施形態を示す模式図である。
【図４】図４は、本発明によるプログラマブル論理回路を実行するプログラマブル論理デバイスおよびデータ処理システムを示すブロック図である。
【図１】
2004248293.tif 000003
【図２】
2004248293.tif 000004
【図３】
2004248293.tif 000005
【図４】
2004248293.tif 000006