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