(57)【特許請求の範囲】
【請求項１】
演算回路を構成する第１の回路、および、該演算回路外の回路を構成する第２の回路を備えるリコンフィギャラブルロジックブロックであって、
該リコンフィギャラブルロジックブロックは、第１ハイブリッドセルおよび第２ハイブリッドセルを含む複数のハイブリッドセルを備え、
前記第１の回路は、前記第１ハイブリッドセルを含み、該第１ハイブリッドセルにおける所定のノードのレベルを、当該第１ハイブリッドセルに設けられたメモリに格納されたデータ、または、固定の電位レベルに基づいて設定することで前記演算回路を構成し、
前記第２の回路は、前記第２ハイブリッドセルを含み、該第２ハイブリッドセルにおける所定のノードのレベルを、当該第２ハイブリッドセルに設けられたメモリに格納されたデータ、または、固定の電位レベルに基づいて設定することで前記演算回路外の回路を構成することを特徴とするリコンフィギャラブルロジックブロック。
【請求項２】
請求項１に記載のリコンフィギャラブルロジックブロックにおいて、前記第１の回路は、加算回路を備え、且つ、前記第２の回路は、標準形の論理回路を備えることを特徴とするリコンフィギャラブルロジックブロック。
【請求項３】
請求項２に記載のリコンフィギャラブルロジックブロックにおいて、前記第１の回路は、全加算回路または半加算回路であることを特徴とするリコンフィギャラブルロジックブロック。
【請求項４】
請求項２に記載のリコンフィギャラブルロジックブロックにおいて、前記第２の回路は、リード・マラー標準形の論理回路であることを特徴とするリコンフィギャラブルロジックブロック。
【請求項５】
請求項２に記載のリコンフィギャラブルロジックブロックにおいて、前記加算回路は、複数設けられ、該複数の加算回路間の配線を当該リコンフィギャラブルロジックブロック内において行うことを特徴とするリコンフィギャラブルロジックブロック。
【請求項６】
請求項１に記載のリコンフィギャラブルロジックブロックにおいて、さらに、
前記第１および第２ハイブリッドセルにおける所定のノードのレベルを、前記固定の電位レベルである第１の電源レベルまたは第２の電源レベルに設定するための信号線を備えることを特徴とするリコンフィギャラブルロジックブロック。
【請求項７】
請求項１〜６のいずれか１項に記載のリコンフィギャラブルロジックブロックにおいて、
前記メモリは、揮発性のメモリであり、該リコンフィギャラブルロジックブロックに電源電圧が供給される初期設定において、当該揮発性メモリにデータが書き込まれることを特徴とするリコンフィギャラブルロジックブロック。
【請求項８】
請求項１〜６のいずれか１項に記載のリコンフィギャラブルロジックブロックにおいて、
前記メモリは、不揮発性のメモリであり、実際の使用に先立って、該不揮発性メモリに予めデータの書き込み処理が行われることを特徴とするリコンフィギャラブルロジックブロック。
【請求項９】
請求項１に記載のリコンフィギャラブルロジックブロックにおいて、前記複数のハイブリッドセルは、異なる回路構成を有することを特徴とするリコンフィギャラブルロジックブロック。
【請求項１０】
請求項１に記載のリコンフィギャラブルロジックブロックにおいて、前記複数のハイブリッドセルは、同一の回路構成を有することを特徴とするリコンフィギャラブルロジックブロック。
【請求項１１】
マトリクス状に配置された複数のリコンフィギャラブルロジックブロックと、該リコンフィギャラブルロジックブロックに接続される複数の配線と、該各配線の交差個所に設けられた複数のスイッチブロックと、該各リコンフィギャラブルロジックブロックの入出力線と前記各配線との間に設けられた複数のコネクションブロックと、外部との入出力を行うＩ／Ｏブロックとを備えるプログラマブル論理回路装置であって、
前記各リコンフィギャラブルロジックブロックは、請求項１〜１０のいずれか１項に記載のリコンフィギャラブルロジックブロックであることを特徴とするプログラマブル論理回路装置。
【請求項１２】
演算回路を構成する第１の回路、および、該演算回路外の回路を構成する第２の回路を備えるリコンフィギャラブルロジックブロックを構成する方法であって、
該リコンフィギャラブルロジックブロックは、第１ハイブリッドセルおよび第２ハイブリッドセルを含む複数のハイブリッドセルを備え、
前記第１の回路は、前記第１ハイブリッドセルを含み、該第１ハイブリッドセルにおける所定のノードのレベルを、当該第１ハイブリッドセルに設けられたメモリに格納されたデータ、または、固定の電位レベルに基づいて設定することで前記演算回路を構成し、
前記第２の回路は、前記第２ハイブリッドセルを含み、該第２ハイブリッドセルにおける所定のノードのレベルを、当該第２ハイブリッドセルに設けられたメモリに格納されたデータ、または、固定の電位レベルに基づいて設定することで前記演算回路外の回路を構成することを特徴とするリコンフィギャラブルロジックブロックの構成方法。
【請求項１３】
請求項１２に記載のリコンフィギャラブルロジックブロックの構成方法において、前記第１の回路を、加算回路で構成し、且つ、前記第２の回路を、標準形の論理回路で構成したことを特徴とするリコンフィギャラブルロジックブロックの構成方法。
【請求項１４】
請求項１３に記載のリコンフィギャラブルロジックブロックの構成方法において、前記第１の回路を、全加算回路または半加算回路で構成したことを特徴とするリコンフィギャラブルロジックブロックの構成方法。
【請求項１５】
請求項１３に記載のリコンフィギャラブルロジックブロックの構成方法において、前記第２の回路を、リード・マラー標準形の論理回路で構成したことを特徴とするリコンフィギャラブルロジックブロックの構成方法。
【請求項１６】
請求項１３に記載のリコンフィギャラブルロジックブロックの構成方法において、前記加算回路を、複数設け、該複数の加算回路間の配線を、当該リコンフィギャラブルロジックブロック内において行うことを特徴とするリコンフィギャラブルロジックブロックの構成方法。
【請求項１７】
請求項１２に記載のリコンフィギャラブルロジックブロックの構成方法において、
前記第１および第２ハイブリッドセルにおける所定のノードのレベルの設定を、前記固定の電位レベルに基づいた信号線により行うことを特徴とするリコンフィギャラブルロジックブロックの構成方法。
【請求項１８】
請求項１２〜１７のいずれか１項に記載のリコンフィギャラブルロジックブロックの構成方法において、
前記メモリは、揮発性のメモリであり、該リコンフィギャラブルロジックブロックに電源電圧が供給される初期設定において、当該揮発性メモリにデータを書き込むことを特徴とするリコンフィギャラブルロジックブロックの構成方法。
【請求項１９】
請求項１２〜１７のいずれか１項に記載のリコンフィギャラブルロジックブロックの構成方法において、
前記メモリは、不揮発性のメモリであり、実際の使用に先立って、該不揮発性メモリに対して予めデータの書き込み処理を行うことを特徴とするリコンフィギャラブルロジックブロックの構成方法。
【請求項２０】
請求項１２〜１６のいずれか１項に記載のリコンフィギャラブルロジックブロックの構成方法を利用してＡＳＩＣを構成する方法において、
前記第１および第２ハイブリッドセルにおける所定のノードのレベルの設定を、前記固定の電位レベルである第１の電源レベルまたは第２の電源レベルに固定することで行うことを特徴とするＡＳＩＣの構成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リコンフィギャラブルロジックブロック（Reconfigurable Logic Block：ＲＬＢ）、ＲＬＢを備えるプログラマブル論理回路装置、および、ＲＬＢの構成方法に関し、特に、実装面積の削減が可能なＲＬＢの構成技術に関する。
【背景技術】
【０００２】
近年、プログラマブル論理回路装置は、内部回路を電気的にプログラムすることでユーザの様々な要求に応じた論理回路を実現することができるデバイスとして注目されている。このプログラマブル論理回路装置は、ＰＬＤ（Programmable Logic Device）、ＦＰＧＡ（Field Programmable Gate Array）、ＤＲＰ（Dynamically Reconfigurable Processor）、或いは、ＤＡＰ／ＤＮＡ（Digital Application Processor/Distributed Network Architecture）として知られており、ハードウェアの試作に対する利用を越えて、それ自体で様々な機能を有する大規模な回路（例えば、マイクロプロセッサ等）を構成するためにも使用されている。
【０００３】
そして、プログラマブル論理回路装置の性能を改善するためには、新しいリコンフィギャラブルロジックブロック（ＲＬＢ）が必要となって来ている。すなわち、従来のプログラマブル論理回路装置を構成するＲＬＢは、細粒度（Fine-grain）方式および粗粒度（Coarse-grain）方式の２種類の枠の中で考えられてきた。
【０００４】
具体的に、例えば、ＦＰＧＡ等は細粒度方式のＬＵＴをベースとしたＲＬＢを使用するものであり、また、ＤＲＰやＤＡＰ／ＤＮＡ等は、粗粒度方式のＡＬＵ（Arithmetic and Logical Unit）をベースとしたＲＬＢを使用するものである。
【０００５】
ここで、ＬＵＴ（Look-Up Table）は、メモリから構成されており、任意の論理回路を実装することが可能であり、実装できる論理回路の入力信号のビット数ＮはＬＵＴを構成するメモリのアドレスのビット数に対応し、出力として１ビットの信号を出力する。従って、１つのＬＵＴに実装できる論理回路は、任意のＮ入力１出力論理回路である。なお、本明細書では、このようなＬＵＴをＮ入力ＬＵＴ（Ｎ−ＬＵＴ）と表す。
【０００６】
細粒度方式は、ＲＬＢにＬＵＴを用いる方式で、ビット単位の論理演算を得意とし、また、粗粒度方式は、ＲＬＢにＡＬＵを用いる方式で、バイト単位の算術演算を得意とする。
【０００７】
ところで、従来、ソフトウェア開発の柔軟さと専用のハードウェアによる解決の性能とを持った再構成可能な計算法を提供するものとして、算術セルと論理セルとの混合により標準的な相互接続よりも効果的に面積効率を向上させた集積回路が提案されている（例えば、特許文献１参照）。
【０００８】
また、従来、乗算器、累算器および加算器等を１つの密集したセルの中に効率的に実現させるものとして、演算セルをマルチプレクサとそれを制御するステアリング論理回路で構成し、ステアリング論理回路がアプリケーションに従ったコンフィギュレーション信号を受けて、マルチプレクサを制御して経路選択を行うものが提案されている（例えば、特許文献２参照）。
【０００９】
さらに、従来、高速かつ多機能なプログラマブル機能ブロックを提供するものとして、全加算器、および、前置ロジックを設けたプログラマブル機能ブロックも提案されている（例えば、特許文献３および４参照）。
【００１０】
そして、従来、ＦＰＧＡにおいて、複数のＬＵＴユニットと、該複数のＬＵＴユニットによる内部構成を制御する内部構成制御手段とを備えるＬＵＴの構成技術も提案されている（例えば、特許文献５参照）。
【００１１】
【特許文献１】特許公表２００２−５１１１７３号公報
【特許文献２】特開平１０−１１１７９０号公報
【特許文献３】特開平１１−０２４８９１号公報
【特許文献４】特開平１１−１２２０９６号公報
【特許文献５】特開２００３−０１８０００号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上述したように、従来、細粒度方式のＬＵＴをベースとするＦＰＧＡ等は、演算回路の実装が不得手であるため、別に乗算器等を搭載するようになっており、その分、チップの面積効率（実装効率）が低下することになっていた。
【００１３】
また、粗粒度方式のＡＬＵをベースとするＤＲＰやＤＡＰ／ＤＮＡ等は、一般的な論理回路を構成する場合に面積効率が悪くなる。具体的に、例えば、ＤＲＰは、ＡＬＵの他にＤＭＵ（Data Management Unit）と呼ばれる論理演算ユニットを搭載することで性能低下を回避しているが、その論理演算ユニットが使用されない場合、それ自身が面積効率を落とす一因となる。よって、チップの面積効率の低下は避けることができない。
【００１４】
具体的に、例えば、特許文献２に開示された演算セルは、例えば、加算器回路が８−ＬＵＴ×２個のルックアップテーブルで構成されており、また、２つのＬＵＴは内部接続されていないため、本来の加算器としての性能が面積効率および速度の面で共に十分なものではない。さらに、特許文献２に開示された演算セルは、マルチグレイン構造を採ることができず、また、論理演算時に、１つのＲＬＢが８−ＬＵＴ×２で構成されるために、面積効率はさらに悪くなる。
【００１５】
また、例えば、特許文献３に開示されたプログラマブル機能ブロックは、ＲＬＢ内に１ビット全加算器および前置きロジックを設けるようになっているが、複数ビットの演算において、キャリーは外部配線を通るために速度のオーバヘッドが大きくなり、また、論理演算時の論理の完全性が保障できないといった問題がある。
【００１６】
本発明は、上述した従来のプログラマブル論理回路装置が有する課題に鑑み、構成する回路に関わらずチップの高い面積効率を維持し、高速性および低消費電力化の両立を図ることを目的とする。
【課題を解決するための手段】
【００１７】
本発明の第１の形態によれば、演算回路を構成する第１の回路、および、該演算回路外の回路を構成する第２の回路を備えるリコンフィギャラブルロジックブロックであって、該リコンフィギャラブルロジックブロックは、第１ハイブリッドセルおよび第２ハイブリッドセルを含む複数のハイブリッドセルを備え、前記第１の回路は、前記第１ハイブリッドセルを含み、該第１ハイブリッドセルにおける所定のノードのレベルを、当該第１ハイブリッドセルに設けられたメモリに格納されたデータ、または、固定の電位レベルに基づいて設定することで前記演算回路を構成し、前記第２の回路は、前記第２ハイブリッドセルを含み、該第２ハイブリッドセルにおける所定のノードのレベルを、当該第２ハイブリッドセルに設けられたメモリに格納されたデータ、または、固定の電位レベルに基づいて設定することで前記演算回路外の回路を構成することを特徴とするリコンフィギャラブルロジックブロックが提供される。
【００１８】
本発明の第２の形態によれば、マトリクス状に配置された複数のリコンフィギャラブルロジックブロックと、該リコンフィギャラブルロジックブロックに接続される複数の配線と、該各配線の交差個所に設けられた複数のスイッチブロックと、該各リコンフィギャラブルロジックブロックの入出力線と前記各配線との間に設けられた複数のコネクションブロックと、外部との入出力を行うＩ／Ｏブロックとを備えるプログラマブル論理回路装置であって、前記各リコンフィギャラブルロジックブロックは、演算回路を構成する第１の回路、および、該演算回路外の回路を構成する第２の回路を備えるリコンフィギャラブルロジックブロックであって、該リコンフィギャラブルロジックブロックは、第１ハイブリッドセルおよび第２ハイブリッドセルを含む複数のハイブリッドセルを備え、前記第１の回路は、前記第１ハイブリッドセルを含み、該第１ハイブリッドセルにおける所定のノードのレベルを、当該第１ハイブリッドセルに設けられたメモリに格納されたデータ、または、固定の電位レベルに基づいて設定することで前記演算回路を構成し、前記第２の回路は、前記第２ハイブリッドセルを含み、該第２ハイブリッドセルにおける所定のノードのレベルを、当該第２ハイブリッドセルに設けられたメモリに格納されたデータ、または、固定の電位レベルに基づいて設定することで前記演算回路外の回路を構成することを特徴とするプログラマブル論理回路装置が提供される。
【００１９】
本発明の第３の形態によれば、演算回路を構成する第１の回路、および、該演算回路外の回路を構成する第２の回路を備えるリコンフィギャラブルロジックブロックを構成する方法であって、該リコンフィギャラブルロジックブロックは、第１ハイブリッドセルおよび第２ハイブリッドセルを含む複数のハイブリッドセルを備え、前記第１の回路は、前記第１ハイブリッドセルを含み、該第１ハイブリッドセルにおける所定のノードのレベルを、当該第１ハイブリッドセルに設けられたメモリに格納されたデータ、または、固定の電位レベルに基づいて設定することで前記演算回路を構成し、前記第２の回路は、前記第２ハイブリッドセルを含み、該第２ハイブリッドセルにおける所定のノードのレベルを、当該第２ハイブリッドセルに設けられたメモリに格納されたデータ、または、固定の電位レベルに基づいて設定することで前記演算回路外の回路を構成することを特徴とするリコンフィギャラブルロジックブロックの構成方法が提供される。
【００２０】
本発明の第４の形態によれば、演算回路を構成する第１の回路、および、該演算回路外の回路を構成する第２の回路を備えるリコンフィギャラブルロジックブロックを構成する方法であって、該リコンフィギャラブルロジックブロックは、第１ハイブリッドセルおよび第２ハイブリッドセルを含む複数のハイブリッドセルを備え、前記第１の回路は、前記第１ハイブリッドセルを含み、該第１ハイブリッドセルにおける所定のノードのレベルを、当該第１ハイブリッドセルに設けられたメモリに格納されたデータ、または、固定の電位レベルに基づいて設定することで前記演算回路を構成し、前記第２の回路は、前記第２ハイブリッドセルを含み、該第２ハイブリッドセルにおける所定のノードのレベルを、当該第２ハイブリッドセルに設けられたメモリに格納されたデータ、または、固定の電位レベルに基づいて設定することで前記演算回路外の回路を構成することを特徴とするリコンフィギャラブルロジックブロックの構成方法を利用してＡＳＩＣを構成する方法において、前記第１および第２の回路における所定の信号の設定を、前記固定の電位レベルである第１の電源レベルまたは第２の電源レベルに固定することで行うことを特徴とするＡＳＩＣの構成方法が提供される。
【発明の効果】
【００２１】
本発明によれば、構成する回路に関わらずチップの高い面積効率を維持し、高速性および低消費電力化の両立を図ることのできるプログラマブル論理回路装置を提供することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明に係るリコンフィギャラブルロジックブロック（ＲＬＢ）、ＲＬＢを備えるプログラマブル論理回路装置、および、ＲＬＢの構成方法を添付図面に従って詳述する。
【００２３】
図１は本発明が適用されるプログラマブル論理回路装置の一例の全体構成を示すブロック図である。図１において、参照符号１００はプログラマブル論理回路装置、１０１はＩ／Ｏブロック（Input/Output Block）、１０２はＲＬＢ、１０３はコネクションブロック（Connection Block：ＣＢ)、１０４はスイッチブロック（Switch Block：ＳＢ）、そして、１０５は配線を示している。
【００２４】
図１に示されるように、プログラマブル論理回路装置１００は、マトリクス状に配列された複数のＲＬＢ１０２、各ＲＬＢ１０２と配線１０５を結合するＣＢ１０３、各配線１０５のクロスポイントになるＳＢ１０４、および、外部との信号の入出力を行うＩ／Ｏブロック１０１を備えて構成される。なお、本発明は、主としてＲＬＢ１０２の構成に関するものである。
【実施例】
【００２５】
図２は本発明に係るリコンフィギャラブルロジックブロック（ＲＬＢ）の入出力構成の一例を示すブロック図である。
【００２６】
以下の記載では、１８入力１１出力でメモリが２０個のＲＬＢを例にとって本発明を説明する。すなわち、図２に示されるように、ＲＬＢ１０２は、４つのＸ入力（Ｘ０〜Ｘ３），４つのＹ入力（Ｙ０〜Ｙ３），５つのＺ入力（Ｚ０〜Ｚ４），４つのＣin入力（Ｃin０〜Ｃin３）および１つのＡＳ入力（ＡＳ）の合計１８の入力、３つのＥ出力（Ｅ０〜Ｅ２），４つのＳ出力（Ｓ０〜Ｓ３）および４つのＣout出力（Ｃout０〜Ｃout３）の合計１１の出力、並びに、２０個のメモリＭ（Ｍ０〜Ｍ１９）を備えて構成される。
【００２７】
なお、ここで説明する１８入力１１出力でメモリが２０個のＲＬＢは単なる一例であり、本発明は、様々な構成のＲＬＢに対して適用することができるのはいうまでもない。
【００２８】
図３は図２に示すＲＬＢの構成を示すブロック図である。図３において、参照符号１０２ａは論理演算部、１０２ｂはフリップフロップおよび選択回路（ＦＦ＋セレクタ回路）、１２０〜１２３はハイブリッドセル（ＨＣ０〜ＨＣ３）、そして、１０２０〜１０２２は排他的論理和（ＥＸＯＲ：Exclusive-OR）回路を示している。
【００２９】
図３に示されるように、ＲＬＢ１０２は、論理演算部１０２ａおよびＦＦ＋セレクタ回路１０２ｂを備え、論理演算部１０２ａは、４つのハイブリッドセル１２０〜１２３と３つのＥＸＯＲ回路１０２０〜１０２２を備えている。ＥＸＯＲ回路１０２０（Ｅ０）は、ハイブリッドセル１２０のキャリー出力Ｃout０およびハイブリッドセル１２１のキャリー出力Ｃout１の排他的論理和を取り、また、ＥＸＯＲ回路１０２１（Ｅ１）は、ハイブリッドセル１２２のキャリー出力Ｃout２およびハイブリッドセル１２３のキャリー出力Ｃout３の排他的論理和を取り、そして、ＥＸＯＲ回路１０２２（Ｅ２）は、ＥＸＯＲ回路１０２０の出力およびＥＸＯＲ回路１０２１の出力の排他的論理和を取るようになっている。
【００３０】
図４および図５は図３におけるハイブリッドセルの原型を説明するための図であり、図４（ａ）は２−ＬＵＴと同等の論理を表現可能な２入力リード・マラー（Read-Muller）標準形（細粒度：Fine-grain）を示し、図５（ａ）は１ビット全加算器（粗粒度：Coarse-grain）を示し、そして、図４（ｂ）および図５（ｂ）に示すハイブリッドセル（ハイブリッド粒度：Hybrid-grain）が、以下に説明する実施例で適用するハイブリッドセル（ＨＣ０〜ＨＣ３）の原型になるものである。ここで、図４（ａ）および図４（ｂ）におけるメモリＭ０〜Ｍ３には、その入出力に対応したデータが格納される。
【００３１】
すなわち、２入力リード・マラー標準形において、各メモリＭ０〜Ｍ３は、それぞれ次式により与えられる。
【００３２】
【数１】
0004438000.tif 000002
【００３３】
そして、図４（ｂ）に示すハイブリッドセルで論理パターンおよび入力を設定することにより図４（ａ）に示す２入力リード・マラー標準形を構成することができ、また、図５（ｂ）に示すハイブリッドセルで論理パターンおよび入力を設定することにより図５（ａ）に示す１ビット全加算器を構成することができる。
【００３４】
図６は本発明に係るＲＬＢにおけるハイブリッドセルの構成例を示す論理回路図であり、図６（ａ）〜図６（ｃ）は、上述した図４（ｂ）および図５（ｂ）に示すハイブリッドセルの原型を基本とした３種類のハイブリッドセルＨＣの例を示すものである。
【００３５】
図６（ａ）〜図６（ｃ）において、参照符号２０１〜２０３はハイブリッドセル、２１１はキャリーアウト演算回路，２１２は加算演算回路、２１３，２１６，２１８および２２２はコンフィギュレーションメモリ（Ｍ）、２１４は加減算選択回路、２１５は細粒度・粗粒度切り替え回路、２１７はキャリーパス選択回路、２１９は入力選択回路、２２０はキャリーパス、そして、２２１はＡＮＤ回路を示している。ここで、ＡＮＤ回路２２１は、４入力リード・マラー標準形を表現するのに必要な回路であり、また、１ビットのコンフィギュレーションメモリ２２２は、リード・マラー標準形でのコンフィギュレーションパターンの反転が入る。ただし、反転を用いるのは図６（ａ）におけるコンフィギュレーションメモリ２２２のビットのみである。
【００３６】
図７は本発明に係るＲＬＢの一実施例の構成を示す論理回路図であり、図６（ａ）〜図６（ｃ）に示す３種類のハイブリッドセルを組み合わせて図３に示すＲＬＢ１０２の論理演算部１０２ａを構成したものである。
【００３７】
ここで、図７と図６との比較から明らかなように、図７におけるハイブリッドセル１２０（ＨＣ０）は、図６（ｃ）に示すハイブリッドセル２０３に対応し、また、図７におけるハイブリッドセル１２１（ＨＣ１）および１２２（ＨＣ２）は、図６（ｂ）に示すハイブリッドセル２０２に対応し、そして、図７におけるハイブリッドセル１２３（ＨＣ３）は、図６（ａ）に示すハイブリッドセル２０１に対応している。
【００３８】
そして、図７および図３に示されるように、ＥＸＯＲ回路１０２０は、ハイブリッドセル１２０のキャリー出力Ｃout０およびハイブリッドセル１２１のキャリー出力Ｃout１の排他的論理和を取って信号Ｅ０を出力し、また、ＥＸＯＲ回路１０２１は、ハイブリッドセル１２２のキャリー出力Ｃout２およびハイブリッドセル１２３のキャリー出力Ｃout３の排他的論理和を取って信号Ｅ１を出力し、そして、ＥＸＯＲ回路１０２２は、ＥＸＯＲ回路１０２０の出力信号Ｅ０およびＥＸＯＲ回路１０２１の出力信号Ｅ１の排他的論理和を取って信号Ｅ２を出力するようになっている。
【００３９】
これにより、４つのＸ入力Ｘ０〜Ｘ３，４つのＹ入力Ｙ０〜Ｙ３，５つのＺ入力Ｚ０〜Ｚ４，４つのＣin入力Ｃin０〜Ｃin３および１つのＡＳ入力ＡＳの合計１８の入力、３つのＥ出力Ｅ０〜Ｅ２，４つのＳ出力Ｓ０〜Ｓ３および４つのＣout出力Ｃout０〜Ｃout３の合計１１の出力、並びに、２０個のメモリＭ０〜Ｍ１９を有するＲＬＢの論理演算部１０２ａ（すなわち、ＲＬＢ１０２）が構成される。
【００４０】
図８は図７に示すＲＬＢで実現可能な回路機能を示すブロック図である。
図８に示されるように、例えば、図７に示すＲＬＢ１０２（論理演算部１０２ａ）により、様々な機能を有する回路を構成することができ、例えば、図８（ａ）に示すリップルキャリーアダー型４ビット加減算器（4-bit Ripple Carry Adder/Subtracter）すなわち４ビット算術論理演算装置（ＡＬＵ：Arithmetic Logic Unit）、図８（ｂ）に示すマルチプレクサ（ＭＵＸ：Multiplexer）×４、図８（ｃ）に示す４入力標準形のＬＵＴ（リード・マラー標準形の４−ＬＵＴ）×１、図８（ｄ）に示す３−ＬＵＴ×２、図８（ｅ）に示す２−ＬＵＴ）×４、図８（ｆ）に示す３ＬＵＴ×１および２ＬＵＴ×２、並びに、図８（ｇ）に示すその他の論理回路を構成することができる。
【００４１】
図９〜図１４は、それぞれ図８に示すＲＬＢ（ＲＬＢ１０２の論理演算部１０２ａ）で構成した回路例を示す図であり、これら図９〜図１４において、ＲＬＢ１０２のＦＦ＋セレクタ回路１０２ｂは省略されている。
【００４２】
図９は図８（ａ）の４ビットＡＬＵを示すものであり、図９（ａ）は４ビットＡＬＵの機能ブロックを示し、また、図９（ｂ）は図７に示す論理演算部１０２ａにより構成した場合の入出力信号および論理パターンを示している。ここで、論理パターンとは、２０個（２０ビット）のメモリＭ０〜Ｍ１９に格納するデータ（高レベルＨのデータ『１』、または、低レベルＬのデータ『０』）を示すものである。なお、ＡＳ＝０の時は加算器を構成し、また、ＡＳ＝１の時は減算器を構成する。
【００４３】
すなわち、図７に示す論理演算部１０２ａにより４ビットＡＬＵを構成する場合には、メモリＭ０〜Ｍ２，Ｍ４〜Ｍ６，Ｍ８〜Ｍ１０およびＭ１２〜Ｍ１９にデータ『１』を書き込み、メモリＭ３，Ｍ７およびＭ１１にデータ『０』を書き込む。また、入力Ｚ４，Ｃin１，Ｃin２およびＣin３は、高電位電源（Ｖdd：データ『１』）にプルアップし、入力Ｘ０およびＺ０には同じ信号Ｘ０を供給し、入力Ｘ１およびＺ１には同じ信号Ｘ１を供給し、入力Ｘ２およびＺ２には同じ信号Ｘ２を供給し、そして、入力Ｘ３およびＺ３には同じ信号Ｘ３を供給する。なお、メモリＭ０〜Ｍ１９に書き込むデータの入力（設定）は、従来から知られている様々な手法を適用して行うことができる。
【００４４】
ここで、例えば、ハイブリッドセル１２１に注目すると、セレクタ１２１１は、両方の入力Ｘ１およびＺ１に対して同じ入力信号Ｘ１が供給され、また、入力Ｃin１に接続された制御端子はデータ『１』に固定されているため、セレクタ１２１１はデータ『１』側の入力Ｘ１（ただし、両方の入力Ｘ１，Ｚ１に対して同じ信号Ｘ１が入力されているので同じＸ１になるが）を選択して出力する。また、セレクタ１２１２は、その制御端子がメモリＭ１７に格納されたデータ『１』に固定されているため、ハイブリッドセル１２０のキャリー出力Ｃ０を選択して出力する。さらに、２入力ＮＡＮＤゲート１２１３は、一方の入力がメモリＭ７に格納されたデータ『０』に固定されているため、常にデータ『１』を出力する。
【００４５】
このように、入出力信号およびメモリＭ１〜Ｍ１９に格納するデータパターンを所定の値に設定することにより、図７に示す論理演算部１０２ａ（ＲＬＢ１０２）で４ビットＡＬＵを構成することができる。なお、図９（ｂ）から明らかなように、４ビットＡＬＵを構成する場合、キャリーパスをＲＬＢ１０２（論理演算部１０２ａ）内で結線することができるため高速動作が可能になる。
【００４６】
図１０は図８（ｂ）のＭＵＸ×４を示すものであり、図１０（ａ）はＭＵＸの機能ブロックを示し、また、図１０（ｂ）は図７に示す論理演算部１０２ａにより構成した場合の入出力信号および論理パターンを示している。
【００４７】
すなわち、図７に示す論理演算部１０２ａでＭＵＸ×４を構成する場合には、メモリＭ０，Ｍ４，Ｍ８，Ｍ１２，Ｍ１５およびＭ１６にデータ『１』を書き込み、Ｍ１〜Ｍ３，Ｍ５〜Ｍ７，Ｍ９〜Ｍ１１，Ｍ１３，Ｍ１４およびＭ１７〜Ｍ１９にデータ『０』を書き込む。さらに、各入出力信号を図１０（ｂ）のように設定することにより図７に示すＲＬＢでＭＵＸ×４を構成することができる。
【００４８】
図１１は図８（ｃ）の４−ＬＵＴ×１を示すものであり、図１１（ａ）は４−ＬＵＴの機能ブロックを示し、また、図１１（ｂ）は図７に示す論理演算部１０２ａにより構成した場合の入出力信号および論理パターンを示している。
【００４９】
すなわち、図７に示す論理演算部１０２ａで４−ＬＵＴ×１を構成する場合には、メモリＭ０〜Ｍ１５に対して、そのＬＵＴに必要とされる入出力関係が得られるようなデータを書き込み、そして、メモリＭ１６〜Ｍ１９にデータ『０』を書き込む。さらに、各入出力信号を図１１（ｂ）のように設定することにより図７に示すＲＬＢで４−ＬＵＴ×１を構成することができる。
【００５０】
また、他の図１２〜図１４も同様であり、図１２は図８（ｄ）の３−ＬＵＴ×２を示し、図１３は図８（ｅ）の２−ＬＵＴ）×４を示し、さらに、図１４は図８（ｆ）の３ＬＵＴ×１および２ＬＵＴ×２を示している。そして、図１２（ａ）〜図１４（ａ）はそれぞれ機能ブロックを示し、また、図１２（ｂ）〜図１４（ｂ）は図７に示す論理演算部１０２ａにより構成した場合の入出力信号および論理パターンを示している。
【００５１】
なお、図７に示す論理演算部１０２ａは、上述した図９〜図１４に示す回路の他に、様々な回路を構成することができるのはもちろんである。さらに、図７に示す論理演算部１０２ａ（ＲＬＢ１０２）は、単なる一例であり、ＲＬＢ自体も様々な構成とすることが可能である。
【００５２】
上述したように、本発明に係るＲＬＢ（リコンフィギャラブルロジックブロック）或いはＲＬＢを備えるプログラマブル論理回路装置によれば、ＲＬＢ１０２（論理演算部１０２ａ）内にメモリＭ０〜Ｍ１９を持つことにより、例えば、従来のＦＰＧＡで使用されるＬＵＴとは異なり、複数の入力数を持つ様々なＬＵＴを構成することができる。これにより、必要とする回路に適した入力信号数のＬＵＴで構成することができ、実装面積の増加を防ぐことができる。また、ハイブリッドセル１２０〜１２３同士の接続は、ブロック外部の配線エリアを通すことなく各ＲＬＢ１０２の内部配線により行うことができ、高速動作が可能になる。
【００５３】
すなわち、本実施例のＲＬＢ（プログラマブル論理回路装置）によれば、各ハイブリッドセル１２０〜１２３を標準形（例えば、リード・マラー標準形）として用いることで、例えば、１つの４−ＬＵＴ（図１１参照）、２つの３−ＬＵＴ（図１２参照）、４つの２−ＬＵＴ（図１３参照）、或いは、１つの３−ＬＵＴおよび２つの２−ＬＵＴ（図１４参照）といった様々なＬＵＴと同等のセルを構成することができ、さらに、他の論理回路として構成することもできる。
【００５４】
なお、ＲＬＢを他の論理回路として用いた場合、各ハイブリッドセルのゲート構造を利用することで、ハイブリッドセル１個で最大４入力までの限られた論理を表現することが可能である。
【００５５】
以上、説明したように、ＲＬＢにおける入出力信号および論理パターンを設定することによって、１つのプログラマブル論理回路装置により必要とする様々な回路を構成することが可能であるが、本発明は、このようなＲＬＢおよびプログラマブル論理回路装置の提供だけでなく、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）或いはストラクチャード（Structured）ＡＳＩＣを提供することもできる。
【００５６】
すなわち、各ＲＬＢにおける入出力信号および論理パターンを固定して回路を構成することにより、すなわち、例えば、入力信号の配線を必要とする回路に対応した配線とすると共に、回路機能を決定するメモリ（Ｍ０〜Ｍ１９）を削除して入力信号およびメモリ（Ｍ０〜Ｍ１９）のデータに対応するレベルに固定することにより、プログラマブル論理回路装置よりも一層面積効率を向上させたＡＳＩＣ（ストラクチャードＡＳＩＣ）を容易に提供することも可能である。
【００５７】
表１は、ハイブリッドセル１個で表現可能な論理パターン数を示している。
【００５８】
【表１】
0004438000.tif 000003
【００５９】
すなわち、ＣＦ＝１の場合、ＡＳを切り替えることで、１個のハイブリッドセルによって、２変数では１６種類全てを表現することができ、また、３変数では２５６種類の出力論理のうち２０６種類を表現することができ、さらに、４変数に対しても６５５３６種類の出力論理のうち４４６種類を表現することができる。従って、例えば、３変数の場合にも、殆どの回路を１個のハイブリッドセルによって構成することができ、さらに、４変数の場合でも、必要とする回路が４１種類に含まれていれば、１個のハイブリッドセルによって構成することが可能である。
【００６０】
さらに、キャリーパスおよびＥＸＯＲ回路を利用することにより、複数のハイブリッドセルで、より多入力の論理が表現可能になる。
【００６１】
表２は、真理値表を示し、また、表３は、図６（ｂ）に示すハイブリッドセル１個で表現した場合の論理パターンと入力例を示している。
【００６２】
【表２】
0004438000.tif 000004
【００６３】
【表３】
0004438000.tif 000005
【００６４】
表３の論理パターンの並びは、表２のような真理値表に基づくものであり、例えば、４ビットのメモリＭ０〜Ｍ３（ＳＲＡＭ［３：０］）により表される。なお、これらメモリＭ０〜Ｍ３の値は、例えば、図４（ｂ）のハイブリッドセルにおけるメモリＭ０〜Ｍ３に書き込まれる。
【００６５】
ここで、メモリとしては、例えば、ＳＲＡＭ（Static Random Access Memory）やフラッシュＥＥＰＲＯＭ（Flash Electrically Erasable and Programmable Read Only Memory）等を使用することができる。なお、各メモリに対する論理パターン（データ）の書き込みは、従来から知られている様々な手法を適用して行うことができる。そして、例えば、ＳＲＡＭ等の揮発性メモリに対しては、電源投入時の初期化過程においてデータの設定（書き込み）を行って使用し、また、フラッシュＥＥＰＲＯＭ等の不揮発性メモリに対しては、実際の使用に先立って予めデータの設定処理を行うことになる。
【００６６】
図１５は本発明に係るＲＬＢの一例を適用して構成した回路例を示す図（その１）であり、図１５（ａ）は４ビット加減算器を示し、図１５（ｂ）は右１ビットシフタを示している。
【００６７】
従来のＦＰＧＡ（１個のＲＬＢあたり、４入力１出力ＬＵＴを使用しているものとする）のＬＵＴでは、４ビット加減算器を構成する場合、８個のＬＵＴを必要としたが、本実施例では、例えば、図１５（ａ）に示されるように、１個のＲＬＢ１０２（論理演算部１０２ａ）だけで構成することができる（前述した図９を参照）。
【００６８】
また、従来のＦＰＧＡのＬＵＴでは、４個の２入力１出力ＭＵＸ回路をＬＵＴに割り当てる場合、４つのＬＵＴ（ＲＬＢ）を必要としたが、本実施例では、例えば、図１５（ｂ）に示されるように、１個のＲＬＢ１０２だけで構成することができる（前述した図１０を参照）。なお、図１５（ｂ）に示す右１ビットシフタは、図１０（或いは、図８（ｂ））に示すＭＵＸ×４を図示のように接続することで構成することができる。
【００６９】
このように、本実施例のＲＬＢ（リコンフィギャラブルロジックブロック）によれば、例えば、図１５（ａ）に示す４ビット加減算器および図１５（ｂ）に示す右１ビットシフタを１つのＲＬＢ１０２で構成することができ、面積効率を向上させることが可能である。
【００７０】
図１６は本発明に係るＲＬＢの一例を適用して構成した回路例を示す図（その２）であり、図１６（ａ）は４ビット乗算器（ＭＵＬ：Multiplier）の機能ブロックを示し、図１６（ｂ）は２次のブース（Booth）法を適用した４ビット乗算器３００の回路構成を示している。
【００７１】
図１６（ｂ）に示されるように、２次のブース法を適用した４ビット乗算器３００は、ブースデコーダ（Booth Decoder：ＢＴＤ）３０１，３０２、タイミングジェネレータ（Transfer Generator：ＴＧＥＮ）３０３，３０４、部分積生成回路３０５，３０６，３０７、および、４ビット加減算回路３０８，３０９，３１０，３１１を備えて構成される。なお、ＢＴＤ３０１，３０２は、連続する３ビットの乗数からブース演算に必要なデコード値を生成するブロックであり、また、ＴＧＥＮ３０３，３０４は、ＢＴＤ３０１，３０２の値を元に部分積で必要な被乗数を選択するための基準値Ｔを生成するブロックである。さらに、部分積生成回路３０５，３０６，３０７は、ＢＴＤ３０１，３０２およびＴＧＥＮ３０３，３０４の出力により、乗算に必要な部分積を生成するブロックである。
【００７２】
ここで、各ＢＴＤ３０１，３０２は、半分のＲＬＢ１０２で構成することができ（０．５×２＝１・ＲＬＢ）、また、各ＴＧＥＮ３０３，３０４は、四分の一のＲＬＢ１０２で構成することができる（０．２５×２＝０．５・ＲＬＢ）。さらに、各部分積生成回路３０５，３０６，３０７は１個のＣＢＬ１０２で構成することができ（１×３＝３・ＲＬＢ）、そして、各４ビット加減算回路３０８，３０９，３１０，３１１も１個のＣＢＬ１０２で構成することができる（１×４＝４・ＲＬＢ）。
【００７３】
従って、図１６（ｂ）に示す４ビット乗算器３００は、１・ＲＬＢ＋０．５・ＲＬＢ＋３・ＲＬＢ＋４・ＲＬＢ＝８．５・ＲＬＢ（８．５個のＲＬＢ）により構成することができる。ここで、例えば、４ビット乗算器３００として使用しない半分のＲＬＢ（０．５・ＲＬＢ）を他の回路に振り分けて使用できない場合には、９個のＲＬＢで構成することができる。このように、本実施例のＲＬＢ１０２により２次のブース法を適用した４ビット乗算回路を構成するには、９個のＲＬＢがあれば十分であることが分かる。
【００７４】
このように、論理演算部を極力ＬＵＴとしてではなく、ゲート構造を利用したセル（図８（ｇ）に示す他の論理回路に相当）として用いることで面積効率を向上させることができる。
【００７５】
図１７は符号付乗算器を構成した場合のトランジスタ数比較のグラフを示す図であり、入力ビット数が４〜３２ビットの符号付乗算器を様々な手法で実現したときのトランジスタ数を示すものである。図１７において、参照符号Ｌ１〜Ｌ４はプロット線であり、Ｌ１は従来のプログラマブル論理回路装置における４−ＬＵＴを使用した直接乗算法により構成した場合のトランジスタ数を示し、Ｌ２は従来のプログラマブル論理回路装置における４−ＬＵＴを使用したブース法により構成した場合のトランジスタ数を示し、Ｌ３は上述した本発明に係るプログラマブル論理回路装置におけるＲＬＢ１０２を使用したブース法により構成した場合を示し、Ｌ４は従来のＡＳＩＣの手法を用いてブース法により構成した場合のトランジスタ数を示し、そして、Ｌ５は従来のＡＳＩＣの手法を用いて直接乗算法により構成した場合のトランジスタ数を示している。
【００７６】
図１７から明らかなように、本実施例のＲＬＢ１０２により構成した符号付乗算器のトランジスタ数（Ｌ２）は、ＡＳＩＣのトランジスタ数（Ｌ４）よりは多少劣る（トランジスタ数が大きくなる）ものの、従来のプログラマブル論理回路装置のトランジスタ数（Ｌ１およびＬ２）よりは大幅にトランジスタ数を低減することが可能である。このトランジスタ数低減の効果は、符号付乗算器のビット数が多くなればなるほど顕著なものとなり、例えば、３２ビットの符号付乗算器において、本実施例のＲＬＢ１０２を使用した符号付乗算器のトランジスタ数は、従来の直接乗算法（４−ＬＵＴ）に比して約７０％低減することができ、また、従来のブース法（４−ＬＵＴ）に比して約６２％低減することができることが分かる。
【００７７】
上述した説明は、図２のリコンフィギャラブルロジックブロック（ＲＬＢ）に基づいたものであるが、ＲＬＢとしては図２に示す入出力構成を有するものに限定されるものではない。
【００７８】
以下、図１８〜図２５を参照して、図２とは異なる入出力構成を有するＲＬＢの他の例に基づいて本発明を説明する。
【００７９】
図１８は本発明に係るＲＬＢにおける入出力構成の他の例を示すブロック図であり、２１入力１１出力でメモリが１７個のＲＬＢを示すものである。
【００８０】
図１８に示すＲＬＢ１０２は、３つのＷ入力（Ｗ０〜Ｗ２），４つのＸ入力（Ｘ０〜Ｘ３），４つのＹ入力（Ｙ０〜Ｙ３），４つのＺ入力（Ｚ０〜Ｚ３），４つのＣin入力（Ｃin０〜Ｃin３），１つのＡＳ入力（ＡＳ）および１つのＣarry-in入力（Ｃarry-in）の合計２１の入力、３つのＥ出力（Ｅ０〜Ｅ２），４つのＳ出力（Ｓ０〜Ｓ３）および４つのＣout出力（Ｃout０〜Ｃout３）の合計１１の出力、並びに、１７個のメモリＭ（Ｍ０〜Ｍ１６）を備えて構成される。
【００８１】
すなわち、図２と図１８との比較から明らかなように、図１８のＲＬＢは、図２に示すＲＬＢに対して、３つのＷ入力および１つのＣarry-in入力を追加すると共に、５つのＺ入力を４つのＺ入力とし、さらに、メモリＭを２０個から１７個に削減したものに相当する。なお、図２に示す１８入力１１出力でメモリが２０個のＲＬＢおよび図１８に示す２１入力１１出力でメモリが１７個のＲＬＢは単なる例であり、本発明は、様々な構成のＲＬＢに対して適用することができるのは前述した通りである。
【００８２】
図１９は図１８に示すＲＬＢの構成を示すブロック図である。図１９において、参照符号１０２ａは論理演算部、１０２ｂはフリップフロップおよび選択回路（ＦＦ＋セレクタ回路）、１２４〜１２７はハイブリッドセル（ＨＣ［０］〜ＨＣ［３］）、そして、１０２３〜１０２５はマルチプレクサ（ＭＵＸ）回路を示している。ここで、ハイブリッドセル１２４〜１２７は、同一の回路構成とされている。
【００８３】
図１９に示されるように、ＲＬＢ１０２は、論理演算部１０２ａおよびＦＦ＋セレクタ回路１０２ｂを備え、論理演算部１０２ａは、４つのハイブリッドセル１２４〜１２７と３つのＭＵＸ回路１０２３〜１０２５を備えている。ＭＵＸ回路１０２３は、ハイブリッドセル１２４のキャリー出力Ｃout０およびハイブリッドセル１２５のキャリー出力Ｃout１のいずれかを信号Ｗ０に従って選択し、また、ＭＵＸ回路１０２４は、ハイブリッドセル１２６のキャリー出力Ｃout２およびハイブリッドセル１２７のキャリー出力Ｃout３のいずれかを信号Ｗ１に従って選択し、そして、ＭＵＸ回路１０２５は、ＭＵＸ回路１０２３の出力およびＭＵＸ回路１０２４の出力のいずれかを信号Ｗ２に従って選択するようになっている。
【００８４】
図２０は本発明に係るＲＬＢにおけるハイブリッドセルの他の構成例を示す論理回路図である。
【００８５】
図２０において、参照符号２０４はハイブリッドセル、２４１はキャリーアウト演算回路，２４２は加算演算回路、２４３，２４５および２４８はコンフィギュレーションメモリ（Ｍ）、２４４は加減算選択回路、２４６はキャリーパス、２４７はキャリーパス選択回路、そして、２４９は入力選択回路を示している。なお、前述したように、ハイブリッドセル１２４〜１２７は、同じハイブリッドセル２０４により構成されている。
【００８６】
図２１は本発明に係るＲＬＢにおける他の実施例の構成を示す論理回路図であり、図２０に示すハイブリッドセル２０４（ＨＣ）を４つ（１２４〜１２７）組み合わせて図１９に示すＲＬＢ１０２の論理演算部１０２ａを構成したものである。
【００８７】
そして、図２１および図１９に示されるように、ＭＵＸ回路１０２３は、ハイブリッドセル１２４のキャリー出力Ｃout０およびハイブリッドセル１２５のキャリー出力Ｃout１のいずれか一方を信号Ｗ０により選択して信号Ｅ０として出力し、また、ＭＵＸ回路１０２４は、ハイブリッドセル１２６のキャリー出力Ｃout２およびハイブリッドセル１２７のキャリー出力Ｃout３のいずれか一方を信号Ｗ１により選択して信号Ｅ１として出力し、そして、ＭＵＸ回路１０２５は、ＭＵＸ回路１０２３の出力信号Ｅ０およびＭＵＸ回路１０２４の出力信号Ｅ１のいずれか一方を信号Ｗ２により選択して信号Ｅ２として出力するようになっている。
【００８８】
これにより、３つのＷ入力Ｗ０〜Ｗ２，４つのＸ入力Ｘ０〜Ｘ３，４つのＹ入力Ｙ０〜Ｙ３，４つのＺ入力Ｚ０〜Ｚ３，４つのＣin入力Ｃin０〜Ｃin３，１つのＡＳ入力ＡＳおよび１つのＣarry-in入力Ｃarry-inの合計２１の入力、３つのＥ出力Ｅ０〜Ｅ２，４つのＳ出力Ｓ０〜Ｓ３および４つのＣout出力Ｃout０〜Ｃout３の合計１１の出力、並びに、１７個のメモリＭ０〜Ｍ１６を有するＲＬＢの論理演算部１０２ａ（すなわち、ＲＬＢ１０２）が構成される。
【００８９】
図２２〜図２５は図２１に示すＲＬＢで構成した回路例を示す図である。
図２２は、前述した図８（ｂ）のＭＵＸ×４を示すものであり、図２２（ａ）はＭＵＸの機能ブロックを示し、また、図２２（ｂ）は図２１に示す論理演算部１０２ａにより構成した場合の入出力信号および論理パターンを示している。
【００９０】
すなわち、図２１に示す論理演算部１０２ａでＭＵＸ×４を構成する場合には、メモリＭ０，Ｍ３，Ｍ４，Ｍ７，Ｍ８，Ｍ１１，Ｍ１２，Ｍ１５およびＭ１６にデータ『１』を書き込み、Ｍ１，Ｍ２，Ｍ５，Ｍ６，Ｍ９，Ｍ１０，Ｍ１３およびＭ１４にデータ『０』を書き込む。さらに、各入出力信号を図２２（ｂ）のように設定することにより図２１に示すＲＬＢでＭＵＸ×４を構成することができる。
【００９１】
図２３は、図８（ｃ）の４−ＬＵＴ×１を示すものであり、図２３（ａ）は４−ＬＵＴの機能ブロックを示し、また、図２３（ｂ）は図７に示す論理演算部１０２ａにより構成した場合の入出力信号および論理パターンを示している。
【００９２】
すなわち、図２１に示す論理演算部１０２ａで４−ＬＵＴ×１を構成する場合には、メモリＭ０〜Ｍ１５に対して、そのＬＵＴに必要とされる入出力関係が得られるようなデータを書き込み、そして、メモリＭ１６にデータ『０』を書き込む。さらに、各入出力信号を図２３（ｂ）のように設定することにより図２１に示すＲＬＢで４−ＬＵＴ×１を構成することができる。
【００９３】
また、他の図２４および図２５も同様であり、図２４は図８（ｄ）の３−ＬＵＴ×２を示し、また、図２５は図８（ｅ）の２−ＬＵＴ）×４を示している。そして、図２４（ａ）および図２５（ａ）はそれぞれ機能ブロックを示し、また、図２４（ｂ）および図２５（ｂ）は図２１に示す論理演算部１０２ａにより構成した場合の入出力信号および論理パターンを示している。
【００９４】
なお、図２１に示す論理演算部１０２ａは、上述した図２２〜図２５４に示す回路の他に様々な回路を構成することができ、例えば、８入力１出力ＭＵＸ×１，４入力１出力ＭＵＸ×２，並びに，４入力１出力ＭＵＸ×１および２入力１出力ＭＵＸ×２等の様々な回路を構成することができる。
【００９５】
このように、図１８〜図２５を参照して説明したＲＬＢは、１種類のハイブリッドセル（ＨＣ）を使用するだけでよいため、回路構成を単純化すると共に、入力パターンの規則化およびワイドレンジＭＵＸ機能の追加等を行うことができる。
【産業上の利用可能性】
【００９６】
本発明は、入出力信号および論理パターンを設定することにより、必要とする様々な回路を構成することができるリコンフィギャラブルロジックブロック或いはリコンフィギャラブルロジックブロックを備えたプログラマブル論理回路装置に適用することが可能である。さらに、本発明は、各リコンフィギャラブルロジックブロックにおける入出力信号および論理パターンを固定して回路を構成することにより、ＡＳＩＣ（ストラクチャードＡＳＩＣ）に対しても適用することができる。
【図面の簡単な説明】
【００９７】
【図１】本発明が適用されるプログラマブル論理回路装置の一例の全体構成を示すブロック図である。
【図２】本発明に係るリコンフィギャラブルロジックブロック（ＲＬＢ）の入出力構成の一例を示すブロック図である。
【図３】図２に示すＲＬＢの構成を示すブロック図である。
【図４】図３におけるハイブリッドセルの原型を説明するための図（その１）である。
【図５】図３におけるハイブリッドセルの原型を説明するための図（その２）である。
【図６】本発明に係るＲＬＢにおけるハイブリッドセルの構成例を示す論理回路図である。
【図７】本発明に係るＲＬＢの一実施例の構成を示す論理回路図である。
【図８】図７に示すＲＬＢで実現可能な回路機能を示すブロック図である。
【図９】図８に示すＲＬＢで構成した回路例を示す図（その１）である。
【図１０】図８に示すＲＬＢで構成した回路例を示す図（その２）である。
【図１１】図８に示すＲＬＢで構成した回路例を示す図（その３）である。
【図１２】図８に示すＲＬＢで構成した回路例を示す図（その４）である。
【図１３】図８に示すＲＬＢで構成した回路例を示す図（その５）である。
【図１４】図８に示すＲＬＢで構成した回路例を示す図（その６）である。
【図１５】本発明に係るＲＬＢの一例を適用して構成した回路例を示す図（その１）である。
【図１６】本発明に係るＲＬＢの一例を適用して構成した回路例を示す図（その２）である。
【図１７】符号付乗算器を構成した場合のトランジスタ数比較のグラフを示す図である。
【図１８】本発明に係るＲＬＢにおける入出力構成の他の例を示すブロック図である。
【図１９】図１８に示すＲＬＢの構成を示すブロック図である。
【図２０】本発明に係るＲＬＢにおけるハイブリッドセルの他の構成例を示す論理回路図である。
【図２１】本発明に係るＲＬＢにおける他の実施例の構成を示す論理回路図である。
【図２２】図２１に示すＲＬＢで構成した回路例を示す図（その１）である。
【図２３】図２１に示すＲＬＢで構成した回路例を示す図（その２）である。
【図２４】図２１に示すＲＬＢで構成した回路例を示す図（その３）である。
【図２５】図２１に示すＲＬＢで構成した回路例を示す図（その４）である。
【符号の説明】
【００９８】
１００    プログラマブル論理回路装置
１０１    Ｉ／Ｏブロック
１０２    リコンフィギャラブルロジックブロック（ＲＬＢ）
１０２ａ    論理演算部
１０２ｂ    フリップフロップおよび選択回路（ＦＦ＋セレクタ回路）
１０３    接続ブロック（ＣＢ）
１０４    スイッチブロック（ＳＢ）
１０５    配線
１２０〜１２７    ハイブリッドセル（ＨＣ）
２０１〜２０３    ハイブリッドセル
２１１    キャリーアウト演算回路
２１２    加算演算回路
２１３，２１６，２１８，２２２    コンフィギュレーションメモリ（Ｍ）
２１４    加減算選択回路
２１５    細粒度・粗粒度切り替え回路
２１７    キャリーパス選択回路
２１９    入力選択回路
２２０    キャリーパス
２２１    ＡＮＤ回路
１０２０〜１０２２    排他的論理和（ＥＸＯＲ）回路
１０２３〜１０２６    マルチプレクサ（ＭＵＸ）回路
Ｍ（Ｍ０〜Ｍ１９，Ｍ０〜Ｍ１６）    メモリ
【図１】
0004438000.tif 000006
【図２】
0004438000.tif 000007
【図３】
0004438000.tif 000008
【図４】
0004438000.tif 000009
【図５】
0004438000.tif 000010
【図６】
0004438000.tif 000011
【図７】
0004438000.tif 000012
【図８】
0004438000.tif 000013
【図９】
0004438000.tif 000014
【図１０】
0004438000.tif 000015
【図１１】
0004438000.tif 000016
【図１２】
0004438000.tif 000017
【図１３】
0004438000.tif 000018
【図１４】
0004438000.tif 000019
【図１５】
0004438000.tif 000020
【図１６】
0004438000.tif 000021
【図１７】
0004438000.tif 000022
【図１８】
0004438000.tif 000023
【図１９】
0004438000.tif 000024
【図２０】
0004438000.tif 000025
【図２１】
0004438000.tif 000026
【図２２】
0004438000.tif 000027
【図２３】
0004438000.tif 000028
【図２４】
0004438000.tif 000029
【図２５】
0004438000.tif 000030