(57)【要約】【課題】基本構成単位となる回路セルの無駄を減らし、回路サイズの増大を抑えることができる半導体集積回路を提供する。【解決手段】選択部１０において４つの選択入力信号（ＳＩＮ１〜ＳＩＮ４）の中から１つ又は複数の信号が選択され、セル出力信号として回路セル外部に出力される。制御信号生成部２０では、セル入力信号Ａ，Ｂに応じて、選択部１０の選択動作を制御するための制御信号が生成される。そしてプログラム部３０では、選択部１０の複数の選択入力信号（ＳＩＮ１〜ＳＩＮ４）それぞれに対し、論理値「０」の信号、論理値「１」の信号、セル入力信号（Ｃ，／Ｃ，Ｄ，Ｅ，Ｆ）の何れか１つが、回路セルの論理機能に応じて割り当てられる。【選択図】図２
2007294676.tif 000002
【特許請求の範囲】
【請求項１】
論理機能を適応的に構成可能であり、複数のセル入力信号から前記論理機能に応じて少なくとも１つのセル出力信号を生成する複数の回路セルを具備する半導体集積回路であって、
前記回路セルは、
入力される制御信号に応じて、複数の選択入力信号から少なくとも１つの信号を選択し、当該選択した信号を前記セル出力信号として出力する選択部と、
少なくとも１つのセル入力信号に応じて前記制御信号を生成する制御信号生成部と、
前記論理機能に応じて、少なくとも２つのセル入力信号を含む複数の信号の何れか１つを前記複数の選択入力信号それぞれに割り当てる割り当て部と
を有する半導体集積回路。
【請求項２】
前記割り当て部は、
前記複数の選択入力信号を前記選択部に入力する複数の第１の配線と、
前記第１の論理値を持つ信号、前記第２の論理値を持つ信号、及び、前記少なくとも２つのセル入力信号を伝送する複数の第２の配線と、
前記複数の第１の配線それぞれを、前記論理機能に応じて前記複数の第２の配線の何れか１つに接続する複数の第３の配線と
を有する、
請求項１に記載の半導体集積回路。
【請求項３】
前記第１の配線は第１の配線層に形成され、
前記第２の配線は前記第１の配線層と異なる第２の配線層に形成され、
前記第３の配線は前記第１の配線と前記第２の配線とを接続するビヤを含む、
請求項２に記載の半導体集積回路。
【請求項４】
Ｎ個（Ｎは１より大きい整数を示す）のセル入力信号群に対応したＮ個のセル出力信号を生成する第１の論理機能を構成する場合、
前記制御信号生成部は、前記Ｎ個のセル入力信号群それぞれに含まれる少なくとも１つのセル入力信号に応じて、前記Ｎ個のセル入力信号群に対応したＮ個の制御信号を生成し、
前記選択部は、前記Ｎ個のセル入力信号群に対応するＮ個の選択入力信号群それぞれから、各セル入力信号群に対応する制御信号に応じて１の信号を選択し、当該選択した信号をセル出力信号として出力する、
請求項１に記載の半導体集積回路。
【請求項５】
前記選択部は、前記Ｎ個の選択入力信号群に対応するＮ個のスイッチ群を含んでおり、
各々のスイッチは、一方の端子に選択入力信号が入力され、他方の端子が同一スイッチ群に属する他のスイッチと共通に接続され、入力されるスイッチ制御信号に応じてオン又はオフし、前記共通接続された端子から前記セル出力信号を出力し、
前記制御信号生成部は、前記第１の論理機能を構成する場合、前記Ｎ個のスイッチ群それぞれにおいて何れか１つのスイッチを選択的にオンさせるＮ個のスイッチ制御信号群を前記Ｎ個の制御信号として生成する、
請求項４に記載の半導体集積回路。
【請求項６】
前期回路セルは、前記論理機能に応じて、前記Ｎ個のスイッチ群の共通接続されたＮ個の端子の少なくとも一部を更に共通に接続する出力部を有しており、
Ｍ個（ＭはＮより小さい１以上の整数を示す）のセル入力信号群に対応したＭ個のセル出力信号を生成する第２の論理機能を構成する場合、
前記出力部は、前記共通接続されたＮ個の端子をＭ個の端子に集約し、
前記制御信号生成部は、前記Ｍ個のセル入力信号群それぞれに含まれる少なくとも１つのセル入力信号に応じて、前記Ｍ個の端子に接続されるＭ個のスイッチ群それぞれにおいて何れか１つのスイッチを選択的にオンさせるＭ個のスイッチ制御信号群を生成する、
請求項５に記載の半導体集積回路。
【請求項７】
Ｎ個（Ｎは１より大きい整数を示す）のセル入力信号群に対応したＮ個のセル出力信号を生成するとともに、少なくとも１つのセル入力信号群については、そのセル入力信号群から選択した１のセル入力信号をセル出力信号として出力可能な論理機能を構成する場合、
前記制御信号生成部は、前記Ｎ個のセル入力信号群それぞれに含まれる少なくとも１つのセル入力信号に応じて、前記Ｎ個のセル入力信号群に対応したＮ個の制御信号を生成し、
前記選択部は、前記Ｎ個のセル入力信号群に対応するＮ個の選択入力信号群それぞれから、各セル入力信号群に対応する制御信号に応じて１の信号を選択し、当該選択した信号をセル出力信号として出力し、
前記割り当て部は、前記少なくとも１つのセル入力信号群については、そのセル入力信号群における少なくとも２つのセル入力信号を、そのセル入力信号群に対応する選択入力信号群の別々の選択入力信号に割り当てる、
請求項１に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばストラクチャードＡＳＩＣなど、基本構成単位となる複数の回路セルを組み合わせることによって構成される半導体集積回路に関するものである。
【背景技術】
【０００２】
ストラクチャードＡＳＩＣは、回路の最小構成単位として、ＮＡＮＤ回路のような基本ゲートよりも粒度の粗い構造を持った回路セルを用いるＩＣである。
【０００３】
ストラクチャードＡＳＩＣの基本論理構成単位に関する代表的な論文として、例えば非特許文献１がある。この論文においては、３入力ルックアップテーブル（look up table、以下「ＬＵＴ」と略記する）とスキャンフリップフロップ、２つの３入力ＮＡＮＤ回路、７つのバッファを用いて基本構成単位が構成されている。スタンダードセル方式との性能比較が検討されており、面積は４０〜６８％程大きくなるものの、遅延についてはほぼ同等の性能を得られることが報告されている。
【０００４】
また、特許文献１には、ＬＵＴの入力にＮＡＮＤ回路を接続した論理セルが提案されている。特許文献２には、２つの３入力ＬＵＴと２入力ＬＵＴ、フリップフロップを用いて構成された論理セルが提案されている。
【０００５】
ストラクチャードＡＳＩＣは、ＦＰＧＡ（field programmable gate array）と異なり、配線の一部を用途に合わせてカスタマイズするマスク・ルーティングにより所望の機能を持った回路を構成することができる。ＦＰＧＡにおける再構成可能な配線構造は非常に無駄が多いが、それをマスク・ルーティングに置き換えることによって、スタンダードセル方式より無駄があるものの、ＦＰＧＡよりは非常に無駄が少ない回路を短期間に開発できるというメリットがある。
【非特許文献１】Ｋ．Ｙ．Ｔｏｎｇ  他５名、“Ｒｅｇｕｌａｒ  ｌｏｇｉｃ  ｆａｂｒｉｃｓ  ｆｏｒ  ａ  ｖｉａ  ｐａｔｔｅｒｎｅｄ  ｇａｔｅ  ａｒｒａｙ  （ＶＰＧＡ）”、ＩＥＥＥ  ２００３  ＣＵＳＴＯＭ  ＩＮＴＥＧＲＡＴＥＤ  ＣＩＲＣＵＩＴＳ  ＣＯＮＦＥＲＥＮＣＥ、（米国）、２００３年、ｐ．５３−５６
【特許文献１】米国特許第６２３６２２９号明細書
【特許文献２】米国特許第６５８０２８９号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記のように、ストラクチャードＡＳＩＣはＦＰＧＡに比べて無駄が少なく小面積化に有利であるが、それでもスタンダードセル方式に比べれば基本構成単位の粒度が大きいため無駄を生じやすいという不利益がある。
【０００７】
図１３は、ストラクチャードＡＳＩＣの回路セルの一例を示す図である。
図１３（Ａ）に示す回路セル１００は、４対１のセレクタ回路１０１と、論理機能のプログラムに関わるプログラム部１０２と、入力信号Ｃの論理反転を行うインバータ回路１０３とを有しており、プログラム可能な３入力ＬＵＴを構成している。
【０００８】
プログラム部１０２は、セレクタ回路１０１の４つの入力線それぞれに４通りの信号（電源電圧ＶＤＤ、基準電位ＶＳＳ、入力信号Ｃとその論理反転信号）から選択した１つの信号を入力する。図１３（Ａ）に示すように、この４通りの信号を伝送する４つの信号線は、セレクタ回路１０１の４つの入力線と異なる配線層に形成されており、両者は層間を隔てて交差するように配置されている。プログラム部１０２は、この交差部分に選択的に形成されるビヤを介して、セレクタ回路１０１の４つの入力線それぞれに４つの信号線の何れか１つを接続する。図１３（Ａ）において、「Ｐ１０１」〜「Ｐ１１６」はビヤの作成位置を示す。
セレクタ回路１０１は、２つの入力信号Ａ，Ｂに応じて４つの入力信号の何れか１つを選択し、信号Ｑとして出力する。
【０００９】
図１３（Ａ）に示す回路セル１００によれば、３入力１出力の任意の論理機能を構成可能であり、例えば黒丸印で示した位置（Ｐ１０１，Ｐ１０５，Ｐ１１１，Ｐ１１６）にビヤを形成した場合、図１３（Ｂ）の真理値表によって表される論理機能が構成される。この真理値表によると、出力信号Ｑは、入力信号Ａが「０」の場合に入力信号Ｃと等しくなり、入力信号Ｂが「１」の場合に入力信号Ｂと等しくなる。したがってこの場合、入力信号Ａの値に応じて入力信号Ｂ又はＣの一方を選択するセレクタ機能が構成される。
【００１０】
図１４は、３つの回路セル１００−１〜１００−３を用いて４対１のセレクタ回路を構成する例を示す図である。
回路セル１００−１〜１００−３は、それぞれ図１３（Ｂ）の真理値表で表される２対１セレクタ機能を構成する。図１３（Ａ）の入力信号Ａ，Ｂ，Ｃに対応する信号として、回路セル１１０−１は制御信号ＣＴＬ１，選択入力信号ＩＮ４，ＩＮ３を入力し、回路セル１００−２は制御信号ＣＴＬ１，選択入力信号ＩＮ２，ＩＮ１を入力し、回路セル１００−３は制御信号ＣＴＬ２，回路セル１００−１の出力信号、回路セル１００−２の出力信号を入力する。
図１４に示すセレクタ回路は、制御信号ＣＴＬ２が「０」の場合、制御信号ＣＴＬ１が「０」であれば選択入力信号ＩＮ１を選択し、制御信号ＣＴＬ１が「１」であれば選択入力信号ＩＮ２を選択する。また、制御信号ＣＴＬ２が「１」の場合、制御信号ＣＴＬ１が「０」であれば選択入力信号ＩＮ３を選択し、制御信号ＣＴＬ１が「１」であれば選択入力信号ＩＮ４を選択する。
【００１１】
図１４の例では３つの回路セルが用いられているが、スタンダードセル方式の場合には、図１３（Ａ）におけるセレクタ回路１０１とほぼ同様な回路で４対１セレクタ回路を構成することが可能である。すなわち、スタンダードセル方式との比較では３倍以上に面積が増大する。
【００１２】
本発明はこのような事情に鑑みてなされたものであり、その目的は、基本構成単位となる回路セルの無駄を減らし、回路サイズの増大を抑えることができる半導体集積回路を提供することにある。
【課題を解決するための手段】
【００１３】
本発明に係る半導体集積回路は、論理機能を適応的に構成可能な複数の回路セルを具備する。前記回路セルは、複数のセル入力信号から前記論理機能に応じて少なくとも１つのセル出力信号を生成する。前記回路セルは、入力される制御信号に応じて、複数の選択入力信号から少なくとも１つの信号を選択し、当該選択した信号を前記セル出力信号として出力する選択部と、少なくとも１つのセル入力信号に応じて前記制御信号を生成する制御信号生成部と、前記論理機能に応じて、少なくとも２つのセル入力信号を含む複数の信号の何れか１つを前記複数の選択入力信号それぞれに割り当てる割り当て部とを有する。
【００１４】
前記半導体集積回路によれば、前記回路セルの選択部において、前記複数の選択入力信号から制御信号に応じて少なくとも１つの信号が選択され、当該選択された信号がセル出力信号として出力される。前記制御信号生成部では、少なくとも１つのセル入力信号に応じて前記制御信号が生成される。そして前記割り当て部では、前記複数の選択入力信号それぞれに対し、回路セルの論理機能に応じて、少なくとも２つのセル入力信号を含む複数の信号の何れか１つが割り当てられる。
これにより、前記複数の選択入力信号の少なくとも２つの信号にそれぞれ異なるセル入力信号を割り当てることが可能になるため、前記選択部において複数のセル入力信号から１つを選択するように回路セルの論理機能を構成することが可能になる。すなわち、前記選択部の機能を直接利用して、複数のセル入力信号から１つを選択するように回路セルの論理機能を構成することが可能になる。
【発明の効果】
【００１５】
本発明によれば、通常はＬＵＴとして用いられる選択部において複数のセル入力信号を直接選択するように回路セルの論理機能を構成できるため、基本構成単位となる回路セルの無駄を減らし、回路サイズの増大を抑えることができる。
【発明を実施するための最良の形態】
【００１６】
図１は、本発明の実施形態に係る半導体集積回路の構成の一例を示す図である。
図１に示す半導体集積回路は、ｍ×ｎ個の回路セルＣ１１〜Ｃｍｎを有する。この回路セルＣ１１〜Ｃｍｎは、例えば図１に示すように、ｍ行ｎ列の行列状に配列される。
【００１７】
各回路セルは、ＮＡＮＤ回路のような基本ゲートより粒度の粗い構造を有しており、それぞれの論理機能を適応的に構成することが可能である。すなわち、回路セル毎に独立した論理機能を持たせることが可能である。
各回路セルに対する論理機能のプログラムは、例えば、回路セル毎に独立したプログラム用配線（ビヤ等）を形成することにより行う。
また、回路セル同士の結線についても、例えば回路セルのプログム方法と同様に、予め決められた規則的な構造の配線をビヤ等の配線で接続することにより行う。この配線構造については、後ほど図８を参照して詳述する。
【００１８】
図２は、回路セルの構成の一例を示す図である。
図２に示す回路セルは、選択部１０と、制御信号生成部２０と、プログラム部（割り当て部）３０と、出力部４０と、インバータ回路ＩＮＶ１とを有する。
【００１９】
インバータ回路ＩＮＶ１は、外部（他の回路セルや入出力回路など）から回路セルに入力される信号（セル入力信号）Ｃを論理反転する。
【００２０】
選択部１０は、制御信号生成部２０から供給される制御信号（ＣＮＴ１〜ＣＮＴ４）に応じて、４つの選択入力信号（ＳＩＮ１〜ＳＩＮ４）から２つの信号を選択し、これを信号ＳＯＡ，ＳＯＢとして出力する。
【００２１】
制御信号生成部２０は、セル入力信号Ａ，Ｂに応じて、選択部１０に供給する制御信号（ＣＮＴ１〜ＣＮＴ４）を生成する。制御信号（ＣＮＴ１〜ＣＮＴ４）の生成に関わる制御信号生成部２０の論理的な機能は、回路セル全体の論理機能に合わせてプログラムされる。すなわち、制御信号生成部２０の論理機能はプログラム可能である。
【００２２】
３以上のセル入力信号に応じて１つのセル出力信号を生成するように回路セル全体の論理機能が構成される場合（例えば後述する図４，図５の場合）、制御信号生成部２０は、選択部１０を４対１セレクタとして機能させる制御信号（ＣＮＴ１〜ＣＮＴ４）を生成する。例えば、セル入力信号Ａ，Ｂを２ビットの２進コードとしてデコードし、当該２進コードの４通りの値に応じて何れか１ビットを選択的に「０」に設定した４ビットの信号（ＣＮＴ１〜ＣＮＴ４）を生成する。この場合、選択部１０は、制御信号生成部２０が生成する４ビットの信号（ＣＮＴ１〜ＣＮＴ４）に応じて４つの選択入力信号（ＳＩＮ１〜ＳＩＮ４）の何れか１つを選択し、信号ＳＯＡ又はＳＯＢとして出力する。出力部４０は、信号ＳＯＡ、ＳＯＢを１つの信号（セル出力信号）に集約し、回路セルの外部に出力する。
【００２３】
他方、２つのセル入力信号群に対応した２つのセル出力信号を生成するように回路セルの論理機能が構成される場合（例えば後述する図６，図７の場合）、制御信号生成部２０は、選択部１０を２個の２対１セレクタとして機能させる制御信号（ＣＮＴ１〜ＣＮＴ４）を生成する。例えば、セル入力信号Ａ，Ｂをそれぞれ１ビットの２進コードとしてデコードし、当該２進コードの２通りの値に応じて何れか一方のビットを「０」に設定した２ビットの信号を２組生成する（ＣＮＴ１及びＣＮＴ２、ＣＮＴ３及びＣＮＴ４）。この場合、選択部１０は、制御信号生成部２０が生成する２ビットの信号（ＣＮＴ１及びＣＮＴ２）に応じて選択入力信号ＳＩＮ１又はＳＩＮ２を選択し、信号ＳＯＡとして出力するとともに、制御信号生成部２０が生成する他の２ビットの信号（ＣＮＴ３及びＣＮＴ４）に応じて選択入力信号ＳＩＮ３又はＳＩＮ４を選択し、信号ＳＯＢとして出力する。出力部４０は、信号ＳＯＡ，ＳＯＢをそのままセル出力信号ＱＡ，ＱＢとして回路セルの外部に出力する。
【００２４】
ここで、制御信号生成部２０と選択部１０のより詳細な構成例について、図３を参照して説明する。
【００２５】
制御信号生成部２０は、例えば図３に示すように、デコード部２１とプログラム部２２を有する。
【００２６】
デコード部２１は、セル入力信号Ａ，Ｂのデコード処理を行う回路である。図３の例において、デコード部２１は、４つのＮＡＮＤ回路Ｕ１〜Ｕ４と２つのインバータ回路ＩＮＶ２，ＩＮＶ３を有する。インバータ回路ＩＮＶ２は、セル入力信号Ａを論理反転する。インバータ回路ＩＮＶ３は、セル入力信号Ｂを論理反転する。ＮＡＮＤ回路Ｕ１は、インバータ回路ＩＮＶ２及びＩＮＶ３の出力信号の反転論理積を演算する。ＮＡＮＤ回路Ｕ２は、インバータ回路ＩＮＶ３の出力信号とセル入力信号Ａとの反転論理積を演算する。ＮＡＮＤ回路Ｕ３は、インバータ回路ＩＮＶ２の出力信号とセル入力信号Ｂとの反転論理積を演算する。ＮＡＮＤ回路Ｕ４は、セル入力信号Ａ及びＢの反転論理積を演算する。
【００２７】
セル入力信号Ａ，Ｂの値がそれぞれ「０」，「０」の場合、ＮＡＮＤ回路Ｕ１の出力が「０」、他のＮＡＮＤ回路の出力が「１」になる。
セル入力信号Ａ，Ｂの値がそれぞれ「１」，「０」の場合、ＮＡＮＤ回路Ｕ２の出力が「０」、他のＮＡＮＤ回路の出力が「１」になる。
セル入力信号Ａ，Ｂの値がそれぞれ「０」，「１」の場合、ＮＡＮＤ回路Ｕ３の出力が「０」、他のＮＡＮＤ回路の出力が「１」になる。
セル入力信号Ａ，Ｂの値がそれぞれ「１」，「１」の場合、ＮＡＮＤ回路Ｕ４の出力が「０」、他のＮＡＮＤ回路の出力が「１」になる。
【００２８】
プログラム部２２は、制御信号（ＣＮＴ１〜ＣＮＴ４）の生成に関わる論理的な機能を設定する。図３の例において、プログラム部２２は、デコード部２１の出力信号を伝送する８つの配線ＬＡ７〜ＬＡ１４と、制御信号（ＣＮＴ１〜ＣＮＴ４）を伝送する４つの配線ＬＡ１５〜ＬＡ１８と、この配線ＬＡ１５〜ＬＡ１８に接続される４つの配線ＬＢ１０〜ＬＢ１３と、配線ＬＢ１０〜ＬＢ１３の一部と配線ＬＡ７〜ＬＡ１４とを論理機能に応じて接続する複数のビヤとを有する。
配線ＬＡ７はＮＡＮＤ回路Ｕ１の出力、配線ＬＡ９はＮＡＮＤ回路Ｕ２の出力、配線ＬＡ１１はＮＡＮＤ回路Ｕ３の出力、配線ＬＡ１３はＮＡＮＤ回路Ｕ４の出力にそれぞれ接続される。
配線ＬＡ８はインバータ回路ＩＮＶ２の出力、配線ＬＡ１２はインバータ回路ＩＮＶ３の出力にそれぞれ接続される。
配線ＬＡ１０にはセル入力信号Ａ、配線ＬＡ１４にはセル入力信号Ｂが入力される。
配線ＬＡ１５にはスイッチ制御信号ＣＮＴ１、配線ＬＡ１６にはスイッチ制御信号ＣＮＴ２、配線ＬＡ１７にはスイッチ制御信号ＣＮＴ３、配線ＬＡ１８にはスイッチ制御信号ＣＮＴ４が入力される。スイッチ制御信号ＣＮＴ１〜ＣＮＴ４は、それぞれ選択部１０の後述するスイッチに供給される。
【００２９】
配線ＬＢ１０〜ＬＢ１３は、配線ＬＡ７〜ＬＡ１８と異なる配線層に形成されており、両者は層間を隔てて交差するように配置されている。この交差部分には、回路セルの論理機能に応じてビヤが形成される。
配線ＬＢ１０は、ビヤを介して配線ＬＡ１５に接続されるとともに、ビヤを介して配線ＬＡ７又はＬＡ８の一方に接続される。すなわち、ＮＡＮＤ回路Ｕ１の出力信号又はインバータ回路ＩＮＶ２の出力信号がスイッチ制御信号ＣＮＴ１として選択部１０に入力される。
配線ＬＢ１１は、ビヤを介して配線ＬＡ１６に接続されるとともに、ビヤを介して配線ＬＡ９又はＬＡ１０の一方に接続される。すなわち、ＮＡＮＤ回路Ｕ２の出力信号又はセル入力信号Ａがスイッチ制御信号ＣＮＴ２として選択部１０に入力される。
配線ＬＢ１２は、ビヤを介して配線ＬＡ１７に接続されるとともに、ビヤを介して配線ＬＡ１１又はＬＡ１２の一方に接続される。すなわち、ＮＡＮＤ回路Ｕ３の出力信号又はインバータ回路ＩＮＶ３の出力信号がスイッチ制御信号ＣＮＴ３として選択部１０に入力される。
配線ＬＢ１３は、ビヤを介して配線ＬＡ１８に接続されるとともに、ビヤを介して配線ＬＡ１３又はＬＡ１４の一方に接続される。すなわち、ＮＡＮＤ回路Ｕ４の出力信号又はセル入力信号Ｂがスイッチ制御信号ＣＮＴ４として選択部１０に入力される。
【００３０】
図３において、記号「Ｐ３３」〜「Ｐ４４」はビヤの作成位置を示す。
位置Ｐ３３，Ｐ３４，Ｐ３５には、それぞれ、配線ＬＡ７，ＬＡ１５，ＬＡ８と配線ＬＢ１０とを接続するためのビヤが作成される。
位置Ｐ３６，Ｐ３７，Ｐ３８には、それぞれ、配線ＬＡ９，ＬＡ１６，ＬＡ１０と配線ＬＢ１１とを接続するためのビヤが作成される。
位置Ｐ３９，Ｐ４０，Ｐ４１には、それぞれ、配線ＬＡ１１，ＬＡ１７，ＬＡ１２と配線ＬＢ１２とを接続するためのビヤが作成される。
位置Ｐ４２，Ｐ４３，Ｐ４４には、それぞれ、配線ＬＡ１３，ＬＡ１８，ＬＡ１４と配線ＬＢ１３とを接続するためのビヤが作成される。
【００３１】
選択部１０は、例えば図３に示すように、４つのスイッチＳＷ１〜ＳＷ４を有する。
【００３２】
４つのスイッチＳＷ１〜ＳＷ４は、２つのスイッチ群（ＳＷ１及びＳＷ２、ＳＷ３及びＳＷ４）を形成する。
一方のスイッチ群｛「ＳＷ１」，「ＳＷ２」｝は、スイッチ制御信号群｛「ＣＮＴ１」，「ＣＮＴ２」｝に応じて選択入力信号群｛「ＳＩＮ１」，「ＳＩＮ２」｝から１つの選択入力信号を選択し、これを信号ＳＯＡとして出力する。
他方のスイッチ群｛「ＳＷ３」，「ＳＷ４」｝は、スイッチ制御信号群｛「ＣＮＴ３」，「ＣＮＴ４」｝に応じて選択入力信号群｛「ＳＩＮ３」，「ＳＩＮ４」｝から１つの選択入力信号を選択し、これを信号ＳＯＢとして出力する。
【００３３】
スイッチＳＷ１は、一方の端子に選択入力信号ＳＩＮ１が入力され、他方の端子が同一スイッチ群に属するスイッチ（すなわちＳＷ２）と共通に接続され、スイッチ制御信号ＣＮＴ１に応じてオン又はオフする。
スイッチＳＷ２は、一方の端子に選択入力信号ＳＩＮ２が入力され、他方の端子が同一スイッチ群の他のスイッチ（すなわちＳＷ１）と共通に接続され、スイッチ制御信号ＣＮＴ２に応じてオン又はオフする。
スイッチＳＷ３は、一方の端子に選択入力信号ＳＩＮ３が入力され、他方の端子が同一スイッチ群の他のスイッチ（すなわちＳＷ４）と共通に接続され、スイッチ制御信号ＣＮＴ３に応じてオン又はオフする。
スイッチＳＷ４は、一方の端子に選択入力信号ＳＩＮ４が入力され、他方の端子が同一スイッチ群の他のスイッチ（すなわちＳＷ３）と共通に接続され、スイッチ制御信号ＣＮＴ４に応じてオン又はオフする。
【００３４】
スイッチＳＷ１〜ＳＷ４は、例えば図３に示すように、トランスミッションゲートＴＧとインバータ回路ＩＮＶを有する。
インバータ回路ＩＮＶは、入力されるスイッチ制御信号を論理反転する。
トランスミッションゲートＴＧは、例えばｐチャンネルＭＯＳ型トランジスタとｎチャンネルＭＯＳ型トランジスタの並列接続回路によって構成されており、入力されるスイッチ制御信号とその論理反転信号とに応じてオン又はオフする。すなわち、スイッチ制御信号がローレベル（論理値「０」）のときにオンし、ハイレベル（論理値「１」）のときにオフする。
以上が、制御信号生成部２０及び選択部１０についての説明である。
【００３５】
図２に戻る。
プログラム部３０は、選択部１０の４つの選択入力信号ＳＩＮ１〜ＳＩＮ４それぞれに、回路セルの論理機能に応じた信号を割り当てる。例えば図２に示すプログラム部３０は、選択入力信号ＳＩＮ１〜ＳＩＮ４のそれぞれに対して７通りの信号（論理値「１」の信号、論理値「０」の信号、セル入力信号Ｃ〜Ｆ、セル入力信号Ｃの論理反転信号）の何れか１つを割り当てる。ただし、電源電圧ＶＤＤは論理値「１」、基準電位ＶＳＳは論理値「０」に相当する。
【００３６】
プログラム部３０は、選択入力信号ＳＩＮ１〜ＳＩＮ４の一部若しくは全部に異なる複数のセル入力信号を割り当てることができるため、選択部１０は複数のセル入力信号から１つを選択して出力することが可能である。すなわち、図２に示す回路セルは、選択部１０の本来のセレクタ機能を直接利用して、複数のセル入力信号から１つを選択するセレクタ機能を実現できる。
【００３７】
プログラム部３０は、２つのセル入力信号群に対応した２つのセル出力信号を生成するように回路セルの論理機能が構成される場合において、少なくとも１つのセル入力信号群については、そのセル入力信号群における２つのセル入力信号を、そのセル入力信号群に対応する選択入力信号群の別々の選択入力信号に割り当てることが可能である（例えば後述する図６の場合）。この場合も、選択部１０の本来の機能を直接利用して、複数のセル入力信号から１つを選択するセレクタ機能を実現できる。
【００３８】
プログラム部３０は、例えば図２に示すように、４つの選択入力信号ＳＩＮ１〜ＳＩＮ４を選択部１０に入力する４本の配線ＬＡ１〜ＬＡ４（第１の配線）と、上述した７通りの信号を伝送する７本の配線ＬＢ１〜ＬＢ７（第２の配線）と、配線ＬＡ１〜ＬＡ４それぞれに配線ＬＢ１〜ＬＢ７の何れか１つを接続するビヤとを有する。プログラム部３０は、ビヤを介してこれらの配線同士を接続することにより、上述した信号の割り当てを行う。
【００３９】
配線ＬＡ１は選択入力信号ＳＩＮ１、配線ＬＡ２は選択入力信号ＳＩＮ２、配線ＬＡ３は選択入力信号ＳＩＮ３、配線ＬＡ４は選択入力信号ＳＩＮ４をそれぞれ選択部１０に入力する。
配線ＬＢ１はセル入力信号Ｃ、配線ＬＢ２はセル入力信号Ｃの論理反転信号、配線ＬＢ３は論理値「０」の信号（すなわち基準電位ＶＳＳ）、配線ＬＢ４は論理値「１」の信号（すなわち電源電圧ＶＤＤ）、配線ＬＢ５はセル入力信号Ｄ、配線ＬＢ６はセル入力信号Ｅ、配線ＬＢ７はセル入力信号Ｆをそれぞれ伝送する。
４本の配線ＬＡ１〜ＬＡ４は、７本の配線ＬＢ１〜ＬＢ７と異なる配線層に形成されており、両者は層間を隔てて交差するように配置されている。この交差部分には、回路セルの論理機能に応じて選択的にビヤが形成される。４本の配線ＬＡ１〜ＬＡ４それぞれは、このビヤを介して７本の配線ＬＢ１〜ＬＢ７の何れか１つに接続される。
【００４０】
図２において、記号「Ｐ１」〜「Ｐ２８」はビヤの作成位置を示す。
位置Ｐ１，Ｐ５，Ｐ９，Ｐ１３には、それぞれ、配線ＬＡ１，ＬＡ２，ＬＡ３，ＬＡ４と配線ＬＢ１（セル入力信号Ｃ）とを接続するためのビヤが作成される。
位置Ｐ２，Ｐ６，Ｐ１０，Ｐ１４には、それぞれ、配線ＬＡ１，ＬＡ２，ＬＡ３，ＬＡ４と配線ＬＢ２（セル入力信号Ｃの論理反転信号）とを接続するためのビヤが作成される。
位置Ｐ３，Ｐ７，Ｐ１１，Ｐ１５には、それぞれ、配線ＬＡ１，ＬＡ２，ＬＡ３，ＬＡ４と配線ＬＢ３（論理値「０」の信号；基準電位ＶＳＳ）とを接続するためのビヤが作成される。
位置Ｐ４，Ｐ８，Ｐ１２，Ｐ１６には、それぞれ、配線ＬＡ１，ＬＡ２，ＬＡ３，ＬＡ４と配線ＬＢ４（論理値「１」の信号；電源電圧ＶＤＤ）とを接続するためのビヤが作成される。
位置Ｐ１７，Ｐ２０，Ｐ２３，Ｐ２６には、それぞれ、配線ＬＡ１，ＬＡ２，ＬＡ３，ＬＡ４と配線ＬＢ５（セル入力信号Ｄ）とを接続するためのビヤが作成される。
位置Ｐ１８，Ｐ２１，Ｐ２４，Ｐ２７には、それぞれ、配線ＬＡ１，ＬＡ２，ＬＡ３，ＬＡ４と配線ＬＢ６（セル入力信号Ｅ）とを接続するためのビヤが作成される。
位置Ｐ１９，Ｐ２２，Ｐ２５，Ｐ２８には、それぞれ、配線ＬＡ１，ＬＡ２，ＬＡ３，ＬＡ４と配線ＬＢ７（セル入力信号Ｆ）とを接続するためのビヤが作成される。
【００４１】
出力部４０は、選択部１０の２つのスイッチ群｛「ＳＷ１」，「ＳＷ２」｝、｛「ＳＷ３」，「ＳＷ４」｝においてそれぞれ共通接続された端子（信号ＳＯＡの出力端子、信号ＳＯＢの出力端子）を、回路セルの論理機能に応じて更に共通接続する。
すなわち、３以上のセル入力信号に応じて１つのセル出力信号を生成するように回路セル全体の論理機能が構成される場合（例えば後述する図４，図５の場合）、出力部４０は信号ＳＯＡの出力端子と信号ＳＯＢの出力端子を１つの端子に集約する。
また、２つのセル入力信号群に対応した２つのセル出力信号を生成するように回路セルの論理機能が構成される場合（例えば後述する図６，図７の場合）、出力部４０は端子の集約を行わず、信号ＳＯＡ，ＳＯＢをそのままセル出力信号ＱＡ，ＱＢとして出力する。
【００４２】
出力部４０は、例えば図２に示すように、選択部１０の信号ＳＯＡ，ＳＯＢを伝送する配線ＬＡ５，ＬＡ６と、セル出力信号ＱＡ，ＱＢを伝送する配線ＬＢ８，ＬＢ９と、配線ＬＡ５，ＬＡ６にそれぞれ配線ＬＢ８又はＬＢ９を接続するビヤとを有する。
配線ＬＡ５，ＬＡ６は配線ＬＢ８，ＬＢ９と異なる配線層に形成されており、両者は層間を隔てて交差するように配置されている。この交差部分には、回路セルの論理機能に応じてビヤが形成される。すなわち、選択部１０の信号ＳＯＡ，ＳＯＢの出力端子を集約する場合、配線ＬＡ５，ＬＡ６は配線ＬＢ８又はＬＢ９に共通接続され、信号ＳＯＡ，ＳＯＢをそのままセル出力信号ＱＡ，ＱＢとして出力する場合、配線ＬＡ５，ＬＡ６は配線ＬＢ８，ＬＢ９と１対１に接続される。
【００４３】
図２において、記号「Ｐ２９」〜「Ｐ３２」はビヤの作成位置を示す。
位置Ｐ２９，Ｐ３０には、それぞれ、配線ＬＡ５，ＬＡ６と配線ＬＢ８（セル出力信号ＱＡ）とを接続するためのビヤが作成される。
位置Ｐ３１，Ｐ３２には、それぞれ、配線ＬＡ５，ＬＡ６と配線ＬＢ９（セル出力信号ＱＢ）とを接続するためのビヤが作成される。
【００４４】
次に、図１に示す回路セルに種々の論理機能を構成する例について、図４〜図７を参照して説明する。
以下では説明を簡略にするため、セル入力信号Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆをそれぞれ「Ａ」，「Ｂ」，「Ｃ」，「Ｄ」，「Ｅ」，「Ｆ」で表し、論理反転信号については記号の前に「／」を付して表す場合がある。また、論理値「１」の信号（電源電圧ＶＤＤ）をそのまま「１」で表し、論理値「０」の信号（基準電位ＶＳＳ）をそのまま「０」で表す場合がある。
【００４５】
図４は、図２に示す回路セルに３入力１出力の論理機能を構成する例を示す図である。
【００４６】
図４の例において、制御信号生成部２０は、選択部１０を４対１セレクタとして機能させるように制御信号を生成する。すなわち、セル入力信号Ａ，Ｂを２ビットの２進コードとしてデコードすることにより、４つのスイッチＳＷ１〜ＳＷ４の何れか１つを選択的にオンさせるスイッチ制御信号ＣＮＴ１〜ＣＮＴ４を生成する。この場合、制御信号生成部２０のプログラム部２２（図３参照）においては、「Ｐ３３」，「Ｐ３４」，「Ｐ３６」，「Ｐ３７」，「Ｐ３９」，「Ｐ４０」，「Ｐ４２」，「Ｐ４３」にビヤが作成される。
【００４７】
また、出力部４０では、選択部１０における信号ＳＯＡ，ＳＯＢの出力端子が１つに集約される。この場合、出力部４０においては、例えば「Ｐ２９」，「Ｐ３０」にビヤが作成される。
【００４８】
更に、プログラム部３０は、選択入力信号ＳＩＮ１〜ＳＩＮ４のそれぞれに対して４通りの信号（「Ｃ」，「／Ｃ」，「０」，「１」）の何れか１つを割り当てる。この場合、プログラム部３０においては、「Ｐ１」〜「Ｐ４」の何れか１つ、「Ｐ５」〜「Ｐ８」の何れか１つ、「Ｐ９」〜「Ｐ１２」の何れか１つ、並びに、「Ｐ１３」〜「Ｐ１６」の何れか１つにビヤが作成される。
【００４９】
一般に３入力のルックアップテーブルは、３ビットの入力信号が与えられた場合、テーブルに予め設定された８通りの信号（各信号は「１」又は「０」の値を持つ）から入力信号に対応した１つの信号を選択して出力する。３ビットの入力信号のうち２ビットが与えられた場合は、残りの１ビットの入力信号に応じた値を持つ信号か、若しくは固定値の信号を出力する。残りの１ビットの信号を「Ｃ」とすると、この場合ルックアップテーブルは、４通りの信号
｛「Ｃ」，「／Ｃ」，「０」，「１」｝
のうちの何れか１つを出力する。
図４に示すように論理機能が構成された回路セルによれば、ある値のセル入力信号Ａ，Ｂが入力されたときのセル出力信号を４通りの信号（「Ｃ」，「／Ｃ」，「０」，「１」）の何れかにプログラムすることが可能である。そのため、この場合の回路セルは、３入力ルックアップテーブルと等価な機能を持つ。
【００５０】
図５は、図２に示す回路セルに４対１セレクタ機能を構成する例を示す図である。
【００５１】
この場合、制御信号生成部２０の機能や出力部４０の接続状態は図４に示す構成と同じである。
他方、プログラム部３０では、選択入力信号ＳＩＮ１，ＳＩＮ２，ＳＩＮ３，ＳＩＮ４に対してそれぞれ「Ｃ」，「Ｄ」，「Ｅ」，「Ｆ」が割り当てられる。この場合、プログラム部３０においては、「Ｐ１」，「Ｐ２０」，「Ｐ２４」，「Ｐ２８」にビヤが形成される。
【００５２】
プログラム部３０において図５に示すように信号の割り当てが行われると、選択部１０では２ビットのセル入力信号Ａ，Ｂに応じて４つのセル入力信号Ｃ〜Ｆの何れか１つが選択され、当該選択された信号がセル出力信号ＱＡとして回路セルの外部に出力される。すなわち、選択部１０のセレクタ機能を直接利用して、回路セルの４対１セレクタ機能が実現される。
【００５３】
図６は、図２に示す回路セルに２組の２対１セレクタ機能を構成する例を示す図である。
【００５４】
図６の例において、６つのセル入力信号Ａ〜Ｆには２つのセル入力信号群｛「Ａ」，「Ｃ」，「Ｄ」｝，｛「Ｂ」，「Ｅ」，「Ｆ」｝が形成される。この２つのセル入力信号群は、選択部１０の２つの選択入力信号群｛「ＳＩＮ１」，「ＳＩＮ２」｝，｛「ＳＩＮ３」，「ＳＩＮ４」｝に対応付けられている。一方のセル入力信号群｛「Ａ」，「Ｃ」，「Ｄ」｝は選択入力信号群｛「ＳＩＮ１」，「ＳＩＮ２」｝と対応し、他方のセル入力信号群｛「Ｂ」，「Ｅ」，「Ｆ」｝は選択入力信号群｛「ＳＩＮ３」，「ＳＩＮ４」｝と対応する。
【００５５】
プログラム部３０は、上述したセル入力信号群に含まれる２つのセル入力信号を、そのセル入力信号群に対応する選択入力信号群の別々の選択入力信号に割り当てる。すなわち、セル入力信号Ｃ，Ｄをそれぞれ選択入力信号ＳＩＮ１，ＳＩＮ２に割り当て、セル入力信号Ｅ，Ｆをそれぞれ選択入力信号ＳＩＮ３，ＳＩＮ４に割り当てる。
この場合、プログラム部３０においては、「Ｐ１」，「Ｐ２０」，「Ｐ２４」，「Ｐ２８」にビヤが形成される。
【００５６】
制御信号生成部２０は、選択部１０を２組の２対１セレクタとして機能させるように制御信号を生成する。すなわち、上述した２つのセル入力信号群それぞれに含まれるセル入力信号に応じて、２つのセル入力信号群に対応した２つのスイッチ制御信号群｛「ＣＮＴ１」，「ＣＮＴ２」｝，｛「ＣＮＴ３」，「ＣＮＴ４」｝を生成する。詳しく述べると、セル入力信号Ａの値に応じてスイッチ制御信号群｛「ＣＮＴ１」，「ＣＮＴ２」｝の何れか１つの信号を「０」、他の信号を「１」に設定し、セル入力信号Ｂの値に応じてスイッチ制御信号群｛「ＣＮＴ３」，「ＣＮＴ４」｝の何れか１つの信号を「０」、他の信号を「１」に設定する。
この場合、プログラム部２２（図３参照）においては、「Ｐ３４」，「Ｐ３５」，「Ｐ３７」，「Ｐ３８」，「Ｐ４０」，「Ｐ４１」，「Ｐ４３」，「Ｐ４４」にビヤが作成される。
【００５７】
出力部４０は、選択部１０の信号ＳＯＡ，ＳＯＢをそのままセル出力信号ＱＡ，ＱＢとして回路セルの外部に出力する。この場合、出力部４０においては、例えば「Ｐ２９」，「Ｐ３２」にビヤが作成される。
【００５８】
選択部１０のスイッチ群｛「ＳＷ１」，「ＳＷ２」｝は、スイッチ制御信号群｛「ＣＮＴ１」，「ＣＮＴ２」｝に応じて何れか１のスイッチをオン、他のスイッチをオフさせる。また、選択部１０のスイッチ群｛「ＳＷ３」，「ＳＷ４」｝は、スイッチ制御信号群｛「ＣＮＴ３」，「ＣＮＴ４」｝に応じて何れか１のスイッチをオン、他のスイッチをオフさせる。
【００５９】
上記のように回路セルの論理機能を構成することによって、２つのセル入力信号群｛「Ａ」，「Ｃ」，「Ｄ」｝、｛「Ｂ」，「Ｅ」，「Ｆ」｝に応じて動作する２つの独立した２対１セレクタ回路を構成することができる。すなわち、セル入力信号Ａの値に応じてセル入力信号Ｃ又はＤの一方を選択し、当該選択した信号をセル出力信号ＱＡとして出力するセレクタ回路と、セル入力信号Ｂの値に応じてセル入力信号Ｅ又はＦの一方を選択し、当該選択した信号をセル出力信号ＱＢとして出力するセレクタ回路とを構成することができる。
【００６０】
図７は、図２に示す回路セルに２入力１出力の論理機能を２組構成する例を示す図である。
【００６１】
図７の例においては、２つのセル入力信号群｛「Ａ」，「Ｃ」｝，｛「Ｂ」，「Ｄ」｝が形成されており、一方のセル入力信号群｛「Ａ」，「Ｃ」｝は選択入力信号群｛「ＳＩＮ１」，「ＳＩＮ２」｝、他方のセル入力信号群｛「Ｂ」，「Ｄ」｝は選択入力信号群｛「ＳＩＮ３」，「ＳＩＮ４」｝にそれぞれ対応する。
【００６２】
プログラム部３０は、選択入力信号群｛「ＳＩＮ１」，「ＳＩＮ２」｝の各信号に対して４通りの信号（「Ｃ」，「／Ｃ」，「０」，「１」）の何れか１つを割り当てるとともに、選択入力信号群｛「ＳＩＮ３」，「ＳＩＮ４」｝の各信号に対して３通りの信号（「Ｄ」，「０」，「１」）の何れか１つを割り当てる。この場合、プログラム部３０においては、「Ｐ１」〜「Ｐ４」の何れか１つ、「Ｐ５」〜「Ｐ８」の何れか１つ、「Ｐ１１」，「Ｐ１２」，「Ｐ２３」の何れか１つ、並びに、「Ｐ１５」，「Ｐ１６」，「Ｐ２６」の何れか１つにビヤが作成される。
【００６３】
制御信号生成部２０は、選択部１０を２組の２対１セレクタとして機能させるように制御信号を生成する。すなわち、２つのセル入力信号群｛「Ａ」，「Ｃ」｝，｛「Ｂ」，「Ｄ」｝に含まれるセル入力信号Ａ，Ｂに応じて、この２つのセル入力信号群に対応した２つのスイッチ制御信号群｛「ＣＮＴ１」，「ＣＮＴ２」｝，｛「ＣＮＴ３」，「ＣＮＴ４」｝を生成する。
出力部４０は、選択部１０の信号ＳＯＡ，ＳＯＢをそのままセル出力信号ＱＡ，ＱＢとして回路セルの外部に出力する。この場合、出力部４０においては、例えば「Ｐ２９」，「Ｐ３２」にビヤが作成される。
選択部１０のスイッチ群｛「ＳＷ１」，「ＳＷ２」｝は、スイッチ制御信号群｛「ＣＮＴ１」，「ＣＮＴ２」｝に応じて何れか１のスイッチをオン、他のスイッチをオフさせ、選択部１０のスイッチ群｛「ＳＷ３」，「ＳＷ４」｝は、スイッチ制御信号群｛「ＣＮＴ３」，「ＣＮＴ４」｝に応じて何れか１のスイッチをオン、他のスイッチをオフさせる。
制御信号生成部２０、出力部４０及び選択部１０の機能と動作については、図６に示す構成と同様である。
【００６４】
上記のように回路セルの論理機能を構成することによって、２つのセル入力信号群｛「Ａ」，「Ｃ」｝、｛「Ｂ」，「Ｄ」｝に応じて動作する２つの独立した２入力論理回路を構成することができる。すなわち、セル入力信号Ａ，Ｃに応じたセル出力信号ＱＡを出力する２入力論理回路と、セル入力信号Ｂ，Ｄに応じたセル出力信号ＱＢを生成する２入力論理回路とを構成することができる。
【００６５】
一般に２入力のルックアップテーブルは、２ビットの入力信号が与えられた場合、テーブルに予め設定された４通りの信号（各信号は「１」又は「０」の値を持つ）から入力信号に対応した１つの信号を選択して出力する。２ビットの入力信号のうち１ビットが与えられた場合は、残りの１ビットの入力信号に応じた値を持つ信号か、若しくは固定値の信号を出力する。残りの１ビットの信号を「Ｃ」とすると、この場合ルックアップテーブルは、４通りの信号
｛「Ｃ」，「／Ｃ」，「０」，「１」｝
のうちの何れか１つを出力する。
図７の例において、セル入力信号群｛「Ａ」，「Ｃ」｝を入力する２入力論理回路は、ある値のセル入力信号Ａが入力されたときのセル出力信号ＱＡを４通りの信号（「Ｃ」，「／Ｃ」，「０」，「１」）の何れかにプログラムすることが可能である。そのため、この２入力論理回路は２入力ルックアップテーブルと等価な機能を持つ。
これに対し、セル入力信号群｛「Ｂ」，「Ｄ」｝を入力する２入力論理回路は、ある値のセル入力信号Ｂが入力されたときにプログラム可能なセル出力信号ＱＢの組合せが３通り（「Ｄ」，「０」，「１」）であるため、２入力ルックアップテーブルの機能を完全には実現しない。しかしながら、ＡＮＤやＯＲなどの基本的な論理演算については実現可能である。
【００６６】
次に、図１に示す回路セルを半導体基板上に形成した場合の構造について説明する。
【００６７】
図８は、図２に示す回路セルの構造の一例を示す図である。第ａ層（ａは１以上の整数を示す）とその上層の第（ａ＋１）層における配線パターンを示すとともに、回路セルの各構成要素の概略的なレイアウトを示す。図８と図２、図３における同一の符号は同一の構成要素を表す。
【００６８】
図８において、記号「ＬＲ１」，「ＬＲ２」，「ＬＣ１」，「ＬＣ２」は回路セル同士を接続する配線群を示す。
【００６９】
第ａ層には、回路セルアレイの行方向（図の横方向）へ延びる配線群ＬＲ１が形成される。図８の例において、配線群ＬＲ１は５本の配線の束であり、その長さは、回路セルアレイの列幅とほぼ同じである。配線群ＬＲ１は、行方向へ複数連なって配置される。回路セルアレイの各行に、この行方向へ連なる複数の配線群ＬＲ１が形成される。
配線群ＬＲ１は、例えば図８に示すように、行方向へ延びる１束（５本）の配線を各回路セル上において１箇所ずつ斜めに切断することにより作られる各断片に相当する。図８の例において、この各断片に相当する配線群ＬＲ１は、列方向へ交互にずれて配置されている。
第（ａ＋１）層には、行方向に連なる配線群ＬＲ１同士をビヤ経由で接続するための配線群ＬＲ２が形成される。配線群ＬＲ２は、配線群ＬＲ１と同じ５本の配線の束であり、隣接する２つの配線群ＬＲ１の上層に、これらと交差する方向に伸びて形成される。
【００７０】
第（ａ＋１）層には、回路セルアレイの列方向（図８の縦方向）へ延びる配線群ＬＣ１が形成される。図８の例において、配線群ＬＣ１は７本の配線の束であり、その長さは、回路セルアレイの行幅とほぼ同じである。配線群ＬＣ１は、列方向へ複数連なって配置される。回路セルアレイの各列に、この列方向へ連なる複数の配線群ＬＣ１が形成される。
配線群ＬＣ１は、例えば図８に示すように、列方向へ延びる１束（７本）の配線を各回路セル上において１箇所ずつ斜めに切断することにより作られる各断片に相当する。図８の例において、この各断片に相当する配線群ＬＣ１は、行方向へ交互にずれて配置されている。
第ａ層には、列方向に連なる配線群ＬＣ１同士をビヤ経由で接続するための配線群ＬＣ２が形成される。配線群ＬＣ２は、配線群ＬＣ１と同じ７本の配線の束であり、隣接する２つの配線群ＬＣ１の下層に、これらと交差する方向に伸びて形成される。
【００７１】
第ａ層には、回路セルの各部の入出力信号を伝送するための配線ＬＡ１〜ＬＡ２０が形成される。また第（ａ＋１）層には、論理機能のプログラム用のビヤを介して配線ＬＡ１〜ＬＡ１８と接続される配線ＬＢ１〜ＬＢ９が形成される。ただし、配線ＬＢ１，ＬＢ５〜ＬＢ９には配線群ＬＣ１が兼用される。
【００７２】
図８の例において、デコード部２１は回路セルの右上隅の領域に形成され、その下側の領域に選択部１０が形成される。
デコード部２１にセル入力信号Ａ，Ｂを入力するための配線ＬＡ１９，ＬＡ２０は、デコード部２１の左側に延びて形成される。デコード部２１からの出力信号を伝送する配線ＬＡ７〜ＬＡ１８は、デコード部２１の右側に伸びて形成される。配線ＬＢ１０〜ＬＢ１３は、列方向（図の縦方向）に伸びて形成されており、配線ＬＢ１０は配線ＬＡ７，ＬＡ８，ＬＡ１５と、配線ＬＢ１１は配線ＬＡ９，ＬＡ１０，ＬＡ１６と、配線ＬＢ１２は配線ＬＡ１１，ＬＡ１２，ＬＡ１７と、配線ＬＢ１３は配線ＬＡ１３，ＬＡ１４，ＬＡ１８とそれぞれ交差するように配置される。
選択部１０の入出力信号を伝送する配線ＬＡ１〜ＬＡ６は、選択部１０の左側に伸びて形成される。配線ＬＡ１〜ＬＡ６の上層には、これらの配線と交差するように、配線群ＬＣ１と配線ＬＢ２（／Ｃ），配線ＬＢ３（ＶＳＳ），配線ＬＢ４（ＶＤＤ）が列方向に伸びて形成される。
【００７３】
次に、図８に示す構造を持った回路セルに具体的な論理機能を構成する例について、図９〜図１２を参照して説明する。これらの図において黒い丸印は、第ａ層と第（ａ＋１）層の配線同士を接続するビヤを表す。
【００７４】
図９は、図８に示す回路セルに３入力１出力の論理機能を構成する例を示す図である。
図９の例では、プログラム部２２の「Ｐ３３」，「Ｐ３４」，「Ｐ３６」，「Ｐ３７」，「Ｐ３９」，「Ｐ４０」，「Ｐ４２」，「Ｐ４３」と出力部４０の「Ｐ２９」，「Ｐ３０」にビヤが形成されており、選択部１０は４対１のセレクタとして機能する。また、プログラム部３０の「Ｐ２」，「Ｐ８」，「Ｐ１１」，「Ｐ１３」にビヤが形成されており、図の右側に示す真理値表が成立する。この場合、セル出力信号Ｑは
Ｑ＝（／Ａ）＊Ｂ＋Ａ＊Ｃ＋（／Ｂ）＊（／Ｃ）  ；
の論理式で表される。
【００７５】
図１０は、図８に示す回路セルに４対１セレクタ機能を構成する例を示す図である。
図１０の例では図９と同様にプログラム部２２と出力部４０のビヤが形成されているため、選択部１０は４対１のセレクタとして機能する。また、プログラム部３０の「Ｐ１」，「Ｐ２０」，「Ｐ２４」，「Ｐ２８」にビヤが形成されており、選択入力信号ＳＩＮ１，ＳＩＮ２，ＳＩＮ３，ＳＩＮ４にはそれぞれセル入力信号Ｃ，Ｄ，Ｅ，Ｆが入力される。この場合、セル出力信号Ｑはセル入力信号Ｃ，Ｄ，Ｅ，Ｆの中から選択された信号になる。
【００７６】
図１１は、図８に示す回路セルに２組の２対１セレクタ機能を構成する例を示す図である。
図１１の例では、プログラム部２２の「Ｐ３４」，「Ｐ３５」，「Ｐ３７」，「Ｐ３８」，「Ｐ４０」，「Ｐ４１」，「Ｐ４３」，「Ｐ４４」と出力部４０の「Ｐ２９」，「Ｐ３２」にビヤが形成されており、選択部１０は２組の２対１セレクタとして機能する。また、プログラム部３０の「Ｐ１」，「Ｐ２０」，「Ｐ２４」，「Ｐ２８」にビヤが形成されており、選択入力信号群｛「ＳＩＮ１」，「ＳＩＮ２」｝にセル入力信号群｛「Ｃ」，「Ｄ」｝が入力され、選択入力信号群｛「ＳＩＮ３」，「ＳＩＮ４」｝にセル入力信号群｛「Ｅ」，「Ｆ」｝が入力される。この場合、セル入力信号群｛「Ｃ」，「Ｄ」｝から選択された信号がセル出力信号ＱＡとなり、セル入力信号群｛「Ｅ」，「Ｆ」｝から選択された信号がセル出力信号ＱＢになる。  
【００７７】
図１２は、図８に示す回路セルに２入力１出力の論理機能を２組構成する例を示す図である。
図１２の例では図１１と同様にプログラム部２２と出力部４０のビヤが形成されているため、選択部１０は２組の２対１セレクタとして機能する。また、プログラム部３０の「Ｐ２」，「Ｐ８」，「Ｐ２３」，「Ｐ１５」にビヤが形成されており、選択入力信号ＳＩＮ１，ＳＩＮ２にはそれぞれ「／Ｃ」，「１」が入力され、選択入力信号ＳＩＮ３，ＳＩＮ４にはそれぞれ「Ｄ」，「０」が入力される。この場合、セル出力信号ＱＡは、セル入力信号Ａが「１」のときに「／Ｃ」、セル入力信号Ａが「０」のときに「１」になることから、セル入力信号ＡとＣの反転論理積「／（Ａ＊Ｃ）」になる。また、セル出力信号ＱＢは、セル入力信号Ｂが「１」のときに「Ｄ」、セル入力信号Ｂが「０」のときに「０」になることから、セル入力信号ＢとＤの論理積「Ｂ＊Ｄ」になる。
【００７８】
以上説明したように、本実施形態に係る回路セルでは、選択部１０において４つの選択入力信号（ＳＩＮ１〜ＳＩＮ４）の中から１つ又は複数の信号が選択され、セル出力信号として回路セル外部に出力される。制御信号生成部２０では、少なくとも１つのセル入力信号に応じて、選択部１０の選択動作を制御するための制御信号が生成される。そしてプログラム部３０では、選択部１０の複数の選択入力信号（ＳＩＮ１〜ＳＩＮ４）それぞれに対し、回路セルの論理機能に応じて、少なくとも２つのセル入力信号を含む複数の信号の何れか１つが割り当てられる。  これにより、本実施形態に係る回路セルでは、複数の選択入力信号（ＳＩＮ１〜ＳＩＮ４）の少なくとも２つの信号に対してそれぞれ異なるセル入力信号を割り当てることが可能になるため、選択部１０において複数のセル入力信号から１つの信号を選択して出力するように論理機能を構成することが可能になる。すなわち、ＬＵＴとして用いられる選択部１０の本来の機能を直接利用して、複数のセル入力信号から１つを選択するセレクタ機能を実現することができる。したがって、本実施形態に係る半導体集積回路によれば、このようなセレクタ機能をＬＵＴで実現する場合に比べて回路セルの必要数を大幅に減らすことが可能となり、回路サイズの増大を抑えることができる。
また、選択部１０をＬＵＴのみに用いる従来の回路セルと比較して、特別な回路素子を追加することなく、より多くの論理機能を構成することが可能になるため、回路セルの利用効率を大幅に向上し、回路サイズの増大を抑えることができる。
【００７９】
また、本実施形態の回路セルでは、出力信号数の異なる論理機能を構成することが可能である。
例えば２つのセル入力信号群に対応した２つのセル出力信号を生成するように回路セルの論理機能を構成する場合、制御信号生成部２０においては、選択部１０を２個の２対１セレクタとして機能させる制御信号が生成される。選択部１０では、制御信号生成部２０が生成する２ビットのスイッチ制御信号（ＣＮＴ１及びＣＮＴ２）に応じて選択入力信号ＳＩＮ１又はＳＩＮ２が選択され、信号ＳＯＡとして出力されるとともに、制御信号生成部２０が生成する他の２ビットのスイッチ制御信号ＣＮＴ３及びＣＮＴ４に応じて選択入力信号ＳＩＮ３又はＳＩＮ４が選択され、信号ＳＯＢとして出力される。出力部４０では、信号ＳＯＡ，ＳＯＢがそのままセル出力信号ＱＡ，ＱＢとして回路セルの外部に出力される。
他方、３以上のセル入力信号に応じて１つのセル出力信号を生成するように回路セル全体の論理機能が構成される場合、制御信号生成部２０においては、選択部１０を４対１セレクタとして機能させる制御信号が生成される。選択部１０では、制御信号生成部２０が生成する４ビットのスイッチ制御信号ＣＮＴ１〜ＣＮＴ４に応じて４つの選択入力信号ＳＩＮ１〜ＳＩＮ４の何れか１つが選択され、信号ＳＯＡ又はＳＯＢとして出力される。出力部４０では、信号ＳＯＡ、ＳＯＢが１つのセル出力信号に集約され、回路セルの外部に出力される。
このように、本実施形態によれば、回路セルにおいて出力信号数の異なる論理機能を構成できるため、出力信号数が常に固定されている場合に比べて回路セルの利用効率を高めることができる。例えば２入力１出力の論理回路を２つ作る場合、回路セルの論理機能が３入力１出力に固定されている場合には２つの回路セルが必要になるが、本実施形態に係る回路セルでは、３入力１出力の論理機能のみならず２入力１出力の論理機能を２組構成することも可能であるため、１つの回路セルで済む。この場合、回路セルの利用効率は２倍になる。このように、本実施形態によれば回路サイズの増大をより効果的に抑制することができる。
【００８０】
更に、本実施形態によれば、２つのセル入力信号群に対応した２つのセル出力信号を生成するように回路セルの論理機能が構成される場合において、少なくとも１つのセル入力信号群については、そのセル入力信号群における２つのセル入力信号を、そのセル入力信号群に対応する選択入力信号群の別々の選択入力信号に割り当てることが可能である。すなわち、複数のセル出力信号を生成する場合においても、選択部１０の本来の機能を直接利用して、複数のセル入力信号から１つを選択するセレクタ機能を実現できるため、回路セルの必要数を低減して回路サイズの増大を抑えることができる。
【００８１】
すなわち本実施形態によれば、ＬＵＴとして用いられる選択部１０をセレクタ機能に利用できることや、出力信号数の異なる論理機能を構成できることなどによって、個々の回路セルがより多くの論理機能を構成できるようになるため、回路セルの利用効率が向上し、回路サイズの増大を抑制することができる。
【００８２】
以上、本発明の一実施形態について説明したが、本発明は上述した形態のみに限定されるものではなく、種々の変形例を含んでいる。
【００８３】
上述の実施形態では、図２に示す回路セルにおいて構成可能な論理機能の例として４つのパターン（図４〜図７）を挙げているが、これらは図２に示す回路セルにおいて実現可能な論理機能の一部であり、他にも様々な論理機能を構成可能である。例えば、図６の例では２つの２対１セレクタを構成しているが、一方の２対１セレクタを２入力論理回路に置き換えることも可能である。
【００８４】
上述の実施形態において挙げたセル入力信号やセル出力信号の数などの具体的数値は任意である。例えばＮ個（Ｎ＞２）のセル入力信号群に対応したＮ個のセル出力信号を生成する論理機能を構成可能であるとともに、Ｍ個（Ｎ＞Ｍ≧１）のセル入力信号群に対応したＭ個のセル出力信号を生成する論理機能を構成可能な回路セルなども本発明によって実現可能である。
【００８５】
上述の実施形態では、回路セルの論理機能をビヤの有無によってプログラムする例が挙げられているが、本発明はこの例に限定されない。例えば、ビヤの代わりにトランジスタ等で構成されたスイッチを設けて、メモリ（ＲＡＭや不揮発メモリなど）に格納されるデータに基づいてこのスイッチのオン／オフを制御してもよい。
【００８６】
上述の実施形態では、固定配線とビヤによってセル間を接続する例を挙げているが、これに限らず、各回路セルのプログラム領域以外を既存の自動配線ツールを用いたカスタム配線によって接続することも可能である。これらの接続方式は、カスタム配線に必要なリソースと、固定配線によるマスク代のコスト削減効果とのトレードオフなど勘案してユーザが適宜選択可能である。
【００８７】
また本発明に係る回路セルは、ストラクチャードＡＳＩＣ向けの回路セルのみに使えるものではなく、例えばスタンダードセル手法のようないくつかの論理セルを論理に合わせて並べて回路を構成する場合に、その論理セルライブラリの一つとして使うことも可能である。
【図面の簡単な説明】
【００８８】
【図１】本発明の実施形態に係る半導体集積回路の構成の一例を示す図である。
【図２】回路セルの構成の一例を示す図である。
【図３】制御信号生成部と選択部の構成例を示す図である。
【図４】図２に示す回路セルに３入力１出力の論理機能を構成する例を示す図である。
【図５】図２に示す回路セルに４対１セレクタ機能を構成する例を示す図である。
【図６】図２に示す回路セルに２組の２対１セレクタ機能を構成する例を示す図である。
【図７】図２に示す回路セルに２入力１出力の論理機能を２つ構成する例を示す図である。
【図８】図２に示す回路セルの構造の一例を示す図である。
【図９】図８に示す回路セルに３入力１出力の論理機能を構成する例を示す図である。
【図１０】図８に示す回路セルに４対１セレクタ機能を構成する例を示す図である。
【図１１】図８に示す回路セルに２組の２対１セレクタ機能を構成する例を示す図である。
【図１２】図８に示す回路セルに２入力１出力の論理機能を２組構成する例を示す図である。
【図１３】ストラクチャードＡＳＩＣの回路セルの一例を示す図である。
【図１４】図１３に示す回路セルを用いて４対１のセレクタ回路を構成する例を示す図である。
【符号の説明】
【００８９】
１０…選択部、２０…制御信号生成部、２１…デコード部、２２…プログラム部、３０…プログラム部（割り当て部）、４０…出力部、ＩＮＶ，ＩＮＶ１〜ＩＮＶ３…インバータ回路、Ｕ１〜Ｕ４…ＮＡＮＤ回路、ＴＧ…トランスミッションゲート、ＬＡ１〜ＬＡ２０，ＬＢ１〜ＬＢ１３…配線、ＬＣ１，ＬＣ２，ＬＲ１，ＬＲ２…配線群
【図１】
2007294676.tif 000003
【図２】
2007294676.tif 000004
【図３】
2007294676.tif 000005
【図４】
2007294676.tif 000006
【図５】
2007294676.tif 000007
【図６】
2007294676.tif 000008
【図７】
2007294676.tif 000009
【図８】
2007294676.tif 000010
【図９】
2007294676.tif 000011
【図１０】
2007294676.tif 000012
【図１１】
2007294676.tif 000013
【図１２】
2007294676.tif 000014
【図１３】
2007294676.tif 000015
【図１４】
2007294676.tif 000016