(57)【要約】データパスおよびランダムロジックを実現可能な論理モジュール（400）は、１つ以上の入力端子を少なくとも１つの出力端子(20)に選択的に結合するための制御論理を使用する。制御論理は第１組の２入力論理関数を生成するように構成される複数の論理素子（26、28、30、32）と、第１組の２入力論理関数の補関数である、第２組の２入力論理関数を生成するように構成されるプログラム可能なインバータ（36）とを具える。ＳＲＡＭメモリ・セルを設定目的のために用いて、再プログラム可能なコンパクトな論理モジュールまたはブロックを実現することができる。
2009507414.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力端子と、
少なくとも１つの出力端子と、
前記入力端子と前記少なくとも１つの出力端子との間の制御論理と、
を具える論理モジュールであって、
前記制御論理は、第１組の少なくとも２入力の論理関数の各々を生成するためにプログラム可能な複数のマルチプレクサ論理素子と、前記第１組から、前記第１組の少なくとも２入力の論理関数の補関数である、第２組の少なくとも２入力の論理関数を生成するためにプログラム可能なインバータと、を具える
ことを特徴とする論理モジュール。
【請求項２】
前記第１組および前記第２組の少なくとも２入力の論理関数は、全ての可能な２入力論理関数を具える請求項１に記載の論理モジュール。
【請求項３】
前記複数のマルチプレクサ論理素子は、複数の２入力１出力マルチプレクサを具える請求項１または２に記載の論理モジュール。
【請求項４】
前記プログラム可能なインバータはＸＯＲ論理ゲートである請求項２または３に記載の論理モジュール。
【請求項５】
前記プログラム可能なインバータはマルチプレクサであり、該マルチプレクサは、その入力信号が関数および該関数の補関数に接続され、前記入力信号の一つが選択信号に応じて出力するように構成されている請求項１〜３の何れかに記載の論理モジュール。
【請求項６】
前記制御論理は１ビットの全加算を実行するように構成されている請求項１〜５の何れかに記載の論理モジュール。
【請求項７】
前記論理モジュールは再プログラム可能である請求項１〜６の何れかに記載の論理モジュール。
【請求項８】
請求項１に記載の論理モジュールにおいて、
前記複数の入力端子は、第１オペランド端子と、第２オペランド端子と、第１設定端子と、第２設定端子とを具え、
前記制御論理は、第１〜４の２入力１出力マルチプレクサと２入力ＡＮＤ論理ゲートとを具え、
前記インバータは、２入力ＸＯＲ論理ゲートを具え、
前記論理モジュールはメモリ・ラッチを更に具える、
ことを特徴とする論理モジュール。
【請求項９】
請求項８に記載の論理モジュールにおいて、
前記メモリ・ラッチは、前記第１設定端子に接続され、
前記２入力ＡＮＤ論理ゲートは、一方の入力を前記第１オペランド端子に接続し、他方の入力を前記第２設定端子に接続し、
前記第１の２入力１出力マルチプレクサは第１および第２の信号端子を前記２入力ＡＮＤ論理ゲートの前記出力および前記２入力ＡＮＤ論理ゲートの前記出力の補集合にそれぞれ接続し、選択端子を前記メモリ・ラッチの第１ビットに接続し、前記第２の信号端子を前記第２の２入力１出力マルチプレクサの第２の信号端子に接続し、
前記第２の２入力１出力マルチプレクサは、その第１の信号端子をグラウンド信号に接続し、その選択端子を前記メモリ・ラッチの第２ビットに接続し、 
前記第３の２入力１出力マルチプレクサは、２つの信号端子を前記第２オペランド端子および前記第２オペランド端子の補集合にそれぞれ接続し、その選択端子を前記メモリ・ラッチの第３ビットに接続し、
前記第４の２入力１出力マルチプレクサは、２つの信号端子を前記第１および第２の２入力１出力マルチプレクサによって選択される信号にそれぞれ接続し、その選択端子を前記第３の２入力１出力マルチプレクサによって選択される信号に接続し、
前記２入力ＸＯＲ論理ゲートは、一方の入力を前記第４の２入力１出力マルチプレクサによって選択される信号に接続し、他方の入力を前記メモリ・ラッチの第４ビットに接続し、
前記出力端子は、前記ＸＯＲ論理ゲートの出力信号を受信する、
ことを特徴とする論理モジュール。
【請求項１０】
桁上げ入力端子と、
第５の２入力１出力マルチプレクサと、
第２の出力端子と、
を更に具える請求項８に記載の論理モジュールであって、
前記２入力ＸＯＲ論理ゲートは、一方の入力を前記第４の２入力１出力マルチプレクサによって選択される信号に接続し、他方の入力を前記桁上げ入力端子に接続し、
前記第５の２入力１出力マルチプレクサは、２つの信号端子を前記２入力ＡＮＤ論理ゲートの出力および前記桁上げ入力端子にそれぞれ接続し、その選択端子を前記第４のマルチプレクサによって選択される信号に接続し、
前記第２の出力端子は、前記第５の２入力１出力マルチプレクサによって選択される信号を受信する、
ことを特徴とする論理モジュール。
【請求項１１】
第３の設定端子と第６の２入力１出力マルチプレクサとを更に具える請求項１０に記載の論理モジュールであって、
前記第６の２入力１出力マルチプレクサは、２つの信号端子を前記桁上げ入力端子および前記メモリ・ラッチの第４ビットにそれぞれ接続し、その選択端子を前記第３の設定端子に接続し、
前記２入力ＸＯＲ論理ゲートは、一方の入力を前記第４の２入力１出力マルチプレクサに接続し、他方の入力を前記第６の２入力１出力マルチプレクサによって選択される信号に接続する、
ことを特徴とする論理モジュール。
【請求項１２】
請求項１〜１１の何れかに記載の少なくとも１つの論理モジュールを具える半導体集積回路。 
【請求項１３】
少なくとも２入力の論理関数を、複数のマルチプレクサ論理素子およびインバータを具える制御論理から生成する方法であって、
第１組の少なくとも２入力の論理関数の各々を生成するために、前記複数のマルチプレクサ論理素子をプログラミングするステップと、
前記第１組から、前記第１組の少なくとも２入力の論理関数の補関数である第２組の少なくとも２入力の論理関数を生成するために、インバータをプログラミングするステップと、
を具えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路用の論理モジュールに関するものであり、特に、プログラム可能なハードウェア（例えばフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ））用のマルチプレクサ・ベースの論理モジュールに関するものである。
【背景技術】
【０００２】
今日、各種のプログラム可能なハードウェア・ソリューションが市場に存在する。種々のプログラム可能なハードウェアのタイプは、プログラム可能なＡＮＤプレーンとその後に続く固定のＯＲプレーンを含むプログラマブル・アレイ・ロジック（ＰＡＬ）、プログラム可能なＡＮＤプレーンとその後に続くプログラム可能なＯＲプレーンを含むプログラマブル・ロジック・アレイ（ＰＬＡ）、メインスイッチ技術がＳＲＡＭおよびアンチヒューズであるフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）およびメインスイッチ技術が、消去可能ＰＲＯＭ（ＥＰＲＯＭ）および電気消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）デバイスに用いられるようなフローティング・ゲート・トランジスタであるコンプレックス・プログラマブル・ロジック・デバイス（ＣＰＬＤ）に概ね分類される。
【０００３】
ＳＲＡＭベースのプログラム可能なソリューションは、（回路外で再プログラム可能なＥＰＲＯＭと異なり）回路内でプログラム可能であるので、１回しかプログラムできないアンチヒューズ技術と比較したとき有利である。
【０００４】
ＳＲＡＭベースのコンフィギュラブル・ロジック・ブロック（ＣＬＢ）は、ルック・アップ・テーブル（ＬＵＴ）を具える。ＬＵＴはデータ構造であり、通常、ランタイム計算をより単純な検索操作に交換するために使用する配列または連想配列である。メモリから値を検索することは多大な計算を行うことより高速なことが多いので、速度利得は重要となりうる。従来、ＳＲＡＭベースのＣＬＢ内のＬＵＴは１ビット幅のメモリであり、そのメモリアドレスラインは論理ブロック入力であり、１ビットメモリ出力はＬＵＴ出力である。
【０００５】
Ｋ個の入力を有するＬＵＴは２Ｋ×１ビットのメモリに対応し、これを用いて、ユーザは論理関数の真理値表をメモリに直接プログラミングすることによってＫ入力論理関数を実現することができる。
【０００６】
ＣＬＢを実現する代替方式は、ＬＵＴの代わりに論理関数発生器としてマルチプレクサを使用することである。マルチプレクサへの入力および選択信号はデータ信号によってもたらされ、これらのデータ信号は実行すべき論理関数に従って相互接続から接続できる。多くの製造業者は、これを、アンチヒューズを使用する一回のみプログラム可能な商業的ソリューションの形で使用してきた。
【０００７】
マルチプレクサ論理の基礎は、任意の論理関数を２項に展開可能なシャノン展開定理であり、第１項は、特定の変数が１に設定され該特定の変数が乗算され、第２項は、特定の変数が０に設定され該変数の反転が乗算される。このことは下記の例からより明らかにされる。この場合マルチプレクサを使用でき、変数でマルチプレクサへの入力としての項を選択する。シャノンの定理を式に含まれる各変数について繰り返すことによって、論理関数は正準形になり、マルチプレクサ論理を使用して実現することができる。
【０００８】
例えば、関数ｆは、
ｆ(a,b,c,d)＝ab＋b’c＋d
と定義することができる。ここで、ダッシュ記号（’）は反転を表し、以下においても同様である。
ｂが０のとき、ｆb=0＝a.0＋1.c＋d＝c＋d
ｂが１のとき、ｆb=1＝a.1＋0.c＋d＝a＋d
シャノンを用いると、ｆ(a,b,c,d)＝bfb=1＋b’fb=0＝b(a＋d)＋b’(c＋ｄ)
になり、
シャノンを括弧内に用いると、ｆ(a,b,c,d)＝b(a＋a’d)＋b’(c＋c’ｄ)
になる。
【０００９】
このように、論理関数ｆ(a,b,c,d)＝ab＋b’c＋dは、図１に示すマルチプレクサ・ベースの論理を用いて実現することができる。
【００１０】
いかなる論理関数もプログラム可能なマルチプレクサ構成にマップ可能にするために、相互接続アーキテクチャは、大きなフレキシビリティを必要とする。その結果、論理ブロック自体がコンパクトな場合であっても、マルチプレクサ・ベースの論理ブロックと関連する相互接続領域がかなり大きくなる。相互接続領域を制限するために、マルチプレクサ・ベースのＦＰＧＡはアンチヒューズ・ベースである。これらの解決方法の不利な点は、アンチヒューズを使用するため、１回しかプログラム可能でないということである。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
それゆえ、マルチプレクサ・ベースの論理ブロックで必要とされる相互接続フレキシビリティを低減することが求められている。相互接続フレキシビリティを十分に制限できる場合、コンフィギュレーション（設定）のために、アンチヒューズの代わりにＳＲＡＭメモリ・セルを用いることができるので、再プログラム可能なコンパクトな論理ブロックを実現することができる。
【課題を解決するための手段】
【００１２】
本発明の一態様によれば、複数の入力端子と、少なくとも１つの出力端子と、前記入力端子と前記少なくとも１つの出力端子との間の制御論理とを具える論理モジュールであって、前記制御論理は、第１組の少なくとも２入力の論理関数の各々を生成するためにプログラム可能な複数のマルチプレクサ論理素子と、前記第１組から、前記第１組の少なくとも２入力の論理関数の補関数である、第２組の少なくとも２入力の論理関数を生成するためにプログラム可能なインバータと、を具えることを特徴とする論理モジュールが提供される。
【００１３】
ＳＲＡＭメモリ・セルを構成目的のために用いて、再プログラム可能なコンパクトな論理ブロックを実現することができる。
【００１４】
第１および第２の組の少なくとも２入力の論理関数は、全ての可能な２入力論理関数を具えることができる。
【００１５】
前記論理モジュールは、１ビットの全加算に構成することもできる。従って、前記論理モジュールはデータパス関数のビットスライスを実現することができる。
【００１６】
本発明の他の態様では、本発明の少なくとも１つの論理モジュールを具えている半導体集積回路が提供される。
【００１７】
本発明の更に他の態様によれば、少なくとも２入力の論理関数を、複数のマルチプレクサ論理素子およびインバータを具える制御論理から生成する方法が提供される。
【００１８】
本発明は、システム・オン・チップに埋め込み再構成可能性を与えるために用いることもできる。
【００１９】
従来技術のマルチプレクサ・ベースの論理ブロックと比較すると、本発明は要求される接続性を少なくすることによって相互接続ネットワークを著しく単純化するマルチプレクサ・ベースの論理ブロックを提供する。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施例を添付図面を単に例として参照しながら説明する。
【００２１】
本発明を以下に種々の実施例について更に説明する。本発明はさまざまな形態の実施例が可能であるが、好適実施例が図面に示されている。開示を完全なものとするために、かつ、本発明の範囲を当業者に完全に伝えるために、これらの実施例は提供される。全体を通して類似の参照符号は類似の要素を表す。
【００２２】
マルチプレクサをプログラム可能な論理ブロック内で用いて、各種論理関数を実現できることは既知である。完全なフレキシビリティを与えるためには、以下に示す全ての可能な２入力論理関数を考慮することが必要である。
【数１】
2009507414.tif 000003
【００２３】
これらの関数のうちの１０個（関数７〜１６）は、２つの入力変数に依存する。しかし、これらの１０個の関数のうちの５個は、その他の５個の関数の補関数に対応する。図２に示す関数および補関数を選択することによって、１０個の２入力論理関数（関数７〜１６）を実現するのに必要なマルチプレクサのサイズおよび数を最小化することができる。図２の表の上の（あるいは下の）５つの関数のみを実現する必要がある。なぜなら、それらの補関数はプログラム可能なインバータを用いて生成することができるからである。
【００２４】
図３は本発明の一実施例による論理モジュール100を示す。論理モジュール100は、第１〜４の入力端子10,12,14,16と、出力端子20と、入力端子（10,12,14,16）と少なくとも１つの出力端子(20)との間の制御論理とを具える。制御論理は、第１組の２入力論理関数の各々を生成するためにプログラム可能な複数のマルチプレクサ論理素子と、第１組から、第１組の２入力論理関数の補関数である第２組の２入力論理関数を生成するためにプログラム可能なインバータ（36）とを具える。
【００２５】
制御ロジックは、１つの２入力ＡＮＤ論理ゲート24と、第１〜４の２入力１出力マルチプレクサ26,28,30,32と、２入力ＸＯＲ論理ゲート36と、４ビット・メモリ・ラッチ38とを具える。
【００２６】
４ビット・メモリ・ラッチ38は、第３の入力端子14に接続され、第３の入力端子14に供給されたデータ信号を格納する。
【００２７】
第１および第４の入力端子10,16は、２入力ＡＮＤ論理ゲート24の第１および第２の入力端子にそれぞれ接続されている。ＡＮＤゲート24は、第１端子10に供給されたデータ入力と、第４の入力端子に供給されたグローバル設定信号との論理積を実現する。
【００２８】
ＡＮＤゲート24は、第４の入力端子16に供給された設定信号に応じて、第１の入力端子10に供給された信号を選択的に通過あるいは遮断する。ＡＮＤゲート24は、第４の入力端子16に供給された設定信号の電位がハイ（１）レベルにあるとき第１の入力端子10に供給された信号を出力し、第４の入力端子16に供給された信号がロウ（０）レベルにあるとき、低電位（０）の信号を出力する。 
【００２９】
第１のマルチプレクサ26は、２入力ＡＮＤ論理ゲート24の出力および２入力ＡＮＤ論理ゲート24の出力の補集合にそれぞれ接続された第１および第２の信号端子を有し、第１のマルチプレクサ26の第２の信号端子は、第２のマルチプレクサ28の第２の信号端子にも接続されている。第１のマルチプレクサ26の選択端子は、４ビット・メモリ・ラッチ38の第１ビットCM0に接続されている。第１のマルチプレクサ26は、第１のマルチプレクサ26の選択端子の電位がハイ（１）レベルにあるとき２入力ＡＮＤ論理ゲート24の出力の補集合を選択し、第１のマルチプレクサ26の選択端子の電位がロウレベル（０）にあるとき２入力ＡＮＤ論理ゲート24の出力を選択する。
【００３０】
第２のマルチプレクサ28は、グラウンド電位／信号に接続された第１の信号端子と、４ビット・メモリ・ラッチ38の第２ビットCM1に接続された選択端子とを有する。上述したように、第１のマルチプレクサ26の第２の信号端子は、第２のマルチプレクサ28の第２の信号端子に接続されている。第２のマルチプレクサ28は、第２のマルチプレクサ28の選択端子の電位がハイ（１）レベルにあるとき２入力ＡＮＤ論理ゲート24の出力の補集合を選択し、第２のマルチプレクサ28の選択端子の電位がロウレベル（０）にあるときグラウンド電位／信号を選択する。
【００３１】
第３のマルチプレクサ30は、第２の入力端子12および第２の入力端子12の補集合にそれぞれ接続された第１および第２の信号端子を有し、第３のマルチプレクサ30の選択端子は４ビット・メモリ・ラッチ38の第３のビットCM2に接続されている。第３のマルチプレクサ30は、第３のマルチプレクサ30の選択端子の電位がハイ（１）レベルにあるときに、第２の入力端子12の補集合を選択し、第３のマルチプレクサ30の選択端子の電位がロウレベル（０）にあるときに、第２の入力端子12を選択する。
【００３２】
第１および第２のマルチプレクサ26および28によって選択された信号は第４のマルチプレクサ32の第１および第２の信号端子にそれぞれ接続され、第３のマルチプレクサ30によって選択された信号は第４のマルチプレクサ32の選択端子に接続されている。第４のマルチプレクサ32は、第４のマルチプレクサ32の選択端子の電位（第３のマルチプレクサ30の出力信号）がハイ（１）レベルにあるとき、第２のマルチプレクサ28の出力信号を選択し、第４のマルチプレクサ32の選択端子の電位（第３のマルチプレクサ30の出力信号）がロウレベル（０）にあるとき、第１のマルチプレクサ26の出力信号を選択する。 
【００３３】
２入力ＸＯＲ論理ゲート36は、一方の入力端子を第４のマルチプレクサ32によって選択された信号に接続し、他方の入力端子を４ビット・メモリ・ラッチ38の第４のビットCM3に接続する。電位（４ビット・メモリ・ラッチ38の第４のビットCM3）がハイレベル（１）にあるとき、ＸＯＲ論理ゲート36は第４のマルチプレクサ32によって選択された信号の補集合を出力することによってプログラム可能なインバータとして作用する。
【００３４】
代案として、プログラム可能なインバータは、例えば入力として関数およびその補関数を有し、選択信号によっていずれかの入力を選択するようにプログラムできるマルチプレクサのような、任意の種類の最適に構成されたコンポーネントとすることができる。
【００３５】
２入力ＸＯＲ論理ゲート36の出力は、出力端子へ直接出力される。 
【００３６】
論理モジュール100は、全16の可能な２入力論理関数を実行することができ、実行される特定の論理関数は、第３および第４の入力端子14,16に供給される選択信号あるいは設定信号によって選択される。第１〜４のマルチプレクサ26,28,30,32は第１組の２入力論理関数を生成するために構成され、特定の関数は、第４の入力端子16に供給される設定信号と、第３の入力端子14に供給される選択信号の最初の3ビットCM0、CM1、CM2（CM0、CM1およびCM2は４ビット・メモリ・ラッチ38に格納されている）の各値とに従って選択される。第２組の２入力論理関数は、対応する第１組の関数を反転することによって生成することができ、この補関数演算手順は第３の入力端子に供給される選択信号の第４のビットCM3（CM3は４ビット・メモリ・ラッチ38に格納されている）に従って選択される。
【００３７】
上記のように、選択信号の第４ビットCM3の電位がハイレベル（１）にあるとき、ＸＯＲ論理ゲート36はプログラム可能なインバータとして作用し、第１〜４のマルチプレクサ26,28,30,32によって生成される関数の補関数を出力する。
【００３８】
例えば、論理モジュールの入力端子に供給される信号が
第１の入力端子10：ａ
第２の入力端子12：ｂ
第３の入力端子14：CM0＝０、CM1＝１、CM2＝０，CM3＝０
第４の入力端子16：１
の場合、ＡＮＤゲート24は第１の入力端子10に供給される信号「ａ」を出力し、第１のマルチプレクサ26は２入力ＡＮＤ論理ゲート24の出力「ａ」を選択し、第２のマルチプレクサ28は２入力ＡＮＤ論理ゲートの出力「ａ’」を選択し、第３のマルチプレクサ30は第２の入力端子12に供給される信号「ｂ」を選択する。このように、信号「ａ」および「ａ’」が第４のマルチプレクサ32の第１および第２の信号端子にそれぞれ接続され、信号「ｂ」が第４のマルチプレクサ32の選択端子に接続される。それゆえ、第４のマルチプレクサ32は、出力として２入力論理関数
【数２】
2009507414.tif 000004
を生成する。第３の入力端子14に供給される選択信号の第４ビットCM3の電位がロウレベル（０）であるので、２入力ＸＯＲ論理ゲート36は第４のマルチプレクサ32によって選択された信号を、出力端子20に単に直接通過させる。
【００３９】
一方、第３の入力端子14に供給される選択信号の第４ビットCM3の電位がハイレベル（１）である場合、ＸＯＲ論理ゲート36はインバータとして作用し、第４のマルチプレクサ32によって選択された信号の補関数を出力端子20に出力する。
【００４０】
上記のように、論理モジュール100は16の可能な２入力論理関数のいずれかを実現することができ、実行される特定の論理関数は、特定の選択信号および設定信号を第３および第４の入力端子14,16に供給することによって選択される。図４には、本発明の一実施例による、16の可能な２入力論理関数の各々を生成するための論理モジュール100を構成するのに用いられる選択信号および設定信号を列挙しているテーブルが示されている。
【００４１】
ＡＮＤゲート24は、マルチプレクサ26〜32のみでは得られないいくつかの関数を実現可能にすることを理解されたい。
【００４２】
図３では、２入力ＡＮＤ論理ゲート24の出力信号の補集合および第２の入力端子12に供給された信号の補集合（第１、第２および第３のマルチプレクサ26,28,30の第２の端子に接続された信号）は、追加のインバータなしで生成される。これは、代表的な標準セル設計ライブラリからの２入力１出力マルチプレクサ50の変更図を示す図５に示されているように、信号の補集合はマルチプレクサ内で予め得ることができるためである。
【００４３】
２入力１出力マルチプレクサ50は、第１および第２のＣＭＯＳ伝送ゲート52,54を具え、第１の伝送ゲート52のｎＭＯＳトランジスタのゲートが第２の伝送ゲート54のｐＭＯＳトランジスタのゲートに接続され、第１の伝送ゲート52のｐＭＯＳトランジスタのゲートが、第２の伝送ゲート54のｎＭＯＳトランジスタのゲートに接続されている。入力「ａ」は、第２の伝送ゲート54のソース接続に直接接続され、第１の伝送ゲート52のソース接続に第１のインバータ56を経て接続されている。選択信号「ｓｅｌ」は、第１の伝送ゲート52のｐＭＯＳゲートに直接接続され、第１の伝送ゲート52のｎＭＯＳゲートに第２のインバータ58を経て接続されている。第１および第２の伝送ゲート52,54のドレイン接続は一緒に接続され、第３のインバータ60を経て出力端に接続されている。
【００４４】
マルチプレクサ50は、マルチプレクサ50の選択端子に供給される選択信号「ｓｅｌ」に応じて入力信号「ａ」あるいはその補集合「ａ’」のいずれかを出力する。このように、論理モジュール100の第１および第３のマルチプレクサ26および30は、上記のようなマルチプレクサ50を使用して各々実現でき、それゆえ、信号およびその補集合は面積オーバヘッドなしで得ることができる。
【００４５】
面積オーバヘッドなしで補集合信号を生成する代替方法は、入力端子に先行する接続ブロック・マルチプレクサから補集合信号を得ることである。これらの接続ブロック・マルチプレクサは、信号およびその反転を生成することができる。
【００４６】
図６には、本発明の他の実施例による論理モジュール300が示される。図３と同一の参照符号および文字は同様の要素を表す。論理モジュール300の構造は、第５の入力端子18と、第２の出力端子22と第５の２入力１出力マルチプレクサ34とを更に具える点以外、図３の論理モジュール100と概ね同様である。
【００４７】
さらに、図６に示すように、第５のマルチプレクサ34は２入力ＡＮＤ論理ゲート24および第５の入力端子18の出力にそれぞれ接続されている第１および第２の信号端子を有し、第５のマルチプレクサ34の選択端子は第４のマルチプレクサ32によって選択される信号に接続されている。第５のマルチプレクサ34は、第５のマルチプレクサ34の選択端子の電位がハイ（１）レベルにあるとき第５の入力端子18を選択し、第５のマルチプレクサ34の選択端子の電位がロウレベル（０）にあるとき２入力ＡＮＤ論理ゲート24の出力を選択する。第５のマルチプレクサ34によって選択される信号は、第２の出力端子22に接続されている。
【００４８】
さらに、２入力ＸＯＲ論理ゲート36は、一方の入力端子を第４のマルチプレクサ32によって選択される信号に接続し、他方の入力端子を第５の入力端子18に接続する。
【００４９】
第３の入力端子14に供給される選択信号の最初の3ビットCM0、CM1、CM2（CM0、CM1、CM2はメモリ・ラッチ38に格納されている）の値をCM0＝１、CM1＝１、CM2＝０とすることによって、１ビットの全加算を論理モジュール300によって実行できる。
【００５０】
第１の出力端子20は加算の「和」を出力するように構成され、第２の出力端子22は加算の「桁上げ」を出力するように構成される。
【００５１】
第５の入力端子18への入力信号は第３のブール入力として作用することができ、１ビットの全加算のための「桁上げ入力」信号を供給するように構成される。論理モジュール300は、１ビットの全加算の「桁上げ出力」信号を出力する第２の出力端子22を第２の論理モジュール300の第５の入力端子18に接続させ、「桁上げ入力」信号を次の論理モジュール300に供給するように構成することができる。従って、論理モジュール300は、データパス関数のビットスライスを実現することができる。
【００５２】
図７に、本発明のさらに他の実施例に従う論理モジュール400が示される。図３及び６と同一の参照符号および文字は同様の要素を表す。論理モジュール400の構造は、第６の入力端子40および第６の２入力１出力マルチプレクサ42を更に具える点以外は、図６の論理モジュール300のそれと概ね同様である。
【００５３】
さらに、図７に示すように、第６のマルチプレクサ42は、第１および第２の信号端子を第５の入力端子18およびメモリ・ラッチ38の第４ビットCM3にそれぞれ接続し、第６のマルチプレクサ42の選択端子を第６の入力端子40に接続している。それゆえ、第６のマルチプレクサ42は、第６のマルチプレクサ42の選択端子の電位がハイ（１）レベルにあるときメモリ・ラッチ38の第４のビットCM3を選択し、第６のマルチプレクサ42の選択端子の電位がロウレベル（０）にあるとき第５の入力端子18を選択する。
【００５４】
さらに、２入力ＸＯＲ論理ゲート36は、一方の入力端子を第４のマルチプレクサ32によって選択される信号に接続し、他方の入力端子を第６のマルチプレクサ42によって選択される信号に接続している。
【００５５】
論理モジュール400は、上述した論理モジュール100および300の機能を結合する。それゆえ、論理モジュール400は、データパスおよびランダムロジックを実現できるマルチプレクサ・ベースの論理モジュールまたは論理ブロック・スライスである。従って、論理モジュール400は、２つの主要な機能モード、
ａ）データパス出力がマルチビット結果の生成によって生成されるデータパスモードと
ｂ）単一ビット出力が生成されるランダム論理モードと
を有する。
【００５６】
第６のマルチプレクサ42は、第６の入力端子40に供給される選択信号に応じて２つの機能モードを選択する選択装置として働く。これらのモードの一つのみが一度に可能である。
【００５７】
第６の入力端子40の電位がハイ（１）レベルにあるとき、ランダムロジック・モードが選択され、論理モジュール400は上記のような２入力論理関数を実行し、実行する特定の論理関数は第３の入力端子14に供給される選択信号によって選択される。
【００５８】
第６の入力端子40の電位がロウ（０）レベルにあるとき、データパスモードが選択される。第３の入力端子14に供給される選択信号の最初の４ビットCM0、CM1、CM2、CM3（CM0、CM1、CM2、CM3はメモリ・ラッチ38に格納されている）の値を、CM0＝０、CM1＝１、CM2＝０、CM3＝０とすることによって、上述したように１ビットの全加算を実行することができる。
【００５９】
相互接続フレキシビリティが制限できるので、ＳＲＡＭメモリ・セルを構成目的および選択信号を供給するために用いて、再プログラムも可能なコンパクトな論理ブロックを実現することができる。
【００６０】
本発明の論理モジュールは、システム・オン・チップにおいて埋め込み再構成可能性を提供する特定の用途を見出だすことができる。
【００６１】
上述の実施例は本発明を制限するためではなく、当業者は請求項の範囲内において、多くの代替実施例を設計することが可能である点に留意されたい。
【００６２】
例えば、複数のマルチプレクサ論理素子およびインバータは、２つ以上の入力変数を有する論理関数を生成するように構成することができる。マルチプレクサ論理素子は、入力論理関数（２以上の入力変数を有する）の第１組の各々を生成するように構成することができ、インバータは、第１組から論理関数の第１組の補関数である論理関数の第２組（２以上の入力変数を有する）を生成するように構成することができる。
【図面の簡単な説明】
【００６３】
【図１】マルチプレクサ・ベースの論理を使用して実現された論理関数f(a,b,c,d)=ab+b'c+dの回路図である。
【図２】マルチプレクサによって実現される全ての可能な２入力論理関数の表である。
【図３】本発明の一実施例に係る論理モジュールの回路図である。
【図４】本発明の一実施例に従って、16個の可能な２入力論理関数の各々を生成する論理モジュールを構成するのに使用される選択信号および設定信号を列挙する表である。
【図５】代表的な標準セル設計ライブラリからの２入力１出力マルチプレクサの変更回路図である。
【図６】本発明の他の実施例に係る論理モジュールの回路図である。
【図７】本発明のさらに他の実施例に係る論理モジュールの回路図である。
【図１】
2009507414.tif 000005
【図２】
2009507414.tif 000006
【図３】
2009507414.tif 000007
【図４】
2009507414.tif 000008
【図５】
2009507414.tif 000009
【図６】
2009507414.tif 000010
【図７】
2009507414.tif 000011
【国際調査報告】
2009507414.tif 000012
2009507414.tif 000013
2009507414.tif 000014
2009507414.tif 000015
2009507414.tif 000016