(57)【要約】本電子回路は、マルチビットオペランドモードおよび多重化モードで動作するように構成することのできる複数のプログラマブルロジックユニットを備えた、プログラマブルロジックセルを有する。プログラマブルロジックユニットは、入力回路と出力回路との間に並列に結合される。マルチビットオペランド処理モードでは、入力回路は、複数のロジック入力端のうちの異なる複数のロジック入力からのロジック入力信号を複数のプログラマブルロジックユニットに供給するように構成される。複数のプログラマブルロジックユニットは、少なくともマルチビットオペランドモードではキャリーチェーンに沿った複数の連続的な位置に結合されて、キャリーチェーンからの複数の桁上げ信号を処理する。出力回路は、マルチビットオペランドモードで、複数のプログラマブルロジックユニットからの複数の出力を並列に渡す。複数のプログラマブルロジックユニットは、複数の同じ構成ビットを共有する複数のルックアップテーブルを有する。複数のプログラマブルロジックユニットはまた、多重化動作モードで動作するように構成されたときにおいては、複数の受領済み入力信号のうちの１つを渡すためのマルチプレクサを有することもできる。
2006518143.tif 000002
【特許請求の範囲】
【請求項１】
複数のプログラマブルロジックセルを備えたアレイを有する電子回路であって、
各前記セルは、並列に結合され、且つ、入力回路からの入力信号を受け取るように接続された、複数のプログラマブルロジックユニットを備え、前記複数のプログラマブルロジックユニットはマルチビットオペランド処理モードで動作するようにコンフィギュアブルであり、
各プログラマブルロジックユニットは、前記入力回路からの複数の前記ロジック入力信号を受け取るように結合された入力端を有するとともに出力端を有するコンフィギュアブルなルックアップテーブル回路を備え、前記コンフィギュアブルなルックアップテーブルは、所定数の構成ビットに従って入出力機能を行い、
さらに、各プログラマブルロジックユニットは、前記ルックアップテーブル回路の前記出力に接続された入力端を有するとともに出力端を有する、制御可能なインバータ／非インバータ回路を備え、前記インバータ／非インバータは入力桁上げ信号によって制御可能であり、
前記所定数の構成ビットは、前記プログラマブルロジックセル中の複数のプログラマブルロジックユニットの複数の前記ルックアップテーブルを制御する、電子回路。
【請求項２】
前記プログラマブルロジックユニットはさらに補助マルチプレクサを備え、前記補助マルチプレクサは、前記ルックアップテーブル回路の出力と前記インバータ／非インバータ回路の出力とを受け取るように結合された複数の入力端を有し、前記プログラマブルロジックユニットからの出力信号を出力する、請求項１に記載の電子回路。
【請求項３】
前記補助マルチプレクサは構成メモリからの構成情報によって制御される、請求項２に記載の電子回路。
【請求項４】
前記プログラマブルロジックユニットはさらにマルチプレクサを備え、前記マルチプレクサは、前記入力回路からの複数の前記ロジック入力信号を受け取るように結合された複数の入力端を有し、マルチプレクサモードで動作するように構成されており、第１の制御信号Ｘの制御下でマルチプレクサ出力信号を提供する、請求項１に記載の電子回路。
【請求項５】
出力回路をさらに備え、前記出力回路は、複数のプログラマブルロジックユニットからの複数の前記マルチプレクサ出力信号を受け取るための第１のマルチプレクサ段を備え、前記第１のマルチプレクサ段は第２の制御信号Ｙによって制御される、請求項４に記載の電子回路。
【請求項６】
前記出力回路は別の多重化段を備え、前記別の多重化段は、前記第１のマルチプレクサ段中のマルチプレクサの複数の出力を受け取るようにコンフィギュアブルであり、第３の制御信号Ｚの制御下で出力信号を出力する、請求項５に記載の電子回路。
【請求項７】
前記マルチプレクサモードの前記第１、第２、第３の制御信号Ｘ、Ｙ、Ｚのうちの少なくとも１つは、前記マルチビットオペランド処理モードで使用される制御信号と共有される、請求項６に記載の電子回路。
【請求項８】
桁上げ入力端および桁上げ出力端をさらに備え、キャリーチェーンが前記桁上げ入力と前記入力回路と前記桁上げ出力との間に結合され、
前記プログラマブルロジックユニットは、少なくとも前記マルチビットオペランドモードでは前記キャリーチェーンに沿った連続的な位置に結合されて、前記キャリーチェーンからの桁上げ信号を処理し、前記マルチビットオペランドモードでは前記プログラマブルロジックユニットからの複数の出力を並列に渡す、請求項１に記載の電子回路。
【請求項９】
前記セルは、少なくとも前記キャリーチェーンの桁上げ出力決定動作を制御するように構成された減算制御回路を備え、前記キャリーチェーンは、前記キャリーチェーンに沿った各位置の入力信号と桁上げ入力信号とから桁上げ出力信号を決定し、前記減算制御回路による制御は、少なくとも加算に適した決定と減算に適した決定との間で、減算制御信号の制御下で、前記桁上げ出力決定を切り替える、請求項１に記載の電子回路。
【請求項１０】
前記セルは、各プログラマブルロジックユニットはそれぞれの乗算回路を備え、前記乗算回路は、前記プログラマブルロジックユニットの複数の前記入力信号のうち少なくとも１つを被乗数に掛けた後で、前記少なくとも１つの入力信号を前記プログラマブルロジックユニットの入力端に供給するように、結合された、請求項１に記載の電子回路。
【請求項１１】
各前記プログラマブルロジックユニットは、複数の前記ロジック入力端からの信号のための２つのユニット入力端を有し、各プログラマブルロジックユニットは、複数の前記ロジック入力端の、いずれかの２入力ビットロジック機能を独立して実施するようにコンフィギュアブルである、請求項１に記載の電子回路。
【請求項１２】
前記キャリーチェーン回路は、コンフィギュアブルな結合を複数の前記位置と前記セルの前記桁上げ入力端との間に有し、それにより、構成メモリからの構成情報の制御下で、前記キャリーチェーンへの桁上げ入力信号と、標準信号とのどちらかをコンフィギュアブルに供給する、請求項１に記載の電子回路。
【請求項１３】
前記キャリーチェーン回路は複数のコンフィギュアブルな結合を有し、各結合は、前記位置のうちのそれぞれ１つの位置と、前記プログラマブルロジックユニットのうちのそれぞれ１つのプログラマブルロジックユニットとの間に結合され、それにより、構成メモリからの構成情報の制御下で、前記位置から前記プログラマブルロジック回路への桁上げ信号と、前記キャリーチェーンを介した伝搬の結果ではない別の信号とのどちらかをコンフィギュアブルに供給する、請求項１に記載の電子回路。
【請求項１４】
前記インバータ／非インバータ回路は排他的論理和回路を備える、請求項１に記載の電子回路。
【請求項１５】
前記インバータ／非インバータ回路はマルチプレクサを備え、前記マルチプレクサは、第１の入力で前記ルックアップテーブルの出力を受け取り、第２の入力で前記ルックアップテーブルの前記出力の反転バージョンを受け取り、前記マルチプレクサは前記桁上げ信号によって制御される、請求項１に記載の電子回路。
【請求項１６】
マルチビットオペランド信号処理機能を実施するように構成され、各前記プログラマブルロジックユニットは、前記キャリーチェーンからの桁上げ入力信号の影響を受ける同じ入出力関係を提供するように構成され、前記出力回路は、前記プログラマブルロジックユニットからの複数の出力信号を並列に出力する、請求項１に記載の電子回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックセルのアレイを有する電子回路に関する。
【背景技術】
【０００２】
プログラマブルロジックセルは、回路設計者が、集積回路など量産された電子回路の個別インスタンス（individual instance）のロジック機能を備えさせることを可能にする。これにより、実用的な回路の設計から生産までの時間間隔が短縮され、少量単位の製品の生産と、プロトタイピングとにかかる製造コストが削減される。
【０００３】
一実装形態の一例では、プログラマブルセルは、セルの入力信号によってアドレス指定されるメモリを含み、メモリは、入力信号値の各組合せに対する事前プログラム済み出力信号を、これらの値によってアドレス指定されるそれぞれのアドレスに記憶している。メモリは、様々な入力信号に応じて生成される出力信号を検索するためのＬＵＴ（ルックアップテーブル）機能を有すると言われる。
【０００４】
十分なメモリ空間を含むロジック機能であれば、どんなロジック機能をＬＵＴと共に実装することもできる。しかし実際には、限られた数（通常はわずか４つ）の入力を必要とするロジック機能だけが、プログラマブルロジックセルを有する回路中でＬＵＴと共に実装される。このようなＬＵＴは、１６個のメモリ位置（positions）を必要とする。これにより、４入力ビットのランダムロジック機能のプログラミングが可能である。多くの場合、４入力ビット機能を備えたこのようなセルを有する回路で十分である。このようなセルのアレイであって、セルの出力が他のセルの入力に結合されるセルアレイを有する回路は、設計者がより複雑なロジック機能を実装することを可能にする。
【０００５】
設計者らはますます、プログラマブルロジックセルのアレイの一部が加算などの信号処理演算の実施に使用されるロジック機能を実装しつつある。多くの信号処理演算は、より幅の広い入力オペランドの多くのビットがそれぞれ桁上げ作用によって出力結果中の多くのビットに影響を及ぼす可能性があるという性質を有する。しかし、４ビット入力ＬＵＴを使用してこのような幅の広い依存が実現されるときは、非常に非効率的な実装形態が得られる。
【０００６】
Ｘｉｌｉｎｘ（商標）は、そのＶｉｒｔｅｘ（商標）ファミリのプログラマブルロジックデバイスにおいて、４ビット入力ＬＵＴセルのアレイにキャリーチェーン(carry chain) を追加することによってこの問題に対処した。図１に、このようなデバイスのプログラマブルロジックセルを示す。このセルは、ＬＵＴ機能を実施する４入力ルックアップテーブル１０と、桁上げ入力および桁上げ出力を有する桁上げ回路１２とを備える。メモリ１０の出力は桁上げ回路１２に結合され、桁上げ回路１２は、桁上げ入力信号をＬＵＴの出力信号と組み合わせて、桁上げ出力信号を形成する。排他的論理和ゲート１４を使用して、桁上げ入力信号とＬＵＴの出力信号とから、セルの出力信号が形成される。セルの桁上げ入力および桁上げ出力は、アレイ中の隣接するセル（図示せず）の桁上げ出力および桁上げ入力に結合されて、キャリーチェーンが形成される。キャリーチェーンは、ある４ビット入力ＬＵＴの出力から別の４ビット入力ＬＵＴの出力への桁上げ機能を実施する。この結果、桁上げ機能を実装するためにＬＵＴを割り振る必要がない。これにより、この回路を使用していくつかの信号処理演算を含むロジック機能が実装されるとき、かなりの数のＬＵＴが節約される。
【０００７】
それにもかかわらず、専用の信号処理回路に比べて、ランダムロジック機能も実装できるこのようなより汎用の回路中で信号処理機能を実装することは、依然としてはるかに効率が劣る。この効率を改善することができれば望ましいであろう。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
とりわけ、本発明の一目的は、構成ビットの数が削減された、信号処理演算の実施を可能にするプログラマブルロジックセルのアレイを有する電子回路を提供することである。
【課題を解決するための手段】
【０００９】
本発明による電子回路が請求項１に記載されている。この電子回路は、並列に結合された複数のプログラマブルロジックユニットを有するプログラマブルロジックセルを備える。プログラマブルロジックユニットは、入力回路からの複数のジック入力信号を受け取るように結合された複数の入力端を有するとともに出力を有するコンフィギュアブル（configurable）なルックアップテーブル回路を備え、コンフィギュアブルなルックアップテーブルは、所定数の構成ビットに従う入出力機能を有する。プログラマブルロジックユニットはまた、ルックアップテーブル回路の出力に接続された入力を有するとともに出力を有する制御可能なインバータ／非インバータ回路を備え、インバータ／非インバータは、入力桁上げ信号によって制御可能である。所定数の構成ビットは、プログラマブルロジックセル中の複数のプログラマブルロジックユニットのルックアップテーブルを制御する。これは、ロジックセルによって必要とされる構成ビットの数、したがって必要とされるメモリのサイズを低減する利点を有する。
【００１０】
一実施形態では、プログラマブルロジックユニットはさらに補助マルチプレクサを備え、補助マルチプレクサは、ルックアップテーブル回路の出力とインバータ／非インバータ回路の出力とを受け取るように結合された複数の入力端を有し、複数のプログラマブルロジックユニットからの複数の出力信号を提供する。
【００１１】
別の実施形態では、プログラマブルロジックユニットはさらにマルチプレクサを備え、マルチプレクサは、入力回路からのロジック入力信号を受け取るように結合された入力を有し、マルチプレクサモードで動作するように構成されたときに第１の制御信号の制御下でマルチプレクサ出力信号を提供する。この実施形態で述べた構成は、データパス機能に加えて多重化機能も提供する利点を有する。
【発明を実施するための最良の形態】
【００１２】
本発明のこれらおよび他の目的および有利な態様について、図を使用して述べる。
【００１３】
図２に、並列構成のプログラマブルロジックユニット２４ａ〜ｄと、キャリーチェーン２８とを有するプログラマブルロジックセルを示す。ロジックセルは、入力信号Ａ０〜３およびＢ０〜３を受け取る。キャリーチェーン２８は、桁上げ入力Ｃｉｎおよび桁上げ出力Ｃｏｕｔを有し、チェーンに沿った一連の位置でプログラマブルロジックユニットに結合される。
【００１４】
各プログラマブルロジックユニット２４ａ〜ｄは、選択ロジック４０３、例えば４：１マルチプレクサを備え、選択ロジック４０３は、入力信号の所与の組ＡｎＢｎに応じて出力信号Ｏを提供するように構成されたルックアップテーブル４００の一部を形成する。各プログラマブルロジックユニットの出力は、構成メモリ４０４に記憶された構成ビットによって決定される。本発明によれば、構成メモリ４０４は複数のプログラマブルロジックユニット２４ａ〜ｄによって共有され、それにより、ロジックセルがデータパス機能のマッピングに向けて最適化されることを可能にする。構成ビットをプログラムすることによって、ロジックセルの機能を構成することができる。構成ビットは、プログラムロジックユニット２４ａ〜ｄが様々な入力信号値に応じてどの出力信号値を生成することになるかを決定する。
【００１５】
マルチビットオペランド処理モードでは、各プログラマブルロジックユニット２４ａ〜ｄは、異なる有効レベルに関連つけられている。入力回路２２は、異なるオペランドからのビットを表す信号を各プログラマブルロジックユニット２４ａ〜ｄに渡すように構成され、各ビットは、そのプログラマブルロジックユニット２４ａ〜ｄに関連する有効レベル（シグニフィカントレベル）に対応している。各プログラマブルロジックユニット２４ａ〜ｄは、これらの信号に応じて、そのプログラマブルロジックユニット２４ａ〜ｄに関連する有効レベルで結果のビットを計算し、キャリーチェーン２８から受け取ったより下位のレベル（ロアーシグニフィカントレベル）からの桁上げ入力信号Ｃｉｎを考慮して、桁上げ出力信号Ｃｏｕｔを、より上位のレベル（ハイアーシグニフィカントレベル）で使用されるようにキャリーチェーンに出力する。マルチビットオペランドモードでは、すべてのプログラマブルロジックユニット２４ａ〜ｄは、構成メモリ４０４中の構成ビットを共有しているため、それらの入力信号および出力信号の間で同じ関係となるように構成される。各プログラマブルロジックユニット２４ａ〜ｄからの計算されたビット「Ｏ」は、出力信号として並列で出力回路（図示せず）に渡される。
【００１６】
キャリーチェーン２８は、桁上げ信号を計算し、これらの桁上げ信号を、あるプログラマブルロジックユニット２４ａ〜ｄから別のプログラマブルロジックユニット２４ａ〜ｄに渡す。キャリーチェーン２８は、キャリーチェーン２８が桁上げ信号を決定するのに桁上げ入力Ｃｉｎからの桁上げ入力信号を使用するかどうかを制御するように構成される。ロジックセルが、より大きいオペランドのより上位のビットである入力信号を処理する場合、セルは、このような桁上げ入力信号を使用して、より下位のオペランドを処理する別のセルの桁上げ出力信号を受け取るように構成される。
【００１７】
２マルチビットオペランド信号処理演算の様々な有効レベルの計算を実施するためのプログラマブルロジックユニットであって、それぞれが共有の構成ビットに基づくプログラマブルロジックユニットを使用することによって、マルチビットオペランド信号処理の実施をサポートするのに必要な構成ビットの数が最小限に抑えられる。図２の例では、４つの２入力プログラマブルロジックユニット２４ａ〜ｄがあるので、任意の２オペランド信号処理演算の任意の４つの有効レベルを定義するのに必要な構成ビットは４つだけである。対照的に、１つのプログラマブルロジックユニットにつき４つの構成ビットが利用される状況を考えてみると、４つの２入力プログラマブルロジックユニットを有するロジックセルの場合では１６個の構成ビットが必要になり、あるいは図１に示した従来技術によるロジックユニットの場合では６４個の構成ビットが必要になる。
【００１８】
図２には追加のゲート５０および５２も示してあるが、これらのゲートは、プログラマブルロジックユニット２４が、外部で補数を形成することのない算術減算と、１ビット乗算＋累算（multiplication-plus-accumulation）例えばマルチビット乗算における１ステップとしての）とを実施することを可能にする。減算の実施は、ＬＵＴユニット４００と、信号入力ＡｎとＢｎのうち引かなければならないオペランドのビットを受け取る方の信号入力との間に、排他的論理和ゲート５０を追加することによって容易になる。排他的論理和ゲート５０の入力の一方に減算制御信号ＳＵＢが供給され、それにより、入力信号は論理的に反転される。加算が必要なときは、減算制御信号は０に設定される。この目的で、ロジックセル中のすべてのプログラマブルロジックユニットに共通の減算制御信号が使用されてもよい。減算信号は、ロジックセルの構成ビットによって制御されてもよく、あるいはロジックセルの外部からの信号によって制御されてもよい。減算の場合、ロジックハイ桁上げ入力信号が、最下位レベルに関連するプログラマブルロジックユニットに加えられる。
【００１９】
乗算＋累算（multiplication  plus  accumulation）の実施は、ＬＵＴユニット４００と、信号入力ＡとＢのうち掛けられなければならないオペランドのビットを受け取る方の信号入力との間に、ＡＮＤゲート５２を追加し、このＡＮＤゲートの入力の一方に係数信号ＭＵＬを供給することによってサポートされる。この目的で、ロジックセル中のすべてのプログラマブルロジックユニットに共通の係数信号ＭＵＬが使用されてもよい。加算が必要なときは、係数信号は１に設定される。
【００２０】
図２には、ＡＮＤゲート５２と排他的論理和ゲート５０とが組み合わさって設けられているのが示してあるが、減算または乗算が必要でないときはどちらかが省略されてもよいことは、当業者には容易に理解されるであろう。また、乗算および減算は、回路中の異なる位置にある排他的論理和ゲート５０の均等物によって、および／または異なる構成のＬＵＴユニット４００によって、代替方法で実施できることも理解されるであろう。
【００２１】
図３に、プログラマブルロジックユニット２４と、キャリーチェーン２８の一部４２とをさらに詳細に示す。プログラマブルロジックユニット２４は、前に図２で述べたように機能するＬＵＴユニット４００を備える。プログラマブルロジックユニット２４は、排他的論理和ゲート４０２も備える。プログラマブルロジックユニット２４の信号入力Ａ、Ｂは、ＬＵＴユニット４００の入力に結合される。ＬＵＴユニット４００の出力は、排他的論理和ゲート４０２の入力に結合される。第１の排他的論理和ゲート４０２の第２の入力は、キャリーチェーン２８からの桁上げ入力信号Ｃｉｎを受け取るように結合され、排他的論理和ゲート４０２の出力は、出力信号Ｏ１を形成する。マルチプレクサ４０５が、ＸＯＲゲート４０２からの出力Ｏ１と、ＬＵＴ４００からの出力Ｏ２とを受け取る。マルチプレクサ４０５は、構成メモリ（図示せず）からの構成ビット４０７の制御下で、出力信号Ｏを生成する。
【００２２】
マルチビットオペランド処理モードでの動作中、ＬＵＴユニット４００は、前に図２で述べたように、共有の構成ビットを使用して、コンフィギュアブルな入出力機能を実現する。このマルチビットオペランド処理モードでは、プログラマブルロジックユニット２４の出力Ｏにおいてデータパス出力信号Ｏ１が利用可能になる。あるいは、幅の広いブール関数が実施されている場合は、マルチプレクサ４０５はＬＵＴ４００の直接出力Ｏ２を選択する。
【００２３】
ＸＯＲゲート４０２は他の方法で実装されてもよいことに留意されたい。例えば、ＸＯＲゲート４０２は、第１の入力でルックアップテーブルの出力を受け取り、第２の出力でルックアップテーブルの出力の反転バージョンを受け取る２：１マルチプレクサで置き換えられてもよく、このマルチプレクサは桁上げ入力信号Ｃｉｎによって制御される。
【００２４】
図４に、マルチビットオペランド処理機能に加えてマルチプレクサ機能も扱うことのできる代替実施形態を示す。プログラマブルロジックユニットは、ＬＵＴ４００と、ＸＯＲゲート４０２と、構成ビット４０７によって制御されるマルチプレクサ４０５とを備え、これらは、図３に示した本発明の対応する機構と同じ機能を有する。加えて、プログラマブルロジックユニットは、多重化動作モードで使用される別のマルチプレクサ４０６も備える。プログラマブルロジックユニット２４の信号入力Ａ、Ｂは、ＬＵＴユニット４００に並列に配置されたマルチプレクサ４０６（例えば２ビットＬＵＴ用の２：１マルチプレクサ）の入力に結合される。マルチプレクサ４０６は、ロジックセルの補助信号である制御信号Ｘによって制御される。各プログラマブルロジックユニット２４は、同じ制御信号Ｘを受け取ることが好ましい。したがって、プログラマブルロジックユニット２４は、マルチビットオペランド処理モードで動作するように構成されたときは第１の出力信号ＯＤを生成し（すなわち、マルチプレクサ４０５はＬＵＴユニット４００からの信号Ｏ１と、幅の広いブール関数を処理するように構成されたときの信号Ｏ２とのどちらかを出力する）、マルチプレクサとして機能するように構成されたときは第２の出力信号ＯＲを生成する。したがって、マルチプレクサとして動作するように構成されたときは、出力信号ＯＲはＬＵＴユニット４００およびＸＯＲゲート４０２を迂回する。マルチプレクサ４０６をプログラマブルロジックユニット２４中に設けることにより、ロジックセルは、データパス機能または算術機能に加えて多重化動作に向けて構成することもできる。
【００２５】
図５に、図３に示したプログラマブルロジックユニット２４ａ〜ｄを有するロジックセル２０の一実装形態を示す。各プログラマブルロジックユニット２４ａ〜ｄは、入力信号２１を受け取り、すべてのプログラマブルロジックユニット２４ａ〜ｄ間で共有される構成ビット（図示せず）に従って出力信号Ｏを生成する。出力信号Ｏは、出力回路２６のスイッチング回路２６８に渡され、スイッチング回路２６８は出力信号２７を生成する。
【００２６】
図６に、図４に示したプログラマブルロジックユニット２４ａ〜ｄを有するロジックセル２０の一実装形態を示す。マルチビットオペランド処理モードで構成されたときは、各プログラマブルロジックユニット２４ａ〜ｄは、入力信号２１を受け取り、すべてのプログラマブルロジックユニット２４ａ〜ｄ間で共有される構成ビット（図示せず）に従って出力信号ＯＤを生成する。出力信号ＯＤは、出力回路２６のスイッチング回路２６８に渡され、スイッチング回路２６８は出力信号２７を生成する。マルチプレクサモードで動作するように構成されたときは、複数のプログラマブルロジックユニット２４ａ〜ｄは、信号ＯＲを生成して出力する。出力信号ＯＲは、制御信号Ｘによって選択された、入力信号２１のうちの１つである。マルチプレクサモードでは、出力信号ＯＲは、出力回路２６中の第１のマルチプレクサ段２６４ａ、ｂの入力に渡される。第１のマルチプレクサ段は、制御信号Ｙによって制御される。別のマルチプレクサ２６６が、マルチプレクサ２６４ａ、２６４ｂからの出力信号を受け取るように接続され、制御信号Ｚの制御下で、マルチプレクサ出力信号をスイッチング回路２６８に提供する。
【００２７】
実際には、適用例において２つのタイプのマルチプレクサがみられる可能性がある。すなわち、複数のシングルビット入力を受け入れて１つのシングルビット出力を生成するランダムロジックマルチプレクサ（例えば８：１マルチプレクサ）と、マルチビット入力を受け入れてマルチビット出力を生成するデータパスマルチプレクサ（例えば４ビット２：１マルチプレクサ）とである。
【００２８】
ロジックセルは、８つの主入力信号に加えて３つまでの補助信号Ｘ、Ｙ、およびＺを使用して、両方のタイプのマルチプレクサを備えるようにコンフィギュアブルである。３つの補助信号Ｘ、Ｙ、およびＺは、ロジックセル上にマッピングされたロジックマルチプレクサのための選択信号として使用される。３つの信号は、最大の場合である１ビット８：１マルチプレクサの場合に対処するために必要である。他のマルチプレクサ構成では、必要な補助信号はより少ない。
【００２９】
制御信号Ｘは、データパスモードとマルチプレクサモードとの間で共有できることに留意されたい。データパスモードでは、制御信号Ｘは、キャリーチェーン２８に桁上げ入力信号Ｃｉｎを与え、マルチプレクサモードでは、制御信号Ｘは、図４のマルチプレクサ４０６を制御するのに使用される。同様にして、マルチプレクサモードの制御信号ＹおよびＺも、マルチビットオペランド処理モードの制御信号ＭＵＬおよびＳＵＢと共有することができる。また、制御信号は、専用の補助制御信号から得られてもよく、あるいは複数の主入力信号から取られてもよいことにも留意されたい。
【００３０】
図５および６に示したロジックセルは、４つの処理要素を備え、それにより４ビットデータパス機能の実装を可能にする。しかし、ロジックセル中の処理要素（ビットスライスbit-slices）の数は任意でよいことに留意されたい。例として、各セルが例えば３２ビットの完全ワードを処理するようにすることができる。
【００３１】
図７に、図３のプログラマブルロジックユニットを使用して構成されたロジックセルであって、プログラマブルロジックユニットの入力にＸＯＲゲート５０ａ〜ｄがあって減算を可能にするロジックセルの例示的な一実装形態を示す。プログラマブルロジックユニット２４ａ〜ｄは、プログラマブルロジックユニット２４ａ〜ｄ間で共有される構成ビット４０４によって制御される。マルチプレクサ４０５ａ〜ｄは、別の構成ビット４０７によって制御される。減算信号ＳＵＢは、構成ビットと外部動的信号とのどちらかに接続される。したがって、最悪の場合でも、ロジックセル２０を制御するのに必要な構成ビットは６つだけであることがわかり、これは通常の算術ロジックユニットを制御するのに必要な構成ビットの数よりも少ない。図７の機能は、図４のプログラマブルロジックユニットが組み込まれて追加のマルチプレクサマッピング機能が与えられた場合に、あるいは図２のＡＮＤゲート５２ａ〜ｄを使用して乗算器マッピング機能が提供された場合に、さらに改善することができる。
【００３２】
上述した本発明は、データパス機能のマッピングに向けて最適化されたロジックセルを提供し、それにより、構成メモリのサイズを縮小し、再コンフィギュアブルなシステムオンチップ（ＳｏＣ）適用例で使用するのに適した構成メモリにする。したがって、このロジックセルは、データパス最適化された組込みＦＰＧＡの基本ロジックブロックとして使用することができ、あるいはプロセッサコア内のコンフィギュアブルな機能ユニットとして使用することができる。また、従来のスタンドアロンＦＰＧＡの実装形態に適用することもできる。さらに、パラメータ化可能なＡＬＵの実装形態に使用することもでき、必要な構成メモリがより少ないことと、より多くのフレキシビリティ（すなわちマルチプレクサならびに減算機能および／または乗算器機能をマッピングするのが追加で可能である）を提供するようにコンフィギュアブルであることとの利点を有する。
【図面の簡単な説明】
【００３３】
【図１】従来技術のプログラマブルロジックセルを示す図である。
【図２】本発明によるプログラマブルロジックユニットのアレイを示す図である。
【図３】マルチプレクサ機能を提供するように適応された図２のプログラマブルロジックユニットをさらに詳細に示す図である。
【図４】マルチプレクサ機能を提供するように適応された図２のプログラマブルロジックユニットの代替実施形態を示す図である。
【図５】図３によるプログラマブルロジックユニットのアレイを実装したロジックセルを示す図である。
【図６】図４によるプログラマブルロジックユニットのアレイを実装したロジックセルを示す図である。
【図７】図３に示したプログラマブルロジックユニットを使用して構成された本発明のロジックセルを示す図である。
【図１】
2006518143.tif 000003
【図２】
2006518143.tif 000004
【図３】
2006518143.tif 000005
【図４】
2006518143.tif 000006
【図５】
2006518143.tif 000007
【図６】
2006518143.tif 000008
【図７】
2006518143.tif 000009
【国際調査報告】
2006518143.tif 000010
2006518143.tif 000011
2006518143.tif 000012