(57)【特許請求の範囲】
【請求項１】
コンフィギュレーションメモリに格納される構成データに基づいて、プログラマブルに回路構成されるプログラマブル論理回路と、このプログラマブル論理回路に入力する配線をプログラマブルに接続する配線スイッチ部とを備えたプログラマブル論理回路装置において、
前記プログラマブル論理回路は、一の論理関数を実現するゲート回路と、この一の論理関数に対して、入力を反転させるＮ操作、入力を入れ替えるＰ操作、更に出力を反転するＮ操作を行なって得られるＮＰＮ同値類に属する他の論理関数を実現するゲート回路とが、構成データによる回路変更および前記配線スイッチ部による配線の入れ替えにより、同じゲート構成で形成されていることを特徴とするプログラマブル論理回路装置。
【請求項２】
前記プログラマブル論理回路は、
入力配線と接続され、入力信号を構成データに基づいて反転出力するＮ操作のためのプログラマブルＮＯＴゲートを備えた入力反転部と、
前記入力反転部からの信号を論理演算する論理演算部と、
前記論理演算部からの信号を構成データに基づいて反転出力するＮ操作のためのプログラマブルＮＯＴゲートを備えた出力反転部とを備えている請求項１記載のプログラマブル論理回路装置。
【請求項３】
前記論理演算部は、２入力ＮＡＮＤゲートまたは２入力ＯＲゲートが、二分木の木構造で、それぞれの接続線の間にプログラマブルＮＯＴゲートを介在させて接続された基本回路から、前記一の論理関数とＮＰＮ同値類に属する他の論理関数とに基づいて形成されている請求項２記載のプログラマブル論理回路装置。
【請求項４】
プログラマブルに論理回路装置に実装される論理回路を決定する方法であって、
目的論理回路に対して、入力を反転させるＮ操作、入力を入れ替えるＰ操作、更に出力を反転するＮ操作を行って得られるＮＰＮ同値類に属する論理関数を、出現率の高い順に探索し、探索された出現率の上位の論理関数から実装する論理関数の候補とし、プログラマブル論理回路として、構成データによる回路変更および前記配線スイッチ部による配線の入れ替えにより、一の論理関数を実現するゲート回路を、該一の論理関数とＮＰＮ同値類に属する他の論理関数のみを実現するゲート回路と共通させて構成することを特徴とするプログラマブル論理回路装置の回路決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構成データに基づいてプログラマブルに論理回路を形成することができるプログラマブル論理回路装置およびその回路決定方法に関するものである。
【背景技術】
【０００２】
プログラマブル論理回路は、ＰＬＤ（Programmable Logic Device）と称され、ＣＰＬＤ（Complex Programmable Logic Device）、ＦＰＧＡ（Field Programmable Gate Array）など種々のものに採用されている。
例えば、特許文献１，２には、論理セルとしてルックアップテーブル（Look Up Table、以下、ＬＵＴと略す。）が用いられたコンフィギュレーション論理素子が記載されている。このＬＵＴは、Ｎ入力ＬＵＴの場合、２N個のメモリと、２N-1個のマルチプレクサとから構成されており、Ｎ入力までの任意の論理を実装することが可能である。
【０００３】
また、特許文献３には、細粒度演算および粗粒度演算のいずれも効率的に実行可能なセル構成とすることで、構成する回路に関わらずチップの高い面積効率を維持し、高速性および低消費電力化の両立を図ることのできるプログラマブル論理回路装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第４７０６２１６明細書
【特許文献２】米国特許第４８７０３０２明細書
【特許文献３】特開２００７−１６６５７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＬＵＴは、任意の論理を実装することができるが、表現の冗長性が存在していると考えられる。つまり、実際に回路実装に用いられる論理には偏りが存在するものであり、全ての論理が実装可能である必要性はない。従って、実装面積、構成メモリ量に関して改善の余地があると考えられる。
【０００６】
特許文献３に記載のプログラマブル論理回路装置では、論理セル部における構成メモリ量の削減は実現しているが、ＬＵＴを採用したプログラマブル論理回路装置よりも入力数が増大してしまうため、配線領域が増加してしまうという問題がある。
【０００７】
実装面積は、限られているため、面積効率を向上させることができれば、素子自体の大きさを更に小型化することができ、同じ面積であれば多くの論理回路を実装することができる。従って、面積効率を向上させる技術が求められている。
【０００８】
そこで本発明は、論理回路の冗長性を排除することで、面積効率を高めることが可能なプログラマブル論理回路装置およびその回路決定方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のプログラマブル論理回路装置は、コンフィギュレーションメモリに格納される構成データに基づいて、プログラマブルに回路構成されるプログラマブル論理回路と、このプログラマブル論理回路に入力する配線をプログラマブルに接続する配線スイッチ部とを備えたプログラマブル論理回路装置において、前記プログラマブル論理回路は、一の論理関数を実現するゲート回路と、この一の論理関数とＮＰＮ同値類に属する他の論理関数を実現するゲート回路とが、構成データによる回路変更および前記配線スイッチ部による配線の入れ替えにより、同じゲート構成で形成されていることを特徴とする。
【００１０】
本発明のプログラマブル論理回路装置では、構成データによる回路変更および配線スイッチ部による配線の入れ替えにより、ＮＰＮ操作を行うことができる。これにより、ＮＰＮ同値でない他の論理関数までをカバーすることはできないが、一の論理関数を実現するゲート回路を、一の論理関数とＮＰＮ同値類に属する他の論理関数を実現するゲート回路と、同じゲート構成により形成することができるため、少ないゲート数で論理回路を実装することができる。
【００１１】
前記プログラマブル論理回路を、入力配線と接続され、入力信号を構成データに基づいて反転出力するＮ操作のためのプログラマブルＮＯＴゲートを備えた入力反転部と、前記入力反転部からの信号を論理演算する論理演算部と、前記論理演算部からの信号を構成データに基づいて反転出力するＮ操作のためのプログラマブルＮＯＴゲートを備えた出力反転部とを備えたものとすることができる。プログラマブルＮＯＴゲートを入力反転部および出力反転部に設けることで、構成データに応じてＮ操作を行うことができる。
【００１２】
更に、前記論理演算部を、２入力ＮＡＮＤゲートまたは２入力ＯＲゲートが、二分木の木構造で、それぞれの接続線の間にプログラマブルＮＯＴゲートを介在させて接続された基本回路から、前記一の論理関数とＮＰＮ同値類に属する他の論理関数とに基づいて冗長なゲートを削除して形成することができる。論理演算部を二分木の木構造による２入力ＮＡＮＤゲートまたは２入力ＯＲゲートとすることで、木構造で表現できる論理関数であれば、論理回路として実現することができる。
【００１３】
また、本発明のプログラマブル論理回路装置の回路決定方法は、  プログラマブルに論理回路装置に実装される論理回路を決定する方法であって、目的論理回路におけるＮＰＮ同値類に属する論理関数を、出現率の高い順に探索し、探索された出現率の上位の論理関数から実装する論理関数の候補とし、プログラマブル論理回路として、構成データによる回路変更および前記配線スイッチ部による配線の入れ替えにより、一の論理関数を実現するゲート回路を、該一の論理関数とＮＰＮ同値類に属する他の論理関数のみを実現するゲート回路と共通させて構成することを特徴とする。
このように、プログラマブル論理回路装置に実装する論理回路を決定することで、論理回路の冗長性を排除した、面積効率を高めたプログラマブル論理回路装置の論理回路を決定することができる。
【発明の効果】
【００１４】
本発明は、ＮＰＮ同値でない他の論理関数までをカバーすることはできないが、ＮＰＮ同値であれば共通したゲート回路とすることができるので、論理回路の冗長性を排除することができ、面積効率を高めることが可能である。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係るプログラマブル論理回路装置を示す概略図である。
【図２】本実施の形態に係るプログラマブル論理回路の基本回路を示す図である。
【図３】（Ａ）および（Ｂ）は、ＮＰＮ同値類を説明するための論理回路である。
【図４】実施例１に係る５入力型のプログラマブル論理回路を示す図である。
【図５】４入力ＡＮＤ関数として機能させたプログラマブル論理回路を示す図であり、（Ａ）は実施例１に係るＮＰＮ同値類で表現されたプログラマブル論理回路の一例を示す図、（Ｂ）はＬＵＴを採用したプログラマブル論理回路を示す図である。
【図６】４入力ＯＲ関数として機能させたプログラマブル論理回路を示す図であり、（Ａ）は実施例１に係るＮＰＮ同値類で表現されたプログラマブル論理回路の一例を示す図、（Ｂ）はＬＵＴを採用したプログラマブル論理回路を示す図である。
【図７】実施例１に係るＮＰＮ同値類で表現された６入力型のプログラマブル論理回路の一例を示す図である。
【図８】実施例２に係るＮＰＮ同値類で表現された他の５入力型のプログラマブル論理回路の一例を示す図である。
【図９】実施例２に係るＮＰＮ同値類で表現された他の６入力型のプログラマブル論理回路の一例を示す図である。
【図１０】実施例２に係るＮＰＮ同値類で表現された８入力型のプログラマブル論理回路の一例を示す図である。
【図１１】実施例３に係るプログラマブル論理回路を示す図である。
【発明を実施するための形態】
【００１６】
本発明の実施の形態に係るプログラマブル論理回路を用いたプログラマブル論理回路装置を、図面に基づいて説明する。なお、本明細書中では、論理関数を示す際に、ＡＮＤを「・」、ＯＲを「＋」で表現するものとする。
【００１７】
図１に示すように、プログラマブル論理回路装置Ｐは、コンフィギュレーションメモリの構成データに基づいて論理回路を構成するプログラマブル論理回路が配置されるロジックブロック（Logic Block：以下、ＬＢと称す。）と、ＬＢと配線を接続する配線スイッチ部として機能するコネクションボックス（Connection Box：以下、ＣＢと称す。）と、配線のクロスポイントとなるスイッチボックス（Switch Box：以下、ＳＢと称す。）とを備えている。
このＬＢは、ＬＢ内のコンフィギュレーションメモリに格納される構成データを書き替えることにより論理関数の変更ができる。また、ＣＢおよびＳＢ内の構成データを書き替えることにより、接続関係の変更が可能である。
【００１８】
ここで、本実施の形態に係るプログラマブル論理回路について、図面に基づいて説明する。プログラマブル論理回路としての基本的な構成（基本回路）を図２に示す。プログラマブル論理回路装置に実装されるＬＢは、この基本回路から省略可能なゲートを削除した状態で実装される。
プログラマブル論理回路の基本回路１は、入力反転部２と、出力反転部３と、論理演算部４とを備えたＮ入力で１出力の論理回路である（但し、Ｎは任意の自然数）。
【００１９】
入力反転部２は、ＣＢと接続される入力配線Ｉ1〜ＩNと一対一に接続され、入力配線Ｉ1〜ＩNからの入力信号を構成データに基づいて反転出力する複数のプログラマブルＮＯＴゲートを備えている。これらのプログラマブルＮＯＴゲートは、例えば、構成データとして「１」が与えられると入力信号を反転出力し、「０」が与えられると非反転出力するものである。出力反転部３は、論理演算部４からの出力信号を、反転出力および非反転出力を切り替えて、出力するプログラマブルＮＯＴゲートを備えている。
論理演算部４は、入力反転部２と出力反転部３との間で、２入力ＮＡＮＤゲートが、二分木の木構造で、それぞれの接続線の間にプログラマブルＮＯＴゲートを介在させて接続されている。この木構造の段数は、最大でｃｅｉｌ（ｌｏｇ2Ｎ）となる。但し、ｃｅｉｌは天井関数を示す。
【００２０】
このように構成された基本回路１のうち、入力反転部２と出力反転部３とのそれぞれのプログラマブルＮＯＴゲートは、Ｎ操作に必要であるため省略することができないが、論理演算部４は必要に応じて、プログラマブルＮＯＴゲートまたは２入力ＮＡＮＤゲートを、ＮＰＮ同値類に基づいて削除（省略）することで、本実施の形態に係るプログラマブル論理回路が構成される。
【００２１】
なお、基本回路１では、論理演算部４を２入力ＮＡＮＤゲートとプログラマブルＮＯＴゲートにより形成しているが、２入力ＮＡＮＤゲートを２入力ＯＲゲートとすることもできる。その場合には入力をプログラマブルＮＯＴゲートにより反転させることで同じ論理となる。
【００２２】
ここで、ＮＰＮ同値類について、図３に基づいて説明する。
図３（Ａ）に示す論理回路ＥＸ１は、入力Ａ，Ｂ，Ｃに対して論理関数Ａ＋Ｂ・Ｃを演算するものである。この論理関数Ａ＋Ｂ・Ｃにおいて、入力Ａ〜Ｃを反転させ（Ｎ操作）、次に、入力Ａ，Ｂを入れ替え（Ｐ操作）、更に出力の反転を行う（Ｎ操作）。これらの操作により、得られる論理回路を図３（Ｂ）に示す。図３（Ｂ）に示す論理回路ＥＸ２は、論理関数Ｂ・（Ａ＋Ｃ）を演算するものである。
この論理回路ＥＸ１と論理回路ＥＸ２は、ＮＰＮ同値であると呼ばれ、同じＮＰＮ同値類に属する。つまり、ＮＰＮ同値類に属していれば、２入力ＯＲゲートおよび２入力ＡＮＤゲートなどの回路構成を変更せずに、入力および出力の反転を行うことで、異なる論理関数を同じ論理回路で表現することができる。従って、この異なる論理関数がＮＰＮ同値類に属していることで、異なる論理関数を共通した論理回路で実現することができる。
【００２３】
図２に示す基本回路１では、図１に示すＣＢにより基本回路１への入力配線が入れ替えでき、入力反転部２により任意に入力の反転・非反転が選択でき、出力反転部３により任意に出力の反転・非反転が選択できるので、論理回路部４により木構造で表現可能な論理関数の全てのＮＰＮ同値な論理関数を実装することが可能である。
従って、本実施の形態に係るプログラマブル論理回路は、ＬＵＴを採用したものより、少ないトランジスタ数およびコンフィギュレーションメモリ数で構成することができるので、面積効率を高めることができる。よって、本実施の形態に係るプログラマブル論理回路は、小型化、省メモリ化、低消費電力化を図ることができる。
【００２４】
なお、基本回路１では、ＮＰＮ同値類に基づいて論理演算部４の２入力ＮＡＮＤゲートまたはプログラマブルＮＯＴゲートが省略されるため、論理関数によっては同じ入力数であっても部分的に省略された基本回路１から表現できない論理関数が存在してしまう。その場合には、論理関数を任意の関数ごとに分割し、複数の論理関数の組み合わせとして細分化する。例えば、２入力論理関数まで分ければ、どのような論理関数であっても、ＮＰＮ同値類に基づいて部分的に省略された基本回路１でも表現が可能となる。従って、回路リソースが許せる限り、複数の部分的に省略された基本回路１を細分化された論理関数ごとに割り当てることで、任意の論理関数を実装することができる。このとき、Ｎ入力の基本回路１より入力数が少なくなるので、余剰の入力は入力クランプまたは入力共有を行うことで実装可能となる。
【実施例１】
【００２５】
（５入力型のプログラマブル論理回路）
５入力型のプログラマブル論理回路について、図４から図６に基づいて説明する。図４に示すプログラマブル論理回路１０は、ＭＣＮＣ（Microelectronics Center of North Carolina）ベンチマーク回路で使用される論理回路であって、出現率の高い論理回路に基づいて決定されたものである。
このプログラマブル論理回路１０では、論理演算部４は各入力信号における入力から出力までの２入力ＮＡＮＤゲートの段数が異なるが、全体として２分木の木構造を有している。また、基本回路１からＮＡＮＤゲート１１の出力に設けられるプログラマブルＮＯＴゲートは省略されている。
【００２６】
ここで、２０種類のＭＣＮＣベンチマークを使用して４入力ＬＵＴを目的論理回路として、テクノロジマッピングを行った結果における４入力論理関数の出現率を表１に示す。
【００２７】
【表１】
0005523988.tif 000002
【００２８】
表（１）からもわかるように、上位１位から６位までの論理回路にて全体の８８．３％を占めてことがわかる。
４入力の論理関数では、全部で２２２種類のＮＰＮ同値類が存在するが、２２２種類の論理関数うち、出現順位が高い上位１位から６位までのＮＰＮ同値類を実現した論理回路とすれば、全体の８８．３％の論理関数を実装できることになる。
【００２９】
図４に示すプログラマブル論理回路１０では、表（１）に示される上位１位から６位までの論理関数を４つの２入力ＮＡＮＤゲートと、８つのプログラマブルＮＯＴゲートにより表現することで、少数のゲートを用いるだけで約９割に近い論理関数を実装することができる。このプログラマブル論理回路の構成の決定は、例えば、コンピュータにより決定することができる。予め閾値を設定し、探索した出現率の上位からの合計値を算出し、この合計値が閾値を超えるまでの論理関数を自動的に抽出して、この論理関数を論理回路として実装するようにすることもできる。
【００３０】
次に、図４に示すプログラマブル論理回路１０を４入力ＡＮＤ関数（Ａ・Ｂ・Ｃ・Ｅ）として機能させた場合を、図５（Ａ）に示すプログラマブル論理回路２０として示す。
図５（Ａ）に示すプログラマブル論理回路２０では、構成データとして、入力反転部２のそれぞれのプログラマブルＮＯＴゲートであって、第１の入力Ａに接続されたプログラマブルＮＯＴゲートに「１」、以下、第２の入力Ａに「１」、入力Ｂに「０」、入力Ｃに「０」、入力Ｄに「０」が与えられている。入力Ａが２つあるのは、４入力ＡＮＤ関数として機能させるのに、入力が５つあるため、２つの入力に同じ信号を与えるか、クランプする必要があるからであり、本実施例では同じ信号を与えるようにしている。
【００３１】
また、２入力ＮＡＮＤゲート２１，２２の出力に接続されたプログラマブルＮＯＴゲートにはそれぞれ、「１」が与えられている。更に、出力反転部３のプログラマブルＮＯＴゲートには、「１」が与えられている。
このように構成データが与えられることで、プログラマブル論理回路２０は４入力ＡＮＤ関数として機能する。
【００３２】
ここで、図５（Ａ）に示すプログラマブル論理回路２０と比較するために、ＬＵＴを採用したプログラマブル論理回路を用いて、４入力ＡＮＤ関数を実現した場合のプログラマブル論理回路を図５（Ｂ）に示す。プログラマブル論理回路３０では、入力Ａ〜Ｂにより構成データを選択するマルチプレクサとなる。
図５（Ｂ）に示すように、４入力では２4通りとなるため入力Ａ〜Ｄの全てが「００００」から入力Ａ〜Ｄの全てが「１１１１」となるまでの１６通りの構成データのうち、「０，．．．．，０，１」が与えられる。この構成データを入力Ａ〜Ｄにより選択するため、入力Ａ〜Ｄの全てが「１１１１」のときだけが出力が「１」となる４入力ＡＮＤ関数として機能する。
【００３３】
次に、図５に示すプログラマブル論理回路１０を４入力ＯＲ関数（Ａ＋Ｂ＋Ｃ＋Ｅ）として機能させた場合を、図６（Ａ）に示すプログラマブル論理回路４０として示す。
図６（Ａ）に示すプログラマブル論理回路４０では、図５（Ａ）と同じゲート構成であるが、構成データとして、入力反転部２のそれぞれのプログラマブルＮＯＴゲートであって、第１の入力Ａに接続されたプログラマブルＮＯＴゲートに「０」、以下、第２の入力Ａに「０」、入力Ｂに「１」、入力Ｃに「１」、入力Ｄに「１」が与えられていることで、異なる関数関数を表現したものである。
【００３４】
また、２入力ＮＡＮＤゲート２１，２２の出力に接続されたプログラマブルＮＯＴゲートにはそれぞれ、「１」が与えられている。更に、出力反転部１３のプログラマブルＮＯＴゲートには、「０」が与えられている。このように構成データが与えられることで、プログラマブル論理回路４０は４入力ＯＲ関数として機能する。
【００３５】
ここで、図６（Ａ）に示すプログラマブル論理回路４０と比較するために、ＬＵＴを採用したプログラマブル論理回路を用いて、４入力ＯＲ関数を実現した場合のプログラマブル論理回路を図６（Ｂ）に示す。図６（Ｂ）に示すプログラマブル論理回路５０では、構成データが、入力Ａ〜Ｄの全てが「００００」であるとき以外が全て「１」となるデータが与えられることで、４入力ＯＲ関数として機能する。
【００３６】
このように、プログラマブル論理回路１０は、構成データによりプログラマブル論理回路２０，３０のように、同じゲート構成で異なる論理関数である４入力ＡＮＤ関数や４入力ＯＲ関数などとして機能させることができる。また、プログラマブル論理回路１０は、図５（Ｂ）や図６（Ｂ）に示すＬＵＴを採用したプログラマブル論理回路３０，４０よりトランジスタ数やコンフィギュレーションメモリ数を少なく実現することができる。
このように、異なる４入力ＡＮＤ関数と４入力ＯＲ関数とを、構成データを変えるだけで、共通させた論理回路で実現することができる。
【００３７】
（６入力型のプログラマブル論理回路）
次に、６入力型のプログラマブル論理回路について図７に基づいて説明する。このプログラマブル論理回路１０は、ＭＣＮＣベンチマーク回路で使用される論理回路であって、出現率の高い論理回路に基づいて決定されたものである。
【００３８】
ＭＣＮＣベンチマーク回路で使用されるプログラマブル論理回路では、６入力ＡＮＤ関数（Ａ・Ｂ・Ｃ・Ｅ・Ｄ・Ｆ）が１１．１％と最も高い出現率であった。そこで、図４に示すプログラマブル論理回路１０では、入力反転部２として、増えた入力にプログラマブルＮＯＴゲートを追加すると共に、論理演算部４として、２入力ＮＡＮＤゲートとプログラマブルＮＯＴゲートとを追加した（図７中に点線枠で示す。）、図７に示すプログラマブル論理回路６０とする。そうすることで、５入力型から容易に６入力型への拡張を図ることができると共に、最大５つの２入力ＡＮＤ演算（もしくはＯＲ演算）からなる論理関数を実装することが可能となる。
【００３９】
このように構成された５入力型のプログラマブル論理回路１０と、６入力型のプログラマブル論理回路６０とを、表（２）に示すように、ＬＵＴを採用したプログラマブル論理回路と回路規模について比較した。５入力型では、ＮＰＮ同値類に基づいたプログラマブル論理回路が、トランジスタ数１１２個、メモリ数８ビットであるのに対し、ＬＵＴを採用したプログラマブル論理回路ではトランジスタ数３２６個、メモリ数３２ビットである。また、６入力型では、ＮＰＮ同値類に基づいたプログラマブル論理回路が、トランジスタ数１５２個、メモリ数１１ビットであるのに対し、ＬＵＴを採用したプログラマブル論理回路ではトランジスタ数６４８個、メモリ数６４ビットである。このように、ＮＰＮ同値類で表現されるプログラマブル論理回路は、ＬＵＴを採用したプログラマブル論理回路と比較して、大幅にトランジスタ数やメモリ数を削減することができる。
【表２】
0005523988.tif 000003
【実施例２】
【００４０】
実施例２に係るプログラマブル論理回路を図８から図１０に基づいて説明する。実施例２に係るプログラマブル論理回路７０〜９０は、実施例１にて説明した５入力型および６入力型のプログラマブル論理回路と同じ入力数であるが、異なるゲート構成を有するプログラマブル論理回路である。
図８に示すプログラマブル論理回路７０は５入力型である。図９に示すプログラマブル論理回路８０は６入力型である。また、図１０に示すプログラマブル論理回路９０は、８入力型である。
【００４１】
このように、プログラマブル論理回路が、２入力ＮＡＮＤゲートとプログラマブルＮＯＴゲートとのみのゲート構成から実現されているため、論理演算部４の２入力ＮＡＮＤゲートまたはプログラマブルＮＯＴゲートの数や位置、または入力反転部２の入力数を変更することにより、比較的容易に異なる論理関数を演算して出力するプログラマブル論理回路とすることができる。
【００４２】
本発明のプログラマブル論理回路は入力信号に対して全ての論理関数を実現できるものではないが、出現率の高い論理関数は、比較的少ないゲート数（トランジスタ数）で構成可能であると考えられるため、出現率の高い論理関数は、本発明のプログラマブル論理回路で実装できる可能性が高い。
【実施例３】
【００４３】
実施例３に係るプログラマブル論理回路を図１１に基づいて説明する。図１１は、図１に示すＬＢの一例を示すものである。このＬＢは、入力選択ＭＵＸと、Ｎ個のＢＬＥ（Basic Logic Element）とを備えている。
入力選択ＭＵＸは、Ｉ本の入力配線からの信号を、選択信号により入力するＢＬＥを選択して、Ｋ本の出力配線により出力するマルチプレクサである。
【００４４】
ＢＬＥには、例えば、Ｋ本の入力数に応じて、図４に示す５入力型のプログラマブル論理回路（以下、図１１に示すようにＰＧ回路と略す。）１０や、図７に示す６入力型のＰＧ回路６０を設けることができる。また、図８から図９に示すＰＧ回路７０〜９０としたりすることができる。また、ＢＬＥには、ＰＧ回路からの出力を１クロック分シフトして順序回路を実現するためのＤ−ＦＦ（ディレイフリップフロップ）が設けられていると共に、Ｄ−ＦＦからの出力信号を使用するか否かを選択するためのマルチプレクサである出力選択ＭＵＸが設けられている。それぞれのＢＬＥからのＮ本の出力信号は、ＬＢの外部へ出力されると共に、入力選択ＭＵＸへフィードバックされている。
【００４５】
ここで，入力選択ＭＵＸはＬＢの入力を任意にＰＧ回路の入力に割り当てることができる。このため、ＰＧ回路の入力配線は自由に並び変えることが可能なので、入力選択ＭＵＸが配線スイッチ部として機能することで、ＮＰＮ構造（図２に示す入力反転部２＋論理演算部４＋出力反転部３の構成）の実装が可能となる。図１１において，ＬＢの入力数Ｉは任意の数とすることができる。一方、ＬＢの出力数ＮはＬＢ中のＰＧ回路数に等しい。このように、ＮＰＮ構造としたＰＧ回路をＢＬＥに配置することで、ＬＵＴを採用したＰＧ回路をＮＰＮ構造としたＰＧ回路に置き換えることが可能である。また、ＮＰＮ構造としたＰＧ回路は、少ないゲート数で構成できるため、配線領域を増加させることなく、置き換えることが可能である。
【産業上の利用可能性】
【００４６】
本発明は、ＣＰＬＤ、ＦＰＧＡなどの構成データに基づいてプログラマブルに論理回路を形成することができるＰＬＤに好適である。
【符号の説明】
【００４７】
Ｐ  プログラマブルに論理回路装置
１  基本回路
２  入力反転部
３  出力反転部
４  論理演算部
１０  プログラマブル論理回路
１１  ＮＡＮＤゲート
２０  プログラマブル論理回路
２１，２２  ＮＡＮＤゲート
３０，４０，５０，６０，７０，８０，９０  プログラマブル論理回路
Ｉ1〜ＩN  入力配線
【図１】
0005523988.tif 000004
【図２】
0005523988.tif 000005
【図３】
0005523988.tif 000006
【図４】
0005523988.tif 000007
【図５】
0005523988.tif 000008
【図６】
0005523988.tif 000009
【図７】
0005523988.tif 000010
【図８】
0005523988.tif 000011
【図９】
0005523988.tif 000012
【図１０】
0005523988.tif 000013
【図１１】
0005523988.tif 000014