(57)【要約】      （修正有）【課題】回路面積の縮小を図ることのできる半導体装置を提供する。【解決手段】基本論理エレメント１２６ｉ（ｉ＝１，２，３，４）は、入力端子がルックアップテーブル回路１２６ａの入力端子となり、出力端子が選択回路１２６ｂの出力端子となる。ルックアップテーブル回路の出力端子は選択回路の２つの入力端子のうちの一方の入力端子に接続されるとともに、フリップフロップ１２６ｃの入力端子に接続される。またフリップフロップの出力端子は選択回路の２つの入力端子のうちの他方の入力端子に接続される。ルックアップテーブル回路の入力端子は入力配線群１２３ａｉの入力配線に接続され、選択回路の出力端子に出力配線１２３ｂｉが接続される。【選択図】図５
2018042197.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの第１入力端子と少なくとも１つの出力端子とを含み論理演算を行う論理ブロックを備え、前記論理ブロックは、
複数の配線を有する第１配線群であって、前記第１配線群の少なくとも一部の配線が前記少なくとも１つの第１入力端子に接続された第１配線群と、
前記第１配線群の配線よりも長さの短い複数の配線を有する第２配線群と、
前記第１配線群の配線よりも長さの短い複数の配線を有する第３配線群と、
前記第１および第２配線群の配線とそれぞれ交差する複数の配線を有する第４配線群と、
前記第１および第３配線群の配線とそれぞれ交差する複数の配線を有する第５配線群と、
前記第１配線群の少なくとも一部の配線と前記第４配線群の少なくとも一部の配線との交差領域にそれぞれ配置されたスイッチ素子を含む第１スイッチ回路であって、前記第１スイッチ回路の前記スイッチ素子はそれぞれ、前記第１配線群の対応する配線に接続された第１端子と、前記第４配線群の対応する配線に接続された第２端子と、を有する第１スイッチ回路と、
前記第１配線群の少なくとも一部の配線と前記第５配線群の少なくとも一部の配線との交差領域にそれぞれ配置されたスイッチ素子を含む第２スイッチ回路であって、前記第２スイッチ回路の前記スイッチ素子はそれぞれ、前記第１配線群の対応する配線に接続された第３端子と、前記第５配線群の対応する配線に接続された第４端子と、を有する第２スイッチ回路と、
前記第２配線群の少なくとも一部の配線と前記第４配線群の少なくとも一部の配線との交差領域にそれぞれ配置されたスイッチ素子を含む第３スイッチ回路であって、前記第３スイッチ回路の前記スイッチ素子はそれぞれ、前記第２配線群の対応する配線に接続された第５端子と、前記第４配線群の対応する配線に接続された第６端子と、を有する第３スイッチ回路と、
前記第３配線群の少なくとも一部の配線と前記第５配線群の少なくとも一部の配線との交差領域にそれぞれ配置されたスイッチ素子を含む第４スイッチ回路であって、前記第４スイッチ回路の前記スイッチ素子はそれぞれ、前記第３配線群の対応する配線に接続された第７端子と、前記第５配線群の対応する配線に接続された第８端子と、を有する第４スイッチ回路と、
前記第４配線群の少なくとも一部の配線に接続された第２および第３入力端子と、前記少なくとも１つの出力端子に接続された第２出力端子と、を有し、論理演算を行う第１論理エレメントと、
前記第５配線群の少なくとも一部の配線に接続された第４および第５入力端子と、前記少なくとも１つの出力端子に接続された第３出力端子と、を有し、論理演算を行う第２論理エレメントと、
を備えた半導体装置。
【請求項２】
前記第２配線群の少なくとも一部の配線と交差し前記第２出力端子に接続された第１配線と、
前記第３配線群の少なくとも一部の配線と交差し前記第３出力端子に接続された第２配線と、
前記第２配線群の少なくとも一部の配線と前記第１配線との交差領域にそれぞれ配置されたスイッチ素子を含む第５スイッチ回路であって、前記第５スイッチ回路のスイッチ素子はそれぞれ、前記第２配線群の対応する配線に接続された第９端子と、前記第１配線に接続された第１０端子と、を有する第５スイッチ回路と、
前記第３配線群の少なくとも一部の配線と前記第２配線との交差領域にそれぞれ配置されたスイッチ素子を含む第６スイッチ回路であって、前記第６スイッチ回路のスイッチ素子はそれぞれ、前記第３配線群の対応する配線に接続された第１１端子と、前記第２配線に接続された第１２端子と、を有する第６スイッチ回路と、
を更に備えた請求項１記載の半導体装置。
【請求項３】
前記第１論理エレメントは、
前記第２および第３入力端子にそれぞれ接続された第６および第７入力端子と、第４出力端子と、を含む第１ルックアップテーブル回路と、
前記第４出力端子に接続された第８入力端子と、第５出力端子と、を含む第１フリップフロップと、
前記第４および第５出力端子にそれぞれ接続された第８および第９入力端子と、前記第２出力端子に接続された第６出力端子と、を含む第１選択回路と、備え、
前記第２論理エレメントは、
前記第４および第５入力端子にそれぞれ接続された第１０および第１１入力端子と、第７出力端子と、を含む第２ルックアップテーブル回路と、
前記第７出力端子に接続された第１２入力端子と、第８出力端子と、を含む第２フリップフロップと、
前記第７および第８出力端子にそれぞれ接続された第１３および第１４入力端子と、前記第３出力端子に接続された第９出力端子と、を含む第２選択回路と、備えている請求項１または２記載の半導体装置。
【請求項４】
前記第１配線群の少なくとも一部の配線および前記第２配線群の少なくとも一部の配線と交差する第３配線と、
前記第２配線群の少なくとも一部の配線と交差する第４配線と、
前記第１配線群の少なくとも一部の配線と前記第３配線との交差領域にそれぞれ配置されたスイッチ素子を含む第７スイッチ回路であって、前記第７スイッチ回路の前記スイッチ素子はそれぞれ、前記第１配線群の対応する配線に接続された第１３端子と、前記第３配線に接続された第１４端子と、を有する第７スイッチ回路と、
前記第２配線群の少なくとも一部の配線と前記第３配線との交差領域にそれぞれ配置されたスイッチ素子を含む第８スイッチ回路であって、前記第８スイッチ回路の前記スイッチ素子はそれぞれ、前記第２配線群の対応する配線に接続された第１５端子と、前記第３配線に接続された第１６端子と、を有する第８スイッチ回路と、
前記第３配線に接続する入力端子および前記第４配線に接続する出力端子を有する第３フリップフロップと、
を更に備えた請求項１乃至３のいずれかに記載の半導体装置。
【請求項５】
前記スイッチ素子は、高抵抗状態および低抵抗状態の一方から他方に変化可能な素子である請求項１乃至４のいずれかに記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体装置に関する。
【背景技術】
【０００２】
近年、フィールドプログラマブルゲートアレイ（以下、ＦＰＧＡ(Field  Programmable  Gate  Array)）に代表されるリコンフィギャラブルな半導体装置が注目されている。この半導体装置に含まれる書き換え可能な論理演算回路は、特定の入力数（典型的には３から６程度）の真理値表を実現する回路、すなわちルックアップテーブル回路のネットワークで形成されている。
【０００３】
後述するように、従来の半導体装置に於いては個々の論理ブロックの内において各基本論理エレメントないしフリップフロップの出力は特定の配線に結合されているので、個々の論理ブロック内に配置されている基本論理エレメントないしフリップフロップの出力の総数に等しい配線が並列に用意される。このため、大きな回路面積が必要となり、その結果として製造コストの増大を惹き起こしてしまうという問題があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−２３３６７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本実施形態は、回路面積の縮小を図ることのできる半導体装置を提供する。
【課題を解決するための手段】
【０００６】
本実施形態による半導体装置は、少なくとも１つの第１入力端子と少なくとも１つの出力端子とを含み論理演算を行う論理ブロックを備え、前記論理ブロックは、複数の配線を有する第１配線群であって、前記第１配線群の少なくとも一部の配線が前記少なくとも１つの第１入力端子に接続された第１配線群と、前記第１配線群の配線よりも長さの短い複数の配線を有する第２配線群と、前記第１配線群の配線よりも長さの短い複数の配線を有する第３配線群と、前記第１および第２配線群の配線とそれぞれ交差する複数の配線を有する第４配線群と、前記第１および第３配線群の配線とそれぞれ交差する複数の配線を有する第５配線群と、前記第１配線群の少なくとも一部の配線と前記第４配線群の少なくとも一部の配線との交差領域にそれぞれ配置されたスイッチ素子を含む第１スイッチ回路であって、前記第１スイッチ回路の前記スイッチ素子はそれぞれ、前記第１配線群の対応する配線に接続された第１端子と、前記第４配線群の対応する配線に接続された第２端子と、を有する第１スイッチ回路と、前記第１配線群の少なくとも一部の配線と前記第５配線群の少なくとも一部の配線との交差領域にそれぞれ配置されたスイッチ素子を含む第２スイッチ回路であって、前記第２スイッチ回路の前記スイッチ素子はそれぞれ、前記第１配線群の対応する配線に接続された第３端子と、前記第５配線群の対応する配線に接続された第４端子と、を有する第２スイッチ回路と、前記第２配線群の少なくとも一部の配線と前記第４配線群の少なくとも一部の配線との交差領域にそれぞれ配置されたスイッチ素子を含む第３スイッチ回路であって、前記第３スイッチ回路の前記スイッチ素子はそれぞれ、前記第２配線群の対応する配線に接続された第５端子と、前記第４配線群の対応する配線に接続された第６端子と、を有する第３スイッチ回路と、前記第３配線群の少なくとも一部の配線と前記第５配線群の少なくとも一部の配線との交差領域にそれぞれ配置されたスイッチ素子を含む第４スイッチ回路であって、前記第４スイッチ回路の前記スイッチ素子はそれぞれ、前記第３配線群の対応する配線に接続された第７端子と、前記第５配線群の対応する配線に接続された第８端子と、を有する第４スイッチ回路と、前記第４配線群の少なくとも一部の配線に接続された第２および第３入力端子と、前記少なくとも１つの出力端子に接続された第２出力端子と、を有し、論理演算を行う第１論理エレメントと、前記第５配線群の少なくとも一部の配線に接続された第４および第５入力端子と、前記少なくとも１つの出力端子に接続された第３出力端子と、を有し、論理演算を行う第２論理エレメントと、を備えている。
【図面の簡単な説明】
【０００７】
【図１】書き換え可能な論理演算回路を備えた半導体装置の一例を示すブロック図。
【図２】論理ブロックの一具体例を示す回路図。
【図３】基本論理エレメント内の選択回路の一具体例を示す回路図。
【図４】基本論理エレメント内のルックアップテーブル回路の一具体例を示す回路図。
【図５】一実施形態による半導体装置における論理ブロックを示す回路図。
【図６】スイッチ回路の一具体例を示す回路図。
【図７】図７（ａ）乃至７（ｄ）は、書き換え可能な論理回路と書き換え不能な論理回路の個数および配置例を示す図。
【図８】図８（ａ）乃至８（ｄ）は、書き換え可能な論理回路と書き換え不能な論理回路の個数および配置例を示す図。
【発明を実施するための形態】
【０００８】
まず、本発明の実施形態を説明する前に、本発明に至った経緯について説明する。
【０００９】
書き換え可能な論理演算回路を備えた半導体装置の一例を図１に示す。この半導体装置１００は、アレイ状に配置された論理演算を行う複数の論理ブロック（以下、ＬＢとも云う）１２０と、各論理ブロック１２０の周囲に配列された複数のスイッチブロック（以下、ＳＢとも云う）１３０と、を備えている。各スイッチブロック１３０は、縦横に配置された配線間の接続または非接続を制御する半導体素子（図示せず）を有しており、任意の方向に信号を伝達することを可能にする。また、スイッチブロック１３０は、近接して配置された論理ブロック１２０との接続も行う。
【００１０】
また、論理ブロック１２０は、配線群１２２と、複数の選択回路（以下、ＭＵＸとも云う）１２４ａ、１２４ｂと、複数の基本論理エレメント（以下、ＢＬＥとも云う）１２６と、フリップフロップ（以下、ＦＦとも云う）１２８と、を備えている。基本論理エレメント１２６は、論理ブロック１２０の入力端子、配線群１２２の一部の配線、選択回路１２４ａを介して送られる信号に基づいて論理演算を行い、その演算結果を論理ブロック１２０の出力端子の何れかと、配線群１２２とに出力する。
【００１１】
基本論理エレメント１２６は、ルックアップテーブル回路(以下、ＬＵＴとも云う)１２６ａと、選択回路（以下、ＭＵＸとも云う）１２６ｂと、フリップフロップ１２６ｃとを備えている。ルックアップテーブル回路１２６ａは任意の論理関数を実現することができる。なお、フリップフロップ１２６ｃは、同期出力を得る、または順序回路を構成する際に用いられる。したがって、フリップフロップを含まない基本論理エレメントも存在してもよい。ルックアップテーブル回路１２６ａは、基本論理エレメント１２６に入力された信号の値に基づいて論理演算を行い、その演算結果を、選択回路１２６ｂを介して論理ブロック１２０の出力端子の何れかと、配線群１２２とに出力するとともにフリップフロップ１２６ｃの入力端子にも出力する。フリップフロップ１２８は、入力端子が選択回路１２４ｂの出力端子に接続され、出力端子が論理ブロック１２０の出力端子のいずれかに接続されるとともに配線群１２２の一つの配線に接続される。
【００１２】
以下では、論理ブロック１２０について図２を参照して詳細に説明するが、この論理ブロック１２０に含まれるルックアップテーブル回路としては、入力数が４であるルックアップテーブル回路を例に取って説明する。
【００１３】
図２に示すように、この論理ブロック１２０は、図１で説明したと同様に、複数の配線を有する配線群１２２と、複数の選択回路１２４ａ、１２４ｂと、複数の基本論理エレメント１２６と、複数のフリップフロップ１２８と、を備えている。各基本論理エレメント１２６は、ルックアップテーブル回路１２６ａと、選択回路１２６ｂと、フリップフロップ１２６ｃと、を備えている。
【００１４】
各選択回路１２４ａは、例えば８つの入力端子がそれぞれ配線群１２２の一部の配線と接続されている。４つの選択回路１２４ａのそれぞれの出力端子がルックアップテーブル回路１２６ａの４つの入力端子に接続される。ルックアップテーブル回路１２６ａの出力端子は、フリップフロップ１２６ｃの入力端子に接続されるとともに選択回路１２６ｂの１つの入力端子に接続される。選択回路１２６ｂの出力端子は論理ブロック１２０の出力端子のいずれかに接続されるとともに、配線群１２２のうちの１つの配線に接続される。なお、各フリップフロップ１２８に対応して１つの選択回路１２４ｂが配置され、フリップフロップ１２８の入力端子は対応する選択回路１２４ｂの出力端子に接続される。フリップフロップ１２８の出力端子は論理ブロック１２０の出力端子の何れかに接続されるとともに、配線群１２２のうちの１つの配線に接続される。
【００１５】
選択回路１２４ａ、１２４ｂ、または選択回路１２６ｂとして、例えば図３に示す選択回路１４０が用いられる。この選択回路１４０においては入力数がＮ（≧２）個である。なお、図２に示す選択回路１２４ａ、１２４ｂにおいてＮは図１の１つの論理ブロック内に配置された基本論理エレメントとフリップフロップとの出力の総数と、論理ブロックの入力端子の数との和であり、選択回路１２６ｂにおいてＮは２である。
【００１６】
この選択回路１４０はｎ（≧１）段の選択部１４２１〜１４２ｎを備えている。各選択部１４２ｉ（ｉ＝１，・・・，ｎ）は、メモリＭｉと、インバータ１４４ｉと、ｋｉ（２≦ｋｉ≦２ｉ）個のトランスファーゲート１４６と、を有している。各トランスファーゲート１４６は、一対のｐチャネルトランジスタおよびｎチャネルトランジスタを備えている。各メモリＭｉ（ｉ＝１，・・・，ｎ）は、データ「０」またはデータ「１」を記憶する。これらのデータは、半導体装置が使用されるときに外部から各メモリＭｉ（ｉ＝１，・・・，ｎ）に格納される。インバータ１４４ｉ（ｉ＝１，・・・，ｎ）は、入力端子がメモリＭｉに接続されている。
【００１７】
各選択部１４２ｉ（ｉ＝１，・・・，ｎ）においては、ｋｉ（２≦ｋｉ≦２ｉ）個のトランスファーゲート１４６は、２個を１組としたトランスファーゲート群に分けられる。各トランスファーゲート群においては、一方のトラスファーゲートのｐチャネルトランジスタのゲートおよび他方のトランスファーゲートのｎチャネルトランジスタのゲートがインバータ１４４ｉの出力端子に接続される。上記一方のトランスファーゲートのｎチャネルトランジスタのゲートおよび上記他方のトランスファーゲートのｐチャネルトランジスタのゲートがメモリＭｉに接続される。また、各選択部１４２ｉ（ｉ＝１，・・・，ｎ−１）の各トランスファーゲートにおいては、入力端子が選択部１４２ｉ＋１における１組のトランスファーゲート群の２つのトランスファーゲートの出力端子にそれぞれ接続される。選択部１４２ｎは、Ｎ（≦２ｎ）個のトランスファーゲート１４６を有し、上からｊ（１≦ｊ≦Ｎ）番目のトランスファーゲートの入力端子が入力信号Ｓｊを受ける。
【００１８】
このような構成を有する選択回路１４０においては、入力信号Ｓ１〜ＳＮのうちの１つが選択回路１４０の出力端子ＯＵＴから出力される。
【００１９】
このような構成を有する選択回路１２４ａ、１２４ｂにより、各基本論理エレメント１２６におけるルックアップテーブル回路１２６ａの入力端子およびフリップフロップ１２８の入力端子が、論理ブロック１２０の入力端子に接続されるか、または他の基本論理ブロック１２６におけるルックアップテーブル回路１２６ａの出力端子または他のフリップフロップ１２８の出力端子に接続される。
【００２０】
また、各基本論理エレメント１２６における入力数が２の選択回路１２６ｂにより、ルックアップテーブル回路１２６ａの出力端子およびフリップフロップ１２６ｃの出力端子の何れかから出力される信号が上記基本論理エレメント１２６の出力端子から出力される。
【００２１】
各選択回路１４０内のメモリ、すなわちメモリＭ１〜Ｍｎに記憶される値を設定することにより、ルックアップテーブル回路１２６ａないしフリップフロップ１２８の入力信号の接続先、または各基本論理エレメントにおけるルックアップテーブル回路１２６ａないしフリップフロップ１２６ｃの何れの出力信号が選択されるかを規定し、このことにより回路全体として、所望の論理系を実現することができる。
【００２２】
ネットワークを形成しているルックアップテーブル回路の入力数をＮとすると、すべてのルックアップテーブル回路においてＮ個の入力の全てが使用されているとは限らず、その内のＭ（＜Ｎ）個を入力として持つルックアップテーブル回路として使用される場合もある。
【００２３】
次に、Ｎ個の入力を持つルックアップテーブル回路の一例を図４に示す。このルックアップテーブル回路１５０は、Ｎ個の選択部１５２１〜１５２Ｎを備えている。各選択部１５２ｉ（ｉ＝１，・・・，Ｎ）は、インバータ１５４ｉと、２ｉ個のトランスファーゲート１５６と、を有している。各トランスファーゲート１５６は、一対のｐチャネルトランジスタおよびｎチャネルトランジスタを備えている。インバータ１５４ｉ（ｉ＝１，・・・，Ｎ）は、入力端子がルックアップテーブル回路１５０の入力端子ＩＮｉに接続される。
【００２４】
各選択部１５２ｉ（ｉ＝１，・・・，Ｎ）においては、２ｉ個のトランスファーゲート１５６は、２個を１組としたトランスファーゲート群に分けられる。各トランスファーゲート群においては、一方のトラスファーゲートのｐチャネルトランジスタのゲートおよび他方のトランスファーゲートのｎチャネルトランジスタのゲートがインバータ１５４ｉの出力端子に接続される。上記一方のトランスファーゲートのｎチャネルトランジスタのゲートおよび上記他方のトランスファーゲートのｐチャネルトランジスタのゲートが選択回路１５２iの入力端子ＩＮｉに接続される。また、各選択部１５２ｉ（ｉ＝１，・・・，Ｎ−１）の各トランスファーゲートにおいては、入力端子が選択部１５２ｉ＋１における１組のトランスファーゲート群の２つのトランスファーゲートのそれぞれの出力端子に接続される。選択部１５２Ｎは、２Ｎ個のトランスファーゲート１５６を有し、上からｊ（１≦ｊ≦２Ｎ）番目のトランスファーゲートの入力端子が論理値ＬＶｊを受ける。
【００２５】
このような構成を有するルックアップテーブル回路１５０においては、論理値ＬＶ１〜ＬＶ２Ｎのうちの１つが選択されてルックアップテーブル回路１５０の出力端子ＯＵＴから出力される。
【００２６】
これらの２Ｎ個の論理値ＬＶ１〜ＬＶ２Ｎとしては、このルックアップテーブル回路１５０で演算処理を行いたい論理系に従って定まる値を図示しないメモリに記憶する。このルックアップテーブル回路１５０において必要なトランジスタの数は、論理値を記憶するメモリ部分を除くと、各選択部１５２ｉ（ｉ＝１，・・・，Ｎ）において、２ｉ個のトランスファーゲート１５６と、インバータ１５４ｉとを有し、各トランスファーゲート１５６は２つのトランジスタから構成され、インバータ１５４ｉは２個のトランジスタから構成される。このため、各選択部１５２ｉ（ｉ＝１，・・・，Ｎ）においては、２ｉ＋１＋２個のトランジスタが必要となる。したがって、ルックアップテーブル回路１５０全体としては、合計で２Ｎ＋２＋２Ｎ−４個必要となる。
【００２７】
そして論理値の記憶に例えば６個のトランジスタからなるＳＲＡＭ（Static  Random  Access  Memory）を用いたとすると、各々の論理値に６個ずつ必要となる。それ故、合計では５×２Ｎ＋１＋２Ｎ−４個のトランジスタが必要となる。Ｎが２，３，４，５，６の場合に必要なトランジスタの数は各々４０，８２，１６４，３２６，６４８個となる。この様に必要なトランジスタの数は入力数Ｎの増大に伴って急激に増大する。
【００２８】
上述したように、ルックアップテーブル回路においては入力の一部しか用いられない場合があるため、論理ゲートとしてルックアップテーブル回路を用いた半導体装置においては、過剰に多くのトランジスタが配置される。その結果として過剰に大きなチップ面積が必要になる。
【００２９】
また、上述したように、従来の半導体装置においては、個々の論理ブロックの内において各基本論理エレメントないしフリップフロップの出力は特定の配線に結合されているので、個々の論理ブロック内に配置されている基本論理エレメントないしフリップフロップの出力の総数に等しい配線を並列に用意する必要がある。このため、大きな回路面積が必要となり、その結果として製造コストの増大を惹き起こしてしまうという問題があった。
【００３０】
また、各基本論理エレメントないしフリップフロップの出力は特定の配線に結合されているので、何れかの配線に例えば断線等の不具合があるとその論理ブロックは使用不能となるので歩留りが低下してしまい、その結果として製造コストの増大を惹き起こしてしまうという問題があった。この問題を回避するには半導体装置に配置されている他の論理ブロックを使用することが考えられるが、それを可能とするためには過剰に多くの論理ブロックを用意しておく必要があるために過剰に大きな回路面積が必要となり、その結果としてやはり製造コストの増大を惹き起こしてしまうという問題があった。
【００３１】
また、従来の半導体装置においては、個々の論理ブロック内の配線は論理ブロックの端から端までの長さを有するためにその配線容量が大きい。このことは配線遅延の増大を惹き起こすために回路の動作速度を低下させてしまうという問題があった。
【００３２】
そして、従来の半導体装置におけるルックアップテーブル回路は上述の様に多数のトランジスタにより構成されているので、このことも大きな回路面積を必要とし、その結果として製造コストの増大を惹き起こしてしまうという問題があった。
【００３３】
そこで、本発明者達は、鋭意研究に努めた結果、個々の論理ブロック内の配線として論理ブロックの端から端まで達する配線と、それよりも短い配線と、を用意することで並列に配置すべき配線の数を削減することで回路面積の縮小を図ることが可能になると、考えた。
【００３４】
以下、図面を用いて本発明の実施形態を詳細に説明する。また本発明は以下の実施形態に限定されるものではなく、種々変更して用いることができる。
【００３５】
（一実施形態）
一実施形態による半導体装置について図５を参照して説明する。この実施形態の半導体装置は、図１で説明した場合と同様に、アレイ状に配置された論理演算を行う複数の論理ブロックと、各論理ブロックの周囲に配列された複数のスイッチブロックと、を備えている。各スイッチブロックは、縦横に配置された配線間の接続または非接続を制御する半導体素子（図示せず）を有しており、任意の方向に信号を伝達することを可能にする。また、スイッチブロックは、近接して配置された論理ブロックとの接続も行う。
【００３６】
本実施形態の論理ブロックの一具体例を図５に示す。この論理ブロック１２０は、配線群１２２ａと、配線群１２２ｂと、配線群１２２ｃ１、１２２ｃ２と、入力配線群１２３ａ１〜１２３ａ４と、出力配線１２３ｂ１〜１２３ｂ４と、クロスポイント型のスイッチ回路１２５ａ、１２５ｂと、基本論理エレメント１２６１〜１２６４と、フリップフロップ１２８１〜１２８４と、入力配線１２８ａ１〜１２８４と、出力配線１２８ｂ１〜１２８ｂ４と、を備えている。入力配線群１２３ａｉ（ｉ＝１，２，３，４）は、複数（図５では、４本）の入力配線を有している。
【００３７】
基本論理エレメント１２６ｉ（ｉ＝１，２，３，４）は、入力配線群１２３ａｉの各入力配線に接続される入力端子と、出力配線１２３ｂｉに接続される出力端子と、を有する。また、基本論理エレメント１２６ｉ（ｉ＝１，２，３，４）はそれぞれ、ルックアップテーブル回路１２６ａ、選択回路（以下、ＭＵＸとも云う）１２６ｂと、フリップフロップ１２６ｃと、を備えている。基本論理エレメント１２６ｉ（ｉ＝１，２，３，４）においては、入力端子がルックアップテーブル回路１２６ａの入力端子となり、出力端子が選択回路１２６ｂの出力端子となる。なお、選択回路１２６ｂは２つの入力端子を有する。基本論理エレメント１２６ｉ（ｉ＝１，２，３，４）において、ルックアップテーブル回路１２６ａの出力端子は選択回路１２６ｂの２つの入力端子のうちの一方の入力端子に接続されるとともに、フリップフロップ１２６ｃの入力端子に接続される。またフリップフロップ１２６ｃの出力端子は選択回路１２６ｂの２つの入力端子のうちの他方の入力端子に接続される。したがって、基本論理エレメント１２６ｉ（ｉ＝１，２，３，４）において、ルックアップテーブル回路１２６ａの入力端子は入力配線群１２３ａｉの入力配線に接続され、選択回路１２６ｂの出力端子は出力配線１２３ｂｉに接続される。
【００３８】
フリップフロップ１２８ｉ（ｉ＝１，２，３，４）は、入力端子が入力配線１２８ａｉに接続され、出力端子が出力配線１２８ｂｉに接続される。
【００３９】
また、クロスポイント型スイッチ回路１２５ａは、入力配線群１２３ａ１〜１２３ａ４のそれぞれと配線群１２２ａとの交差領域、入力配線群１２３ａ１〜１２３ａ４のそれぞれと配線群１２２ｂとの交差領域、入力配線群１２３ａ１〜１２３ａ２のそれぞれと配線群１２２ｃ１との交差領域、入力配線群１２３ａ３〜１２３ａ４のそれぞれと配線群１２２ｃ２との交差領域に設けられる。
【００４０】
クロスポイント型スイッチ回路１２５ｂは、出力配線１２３ｂ１〜１２３ｂ４のそれぞれと配線群１２２ｂとの交差領域、出力配線１２３ｂ１〜１２３ｂ２のそれぞれと配線群１２２ｃ１との交差領域、出力配線１２８ｂ１〜１２８ｂ４のそれぞれと配線群１２２ｂとの交差領域、出力配線１２８ｂ１〜１２８ｂ２のそれぞれと配線群１２２ｃ１との交差領域、入力配線１２８１〜１２８４のそれぞれと配線群１２２ａとの交差領域、入力配線１２８１〜１２８４のそれぞれと配線群１２２ｂとの交差領域、入力配線１２８１〜１２８２のそれぞれと配線群１２２ｃ１との交差領域、入力配線１２８３〜１２８４のそれぞれと配線群１２２ｃ２との交差領域に設けられる。
【００４１】
すなわち、配線群１２２ａは、基本論理エレメント１２６１〜１２６４にそれぞれ入力配線１２３ａ１〜１２３ａ４およびスイッチ回路１２５ａを介して接続可能になるとともに、フリップフロップ１２８１〜１２８４にそれぞれ入力配線１２８ａ１およびスイッチ回路１２５ｂを介して接続可能になる。
【００４２】
配線群１２２ｂは、基本論理エレメント１２６１〜１２６４に、それぞれ入力配線１２３ａ１〜１２３ａ４およびスイッチ回路１２５ａを介して接続可能になるとともに、それぞれ出力配線１２３ｂ１〜１２３ｂ４およびスイッチ回路１２５ｂを介して接続可能になる。また、配線群１２２ｂは、フリップフロップ１２８１〜１２８４に、それぞれ入力配線１２８ａ１〜１２８ａ４およびスイッチ回路１２５ｂを介して接続可能になるとともに、それぞれ出力配線１２８ｂ１〜１２８ｂ４およびスイッチ回路１２５ｂを介して接続可能になる。
【００４３】
配線群１２２ｃ１は、基本論理エレメント１２６１〜１２６２に、それぞれ入力配線１２３ａ１〜１２３ａ２およびスイッチ回路１２５ａを介して接続可能になるとともに、それぞれ出力配線１２３ｂ１〜１２３ｂ２およびスイッチ回路１２５ｂを介して接続可能になる。また、配線群１２２ｃ１は、フリップフロップ１２８１〜１２８２に、それぞれ入力配線１２８ａ１〜１２８ａ２およびスイッチ回路１２５ｂを介して接続可能になるとともに、それぞれ出力配線１２８ｂ１〜１２８ｂ２およびスイッチ回路１２５ｂを介して接続可能になる。
【００４４】
配線群１２２ｃ２は、基本論理エレメント１２６３〜１２６４に、それぞれ入力配線１２３ａ３〜１２３ａ４およびスイッチ回路１２５ａを介して接続可能になるとともに、それぞれ出力配線１２３ｂ３〜１２３ｂ４およびスイッチ回路１２５ｂを介して接続可能になる。また、配線群１２２ｃ２は、フリップフロップ１２８３〜１２８４に、それぞれ入力配線１２８ａ３〜１２８ａ４およびスイッチ回路１２５ｂを介して接続可能になるとともに、それぞれ出力配線１２８ｂ３〜１２８ｂ４およびスイッチ回路１２５ｂを介して接続可能になる。
【００４５】
基本論理エレメント１２６ｉ（ｉ＝１，２，３，４）において、ルックアップテーブル回路１２６ａは任意の論理関数を実現することができる。なお、フリップフロップ１２６ｃは、同期出力を得る、または順序回路を構成する際に用いられる。したがって、フリップフロップ１２６ｃを含まない基本論理エレメントを論理ブロックが備えていてもよい。
【００４６】
ルックアップテーブル回路１２６ａは、このルックアップテーブル回路が含まれる基本論理エレメントの入力端子に入力された信号の値に基づいて論理演算を行い、その演算結果を、選択回路１２６ｂの入力端子に出力するとともにフリップフロップ１２６ｃの入力端子にも出力する。
【００４７】
選択回路１２６ｂは、ルックアップテーブル回路１２６ａおよびフリップフロップ１２６ｃから送られてくる信号のうちの一方を選択して論理ブロック１２０の出力端子の何れかに出力するとともに、配線群１２２ｂと、配線群１２２ｃ１または配線群１２２ｃ２に出力する。例えば、基本論理エレメント１２６１〜１２６２内の選択回路１２６ｂは、ルックアップテーブル回路１２６ａおよびフリップフロップ１２６ｃから送られてくる信号のうちの一方を選択して論理ブロック１２０の出力端子の何れかに出力するとともに、配線群１２２ｂと、配線群１２２ｃ１に出力する。また、基本論理エレメント１２６３〜１２６４内の選択回路１２６ｂは、ルックアップテーブル回路１２６ａおよびフリップフロップ１２６ｃから送られてくる信号のうちの一方を選択して論理ブロック１２０の出力端子の何れかに出力するとともに、配線群１２２ｂと、配線群１２２ｃ２に出力する。
【００４８】
次に、クロスポイント型スイッチ回路１２５ａの一具体例について図６を参照して説明する。図６は、配線群１２２ａと、基本論理エレメント１２６１の入力配線群１２３ａ１との交差領域に設けられたクロスポイント型スイッチ回路１２５ａの一具体例を示す回路図である。配線群１２２ａの４本の配線と、入力配線群１２３ａ１の４本の入力配線とのそれぞれの交差領域にスイッチ素子１０１１〜１０４４が配置されている。スイッチ素子１０ｉｊ（ｉ，ｊ＝１，２，３，４）は第１端子および第２端子を有し、第１端子が配線群１２２ａの４本の配線のうちの対応する配線に接続され、第２端子が入力配線群１２３ａ１の４本の入力配線のうちの対応する入力配線に接続される。
【００４９】
スイッチ素子１０ｉｊ（ｉ，ｊ＝１，２，３，４）としては、例えば抵抗変化素子またはアンチヒューズ素子を用いることができる。抵抗変化素子としては、例えばＭＴＪ(Magnetic  Tunnel  Junction)素子、酸化還元型抵抗変化素子、イオン伝導型抵抗変化素子、または相変化素子などが挙げられる。また、アンチヒューズ素子として、例えばゲート酸化膜破壊型トランジスタなどのＯＴＰ(One  Time  Programmable)素子が挙げられる。
【００５０】
スイッチ素子１０ｉｊ（ｉ，ｊ＝１，２，３，４）は、書き込みが行われると、抵抗状態が変化する。すなわち、高抵抗状態から低抵抗状態に変化するか、または低抵抗状態から高抵抗状態に変化する。例えば、スイッチ素子１０１１に書き込みが行われて、高抵抗状態になると、スイッチ素子１０１１の第１端子および第２端子間は高抵抗状態のため、第１端子が接続される配線群１２２ａの対応する配線と、第２端子が接続される入力配線群１２３ａ１の対応する入力配線との間に信号が流れない状態になる。一方、スイッチ素子１０１１が低抵抗状態にあるときは、第１端子が接続される配線群１２２ａの対応する配線と、第２端子が接続される入力配線群１２３ａ１の対応する入力配線との間に信号が流れる状態になる。なお、スイッチ素子１０ｉｊ（ｉ，ｊ＝１，２，３，４）への書き込みは、論理ブロック１２０の外部から配線群１２２ａの対応する配線と入力配線群１２３ａ１の対応する入力配線との間に書き込み電圧を印加することにより行う。
【００５１】
また、クロスポイント型スイッチ回路１２５ｂは、例えば入力配線１２８ａ１と、配線群１２２ａの４本の配線との交差領域に、スイッチ回路１２５ａと同様に、スイッチ素子が設けられ、このスイッチ素子の第１端子には入力配線１２８ａ１が接続され、第２端子には、配線群１２２ａの対応する配線が接続される。
【００５２】
このように構成された論理ブロック１２０においては、配線群１２２ａ、１２２ｂと、配線群１２２ｃ１、１２２ｃ２と、を有している。配線群１２２ａは、論理ブロック１２０の一方の端から他方の端まで延在し且つ論理ブロック１２０内の全ての基本論理エレメント１２６１〜１２６４およびフリップフロップ１２８１〜１２８４のそれぞれの入力端子と接続可能となる。配線群１２２ｂは、論理ブロック１２０の一方の端から他方の端まで延在し且つ論理ブロック１２０内の全ての基本論理エレメント１２６１〜１２６４およびフリップフロップ１２８１〜１２８４のそれぞれの入力端子および出力端子と接続可能となる。配線群１２２ｃ１は、配線群１２２ａ、１２２ｂよりも短い配線長を有し且つ論理ブロック１２０内の基本論理エレメント１２６１〜１２６２およびフリップフロップ１２８１〜１２８２のそれぞれの入力端子および出力端子と接続可能となる。配線群１２２ｃ２は、配線群１２２ａ、１２２ｂよりも短い配線長を有し且つ論理ブロック１２０内の基本論理エレメント１２６３〜１２６４およびフリップフロップ１２８３〜１２８４のそれぞれの入力端子および出力端子と接続可能となる。
【００５３】
そして、論理ブロック１２０において、配線群１２２ａ、１２２ｂ、１２２ｃ１、１２２ｃ２と、論理ブロック１２０内の基本論理エレメント１２６１〜１２６４およびフリップフロップ１２８１〜１２８４の入力端子または出力端子とは、その接続の有無を切り替えることの可能なクロスポイント型のスイッチ回路で結合されている。このように、論理ブロック１２０においては、基本論理エレメント１２６１〜１２６４およびフリップフロップ１２８１〜１２８４の出力端子と、配線群１２２ｂ、１２２ｃ１、１２２ｃ２との間は接続の有無を切り替えることの可能なクロスポイント型スイッチ回路で結合されているので、論理ブロック１２０の基本論理エレメント１２６１〜１２６４およびフリップフロップ１２８１〜１２８４の出力の総数に等しい配線を並列に用意する必要は無く、より少ない配線を用意するのみでよい。
【００５４】
そして、論理ブロック１２０の一部の基本論理エレメントの入力端子と出力端子および一部のフリップフロップの入力端子と出力端子と結合し得る配線群１２２ｃ１、１２２ｃ２をも有している。そして、これらの配線群１２２ｃ１、１２２ｃ２は、配線の延在する方向に並べて配置されている。それ故、個々の論理ブロック１２０の基本論理エレメント１２６１〜１２６４およびフリップフロップ１２８１〜１２８４の出力端子の総数に等しい配線を並列に用意する必要は無く、より少ない本数の配線を並列に設ければ良いので、論理ブロックの面積の縮小が図られ、その結果として回路面積の縮小が図られるという利点が得られる。また、このことは、接続の有無を切り替えることの可能なスイッチ回路のスイッチ素子の個数の削減を可能とするので、歩留りの向上が図られるという利点が得られる。また、この結果、特定の配線に例えば断線等の不具合がある場合には論理ブロック１２０内の他の配線を用いることが可能となる、すなわち配線の冗長性が得られるので、過剰に多くの論理ブロックを用意しなくても歩留りの向上が図られるという利点が得られる。
【００５５】
更に、論理ブロック１２０の面積の縮小が図られるので、従来の場合と比較して回路面積の増大を伴わずに、配線の冗長性を得ることが可能となるという利点が得られる。
【００５６】
そして、本実施形態の半導体装置における論理ブロック１２０は、配線群１２２ａ、１２２ｂと、これらの配線群１２２ａ、１２２ｂよりも配線長の短い配線群１２２ｃ１、１２２ｃ２と、を備えている。このため、配線群１２２ｃ１、１２２ｃ２に結合される基本論理エレメントないしフリップフロップの間の信号伝達における配線容量が削減される。このため、遅延時間が削減されて動作速度の向上が図られるという利点が得られる。
【００５７】
更に、従来の半導体装置においてはマルチプレクサが用いられていたのに対して、本実施形態の半導体装置においては、配線間の接続の有無を切り替えることの可能なスイッチ回路を備えている。このため、マルチプレクサは不要となるので構造の簡略化が図られ、歩留りの向上が図られるという利点が得られるとともに、そのために消費されていた領域が不要となるために回路面積の削減が図られるという利点もまた得られる。
【００５８】
なお、特許文献１に記載された先行技術においても、論理ブロックの一方の端から他方の端まで延在している配線群に加えて、それよりも短く且つ個々の論理ブロック内の特定の基本論理エレメントとのみ結合された配線群が開示されている。しかし、先行技術に於けるその様な短い配線群と特定の基本論理エレメントとの結合は固定されている。それ故、短い配線群の内の特定の配線が使用されていないとしても、特定の基本論理エレメントの出力と結合されているので配線間の容量に寄与し、その結果として動作の高速化が妨げられる。
【００５９】
これに対して本実施形態の半導体装置においては個々の論理ブロックの内の一部の基本論理エレメントおよびフリップフロップの出力端子とのみ結合し得る配線と、それらの基本論理エレメントおよびフリップフロップの出力端子との間は接続の有無を切り替えることの可能なスイッチ回路で結合されている。それ故、不要な結合は形成されないので不要な配線が容量に寄与することが防がれ、その結果として不要な配線間容量が削減されて動作の高速化が図られるという利点が得られる。
【００６０】
（論理系の変換）
所望の論理系に対し、それと論理的に等価であるルックアップテーブル回路の組み合わせで表される論理系への変換は次の様にして行われる。所望の論理系は真理値表の組で与えられる。個々の真理値表を考えると、入力の可能な組み合わせの各々に対して出力値としてデータ「０」またはデータ「１」が与えられている。真理値表の入力数をｎとする。例えば出力値として「１」を与える入力値の組を抽出する。それらがｍ組あるとして、それらを｛ａ１１，ａ１２，  …，ａ１ｎ｝、｛ａ２１，ａ２２，…，ａ２ｎ｝．…，｛ａｍ１，ａｍ２，…，ａｍｎ｝と表す。ａｉｊ（１≦ｉ≦ｍ）（１≦ｊ≦ｎ）は、データ「０」またはデータ「１」を表す。
【００６１】
入力をｉｎ１，ｉｎ２，…，ｉｎｎとすると、その真理値表は、例えば次の論理式と論理的に等価となる。但し、１≦ｉ≦ｍ、１≦ｊ≦ｎに対し、ａｉｊ＝０ならばｂｉｊ＝／ｉｎｊ、ａｉｊ＝１ならばｂｉｊ＝ｉｎｊを意味する。ここに記号／は論理的な否定を表す。
（…（ｂ１１ＡＮＤｂ１２）ＡＮＤｂ１３）ＡＮＤｂ１４）ＡＮＤ…）ＡＮＤｂ１ｎ）ＯＲ
（…（ｂ２１ＡＮＤｂ２２）ＡＮＤｂ２３）ＡＮＤｂ２４）ＡＮＤ…）ＡＮＤｂ２ｎ）ＯＲ
…
（…（ｂｍ１ＡＮＤｂｍ２）ＡＮＤｂｍ３）ＡＮＤｂｍ４）ＡＮＤ…）ＡＮＤｂｍｎ）
【００６２】
この様に表すと、任意の真理値表は、２入力のＡＮＤ回路と、２入力のＯＲ回路と、ＮＯＴ回路（すなわちインバータ）と、により表される。それ故、真理値表の組み合わせである任意の論理系は、ＡＮＤ回路と、ＯＲ回路と、ＮＯＴ回路とにより表される。この様に論理系をＡＮＤ回路と、ＯＲ回路と、ＮＯＴ回路とにより表したものはＡＩＧ（And  Inverter  Graph）と呼ばれる。なお、特定の論理系をこの特定の論理系と論理的に等価であるＡＩＧで表す方法は周知であるが、その表し方は一意的とは限らない。
【００６３】
先ず、このようにして所望の論理系をＡＩＧに変換する。ルックアップテーブル回路の入力数をＮとすると、続いてＡＩＧをそれと論理的に等価であり且つ入力数がＮ個以下のルックアップテーブル回路のネットワークに変換する必要がある。それは次のようになされる。
【００６４】
先ず、ＡＩＧの出力に着目する。ＡＩＧの出力と同じ出力を持ち且つ全体の入力がＮ個以下となるＡＮＤ回路、ＯＲ回路、またはＮＯＴ回路からなる組を、この組と論理的に等価な一つのルックアップテーブル回路に置き換える。
【００６５】
次に、上記ルックアップテーブル回路の入力の各々に対し、上記入力を出力に持ち且つ全体の入力がＮ個以下となる、ＡＮＤ回路、ＯＲ回路、またはＮＯＴ回路の組をこの組と論理的に等価な一つのルックアップテーブル回路に置き換える。この操作を、所望の論理系の入力に至るまで続ける。この様にすることで所望の論理系は入力数がＮ個以下のルックアップテーブル回路のネットワークに変換される。
【００６６】
なお、ここには所望の論理系が組み合わせ論理の場合を例に取って説明したが、順序論理の場合にはその内に存在している論理値を一時的に保持する素子であるフリップフロップの各々に対して、フリップフロップの入力を仮想的に論理系の出力、フリップフロップの出力を仮想的に論理系の入力、と見做すと上記した操作と同様の操作により、先ずＡＩＧに変換され、続いてルックアップテーブル回路のネットワークに変換される。
【００６７】
この操作に引き続いて、ルックアップテーブル回路およびフリップフロップを含む基本論理エレメントと、この基本論理エレメントに含まれないフリップフロップへの配置を行う必要がある。それは次の様になされる。
【００６８】
先ず、フリップフロップと、このフリップフロップに出力しているルックアップテーブル回路との組を作る。その際、特定のルックアップテーブル回路の出力端子が複数のフリップフロップの入力端子に接続されている場合は、二つ目以降のフリップフロップはルックアップテーブル回路との組にはせずに、形式的にルックアップテーブル回路を含まない基本論理エレメントとしておく。その上で、対象の論理系において基本論理エレメントの間で何れの出力端子が他の何れの入力端子に結合しているかに着目して、より結合の強い基本論理エレメント同士が同一の論理ブロックに含まれるように、基本論理エレメントを論理ブロックに配置する。
【００６９】
そして個々の論理ブロックの内で、対象の論理系において基本論理エレメントの間で何れの出力端子が他の何れの入力端子に結合しているかに着目して、より結合の強い基本論理エレメント同士が、本実施形態における論理ブロック内の一部の基本論理エレメントおよびフリップフロップの出力端子とのみ結合し得る配線を用いて結合される様に配置を行う。
【００７０】
なお、個々の論理ブロックに配置することの可能な基本論理エレメントの数ないし、個々の論理ブロック内における一部の基本論理エレメントおよびフリップフロップの出力端子とのみ結合し得る配線の数、その配線の各々と結合しうる基本論理エレメントまたはフリップフロップの数は人為的に定める。
【００７１】
基本論理エレメントに含まれないフリップフロップを設ける場合には、この様にして論理ブロック内への基本論理エレメントの配置を行った後に、形式的にルックアップテーブル回路を含まない基本論理エレメント上において考えていたフリップフロップを、基本論理エレメントに含まれないフリップフロップとして扱う。この様にしてルックアップテーブル回路ないしフリップフロップを含む基本論理エレメントと、基本論理エレメントに含まれないフリップフロップの配置が行われる。
【００７２】
また、特定の論理系を、それと論理的に等価であるＡＩＧを経て、ルックアップテーブル回路の組み合わせで表される論理的に等価である論理系へ変換する具体的な方法は知られている。この方法は、論理系への外部からの入力から、論理系の外部への出力に至る経路上のルックアップテーブル回路の個数を最少化する方法である。このことは演算処理時間が最短であることを意味する。すなわち、回路の動作速度が高速であることを意味するので、この方法を用いることは、面積の低減に加えて、回路の動作速度の高速化という他の利点をも奏するので好ましい。
【００７３】
また、論理系を構成するルックアップテーブル回路の総数を抑制する方法は知られている。この方法は、面積の低減において更なる効果を奏するので好ましい。
【００７４】
そして、ルックアップテーブル回路およびフリップフロップを含む基本論理エレメントと、この基本論理エレメントに含まれないフリップフロップへの配置の方法は知られている。この方法はルックアップテーブル回路とフリップフロップの論理的な結合関係に着目し、より結合の強いルックアップテーブル回路とフリップフロップを同一の論理ブロックに配置している。それ故、この方法を用いると、回路の動作速度の高速化という効果を奏するので好ましい。
【００７５】
この操作をルックアップテーブル回路の入力数が３、４、５、６の各々の場合に対して実際に行い、必要な配線の数を調べた。その結果、個々の論理ブロックに配置可能な基本論理エレメントおよび基本論理エレメントに含まれないフリップフロップの総数が１０以上であれば、論理ブロックの一方の端から他方の端まで延在しており且つその論理ブロック内の全ての基本論理エレメントおよびフリップフロップの出力端子と結合し得る配線の数は、その論理ブロック内に配置可能な基本論理エレメントと、基本論理エレメントに含まれないフリップフロップの総数よりも少なくてよいとの結果が得られた。それ故、個々の論理ブロック内に配置されている基本論理エレメントと、基本論理エレメントに含まれないフリップフロップの総数は１０以上であることが好ましい。
【００７６】
また、個々の論理ブロックに配置可能な基本論理エレメントと、基本論理エレメントに含まれないフリップフロップの総数が２７以上であれば、論理ブロックの一方の端から他方の端まで延在し且つその論理ブロック内の全ての基本論理エレメントおよびフリップフロップの出力端子と結合し得る配線の数と、その論理ブロック内の一部の基本論理エレメントおよびフリップフロップの出力端子とのみ結合し得る配線の配線群に属する配線の数と、の和は、その論理ブロック内に配置可能な基本論理エレメントと、基本論理エレメントに含まれないフリップフロップの総数よりも少なくてよいとの結果が得られた。それ故、個々の論理ブロック内に配置されている基本論理エレメントと、基本論理エレメントに含まれないフリップフロップの総数は２７以上であると更に好ましい。
【００７７】
本実施形態の半導体装置においては、基本論理エレメントに含まれないフリップフロップ１２８１〜１２８４も含む例が示されているが、基本論理エレメントに含まれないフリップフロップは存在しなくても同様の効果が得られることは言うまでもない。
【００７８】
また、本実施形態においては、論理ブロック１２０内に基本論理エレメントと、基本論理エレメントに含まれないフリップフロップとが示されているが、それら以外に例えば特定の入力数のＡＮＤ回路またはＯＲ回路等の、書き換え不能な論理演算回路が論理ブロック内に存在してもよく、書き換え不能な論理演算回路が配置されている論理ブロックと配置されていない論理ブロックとが混在してもよい。
【００７９】
また、本実施形態においては、配線群１２２ａ、１２２ｂ、１２２ｃ１、１２２ｃ２は、いずれもが４本であるとして示されているが、それらの配線の本数が４本であることに必然性はない。それらの配線群の配線の本数が４本よりも多くても、または少なくても同様の効果が得られることは云うまでもない。また、それらの配線群の配線の本数が相互に相等しくはないとしても同様の効果が得られることもまた言うまでもない。
【００８０】
また、本実施形態においては各ルックアップテーブル回路の入力端子に接続する入力配線は４本示されているが、その本数が４本であることに必然性はない。本数が４本よりも多くても少なくても同様の効果が得られることも言うまでもない。
【００８１】
また、本実施形態においては、配線群１２２ｃ１、１２２ｃ２の各々に、出力端子が接続されている基本論理エレメントと、基本論理エレメントに含まれないフリップフロップが何れも２個示されているが、それらの個数が２であることに必然性はない。それらの個数が２より多い場合にも同様の効果が得られることも言うまでもない。
【００８２】
また、配線群１２２ｃ１に出力端子が接続されている基本論理エレメントの個数と、配線群１２２ｃ２に出力端子が接続されている基本論理エレメントの個数とが異なっていてもよい。
【００８３】
また、配線群１２２ｃ１に出力端子が接続されているフリップフロップの個数と、配線群１２２ｃ２に出力端子が接続されているフリップフロップの個数とが異なっていてもよい。
【００８４】
また、本実施形態においては、論理ブロック１２０の一部の基本論理エレメントおよびフリップフロップの出力端子と結合し得る配線群は、配線群１２２ｃ１、１２２ｃ２以外に設けられていてもよい。
【００８５】
また、本実施形態においては、配線群１２２ａ、１２２ｂと、配線群１２２ｃ１、１２２ｃ２とは、長さが異なっており、長さが異なる配線群は２種類であった。長さが異なる配線群は３種類以上あってもよい。
【００８６】
また、本実施形態においては、基本論理エレメントは選択回路を有していたが、この選択回路の代わりに、例えば二種類の抵抗値をとることが可能で且つその抵抗値を不揮発に記憶することの可能なスイッチ素子を用いることも可能である。
【００８７】
また、本実施形態においては、書き換え可能な論理演算回路に関して記したが、このことは本質ではなく、図７（ａ）乃至７（ｄ）に示すように、書き換え可能な論理演算回路と例えばＡＳＩＣ(Application  Specific  Integrated  Circuit)等の書き換え不能な論理演算回路とが混載されていてもよい。なお、図７（ａ）乃至７（ｄ）においては、書き換え可能な論理演算回路と書き換え不能な論理演算回路との各々に対して特定の形状ないし配置の場合を例示したが、両者の形状ないし配置は図７（ａ）乃至７（ｄ）に例示したものに限るものではないのは言うまでもない。
【００８８】
また、図７（ａ）乃至７（ｄ）に示した例においては、書き換え可能な論理演算回路と書き換え不能な論理演算回路との何れもが１個のみの場合を例示したが、例えば図８（ａ）乃至８（ｄ）に示すように何れかないし両者が複数個であっても同様の効果が得られることは言うまでもない。書き換え可能な論理演算回路と書き換え不能な論理演算回路との各々の形状ないし配置ないし個数は図８（ａ）乃至８（ｄ）に例示したものに限るものではないこともまた言うまでもない。
【００８９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００９０】
１０１１〜１０４４・・・スイッチ素子、１００・・・半導体装置、１２０・・・論理ブロック、１２２，１２２ａ，１２２ｂ，１２２ｃ１，１２２ｃ２・・・配線群、１２３ａ１，１２３ａ２，１２３ａ３，１２３ａ４・・・配線群、１２４ａ、１２４ｂ・・・選択回路（ＭＵＸ）、１２５ａ，１２５ｂ・・・スイッチ回路、１２６・・・基本論理エレメント、１２６ａ・・・ルックアップテーブル回路（ＬＵＴ）、１２６ｂ・・・選択回路（ＭＵＸ）、１２６ｃ・・・フリップフロップ（ＦＦ）、１２８１，１２８２，１２８３，１２８４・・・フリップフロップ（ＦＦ）、１３０・・・スイッチブロック、１４０・・・選択回路、１４２１〜１４２ｎ・・・選択部、１４４１〜１４４ｎ・・・インバータ、１４６・・・トランスファーゲート、１５０・・・ルックアップテーブル回路、１５２１〜１５２Ｎ・・・選択部、１５４１〜１５４Ｎ・・・インバータ、１５６・・・トランスファーゲート
【図１】
2018042197.tif 000003
【図２】
2018042197.tif 000004
【図３】
2018042197.tif 000005
【図４】
2018042197.tif 000006
【図５】
2018042197.tif 000007
【図６】
2018042197.tif 000008
【図７】
2018042197.tif 000009
【図８】
2018042197.tif 000010