(57)【要約】電子回路は、ランダム論理モードおよびマルチビット・オペランド・モードで動作するように構成することが可能な複数のプログラム可能な論理ユニットをもつプログラム可能な論理セルを有する。プログラム可能な論理ユニットは入力回路と出力回路との間に並列に結合される。入力回路はランダム論理モードで論理入力の同じ組合せからの論理入力信号をプログラム可能な論理ユニットに供給するように構成することができる。マルチビット・オペランド処理モードにおいて、入力回路は論理入力の異なる論理入力からの論理入力信号をプログラム可能な論理ユニットに供給するように構成される。プログラム可能な論理ユニットは桁上げ連鎖からの桁上げ信号を処理するために少なくともマルチビット・オペランド処理モードで桁上げ連鎖に沿った連続的な位置に結合される。出力回路は、ランダム論理モードでさらなる入力信号の制御下でプログラム可能な論理ユニットから出力信号を選択し、マルチビット・オペランド処理モードでプログラム可能な論理ユニットからの出力を並列にパスする。プログラム可能な論理ユニットは多重化動作モードで動作するように構成された場合に受け取った入力信号の１つをパスするためのマルチプレクサを備える。制御信号を多重化モードとマルチビット・オペランド処理モードとの間で共用することができる。
2006519548.tif 000002
【特許請求の範囲】
【請求項１】
プログラム可能な論理セルのアレイをもつ電子回路であって、前記セルの各々が、
複数の論理入力をもつ入力回路と、
出力回路と、
前記入力回路と前記出力回路との間に並列に結合され、前記入力回路がランダム論理モードとマルチビット・オペランド処理モードとの間で設定変更可能である、複数のプログラム可能な論理ユニットとを備え、前記プログラム可能な論理ユニットの少なくとも１つが、
前記入力回路からの論理入力信号を受け取るように結合された入力を有し、出力を有する設定変更可能な参照用テーブル回路と、
前記参照用テーブル回路の前記出力を受け取るように結合された入力を有し、前記出力回路に接続可能な出力を有する制御可能なインバータ／非インバータ回路と、
前記入力回路からの前記論理入力信号を受け取るように結合された入力および前記出力回路に接続可能なマルチプレクサ出力を有するマルチプレクサと
を備える、プログラム可能な論理セルのアレイをもつ電子回路。
【請求項２】
前記マルチプレクサが第１の制御信号に基づいて前記論理入力信号間から出力を選択する、請求項１に記載の電子回路。
【請求項３】
前記プログラム可能な論理ユニットが、前記インバータ／非インバータ回路の前記出力および前記マルチプレクサの前記出力を受け取るように結合された入力を有する補助マルチプレクサをさらに備え、前記補助マルチプレクサの出力が前記出力回路に結合される、請求項１に記載の電子回路。
【請求項４】
前記補助マルチプレクサが構成メモリからの構成情報の制御下で前記インバータ／非インバータ回路の前記出力または前記マルチプレクサの前記出力の何れかを前記出力回路に供給する、請求項３に記載の電子回路。
【請求項５】
前記プログラム可能な論理ユニットが、
前記インバータ／非インバータ回路の前記出力および前記マルチプレクサの前記出力を受け取るように結合された入力を有する第１の補助マルチプレクサと、
前記参照用テーブル回路の前記出力および前記マルチプレクサの前記出力を受け取るように結合された入力を有する第２の補助マルチプレクサと
をさらに備え、
前記第１および第２のマルチプレクサが構成メモリからの構成情報によって制御され、それによってデータパスおよびランダム論理出力信号が第１のモードでそれぞれ前記第１および第２の補助マルチプレクサから出力され、マルチプレクサ出力信号が第２のモードで前記第１および第２のマルチプレクサから出力される、請求項１に記載の電子回路。
【請求項６】
前記出力回路が複数のプログラム可能な論理ユニットから前記マルチプレクサ出力信号を受け取るためのマルチプレクサの第１の段を備え、マルチプレクサの前記第１の段が第２の制御信号によって制御される、請求項１に記載の電子回路。
【請求項７】
前記出力回路が多重化の少なくとも１つのさらなる段を備え、前記多重化の少なくとも１つのさらなる段がマルチプレクサの前記第１の段における前記マルチプレクサの前記出力を受け取るように設定変更可能な少なくとも１つのマルチプレクサを備え、第３の制御信号の制御下で出力信号を与える、請求項６に記載の電子回路。
【請求項８】
前記マルチプレクサが第１の制御信号に基づいて前記論理入力信号間から出力を選択し、前記出力回路が、
第２の制御信号によって制御される、複数のプログラム可能な論理ユニットから前記マルチプレクサ出力信号を受け取るためのマルチプレクサの第１の段と、
マルチプレクサの前記第１の段における前記マルチプレクサの前記出力を受け取るように設定変更可能な少なくとも１つのさらなるマルチプレクサを備え、第３の制御信号の制御下で出力信号を与えるマルチプレクサの第２の段と
をさらに備え、
前記回路がマルチビット・オペランド処理モードで動作するように構成される場合、前記第１、第２および第３の制御信号の少なくとも１つが補助制御信号として使用可能である、請求項１に記載の電子回路。
【請求項９】
桁上げ入力および桁上げ出力、前記桁上げ入力と前記入力回路と前記桁上げ出力との間に結合された桁上げ連鎖をさらに備え、
前記プログラム可能な論理ユニットが、前記桁上げ連鎖からの桁上げ信号を処理するために少なくとも前記マルチビット・オペランド処理モードで前記桁上げ連鎖に沿った連続的な位置に結合され、前記出力回路が、前記ランダム論理モードでさらなる入力信号の制御下で前記プログラム可能な論理ユニットから出力信号を選択し、前記マルチビット・オペランド処理モードで前記プログラム可能な論理ユニットからの出力を並列にパスする、請求項１に記載の電子回路。
【請求項１０】
前記桁上げ連鎖の桁上げ出力が前記インバータ／非インバータ回路の反転非反転制御入力に結合される、請求項９に記載の電子回路。
【請求項１１】
前記セルが少なくとも前記桁上げ連鎖の桁上げ出力決定動作を制御するように構成された減算制御回路を備え、前記桁上げ連鎖が前記桁上げ連鎖に沿った各位置において入力信号および桁上げ入力信号から桁上げ出力信号を決定し、前記減算制御回路による制御が減算制御信号の制御下で少なくとも加算に適した決定と減算に適した決定との間で前記桁上げ出力決定を切り替える、請求項１に記載の電子回路。
【請求項１２】
前記セルが、前記プログラム可能な論理ユニットの入力に前記プログラム可能な論理ユニットの前記入力信号の少なくとも１つを供給する前に前記入力信号の前記少なくとも１つに被乗数を乗算するように結合された、各プログラム可能な論理ユニット用のそれぞれの乗算回路を備える、請求項１に記載の電子回路。
【請求項１３】
前記プログラム可能な論理ユニットの各々が前記論理ユニットからの信号用の２つのユニット入力を有し、各プログラム可能な論理ユニットが前記論理入力の２入力ビット論理関数を独立して実施するように設定変更可能である、請求項１に記載の電子回路。
【請求項１４】
前記桁上げ連鎖回路が、構成メモリからの構成情報の制御下で桁上げ入力信号または標準の信号の何れかを前記桁上げ連鎖に設定変更可能に供給するための、前記位置と前記セルの前記桁上げ入力との間の設定変更可能な結合を有する、請求項９に記載の電子回路。
【請求項１５】
前記桁上げ連鎖回路が、構成メモリからの構成情報の制御下で前記位置からの桁上げ信号または前記桁上げ連鎖を通る伝搬の結果ではないさらなる信号の何れかを前記プログラム可能な論理回路に設定変更可能に供給するための、それぞれ前記位置の各々と前記プログラム可能な論理ユニットの各々との間に結合された、複数の設定変更可能な結合を有する、請求項１に記載の電子回路。
【請求項１６】
前記インバータ／非インバータ回路が排他的ＯＲ回路を備える、請求項１に記載の電子回路。
【請求項１７】
前記インバータ／非インバータ回路がマルチプレクサを備え、前記マルチプレクサが第１の入力において前記参照用テーブルの前記出力を受け取り、第２の入力において前記参照用テーブルの前記出力の反転形態を受け取り、前記マルチプレクサが桁上げ信号によって制御される、請求項１に記載の電子回路。
【請求項１８】
前記入力回路が、前記セルの前記信号入力と前記プログラム可能な論理ユニットの入力との間のすべての可能な結合の適切なサブセットのみを与えるように設定変更可能なように構成され、前記サブセットは、前記信号入力の各々が前記プログラム可能な論理ユニットの各々のそれぞれの入力に結合されるマルチビット・オペランド結合と、前記信号入力のサブセットが前記プログラム可能な論理ユニットの各々の前記入力に結合されるランダム論理結合とを備える、請求項１に記載の電子回路。
【請求項１９】
前記サブセットは、前記信号入力の第１および第２のサブセットが複数の前記プログラム可能な論理ユニットの第１および第２のサブセットの各々の前記入力に結合される２ビット出力ランダム論理結合を備える、請求項１８に記載の電子回路。
【請求項２０】
前記プログラム可能な論理ユニットの各々がそれぞれの入力出力関係を与えるように構成され、前記論理入力からの論理入力信号は、前記プログラム可能な論理ユニットのうちで論理出力信号が前記出力回路の論理出力にパスされる前記プログラム可能な論理ユニットから選択する、ランダム論理関数を実行するように構成された、請求項１に記載の電子回路。
【請求項２１】
前記プログラム可能な論理ユニットの各々が前記桁上げ連鎖からの桁上げ入力信号を受ける同じ入力出力関係を与えるように構成され、前記出力回路が前記プログラム可能な論理ユニットからの出力信号を出力する、マルチビット・オペランド信号処理関数を実行するように構成された、請求項１に記載の電子回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム可能な論理セルのアレイをもつ電子回路に関し、詳細には、フレキシブルな多重化を行なうように設定変更可能なプログラム可能な論理セルのアレイをもつ電子回路に関する。
【背景技術】
【０００２】
プログラム可能な論理セルは回路設計者が集積回路などの大量生産された電子回路の個々の例の論理関数を適合することを可能にする。これは作業回路の設計から生産までの時間間隔を短縮し、それは製品の小さいバッチの生産および試作モデル作成の製造コストを削減する。
【０００３】
実施の一例では、プログラム可能なセルはセルの入力信号によってアドレス指定されるメモリを含有し、メモリは入力信号値の各組合せについてこれらの値によってアドレス指定されるそれぞれのアドレスに事前プログラムされた出力信号を記憶する。メモリは様々な入力信号に応答して生成される出力信号を参照するためのＬＵＴ（参照用テーブル）関数を有すると言われる。
【０００４】
どんな論理関数も、それが十分なメモリ・スペースを含有するとすればＬＵＴを実施することができる。しかしながら、実際には、有限数の、一般的には４つ未満の入力を必要とする論理関数のみが、プログラム可能な論理セルをもつ回路においてＬＵＴを実施される。そのようなＬＵＴは１６個のメモリ場所を必要とする。これは４つの入力ビットのランダム論理関数のプログラミングを可能にする。多くの場合、４つの入力ビット関数をもつそのようなセルをもつ回路で十分である。セルの出力が他のセルの入力に結合される、そのようなセルのアレイをもつ回路は設計者がより複雑な論理関数を実施することを可能にする。
【０００５】
ますます設計者はプログラム可能な論理セルのアレイの一部が加算などの信号処理演算を実施するために使用される論理関数を実施している。多くの信号処理演算は、より広い入力オペランドの多数のビットがそれぞれ、桁上げ効果によって出力結果における多数のビットに影響を及ぼしうるという性質を有する。しかしながら、そのような広い依存性が４ビット入力ＬＵＴを使用して実施される場合、非常に非効率的な実施が得られる。
【０００６】
Ｘｉｌｉｎｘ（登録商標）は、プログラム可能な論理デバイスのそのＶｉｒｔｅｘ（登録商標）ファミリにおいて４ビット入力ＬＵＴセルのアレイに桁上げ連鎖を追加することによってこの問題に対処している。図１はそのようなデバイスのプログラム可能な論理セルを示している。セルはＬＵＴ関数を実行する４入力参照用テーブル１０ならびに桁上げ入力および桁上げ出力をもつ桁上げ回路１２を含有する。メモリ１０の出力は桁上げ回路１２に結合され、これが桁上げ入力信号をＬＵＴの出力信号と組み合わせて桁上げ出力信号を形成する。排他的ＯＲゲート１４はＬＵＴの桁上げ入力信号および出力信号からセルの出力信号を形成するために使用される。セルの桁上げ入力および桁上げ出力はアレイ（図示せず）における隣接するセルの桁上げ出力および桁上げ入力に結合されて桁上げ連鎖を形成する。桁上げ連鎖は１つの４ビット入力ＬＵＴの出力から別の４ビット入力ＬＵＴへの桁上げ関数を実行する。結果として、桁上げ関数を実施するためにＬＵＴを割り振る必要はない。これは、回路がいくつかの処理演算を含む論理関数を実施するために使用される場合、かなり数のＬＵＴを省く。
【０００７】
とはいえ、専用信号処理回路と比較して、ランダム論理関数を実施することも可能なそのようなより汎用的な回路における信号処理関数の実施はまだ到底効率的ではない。この効率を改善することができれば望ましいであろう。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
とりわけ、本発明の目的は、よりフレキシブルな多重化能力の実施を可能にし、ランダム論理関数と信号処理演算の両方を与えるプログラム可能な論理セルのアレイをもつ電子回路を提供することである。
【課題を解決するための手段】
【０００９】
本発明による電子回路は請求項１に記載されている。電子回路は、セルの信号入力と出力との間に並列に結合された複数のプログラム可能な論理ユニットをもつプログラム可能な論理セルを含有する。プログラム可能な論理セルはランダム論理モードおよびマルチビット・オペランド・モードで動作するように設定変更可能であり、プログラム可能な論理セルは、入力回路からの論理入力信号を受け取るように結合された入力および出力を有する設定変更可能な参照用テーブル回路と、参照用テーブル回路の出力を受け取るように結合された入力を有し、出力回路に接続可能な出力を有する制御可能なインバータ／非インバータ回路と、入力回路からの論理入力信号を受け取るように結合された入力および出力回路に接続可能なマルチプレクサ出力を有するマルチプレクサと、を含有する。
【００１０】
この構成は、改善された多重化能力を有するプログラム可能な論理セルを与える。さらに、シリコン面積が縮小され、タイミングが改善される。
【００１１】
一実施形態では、プログラム可能な論理ユニットはインバータ／非インバータ回路の出力およびマルチプレクサの出力を受け取るように結合された入力を有する補助マルチプレクサをさらに備える。この実施形態では、プログラム可能な論理ユニットは補助マルチプレクサからの信号出力を有する。
【００１２】
さらなる実施形態では、プログラム可能な論理ユニットは第１および第２の補助マルチプレクサを備える。第１の補助マルチプレクサはインバータ／非インバータ回路の出力およびマルチプレクサの出力を受け取るように結合された入力を有し、一方、第２の補助マルチプレクサは参照用テーブル回路の出力およびマルチプレクサの出力を受け取るように結合された入力を有する。第１および第２のマルチプレクサは構成メモリからの構成情報によって制御され、それによってデータパスおよびランダム論理出力信号が第１のモードでそれぞれ第１および第２の補助マルチプレクサから出力され、マルチプレクサ出力信号が第２のモードで第１および第２のマルチプレクサから出力される。
【００１３】
さらなる実施形態では、ランダム論理または多重化モードで使用される少なくとも１つの制御ラインがデータパス・モードで使用される制御ラインと共用される。これは必要とされる入力ピンの数を縮小する利点を有する。
【００１４】
本発明は、よりフレキシブルな多重化能力の実施を可能にし、ランダム論理関数と信号処理演算の両方を与えるプログラム可能な論理セルのアレイをもつ電子回路を提供する。
【００１５】
これらおよび他の目的ならびに本発明の有利な態様について以下の図を使用して説明する。
【発明を実施するための最良の形態】
【００１６】
図２は、設計者が多重化モード、ランダム論理モードおよびマルチビット・オペランド処理モードを実施することを可能にするアーキテクチャを有するプログラム可能な論理セル２０を示している。セル２０は、入力回路２２、複数のプログラム可能な論理ユニット２４ａ〜ｄ、出力回路２６および桁上げ連鎖２８を含有する。セル２０の信号入力２１および信号出力２７は、入力回路２２の縦続、プログラム可能な論理ユニット２４ａ〜ｄおよび出力回路２６の並列構成を介して結合される。桁上げ連鎖２８は、桁上げ入力Ｃｉｎおよび桁上げ出力Ｃｏｕｔを有し、連鎖に沿って一連の位置においてプログラム可能な論理ユニットに結合される。
【００１７】
出力回路２６は、マルチプレクサ２６４ａ、２６４ｂ、２６６およびスイッチング段２６８のいくつかの段を含有する。第１の段のマルチプレクサ２６４ａ、２６４ｂの制御入力２３は、入力回路２２のそれぞれの出力に結合される。第２の段のマルチプレクサ２６６の制御入力２５は、入力回路２２のそれぞれの出力に結合される。第１の段のマルチプレクサ２６４ａ、２６４ｂの信号入力は、プログラム可能な論理ユニット２４ａ〜ｄの対の出力に結合され、第２の段のマルチプレクサ２６６の信号入力は、第１の段のマルチプレクサ２６４ａ、２６４ｂの出力に結合される。マルチプレクサ２６４ａおよび２６４ｂは、共通の制御入力２３を有するものとして示されているが、回路はまた別々の制御信号２３ａ、２３ｂを与えるように構成することができることに留意されたい。さらに、図２は、マルチプレクサ２６４ａ／２６４ｂおよび２６６の２つの段のみを示しているが、例えば、論理セルが５つ以上の論理セル２４ａ〜ｄを含有する場合、さらなる段が可能であることが諒解されよう。
【００１８】
プログラム可能な論理ユニット２４ａ〜ｄの出力および第２の段のマルチプレクサ２６６は、スイッチング段２６８の入力に結合される。スイッチング段２６８の出力は、セル２０の信号出力２７に結合される。スイッチング段２６８は、プログラム可能な論理ユニット２４ａ〜ｄの出力または第１および第２の段のマルチプレクサ２６４ａ、２６４ｂ、２６６の出力の何れかを出力２７、または少なくとも第２の段のマルチプレクサ２６６の出力に結合するように設定変更可能である。スイッチング段２６８は、出力信号をラッチするためのラッチまたはフリップフロップを備えることができ、それによってセル２０はパイプライン回路におけるパイプライン段の最終部分として機能することができる。好ましくは、スイッチング段２６８は、ラッチング後またはラッチングなしの何れかで信号をパスするように設定変更可能である。
【００１９】
プログラム可能な論理ユニット２４ａ〜ｄ、入力回路２２、出力回路２６および桁上げ連鎖２８の構成ビットをプログラムすることによって、セル２０の機能を構成することができる。（構成ビットはプログラミング・パス（図示せず）を介してロードされる構成メモリ（図示せず）に記憶され、その両方はプログラム可能な論理デバイスについてそれ自体知られている）。構成ビットは、どの信号入力２１がどのプログラム可能な論理ユニット２４ａ〜ｄに結合するかを決定し、構成ビットはプログラム可能な論理ユニット２４ａ〜ｄが様々な入力信号値に応答して生成する出力信号値を決定し、構成ビットは、スイッチング段２６８が信号出力２７にパスする信号を決定し、構成ビットは桁上げ入力Ｃｉｎからの桁上げ入力信号がセル２０値にパスされるかどうかを決定する。
【００２０】
動作中、セル２０は、ランダム論理モード、マルチビット・オペランド処理モードおよび多重化モードで機能するように構成することができる。動作中、マルチビット・オペランド・モード・セル２０は、複数のビットをもつ入力オペランドに依存する出力結果の複数のビットを出力する。各入力オペランドのビットは、連続的に高くなる有効レベルを有する。マルチビット・オペランド・モードにおいて、各プログラム可能な論理ユニット２４ａ〜ｄは、異なる有効レベルに関連付けられる。入力回路２２は、異なるオペランドからのビットを表す各プログラム可能な論理ユニット２４ａ〜ｄに信号をパスするように構成され、各ビットは、プログラム可能な論理ユニット２４ａ〜ｄに関連付けられた有効レベルに対応する。各プログラム可能な論理ユニット２４ａ〜ｄは、これらの信号に応答してより低い有効レベルからの桁上げ連鎖２８から受け取られた桁上げ入力［carry in］信号を考慮に入れて、プログラム可能な論理ユニット２４ａ〜ｄに関連付けられた有効レベルでの結果のビットを計算し、より高い有効レベルで使用するために桁上げ連鎖に桁上げ出力［carry out］を供給する。マルチビット・オペランド・モードにおいて、すべてのプログラム可能な論理ユニット２４ａ〜ｄは、一般にそれらの入力信号と出力信号との間の同じ関係を与えるように構成される。出力回路２６は、すべてのプログラム可能な論理ユニット２４ａ〜ｄからの結果の計算されたビットを出力２７に出力信号として並列にパスするように構成される。
【００２１】
桁上げ連鎖２８は桁上げ信号を計算し、これらの桁上げ信号を１つのプログラム可能な論理ユニット２４ａ〜ｄから別のプログラム可能な論理ユニット２４ａ〜ｄにパスする。桁上げ連鎖２８の構成は桁上げ連鎖２８が桁上げ信号を決定するために桁上げ入力Ｃｉｎから桁上げ入力信号を使用するかどうかを制御する。セル２０がより大きいオペランドのより有効なビットである入力信号を処理する場合、セルはそのような桁上げ入力信号があまり有効でないオペランドを処理する別のセルの桁上げ出力信号を受け取るために使用されるように構成される。
【００２２】
ランダム論理モードで動作中、セル２０の出力信号はいくつかの入力信号のランダム論理関数である。このランダム論理関数は、プログラム可能な論理ユニット２４ａ〜ｄおよびマルチプレクサ２６４ａ、２６４ｂ、２６６の第１および第２の段を使用して実施される。入力回路２２はプログラム可能な論理ユニット２４ａ〜ｄの各々に同じ入力信号をパスする。第１および第２の制御信号２３、２５を形成する入力信号のうちの他の入力信号の制御下で、マルチプレクサ２６４ａ、２６４ｂ、２６６は出力信号がそこからスイッチング段２６８にパスされるプログラム可能な論理ユニット２４ａ〜ｄの１つを選択する。第１の制御信号２３は、第１の段のマルチプレクサ２６４ａ、２６４ｂの両方を制御し、一方、第２の制御信号２５は、第２の段のマルチプレクサ２６６を制御し、これは第１の段のマルチプレクサ２６４ａ、２６４ｂの出力間で選択する。したがって、プログラム可能な論理ユニット２４ａ〜ｄの入力信号と、入力信号のうちの他の入力信号、すなわちマルチプレクサ２６４ａ、２６４ｂ、２６６を制御する制御信号２３、２５との両方に依存する論理関数が実現される。プログラム可能な論理ユニット２４ａ〜ｄの各々は、制御信号２３、２５を形成する入力信号のうちの他の入力信号の異なる値に対して出力信号として使用する、同じ入力信号に応答して出力信号を生成する。スイッチング段２６８は得られた出力信号をマルチプレクサ２６６からセル２０の信号出力にパスする。
【００２３】
桁上げ連鎖２８は、外部桁上げ入力信号がランダム論理モードで使用されないように構成される。桁上げ連鎖２８の実施に依存して、桁上げ連鎖２８はまだ、プログラム可能な論理ユニット２４ａ〜ｄへの入力のいくつかの入力値で生じるいくつかの桁上げ信号をパスする。この場合、桁上げ連鎖のさらに下のプログラム可能な論理ユニット２４ａ〜ｄの構成は入力値の特定の値に対して桁上げ信号の存在を相殺するように適合することができる。代替的に、プログラム可能な論理ユニット２４ａ〜ｄはランダム論理モードで動作するように構成される場合、桁上げ信号への依存性を除去するための回路を備えることができる。桁上げ連鎖のさらなる詳細は、この明細書において後で与えられる。
【００２４】
したがって、ランダム論理モードとマルチビット・オペランド・モードとの間には差異がある。一方では、ランダム論理モードにおいて、各プログラム可能な論理ユニット２４ａ〜ｄは同じ入力信号を受け取り、それぞれ多重化段２６４ａ、２６４ｂ、２６６を制御する入力信号の他のものの異なる値に対して潜在的に異なる入力出力関数を与える。他方では、マルチビット・オペランド・モードにおいて、プログラム可能な論理ユニット２４ａ〜ｄは異なる入力信号を受け取るが、一般に同じ入力出力関数を与える。
【００２５】
一方では２マルチビット・オペランド信号処理演算の異なる有効レベルの計算を実施するために、他方では３以上の入力ビット・ランダム論理関数を計算するための構造の一部として、プログラム可能な論理ユニットを代替的に使用することによって、ランダム論理関数とマルチビット・オペランド信号処理の両方の実施を支援するために必要とされる構成ビットの数が最小限に抑えられる。図２の例において、それぞれ４つの構成ビットで完全にプログラム可能な４つの２入力プログラム可能な論理ユニット２４ａ〜ｄで、４ビット入力ランダム論理関数および同時に２オペランド信号処理演算の４つの有効レベルを定義するのに１６個のビットで十分である。対照的に、４ビット入力プログラム可能な論理ユニット２４ａ〜ｄが使用されているであろう（その各々が完全なプログラミングのために１６個の構成ビットを必要とする）状況について考えてみる。２入力論理ユニットの代わりに４入力論理ユニットを使用した場合、専用桁上げ信号が存在しないならばマルチビット・オペランド処理の２つの有効レベルを、またはそのような回路が存在するならば４つの有効レベルを実施することができる。しかしながら、どちらの場合も、４つの４入力論理ユニットが合計６４個の構成ビット、すなわち図２の実施形態によって必要とされる構成ビットの数の４倍を必要とする。
【００２６】
図３はフレキシブルな多重化を行なうように論理セルを構成することを可能にする、本発明によるプログラム可能な論理ユニット２４の一実施形態を示している。プログラム可能な論理ユニット２４は、ＬＵＴユニット４００および排他的ＯＲゲート４０２を含有する。ＬＵＴユニット４００は、選択論理４０３、例えば４：１マルチプレクサ、および構成メモリ４０４を備える。プログラム可能な論理ユニット２４の信号入力Ａ、ＢはＬＵＴユニット４００における選択論理４０３の入力に結合される。ＬＵＴユニット４００の出力は、排他的ＯＲゲート４０２の入力に結合される。排他的ＯＲゲート４０２の第２の入力は、桁上げ連鎖２８から桁上げ入力信号Ｃｉｎを受け取るように結合され、第１の排他的ＯＲゲート４０２は出力信号Ｏ１を有する。
【００２７】
動作中、ＬＵＴユニット４００は、設定変更可能な入力出力関数を実現する。入力信号Ａ、Ｂの各可能な組合せに応じて、ＬＵＴユニット４００は、入力信号によって選択されるそれぞれの出力信号を出力する。入力信号の各組合せは、構成メモリ４０４に記憶された構成ビットによってそれに割り当てられる出力信号を有する。２つの入力信号の何れかの可能な組合せに対して出力信号を与えるために４つの構成ビットで十分である。排他的ＯＲゲート４０２の作用によって、ＬＵＴユニット４００の出力信号は、桁上げ入力信号が論理低の場合にＸＯＲゲート４０２から出力され、一方、出力信号は桁上げ入力信号が論理高の場合にＸＯＲゲート４０２から出力反転される。この構成はプログラム可能な論理ユニット２４がデータパス関数とランダム論理関数の両方を扱うことを可能にする。
【００２８】
本発明によれば、プログラム可能な論理ユニット２４の信号入力Ａ、Ｂは、ＬＵＴユニット４００に並列に配置される専用マルチプレクサ４０６（例えば２ビットＬＵＴの場合は２：１マルチプレクサ）の入力に結合される。マルチプレクサ４０６は論理セルの補助信号である制御信号Ｘによって制御される。好ましくは、各プログラム可能な論理ユニット２４は同じ制御信号Ｘを受け取る。マルチプレクサ４０６は入力信号Ａ、Ｂの１つを出力信号Ｏ２として選択する。出力信号Ｏ２はＬＵＴユニット４００およびＸＯＲゲート４０２をバイパスする。プログラム可能な論理ユニット２４におけるマルチプレクサ４０６の装備は動作を多重化するために論理セルを構成することを可能にする。したがって、プログラム可能な論理ユニット２４は、データパスまたはランダム論理モードで動作するように構成された場合にＬＵＴユニット４００から出力信号Ｏ１を生成し、マルチプレクサとして動作するように構成された場合にマルチプレクサ４０６から出力信号Ｏ２を生成する。
【００２９】
好ましくは、例えば図２に示されるプログラム可能な論理セル構成において使用される場合、プログラム可能な論理ユニット２４からの単一の出力を与えるために、補助マルチプレク４０８がプログラム可能な論理ユニット２４中に設けられる。補助マルチプレク４０８は、それぞれＬＵＴユニット４００およびマルチプレクサ４０６から出力信号Ｏ１、Ｏ２を受け取る。補助マルチプレク４０８は、出力信号Ｏ１、Ｏ２間で選択して出力信号「Ｏ」を生成する。選択は、論理セルがデータパスまたはランダム論理モードで動作するように構成された場合に出力信号Ｏ１が使用され、一方、セルがマルチプレクサとして動作するように構成された場合に出力信号Ｏ２が使用されるように、構成メモリ・ビット４０９を使用して行なわれる。
【００３０】
図４はプログラム可能な論理ユニット２４の代替実施形態を示している。図４の実施形態では、各プログラム可能な論理ユニット２４は１つではなく２つの最終出力信号を生成する。これらはデータパス出力ＯＤまたはランダム論理出力ＯＲを備える。各プログラム可能な論理ユニット２４のデータパス出力ＯＤは論理セルがマルチビット結果（すなわちデータパス関数）を発生する場合に使用され、一方、ランダム論理関数がマッピングされている場合にはランダム論理出力ＯＲが使用される。図４の実施形態では、２つの補助マルチプレクサ４０８、４１０が設けられる。図３に記載された第１の実施形態のように、第１のマルチプレクサ４０８は、マルチプレクサ４０６からの出力信号Ｏ２と、ＸＯＲゲート４０２からの出力信号Ｏ１との間で選択する。第２の補助マルチプレクサ４１０はマルチプレクサ４０６からの出力信号Ｏ２と、ＬＵＴユニット４００からの出力信号Ｏ３との間で選択する（信号Ｏ３はＸＯＲゲート４０２をバイパスするＬＵＴユニット４００からの直接出力である）。第１および第２の補助マルチプレクサ４０８、４１０は単一の構成ビット４０９によって制御される。この構成では、出力信号ＯＤはスイッチング回路２６８に直接に接続され、一方、出力信号ＯＲはマルチプレクサ２６４ａおよび２６４ｂの第１の段に接続される（以下の図６および図８参照）。データパスまたはランダム論理動作モードでは、データパスまたはランダム論理出力信号Ｏ１、Ｏ３はそれぞれＯＤおよびＯＤ出力上で利用可能になる。多重化動作モードでは、マルチプレクサＯ２の出力は実施されるマルチプレクサの特定のタイプに応じてＯＤまたはＯＤの何れかの出力において利用可能になる。例えば、１ビット８：１マルチプレクサは、出力信号ＯＲを使用し、一方で、４ビット２：１データパス・マルチプレクサは、出力ＯＤを使用することになる。
【００３１】
上述の構成は、直接ＬＵＴ出力Ｏ３が利用されるので、ランダム論理モードで作動するように構成された場合に論理セルの性能を改善する。さらに、この構成は、ＸＯＲゲート４０２への桁上げ信号の影響がランダム論理出力Ｏ３に影響を及ぼさないので、ランダム論理関数の発生への桁上げ信号の負の影響の問題を解決する。
【００３２】
実際には、以下の適用例において２つのタイプのマルチプレクサに遭遇しうる。すなわち、
複数の単一ビット入力を受け入れ、単一のビット出力を生成するランダム論理マルチプレクサ（例えば８：１マルチプレクサ）、および
マルチビット入力を受け入れ、マルチビット出力を生成するデータパス・マルチプレクサ（例えば４ビット２：１マルチプレクサ）。
【００３３】
論理セルは、８つの主入力信号に加えて、最高で３つの補助信号Ｘ、ＹおよびＺを使用して両方のタイプのマルチプレクサを与えるように設定変更可能である。３つの補助信号Ｘ、ＹおよびＺは論理セル上にマッピングされる論理マルチプレクサ用の選択信号として使用される。３つの信号は１ビット８：１マルチプレクサの最大ケースを扱うために必要とされる。他のマルチプレクサ構成では、より少ない補助信号が必要とされる。
【００３４】
図５〜図８は、図３および図４に示されるプログラム可能な論理ユニットの両方の実施形態について、ランダム論理８：１マルチプレクサおよびデータパス４ビット２：１マルチプレクサの実施例を示している。
【００３５】
図５は、図２の論理セルにおいて使用され、８：１マルチプレクサとして動作するように構成された場合の図３のプログラム可能な論理ユニット２４の構成例を示している。プログラム可能な論理ユニット２４ａ〜ｄからの出力信号Ｏはマルチプレクサ２６４ａおよび２６４ｂの第１の段の入力に接続される。８つの入力信号２１から４つの出力信号Ｏへの選択用の第１の段は、制御信号Ｘの制御下でプログラム可能な論理ユニット２４ａ〜ｄによって実行される。言い換えれば、この段における選択は、プログラム可能な論理ユニット２４ａ〜ｄの各々におけるマルチプレクサ４０６によって実行される。選択の第２の段、すなわちプログラム可能な論理ユニット２４ａ〜ｄの４つの出力信号Ｏ間の選択は、制御信号Ｙの制御下でマルチプレクサ２６４ａ、２６４ｂによって行なわれる。最終段の選択は、制御信号Ｚの制御下でマルチプレクサ２６６によって行なわれる。このようにして、３つの補助信号Ｘ、Ｙ、Ｚを使用して８：１マルチプレクサ構成が説明される。
【００３６】
図６は、図２の論理セルにおいて使用され、８：１マルチプレクサとして動作するように構成された場合の図４のプログラム可能な論理ユニット２４の構成例を示している。分かるように、各プログラム可能な論理ユニット２４ａ〜ｄからの出力信号ＯＲはマルチプレクサ２６４ａおよび２６４ｂの入力に接続される。出力ＯＤはスイッチング回路２６８に直接に接続される。８つの入力信号から４つの出力信号ＯＲへの選択の第１の段は、制御信号Ｘの制御下でプログラム可能な論理ユニット２４ａ〜ｄにおいて実行される。得られた４つの出力信号ＯＲはマルチプレクサ２６４ａ、２６４ｂの入力に接続される。選択の第２の段、すなわち４つの出力信号ＯＲ間の選択は、制御信号Ｙの制御下でマルチプレクサ２６４ａ、２６４ｂによって行なわれる。最終段の選択は制御信号Ｚの制御下で、マルチプレクサ２６６によって行なわれる。このようにして、上記の図５に示すように、３つの補助信号Ｘ、Ｙ、Ｚを使用して８：１マルチプレクサ構成が説明される。
【００３７】
図７は、図２の論理セルにおいて使用され、データパス４ビット２：１マルチプレクサとして動作するように構成された場合の図３のプログラム可能な論理ユニット２４の構成例を示している。各プログラム可能な論理ユニット２４ａ〜ｄからの出力信号ＯＤはスイッチング回路２６８に直接接続される。２つの４ビット入力信号間の選択は、制御信号Ｘを使用してプログラム可能な論理ユニット２４ａ〜ｄにおいて行なわれる。このようにして、制御信号Ｘを使用してデータパス４ビット２：１マルチプレクサが与えられる。
【００３８】
図８は、図４に記載のプログラム可能な論理ユニット２４を使用し、データパス４ビット２：１マルチプレクサとして動作するように構成された図２の論理セルを示している。各プログラム可能な論理ユニット２４ａ〜ｄからの出力信号ＯＤはスイッチング回路２６８に直接接続される。２つの４ビット入力信号間の選択は制御信号Ｘを使用してプログラム可能な論理ユニット２４ａ〜ｄにおいて行なわれる。このようにして、制御信号Ｘを使用してデータパス４ビット２：１マルチプレクサが与えられる。
【００３９】
上記から分かるように、本発明はプログラム可能な論理セルのアレイにおいてフレキシブルな多重化構成を構成することを可能にし、プログラム可能な論理セルはまたデータパス関数およびランダム論理関数を扱うことが可能である。上述の例は１ビット８：１マルチプレクサおよび４ビット２：１マルチプレクサに関するが、当業者は論理セルを使用して他の多重化構成が可能であることを容易に諒解するであろう。例えば、２ビット４：１マルチプレクサを論理セルにおいて実施することができる。さらに、例は８入力論理セルに関するが、本発明は異なる数の入力を有する論理セルに等しく適用可能である。
【００４０】
上述の本発明は、いくつかの多重化構成を容易に構成することができ、データパス関数とランダム論理関数との間で容易に適合可能である論理セルを提供する。
【００４１】
好ましくは、補助制御信号Ｘ、Ｙ、Ｚが、データパス・モードで使用される他の入力ピン、例えば桁上げ入力（Ｃｉｎ）、減算（ＳＵＢ）および乗算（ＭＵＬ）と共用される。このような方式での入力ピンの共用は、以下でより詳細に説明するように制御信号の効率的な使用を与える。
【００４２】
図３または図４のプログラム可能な論理ユニットでは、排他的ＯＲ関数を実行するようにＬＵＴユニット４００の構成ビットをプログラムすることによって算術加算演算を実施することができる。ＬＵＴユニット４００を別様にプログラムすることによって加算以外の演算を実施することができ、もちろん、第１および第２のオペランドの加算は、論理高桁上げ入力信号が最低有効レベルで使用される場合、第１のオペランドからの第２のオペランドの補数の減算と等価である。
【００４３】
図９は図３のプログラム可能な論理ユニットおよび桁上げ連鎖２８の一部４２を示している。前述のように、プログラム可能な論理ユニット２４は、選択論理４０３および構成メモリ４０４を備えるＬＵＴユニット４００、ならびに第１の排他的ＯＲゲート４０２を含有する。桁上げ連鎖の一部４２は第２の排他的ＯＲゲート４２０およびマルチプレクサ４２２を含有する。プログラム可能な論理ユニット２４の信号入力Ａ、Ｂは、マルチプレクサ４２２の制御入力に結合される出力を有する第２の排他的ＯＲゲート４２０の入力に結合される。マルチプレクサ４２２は、それぞれ桁上げ入力およびプログラム可能な論理ユニット２４の信号入力の１つに結合される入力を有する。桁上げ出力信号は桁上げ入力信号およびプログラム可能な論理ユニット２４の入力信号Ａ、Ｂから決定される。入力信号が等しい（すなわちＸＯＲゲート４２０の出力が論理低である）場合、マルチプレクサ４２２は入力信号Ｂの１つを桁上げ出力信号として出力する。入力信号が等しくない（すなわちＸＯＲゲート４２０の出力が論理高である）場合、マルチプレクサ４２２は桁上げ入力信号を桁上げ出力信号として出力する。上記の代替として、データパス・モードでのＬＵＴユニット４００はＸＯＲゲートを実施するので、専用ＸＯＲゲート４２０を取り外すことができ、マルチプレクサ４２２用の選択信号はＬＵＴユニット４００の出力によって与えられる。
【００４４】
追加のゲート５０、５２はプログラム可能な論理ユニット２４が（例えばマルチビット乗算におけるステップのように）外部補数形成および１ビット乗算ならびに累算なしに算術減算を実行することを可能にする。減算の実施は、一方の側ではＬＵＴユニットおよび第２の排他的ＯＲゲートと、他方の側では減算しなければならないオペランドのビットを受け取る信号入力Ａ、Ｂの１つとの間に排他的ＯＲゲート５０を追加することによって促進される。入力信号が論理的に反転されるように減算制御信号ＳＵＢが排他的ＯＲゲート５０の入力の１つに供給される。減算制御信号は加算が必要とされる場合に０にセットされる。セル２０におけるすべてのプログラム可能な論理ユニットの共通の減算制御信号をこの目的に使用することができる。減算信号はセル２０の構成ビットによって、または外側セル２０からの信号によって制御することができる。減算の場合、最低有効レベルに関連付けられたプログラム可能な論理ユニットに論理高桁上げ入力信号が印加される。
【００４５】
乗算ならびに累算の実施は、一方の側ではＬＵＴユニットおよび第２の排他的ＯＲゲートと、他方の側では乗算しなければならないオペランドのビットを受け取る信号入力Ａ、Ｂの１つとの間にＡＮＤゲート５２を追加し、このＡＮＤゲートの入力の１つに因子信号を供給することによって支援される。セル２０におけるすべてのプログラム可能な論理ユニットの共通の因子信号をこの目的に使用することができる。因子信号は加算が必要とされる場合に１にセットされる。
【００４６】
図９は組合せで与えられたＡＮＤゲート５２および排他的ＯＲゲート５０を示しているが、減算または乗算が不要な場合に何れかを省略できることを当業者は容易に分かるであろう。また、回路中の異なる位置の排他的ＯＲゲート５０の均等物および／またはＬＵＴユニット４００の異なる構成とともに、乗算および減算を代替方式で実施できることが理解されよう。例えば、排他的ＯＲゲート５０を入力回路の出力と桁上げ連鎖４２の入力との間に結合することができ、プログラム可能な論理ユニット４０の構成ビットが減算の場合における排他的ＯＲゲート５０の効果の不在に適合されるとすれば、排他的ＯＲゲート５０を通過することなしに入力回路の出力がプログラム可能な論理ユニット４０に結合される。しかしながら、この場合、加算から減算に切り替えるときにプログラム可能な論理ユニットの構成を変更する必要はない。
【００４７】
上述のように、多重化モードで使用される補助信号Ｘ、ＹおよびＺは、データパス（算術）モードで使用される補助信号Ｃｉｎ、ＳＵＢおよびＭＵＬと同じ入力ピンを共用することができる。図１０ａはピン共用の実施例を示している。入力ピンＣ０、Ｃ１、Ｃ２からの信号はそれぞれマルチプレクサ１００、１０１、１０２の第１の入力に接続される。マルチプレクサ１００および１０２は構成ビット１１５によってセットされる第２の入力を受け取り、マルチプレクサ１０１は構成ビット１１６によってセットされる第２の入力を受け取る。各マルチプレクサ１００、１０１、１０２は関連する構成ビット１１０、１１１、１１２によって制御される。各構成ビット１１０、１１１、１１２は、マルチプレクサが入力ピンＣ０、Ｃ１、Ｃ２からの信号、または構成ビット１１５および１１６によってセットされた所定の論理レベル、すなわち高／低を有する信号の何れかを選択するように、そのそれぞれのマルチプレクサを制御する。このようにして、制御信号Ｘ／Ｃｉｎ、Ｙ／ＭＵＬおよびＺ／ＳＵＢは、論理値が外部ピンＣ０、Ｃ１、Ｃ２によってセットされるか、または静的値が構成ビット１１５、１１６によってセットされる動的値を有することができる。図１０ｂは可能ないくつかの構成モードの一例、および制御信号Ｘ／Ｃｉｎ、Ｙ／ＭＵＬおよびＺ／ＳＵＢの得られた値を示している。「ｅｘｔ」および「ｉｎｔ」という用語は、それぞれ外部および内部桁上げ入力信号を有する回路構成をさすことに留意する。
【００４８】
図１１は上述のピン共用を有する論理セルの実施例を示している。入力ピンＣ０はマルチプレクサ４０６ａ〜ｄを制御するために使用される制御信号Ｘと桁上げ連鎖の桁上げ入力信号Ｃｉｎとの間で共用される。動的モードで動作するように構成された場合、構成ビット１１０は、それがそれに接続されたＸまたはＣｉｎの何れかの信号を有することになる入力ピンＣ０を選択するようにセットされる。代替的に、静的モードで動作するように構成された場合、構成ビット１１０は、そこにセットされたＸかＣｉｎの値を有する構成ビット１１５からの入力を選択するようにセットされる。したがって、データパス・モードで動作している場合、入力ピンＣ０または構成ビット１１５の何れかからのＣｉｎ信号は桁上げ連鎖２８の入力Ｃｉｎにパスされる。代替的に、多重化モードで動作している場合、入力ピンＣ０または構成ビット１１５の何れかからの制御信号Ｘはマルチプレクサ４０６ａ〜ｄを制御するために使用される。したがって、入力ピンＣ０はデータパス・モードと多重化モードとの間で共用され、入力ピンの数を減らすことが可能になる。
【００４９】
同様にして、入力ピンＣ１はデータパス・モードでＡＮＤゲート５２ａ〜ｄの入力に接続されたＭＵＬ信号と、多重化モードでマルチプレクサ２６４ａおよび２６４ｂを制御するために使用される制御信号Ｙとの間で共用される。動的モードで動作するように構成された場合、構成ビット１１１は、それに接続されたＭＵＬ信号またはＹ信号の何れかを有することになる入力ピンＣ１を選択するようにセットされる。代替的に、静的モードで動作するように構成された場合、構成ビット１１１は、そこに記憶されたＭＵＬかＹの値を有することになる構成ビット１１６を選択するようにセットされる。したがって、データパス・モードで動作している場合、入力ピンＣ１または構成ビット１１６の何れかからのＭＵＬ信号はＡＮＤゲート５２ａ〜ｄを制御するために使用される。また、マルチプレクサ・モードで動作するように構成された場合、入力ピンＣ１または構成ビット１１６の何れかからの制御信号Ｙは、マルチプレクサ２６４ａ、２６４ｂを制御するために使用される。したがって、入力ピンＣ１はデータパス・モードと多重化モードとの間で共用され、それによって必要とされる入力ピンの数を減らす。図１１はマルチプレクサ２６４ａおよび２６４ｂの制御信号Ｙが入力回路２２を介して与えられることを示している。しかしながら、マルチプレクサ１０１の出力はマルチプレクサ２６４ａおよび２６４ｂの制御信号に直接接続することもできることが諒解されよう。また、制御信号Ｙは図１１に示すように２つの別々の信号ではなく同じ制御信号とすることができることが諒解されよう。
【００５０】
入力ピンＣ２はデータパス・モードでＸＯＲゲート５０ａ〜ｄの入力に接続されたＳＵＢ信号と多重化モードでマルチプレクサ２６６を制御するために使用される制御信号Ｚとの間で共用される。動的モードで動作するように構成された場合、構成ビット１１２は、それに接続されたＳＵＢまたはＺの何れかの信号を有することになる入力ピン０２を選択するようにセットされる。代替的に、静的モードで動作するように構成された場合、構成ビット１１０は、そこに記憶されたＳＵＢまたはＺの何れかの値を有することになる構成ビット１１５を選択するようにセットされる。したがって、データパス・モードで動作している場合、入力ピンＣ２または構成ビット１１５の何れかからのＳＵＢ信号はＸＯＲゲート５０ａ〜ｄを制御するために使用される。また、マルチプレクサ・モードで動作するように構成された場合、制御信号Ｚは、マルチプレクサ２６６を制御するために使用される。したがって、入力ピンＣ２はデータパス・モードと多重化モードとの間で共用され、それによって必要とされる入力ピンの数を減らす。図１１は制御信号Ｚが入力回路２２を介してマルチプレクサ２６６に接続されることを示すが、マルチプレクサ１０２の出力はマルチプレクサ２６６の制御信号に直接接続することもできることに留意する。
【００５１】
図１１の構成は、制御ラインをデータパス構成と多重化構成との間でどのように共用することができるかを示し、これはより少ない入力ピンが必要とされることを意味する。
【００５２】
図１２は入力回路２２を示している。入力回路２２はセル２０の入力に結合された複数の入力７２、およびプログラム可能な論理ユニット２４ａ〜ｄの入力およびセル２０の出力回路のマルチプレクサに結合された複数の出力７４を有する。入力７２および出力７４はスイッチング回路７６、７８の２つの層を介して結合される。スイッチング回路は各スイッチング回路７６、７８の２つのマルチプレクサ７６０を使用して実施することができ（ただ１つが詳細に示される）、各マルチプレクサ７６０はスイッチング回路の各入力から出力の各々までの間の設定変更可能な結合を与える。入力回路２２はまた、出力段のマルチプレクサ２６４ａ、ｂ、２６６に供給される入力信号を選択するための第３のマルチプレクサ（図示せず）を含有する。スイッチング回路７６、７８、および第３のマルチプレクサの動作は構成メモリ（図示せず）からの構成ビットによって制御される。
【００５３】
両方の層７６、７８は、それぞれその入力のそれぞれの対を出力のそれぞれの対に結合するスイッチング回路７６、７８のグループとして編成され、各グループのスイッチング回路７６、７８は、一方では入力の対の各１つから出力のその対の両方の出力に信号をコピーすることと、他方では入力の対の各入力から出力のその対の各々に信号を結合することとの間で設定変更可能に切り替えることが可能である。層７６、７８は直列に組み合わされ、第１の層のスイッチング回路７６の対からの出力は第２の層７８の異なるスイッチング回路７８の対の入力に交差結合される。結果として、層７６、７８は入力７２の４つ組を出力７４のそれぞれの４つ組に結合し、入力７２の４つ組の各々から出力７４の対応する４つ組のすべての出力に出力をコピーすることと、入力の４つ組の各々を出力の４つ組の各々に結合することとの間で設定変更可能に切り替えることが可能である。
【００５４】
セル２０は、スイッチング回路７６、７８の入力を制御するために使用される構成メモリ（図示せず）を有し、それによって構成メモリの内容は入力回路のマルチプレクサの切り替えを制御する。構成メモリは少なくともランダム論理モードとマルチビット・オペランド・モードとの間で選択する。ランダム論理モードにおいて、スイッチング回路７６、７８はプログラム可能な論理ユニットの各々の入力にコピーされる入力７２の２つから信号をコピーするように制御され、第３のマルチプレクサ（図示せず）は出力回路のマルチプレクサの入力を制御するために入力の他の入力から信号を結合するように制御される。マルチビット・オペランド・モードにおいて、スイッチング回路７６、７８は入力７２の各々を出力７４の各々に結合するように制御される。原理的に、これらの２つのモード間で選択するために１つの構成ビット用のメモリで十分であるが、好ましくはランダム論理モードですべてのプログラム可能な論理ユニットにコピーされる入力を選択する追加の構成ビット用のメモリが設けられる。後者の場合、５つの構成ビットを使用することができる。すなわち、マルチビット・オペランド・モード（１対１信号転送）とランダム論理モード（４倍コピー）との間で選択するための１つの構成ビット、およびそれぞれプログラム可能な論理ユニットの各々の入力に結合される４つの入力の１つを選択するための２×２構成ビットである。
【００５５】
第３のマルチプレクサ（図示せず）は信号がそこから出力回路２６のマルチプレクサの段の制御入力に供給される入力を選択する。好ましくは、２つの第３のマルチプレクサが設けられ、それぞれ出力回路２６のそれぞれの段を制御するための入力信号を選択する。
【００５６】
原理的に、セルの信号入力は、１つのグループの各信号入力がそのグループに対応するマルチビット・オペランドのそれぞれのビットを供給する（例えば４つの）信号入力のグループに編成することができる。ランダム論理モードおよびマルチビット・オペランド処理モードを支持するために、セルは、論理入力のグループの対からの入力信号をパスし、各プログラム可能な論理ユニットがその対の両方のグループからの信号を受け取ること、すべてのプログラム可能な論理ユニットに入力の組のコピーをパスすることの間で選択する構成ビットを有することで十分である。グループまたは組を選択するために追加の構成ビットを設けることができる。
【００５７】
このような状況［context］において、ランダム論理関数の入力信号の数およびマルチビット・オペランドのビットの数はこの場合同じであるので、４つのプログラム可能な論理ユニットをもつセルは特に有利である。これはオペランドに対応する各グループをランダム論理関数の入力の組として選択することもできることを意味する。マルチビット・オペランド・モードにおけるグループを選択するための構成ビットは、もしあれば、ランダム論理モードにおけるグループを選択するために使用することができる。この場合、マルチビット・オペランド・モードでオペランドとして使用されるであろうグループのうち、ランダム論理関数の入力の組として使用されることになるグループを選択するために、ランダム論理モードで使用するために単一の追加の構成ビットで十分である。
【００５８】
本明細書で説明するのと同じ論理関数を有する図３に記載のプログラム可能な論理ユニットのいくつかの代替実施形態が存在することは明らかであろう。その代替として、例えば、図３のプログラム可能な論理ユニット２４の関数は、その入力において入力信号Ａ、Ｂに加えて桁上げ信号を受け取り、構成出力信号を発生する３入力ＬＵＴユニット（図示せず）で実施することができる。しかしながら、そのようなＬＵＴユニットは８つの構成ビットを十分にプログラム可能にすることが必要であろう。桁上げを実行するための排他的ＯＲゲート４０２の使用はランダム２ビット論理関数と、ＬＵＴユニット４００における４つ以下の構成ビットでの桁上げを伴う信号処理演算の両方をプログラムすることを可能にする。
【００５９】
同様の設定変更を可能にするセル２０において多数の変更が可能であることが諒解されよう。例えば、多数の２ビット入力プログラム可能な論理ユニット２４ａ〜ｄをもつセルを、例えば、８つのそのようなユニット、および３つの入力信号の制御下でこれらの８つのプログラム可能な論理ユニットのうちの１つの出力を選択するマルチプレクサとともに使用することができる。したがって、例えば８ビット・マルチビット信号処理演算を使用することができる。
【００６０】
さらに、ＸＯＲゲート４０２は、第１の入力において参照用テーブルの出力を受け取りって、第２の入力において参照用テーブルの出力の反転形態を受け取る２：１マルチプレクサなどの代替回路によって実施することができ、マルチプレクサは桁上げ信号によって制御されることが諒解されよう。
【００６１】
上述の論理セルはデータパスおよびランダム論理関数に加えてフレキシブルな多重化構成を構成することを可能にする。
【図面の簡単な説明】
【００６２】
【図１】従来技術のプログラム可能な論理セルを示す図である。
【図２】多重化モード、ランダム論理モードおよびマルチビット・オペランド処理モードで機能するように設定変更可能なプログラム可能な論理セルを示す図である。
【図３】本発明の第１の実施形態によるプログラム可能な論理セルを示す図である。
【図４】本発明の別の実施形態によるプログラム可能な論理セルを示す図である。
【図５】図３のプログラム可能な論理ユニットを使用したマルチプレクサの実施例を示す図である。
【図６】図４のプログラム可能な論理ユニットを使用したマルチプレクサの実施例を示す図である。
【図７】図３のプログラム可能な論理ユニットを使用したマルチプレクサの別の実施例を示す図である。
【図８】図４のプログラム可能な論理ユニットを使用したマルチプレクサの別の実施例を示す図である。
【図９】図３のプログラム可能な論理ユニットをもつ桁上げ連鎖のさらなる詳細を示す図である。
【図１０ａ】データパス・モードとマルチプレクサ・モードとの間の入力ピンの共用を示す図である。
【図１０ｂ】異なるモードのピン構成の例を示す図である。
【図１１】図１０ａおよび図１０ｂに示されるピン共用を有する論理セルの実施例を示す図である。
【図１２】入力回路を示す図である。
【図１】
2006519548.tif 000003
【図２】
2006519548.tif 000004
【図３】
2006519548.tif 000005
【図４】
2006519548.tif 000006
【図５】
2006519548.tif 000007
【図６】
2006519548.tif 000008
【図７】
2006519548.tif 000009
【図８】
2006519548.tif 000010
【図９】
2006519548.tif 000011
2006519548.tif 000012
【図１０ｂ】
2006519548.tif 000013
【図１１】
2006519548.tif 000014
【図１２】
2006519548.tif 000015
【国際調査報告】
2006519548.tif 000016
2006519548.tif 000017
2006519548.tif 000018