(57)【要約】【課題】基本構成単位となる回路セルの使用効率を高めて回路素子の無駄を減らし、回路サイズの増大を抑えることができる半導体集積回路を提供する。【解決手段】乗算器などの種々のディジタル回路において多用されるＮＡＮＤ回路Ｕ１を回路セル中に予め内蔵させることにより、回路セルの使用効率の向上を図り、半導体集積回路の全体のサイズを抑えることができる。また、ルックアップテーブルとしての動作に必要な論理反転の機能とＮＡＮＤ演算の機能とをＮＡＮＤ回路Ｕ１に併せ持たせることにより、ＮＡＮＤ回路を単純に回路セルに付け足す方式と比べて、回路素子を効率的に使用できる。【選択図】      図２
2006148301.tif 000002
【特許請求の範囲】
【請求項１】
論理機能を適応的に構成可能な複数の回路セルを有する半導体集積回路であって、
上記回路セルは、
第１入力端子および少なくとも１つの第２入力端子を含んだ複数の入力端子と、
第１出力端子と、
所定の信号群の中から当該回路セルに構成される論理機能に応じた信号をそれぞれ入力する、もしくは、当該回路セルに構成される論理機能に応じて上記第１入力端子から絶縁される複数のノードと、
上記複数のノードのうち、上記複数の入力端子の少なくとも一部から入力される信号に応じて選択したノードと上記第１入力端子とを接続する選択回路と、
上記第１入力端子および上記第２入力端子から入力される信号同士の反転論理積を演算し、当該反転論理積を上記第１出力端子へ出力する第１論理回路と
を有する
半導体集積回路。
【請求項２】
上記回路セルは、上記複数の入力端子のうちの所定の入力端子から入力される信号を論理反転するインバータ回路を更に有し、
上記所定の信号群は、上記第インバータ回路の入力信号および出力信号を含む、
請求項１に記載の半導体集積回路。
【請求項３】
上記回路セルは、上記所定の入力端子から入力される信号を増幅して上記インバータ回路に入力する第１増幅回路を更に有し、
上記所定の信号群は、上記第１増幅回路において増幅された信号を含む、
請求項２に記載の半導体集積回路。
【請求項４】
上記選択回路は、上記複数のノードと上記第２入力端子との間の信号経路に挿入され、上記複数の入力端子の少なくとも一部から入力される信号に応じてそれぞれオンまたはオフに設定される複数のスイッチを含む、
請求項１に記載の半導体集積回路。
【請求項５】
上記スイッチは、ｎチャンネル絶縁ゲート型トランジスタを含む、
請求項４に記載の半導体集積回路。
【請求項６】
上記スイッチは、並列に接続され、共通にオンまたはオフするように駆動されるｎチャンネル絶縁ゲート型トランジスタおよびｐチャンネル絶縁ゲート型トランジスタを含む、
請求項４に記載の半導体集積回路。
【請求項７】
上記回路セルは、
上記複数のノードに接続される複数の第１配線と、
上記所定の信号群の各信号を伝送する複数の第２配線と、
上記複数の第２配線の何れか１つを、当該回路セルに構成される論理機能に応じて選択的に上記第１配線に接続する１つまたは複数の第３配線と
を更に有する、
請求項１に記載の半導体集積回路。
【請求項８】
上記複数の第１配線は、第１配線層に形成され、
上記複数の第２配線は、上記第１配線層を覆う第２配線層に形成され、
上記第３配線は、上記第１配線と上記第２配線とを接続するビヤを含む、
請求項７に記載の半導体集積回路。
【請求項９】
上記回路セルは、
上記複数の入力端子の少なくとも一部から入力される信号同士の反転論理積を演算して出力する第２論理回路と、
上記第２論理回路の出力信号を当該回路セルの外部へ出力する第２出力端子と
を更に有し、
上記選択回路は、上記複数のノードと上記第１入力端子との間の信号経路に挿入され、２つの入力信号の一方を選択して出力する選択素子を含み、
上記選択素子は、
第１入力ノードおよび第２入力ノードと、
出力ノードと、
上記第１入力ノードと上記出力ノードとの間に接続され、上記第２論理回路に入力される複数の信号のうちの所定の信号が第１の値を持つ場合にオンし、上記第１の値を論理反転させた第２の値を持つ場合にオフする第１スイッチと、
上記第２入力ノードと上記出力ノードとの間に接続され、上記第２論理回路の出力信号が上記第１の値を持つ場合にオンし、上記第２の値を持つ場合にオフする第２スイッチと
を含む、
請求項１に記載の半導体集積回路。
【請求項１０】
上記回路セルは、上記第２論理回路の出力信号を伝送する配線と上記複数の入力端子の少なくとも一部とを、当該回路セルに構成される論理機能に応じて接続する配線を更に有する、
請求項９に記載の半導体集積回路。
【請求項１１】
上記回路セルは、上記複数の入力端子の少なくとも一部から入力される信号同士の反転論理積を演算して出力する第３論理回路を更に有し、
上記所定の信号群は、上記第３論理回路の出力信号と、上記第３の論理回路に入力される複数の信号の少なくとも１つとを含む、
請求項１に記載の半導体集積回路。
【請求項１２】
上記回路セルは、上記入力端子から入力される信号を増幅して上記第３論理回路に入力する第３増幅回路を更に含み、
上記所定の信号群は、上記第３増幅回路において増幅された信号を含む、
請求項１１に記載の半導体集積回路。
【請求項１３】
上記回路セルは、上記第３論理回路の出力信号を当該回路セルの外部へ出力する第３出力端子を更に有する、
請求項１１に記載の半導体集積回路。
【請求項１４】
上記回路セルは、上記第３論理回路の出力信号を伝送する配線と上記複数の入力端子の少なくとも一部とを、当該回路セルに構成される論理機能に応じて接続する配線を更に有する、
請求項１１に記載の半導体集積回路。
【請求項１５】
論理機能を適応的に構成可能な複数の回路セルを有する半導体集積回路であって、
上記回路セルは、
複数の入力端子と、
第１出力端子と、
所定の信号群の中から、当該回路セルに構成される論理機能に応じた信号をそれぞれ入力する複数のノードと、
上記複数のノードに入力される信号のうち、上記複数の入力端子の少なくとも一部から入力される信号に応じて選択した信号を上記第１出力端子に出力する選択回路と、
上記複数の入力端子の少なくとも一部に入力される信号同士の反転論理積を演算して出力する論理回路と、
上記論理回路の出力信号を当該回路セルの外部へ出力する第２出力端子と
を有し、
上記選択回路は、上記複数のノードと上記第１出力端子との間の信号経路に挿入され、２つの入力信号の一方を選択して出力する選択素子を含み、
上記選択素子は、
第１入力ノードおよび第２入力ノードと、
出力ノードと、
上記第１入力ノードと上記出力ノードとの間に接続され、上記論理回路に入力される複数の信号のうち所定の信号が第１の値を持つ場合にオンし、上記第１の値を論理反転させた第２の値を持つ場合にオフする第１スイッチと、
上記第２入力ノードと上記出力ノードとの間に接続され、上記論理回路の出力信号が上記第１の値を持つ場合にオンし、上記第２の値を持つ場合にオフする第２スイッチと
を含む、
半導体集積回路。
【請求項１６】
上記回路セルは、上記論理回路の出力信号を伝送する配線と上記複数の入力端子の少なくとも一部とを、当該回路セルに構成される論理機能に応じて接続する配線を更に有する、
請求項１５に記載の半導体集積回路。
【請求項１７】
上記回路セルは、上記複数の入力端子のうちの所定の入力端子から入力される信号を論理反転するインバータ回路を更に有し、
上記所定の信号群は、上記第インバータ回路の入力信号および出力信号を含む、
請求項１５に記載の半導体集積回路。
【請求項１８】
上記回路セルは、上記所定の入力端子から入力される信号を増幅して上記インバータ回路に入力する第１増幅回路を更に有し、
上記所定の信号群は、上記第１増幅回路において増幅された信号を含む、
請求項１７に記載の半導体集積回路。
【請求項１９】
上記回路セルは、上記選択回路において選択された信号を増幅して上記第１出力端子に出力する第２増幅回路を有する、
請求項１５に記載の半導体集積回路。
【請求項２０】
上記第１スイッチおよび上記第２スイッチは、ｎチャンネル絶縁ゲート型トランジスタをそれぞれ含む、
請求項１５に記載の半導体集積回路。
【請求項２１】
上記第１スイッチおよび上記第２スイッチは、並列に接続され、共通にオンまたはオフするように駆動されるｎチャンネル絶縁ゲート型トランジスタおよびｐチャンネル絶縁ゲート型トランジスタをそれぞれ含む、
請求項１５に記載の半導体集積回路。
【請求項２２】
上記回路セルは、
上記複数のノードに接続される複数の第１配線と、
上記所定の信号群の各信号を伝送する複数の第２配線と、
上記複数の第２配線の何れか１つを、当該回路セルに構成される論理機能に応じて選択的に上記第１配線に接続する１つまたは複数の第３配線と
を更に有する、
請求項１５に記載の半導体集積回路。
【請求項２３】
上記複数の第１配線は、第１配線層に形成され、
上記複数の第２配線は、上記第１配線層を覆う第２配線層に形成され、
上記第３配線は、上記第１配線と上記第２配線とを接続するビヤを含む、
請求項２２に記載の半導体集積回路。
【請求項２４】
上記回路セルは、上記複数の入力端子の少なくとも一部から入力される信号同士の反転論理積を演算して出力する第３論理回路を更に有し、
上記所定の信号群は、上記第３論理回路の出力信号と、上記第３の論理回路に入力される複数の信号の少なくとも１つとを含む、
請求項１５に記載の半導体集積回路。
【請求項２５】
上記回路セルは、上記入力端子から入力される信号を増幅して上記第３論理回路に入力する第３増幅回路を更に含み、
上記所定の信号群は、上記第３増幅回路において増幅された信号を含む、
請求項２４に記載の半導体集積回路。
【請求項２６】
上記回路セルは、上記第３論理回路の出力信号を当該回路セルの外部へ出力する第３出力端子を更に有する、
請求項２４に記載の半導体集積回路。
【請求項２７】
上記回路セルは、上記第３論理回路の出力信号を伝送する配線と上記複数の入力端子の少なくとも一部とを、当該回路セルに構成される論理機能に応じて接続する配線を更に有する、
請求項２４に記載の半導体集積回路。
【請求項２８】
論理機能を適応的に構成可能な複数の回路セルを有する半導体集積回路であって、
上記回路セルは、
複数の入力端子と、
第１出力端子と、
上記複数の入力端子の少なくとも一部から入力される信号同士の反転論理積を演算して出力する論理回路と、
上記論理回路の出力信号と上記論理回路に入力される少なくとも１つの信号とを含んだ所定の信号群の中から、当該回路セルに構成される論理機能に応じた信号をそれぞれ入力する複数のノードと、
上記複数のノードに入力される信号のうち、上記複数の入力端子の少なくとも一部から入力される信号に応じて選択した信号を上記第１出力端子に出力する選択回路と
を有する半導体集積回路。
【請求項２９】
上記回路セルは、上記選択回路において選択された信号を増幅して上記第１出力端子に出力する増幅回路を更に有する、
請求項２８に記載の半導体集積回路。
【請求項３０】
上記回路セルは、上記論理回路の出力信号を当該回路セルの外部へ出力する出力端子を更に有する、
請求項２８に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばストラクチャードＡＳＩＣなど、基本構成単位となる回路セルを複数接続して回路が構成される半導体集積回路に関するものである。
【背景技術】
【０００２】
ストラクチャードＡＳＩＣは、回路の最小構成単位として、ＮＡＮＤ回路のような基本ゲートよりも粒度の粗い構造を持った回路セルを用いるＩＣである。
【０００３】
ストラクチャードＡＳＩＣの基本論理構成単位に関する代表的な論文として、例えば"Regular logic fabrics for a via patterned gate array (VPGA), CMU K.Y.Tong, IBM R.Puri, IEEE 2003 Custom integrated circuits conference"がある。この論文では、３入力ルックアップテーブル、スキャンフリップフロップ、２つの３入力ＮＡＮＤ回路、７つのバッファを用いて基本構成単位を構成している。
また特許文献１においては、ルックアップテーブルの入力にＮＡＮＤ回路を接続した論理セルが提案されている。
【０００４】
ストラクチャードＡＳＩＣは、ＦＰＧＡ（field programmable gate array）と異なり、配線の一部を用途に合わせてカスタマイズするマスク・ルーティングにより所望の機能を持った回路を構成することができる。ＦＰＧＡにおける再構成可能な配線構造は非常に無駄が多いが、それをマスク・ルーティングに置き換えることによって、スタンダードセル方式より無駄があるものの、ＦＰＧＡよりは非常に無駄が少ない回路を短期間に開発できるというメリットがある。
【特許文献１】米国特許第６２３６２２９号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、先に述べた論文や特許文献１で提案されているストラクチャードＡＳＩＣの基本論理構成単位には、何れもＮＡＮＤ回路が含まれている。例えば乗算器など、一般的にディジタル回路は基本的な論理演算としてＮＡＮＤ演算を多用しているため、回路サイズの小さいＮＡＮＤ回路を基本論理構成単位に予め内蔵させることにより、全体の回路サイズを抑えることができる。また、ＮＡＮＤ回路はルックアップテーブルに比べて高速に動作するため、回路の動作速度の性能を向上させることができる。
【０００６】
しかしながら、上述した従来の基本構成単位は、ルックアップテーブルなどの構成要素にＮＡＮＤ回路を単純に付け足したものであるため、例えばルックアップテーブルのみを使用する場合には、付け足したＮＡＮＤ回路が不要になってしまい、未使用の無駄な回路素子が存在してしまうという不利益がある。
基本構成単位に生じる無駄は、集積回路の全体に影響を及ぼすため、できる限り削減することが望まれる。
【０００７】
本発明はかかる事情に鑑みてなされたものであり、その目的は、基本構成単位となる回路セルの無駄を減らし、回路サイズの増大を抑えることができる半導体集積回路を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の第１の観点の半導体集積回路は、論理機能を適応的に構成可能な複数の回路セルを有しており、上記回路セルは、第１入力端子および少なくとも１つの第２入力端子を含んだ複数の入力端子と、第１出力端子と、所定の信号群の中から当該回路セルに構成される論理機能に応じた信号をそれぞれ入力する、もしくは、当該回路セルに構成される論理機能に応じて上記第１入力端子から絶縁される複数のノードと、上記複数のノードのうち、上記複数の入力端子の少なくとも一部から入力される信号に応じて選択したノードと上記第１入力端子とを接続する選択回路と、上記第１入力端子および上記第２入力端子から入力される信号同士の反転論理積を演算し、当該反転論理積を上記第１出力端子へ出力する第１論理回路とを有する。
【０００９】
上記第１の観点によると、上記回路セルの上記複数のノードには、所定の信号群の中から当該回路セルに構成される論理機能に応じた信号がそれぞれ入力される。もしくは、上記複数のノードは、当該回路セルに構成される論理機能に応じて上記第１入力端子から絶縁される。この複数のノードのうち、上記複数の入力端子の少なくとも一部から入力される信号に応じたノードが上記選択回路において選択され、当該選択されたノードが上記第１入力端子に接続される。
上記第１入力端子が回路セル外部の回路に接続されず開放されており、かつ、上記複数のノードのそれぞれに上記所定の信号群から選ばれた信号が入力されている場合、上記第１出力端子には、上記選択回路において選択されたノードの信号と、上記第２入力端子から入力される信号との反転論理積が出力される。
上記第１入力端子が回路セル外部の回路から信号を入力し、かつ、上記複数のノードが上記第１入力端子から絶縁される場合、上記第１出力端子には、上記第１入力端子から入力される信号と、上記第２入力端子から入力される信号との反転論理積が出力される。
【００１０】
上記回路セルは、上記複数の入力端子のうちの所定の入力端子から入力される信号を論理反転するインバータ回路を更に有しても良い。上記所定の信号群は、上記第インバータ回路の入力信号および出力信号を含んでも良い。
また、上記回路セルは、上記所定の入力端子から入力される信号を増幅して上記インバータ回路に入力する第１増幅回路を更に有しても良い。上記所定の信号群は、上記第１増幅回路において増幅された信号を含んでも良い。
【００１１】
上記選択回路は、上記複数のノードと上記第２入力端子との間の信号経路に挿入され、上記複数の入力端子の少なくとも一部から入力される信号に応じてそれぞれオンまたはオフに設定される複数のスイッチを含んでも良い。
上記スイッチは、例えば、ｎチャンネル絶縁ゲート型トランジスタを含んでも良い。
あるいは、上記スイッチは、並列に接続され、共通にオンまたはオフするように駆動されるｎチャンネル絶縁ゲート型トランジスタおよびｐチャンネル絶縁ゲート型トランジスタを含んでも良い。
【００１２】
上記回路セルは、上記複数のノードに接続される複数の第１配線と、上記所定の信号群の各信号を伝送する複数の第２配線と、上記複数の第２配線の何れか１つを、当該回路セルに構成される論理機能に応じて選択的に上記第１配線に接続する１つまたは複数の第３配線とを更に有しても良い。
この場合、上記複数の第１配線は、第１配線層に形成され、上記複数の第２配線は、上記第１配線層を覆う第２配線層に形成され、上記第３配線は、上記第１配線と上記第２配線とを接続するビヤを含んでも良い。
【００１３】
上記回路セルは、上記複数の入力端子の少なくとも一部から入力される信号同士の反転論理積を演算して出力する第２論理回路と、上記第２論理回路の出力信号を当該回路セルの外部へ出力する第２出力端子とを更に有しても良い。上記選択回路は、上記複数のノードと上記第１入力端子との間の信号経路に挿入され、２つの入力信号の一方を選択して出力する選択素子を含んでも良い。上記選択素子は、第１入力ノードおよび第２入力ノードと、出力ノードと、上記第１入力ノードと上記出力ノードとの間に接続され、上記第２論理回路に入力される複数の信号のうちの所定の信号が第１の値を持つ場合にオンし、上記第１の値を論理反転させた第２の値を持つ場合にオフする第１スイッチと、上記第２入力ノードと上記出力ノードとの間に接続され、上記第２論理回路の出力信号が上記第１の値を持つ場合にオンし、上記第２の値を持つ場合にオフする第２スイッチとを含んでも良い。
この場合、上記回路セルは、上記第２論理回路の出力信号を伝送する配線と上記複数の入力端子の少なくとも一部とを、当該回路セルに構成される論理機能に応じて接続する配線を更に有しても良い。
【００１４】
上記回路セルは、上記複数の入力端子の少なくとも一部から入力される信号同士の反転論理積を演算して出力する第３論理回路を更に有しても良い。上記所定の信号群は、上記第３論理回路の出力信号と、上記第３の論理回路に入力される複数の信号の少なくとも１つとを含んでも良い。
この場合、上記回路セルは、上記入力端子から入力される信号を増幅して上記第３論理回路に入力する第３増幅回路を更に含んでも良い。上記所定の信号群は、上記第３増幅回路において増幅された信号を含んでも良い。
また、上記回路セルは、上記第３論理回路の出力信号を当該回路セルの外部へ出力する第３出力端子を更に有しても良い。
また、上記回路セルは、上記第３論理回路の出力信号を伝送する配線と上記複数の入力端子の少なくとも一部とを、当該回路セルに構成される論理機能に応じて接続する配線を更に有しても良い。
【００１５】
本発明の第２の観点の半導体集積回路は、論理機能を適応的に構成可能な複数の回路セルを有しており、上記回路セルは、複数の入力端子と、第１出力端子と、所定の信号群の中から、当該回路セルに構成される論理機能に応じた信号をそれぞれ入力する複数のノードと、上記複数のノードに入力される信号のうち、上記複数の入力端子の少なくとも一部から入力される信号に応じて選択した信号を上記第１出力端子に出力する選択回路と、上記複数の入力端子の少なくとも一部に入力される信号同士の反転論理積を演算して出力する論理回路と、上記論理回路の出力信号を当該回路セルの外部へ出力する第２出力端子とを有する。上記選択回路は、上記複数のノードと上記第１出力端子との間の信号経路に挿入され、２つの入力信号の一方を選択して出力する選択素子を含む。上記選択素子は、第１入力ノードおよび第２入力ノードと、出力ノードと、上記第１入力ノードと上記出力ノードとの間に接続され、上記論理回路に入力される複数の信号のうち所定の信号が第１の値を持つ場合にオンし、上記第１の値を論理反転させた第２の値を持つ場合にオフする第１スイッチと、上記第２入力ノードと上記出力ノードとの間に接続され、上記論理回路の出力信号が上記第１の値を持つ場合にオンし、上記第２の値を持つ場合にオフする第２スイッチとを含む。
【００１６】
上記第２の観点によると、上記回路セルの上記複数のノードは、所定の信号群の中から、当該回路セルに構成される論理機能に応じた信号をそれぞれ入力する。この複数のノードに入力される信号のうち、上記複数の入力端子の少なくとも一部から入力される信号に応じた信号が上記選択回路において選択され、当該選択された信号が上記第１出力端子に出力される。
一方、上記選択回路は、上記複数のノードと上記第１出力端子との間の信号経路に挿入される選択素子を含んでおり、この選択素子における信号の選択状態は、上記論理回路に入力される上記所定の信号の値と、上記論理回路の出力信号の値とに応じて決まる。すなわち、上記所定の信号が第１の値を持ち、上記論理回路の出力信号が第２の値を持つ場合、上記第１のスイッチがオン、上記第２のスイッチがオフするため、上記選択素子の第１入力ノードに入力される信号が上記選択素子の出力ノードより出力される。逆に、上記所定の信号が第２の値を持ち、上記論理回路の出力信号が第１の値を持つ場合、上記第１のスイッチがオフ、上記第２のスイッチがオンするため、上記選択素子の第２入力ノードに入力される信号が上記選択素子の出力ノードより出力される。
そこで、上記論理回路に入力される複数の信号のうち、上記所定の信号を除く他の信号が固定値１'となるように上記入力端子の入力信号を設定すると、上記論理回路はインバータ回路として動作し、上記選択素子の選択状態は上記所定の信号の値に応じて切り替えられる。
また、上記回路セルには、上記論理回路の出力信号を当該回路セルの外部へ出力する第２出力端子が設けられているため、上記論理回路を反転論理積回路として独立に回路セル外部の回路に接続することも可能である。
【００１７】
上記回路セルは、上記論理回路の出力信号を伝送する配線と上記複数の入力端子の少なくとも一部とを、当該回路セルに構成される論理機能に応じて接続する配線を更に有しても良い。
【００１８】
上記回路セルは、上記複数の入力端子のうちの所定の入力端子から入力される信号を論理反転するインバータ回路を更に有しても良い。上記所定の信号群は、上記第インバータ回路の入力信号および出力信号を含んでも良い。
この場合、上記回路セルは、上記所定の入力端子から入力される信号を増幅して上記インバータ回路に入力する第１増幅回路を更に有しても良い。上記所定の信号群は、上記第１増幅回路において増幅された信号を含んでも良い。
【００１９】
上記回路セルは、上記選択回路において選択された信号を増幅して上記第１出力端子に出力する第２増幅回路を更に有しても良い。
【００２０】
上記第１スイッチおよび上記第２スイッチは、例えば、ｎチャンネル絶縁ゲート型トランジスタをそれぞれ含んでも良い。
あるいは、上記第１スイッチおよび上記第２スイッチは、並列に接続され、共通にオンまたはオフするように駆動されるｎチャンネル絶縁ゲート型トランジスタおよびｐチャンネル絶縁ゲート型トランジスタをそれぞれ含んでも良い。
【００２１】
上記回路セルは、上記複数のノードに接続される複数の第１配線と、上記所定の信号群の各信号を伝送する複数の第２配線と、上記複数の第２配線の何れか１つを、当該回路セルに構成される論理機能に応じて選択的に上記第１配線に接続する１つまたは複数の第３配線とを更に有しても良い。
この場合、上記複数の第１配線は、第１配線層に形成され、上記複数の第２配線は、上記第１配線層を覆う第２配線層に形成され、上記第３配線は、上記第１配線と上記第２配線とを接続するビヤを含んでも良い。
【００２２】
上記回路セルは、上記複数の入力端子の少なくとも一部から入力される信号同士の反転論理積を演算して出力する第３論理回路を更に有しても良い。上記所定の信号群は、上記第３論理回路の出力信号と、上記第３の論理回路に入力される複数の信号の少なくとも１つとを含んでも良い。
この場合、上記回路セルは、上記入力端子から入力される信号を増幅して上記第３論理回路に入力する第３増幅回路を更に含んでも良い。上記所定の信号群は、上記第３増幅回路において増幅された信号を含んでも良い。
また、上記回路セルは、上記第３論理回路の出力信号を当該回路セルの外部へ出力する第３出力端子を更に有しても良い。
また、上記回路セルは、上記第３論理回路の出力信号を伝送する配線と上記複数の入力端子の少なくとも一部とを、当該回路セルに構成される論理機能に応じて接続する配線を更に有しても良い。
【００２３】
本発明の第３の観点の半導体集積回路は、論理機能を適応的に構成可能な複数の回路セルを有しており、上記回路セルは、複数の入力端子と、第１出力端子と、上記複数の入力端子の少なくとも一部から入力される信号同士の反転論理積を演算して出力する論理回路と、上記論理回路の出力信号と上記論理回路に入力される少なくとも１つの信号とを含んだ所定の信号群の中から、当該回路セルに構成される論理機能に応じた信号をそれぞれ入力する複数のノードと、上記複数のノードに入力される信号のうち、上記複数の入力端子の少なくとも一部から入力される信号に応じて選択した信号を上記第１出力端子に出力する選択回路とを有する。
【００２４】
上記第３の観点によると、上記複数の入力端子の少なくとも一部から入力される信号同士の反転論理積が上記論理回路において演算される。上記回路セルの上記複数のノードは、上記論理回路の出力信号と上記論理回路に入力される少なくとも１つの信号とを含んだ所定の信号群の中から、当該回路セルに構成される論理機能に応じた信号をそれぞれ入力する。この複数のノードに入力される信号のうち、上記複数の入力端子の少なくとも一部から入力される信号に応じた信号が上記選択回路において選択され、上記第１出力端子に出力される。
【００２５】
上記回路セルは、上記選択回路において選択された信号を増幅して上記第１出力端子に出力する増幅回路を更に有しても良い。
また、上記回路セルは、上記論理回路の出力信号を当該回路セルの外部へ出力する出力端子を更に有しても良い。
【発明の効果】
【００２６】
本発明によれば、ＮＡＮＤ演算の機能を有する回路に、回路セル中において必要な論理反転の機能を併せ持たせることにより、回路セルの無駄を減らし、回路サイズの増大を抑えることができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施形態について、図面を参照して説明する。
【００２８】
図１は、本発明の実施形態に係る半導体集積回路の構成の一例を示す図である。
図１に示す半導体集積回路は、ｍｘｎ個の回路セルＣ１１〜Ｃｍｎを有する。この回路セルＣ１１〜Ｃｍｎは、例えば図１に示すように、ｍ行ｎ列の行列状に配列される。
【００２９】
各回路セルは、ＮＡＮＤ回路のような基本ゲートより粒度の粗い構造を有しており、それぞれの論理機能を適応的に構成することが可能である。すなわち、回路セル毎に独立した論理機能を持たせることが可能である。
各回路セルに対する論理機能のプログラムは、例えば、回路セル毎に独立したプログラム用配線（ビヤ等）を形成することにより行う。
また、回路セル同士の結線についても、例えば回路セルのプログム方法と同様に、予め決められた規則的な構造の配線をビヤ等の配線で接続することにより行う。この配線構造については、後ほど図１２を参照して詳述する。
【００３０】
図２は、回路セルの第１の構成例を示す図である。
図２に示す回路セルは、入力端子Ａ，Ｂ，Ｃ，Ｄ１，Ｄ２と、出力端子Ｙ１およびＹ１ｂと、テスト用の入力端子Ｔａ，Ｔｂ，Ｔｃ，Ｔｄ２と、ｎチャンネルＭＯＳ型のトランジスタＱｎ１，・・・，Ｑｎ１３，Ｑｎ１４−２，Ｑｎ１５と、ｐチャンネルＭＯＳ型のトランジスタＱｐ７と、インバータ回路ＩＮＶ１，・・・，ＩＮＶ４と、ＮＡＮＤ回路Ｕ１とを有する。
【００３１】
なお、入力端子Ａ，Ｂ，Ｃ，Ｄ１，Ｄ２は、本発明の入力端子の一実施形態である。
入力端子Ｄ１は、本発明の第１入力端子の一実施形態である。
入力端子Ｄ２は、本発明の第２入力端子の一実施形態である。
出力端子Ｙ１は、本発明の第１出力端子の一実施形態である。
ＮＡＮＤ回路Ｕ１は、本発明の第１論理回路の一実施形態である。
トランジスタＱｎ１〜Ｑｎ６を含む回路は、本発明の選択回路の一実施形態である。
トランジスタＱｎ１〜Ｑｎ６は、本発明のｎチャンネル絶縁ゲート型トランジスタの一実施形態である。
インバータ回路ＩＮＶ４は、本発明のインバータ回路の一実施形態である。
【００３２】
入力端子Ａ，Ｂ，Ｃ，Ｄ１，Ｄ２は、回路セルの外部（他の回路セルや入出力回路など）から信号を入力する。
出力端子Ｙ１およびＹ１ｂは、回路セルの外部へ信号を出力する。
【００３３】
インバータ回路ＩＮＶ２は、入力端子Ａに入力される信号を論理反転して出力する。
インバータ回路ＩＮＶ３は、入力端子Ｂに入力される信号を論理反転して出力する。
インバータ回路ＩＮＶ４は、入力端子Ｃに入力される信号を論理反転して出力する。
【００３４】
トランジスタＱｎ１は、ノードＮ１とノードＮ６の間に接続される。
トランジスタＱｎ２は、ノードＮ２とノードＮ６の間に接続される。
トランジスタＱｎ３は、ノードＮ３とノードＮ７の間に接続される。
トランジスタＱｎ４は、ノードＮ４とノードＮ７の間に接続される。
トランジスタＱｎ５は、ノードＮ６とノードＮ５の間に接続される。
トランジスタＱｎ６は、ノードＮ７とノードＮ５の間に接続される。
ノードＮ５は、入力端子Ｄ１に接続される。
トランジスタＱｎ１およびＱｎ３のゲートは、入力端子Ｂに接続される。
トランジスタＱｎ２およびＱｎ４のゲートは、入力端子Ｂの信号を論理反転するインバータ回路ＩＮＶ３の出力に接続される。
トランジスタＱｎ５のゲートは、入力端子Ａに接続される。
トランジスタＱｎ６のゲートは、入力端子Ａの信号を論理反転するインバータ回路ＩＮＶ２の出力に接続される。
【００３５】
ＮＡＮＤ回路Ｕ１は、入力端子Ｄ１およびＤ２から入力される信号同士の反転論理積を演算し、当該反転論理積を出力端子Ｙ１へ出力する。
【００３６】
トランジスタＱｐ７は、ＮＡＮＤ回路Ｕ１の出力がローレベルのときにノードＮ５をプルアップする。
トランジスタＱｐ７のソースは電源電圧ＶＤＤに接続され、そのドレインはノードＮ５に接続され、そのゲートはＮＡＮＤ回路Ｕ１の出力に接続される。
【００３７】
インバータ回路ＩＮＶ１は、出力端子Ｙ１の信号を論理反転して出力端子Ｙ１ｂに出力する。
【００３８】
ノードＮ１〜Ｎ４は、本発明の複数のノードに相当する。すなわち、ノードＮ１〜Ｎ４は、所定の信号群の中から、回路セルに構成される論理機能に応じた信号をそれぞれ入力するか、もしくは、回路セルに構成される論理機能に応じて入力端子Ｄ１から絶縁される。
入力端子Ａ，Ｂ，Ｃ，Ｄ１，Ｄ２に入力される信号と出力端子Ｙ１，Ｙ１ｂから出力される信号との論理的関係は、ノードＮ１〜Ｎ４に入力される信号の組み合わせによって決定される。
【００３９】
図２における記号Ｐ１１'，・・・，Ｐ１４'，Ｐ２１'，・・・，Ｐ２４'，Ｐ３１'，・・・，Ｐ３４'，Ｐ４１'，・・・，Ｐ４４'は、ノードＮ１〜Ｎ４に各種の信号を入力するためのビヤの作成位置を示す。
位置Ｐ１１〜Ｐ４１には、ノードＮ１〜Ｎ４に電源電圧ＶＤＤを印加するためのビヤが作成される。
位置Ｐ１２〜Ｐ４２には、ノードＮ１〜Ｎ４に基準電位ＶＳＳを印加するためのビヤが作成される。
位置Ｐ１３〜Ｐ４３には、ノードＮ１〜Ｎ４と入力端子Ｃとを接続するためのビヤが作成される。
位置Ｐ１４〜Ｐ４４には、ノードＮ１〜Ｎ４とインバータ回路ＩＮＶ４の出力とを接続するためのビヤが作成される。
【００４０】
トランジスタＱｎ７〜Ｑｎ１３，Ｑｎ１４−２は、回路セルの検査を行う動作モード（以降、テストモードと表記する。）において回路セルにテスト信号を入力するための回路を構成する。
【００４１】
トランジスタＱｎ７は、テスト信号の入力端子Ｔａと入力端子Ａとの間に接続される。
トランジスタＱｎ８は、テスト信号の入力端子Ｔｂと入力端子Ｂとの間に接続される。
トランジスタＱｎ９は、テスト信号の入力端子Ｔｃと入力端子Ｃとの間に接続される。
トランジスタＱｎ１０は、インバータ回路ＩＮＶ４の出力とノードＮ１との間に接続される。
トランジスタＱｎ１１は、インバータ回路ＩＮＶ４の出力とノードＮ２との間に接続される。
トランジスタＱｎ１２は、インバータ回路ＩＮＶ４の出力とノードＮ３との間に接続される。
トランジスタＱｎ１３は、インバータ回路ＩＮＶ４の出力とノードＮ４との間に接続される。
トランジスタＱｎ１４−２は、テスト信号の入力端子Ｔｄ２と入力端子Ｄ２との間に接続される。
トランジスタＱｎ７〜Ｑｎ１３，Ｑｎ１４−２のゲートは、テストモードにおいてハイレベルに設定される端子Ｔｍｏｄに共通接続される。
【００４２】
トランジスタＱｎ１５は、テストモードにおいて、回路セルの出力信号を検査出力線ＳＬに出力する。
トランジスタＱｎ１５のドレインは出力端子Ｙ１ｂに接続され、そのソースは検査出力線ＳＬに接続され、そのゲートは列選択線ＣＬに接続される。
【００４３】
列選択線ＣＬは、図１に示す回路セルアレイの各列に設けられており、同一列に属する回路セルは共通の列選択線ＣＬに接続される。また、検査出力線ＳＬは、回路セルアレイの各行に設けられており、同一行に属する回路セルは共通の検査出力線ＳＬに接続される。
後述する列選択回路１００においてある列の列選択線ＣＬがハイレベルに設定されると、この列に属する回路セルのトランジスタＱｎ１５がオン状態となり、回路セルの出力端子Ｙ１ｂの信号がトランジスタＱｎ１５を介して検査出力線ＳＬに出力される。
【００４４】
ここで、上述した構成を有する図２に示す回路セルの動作を説明する。
なお、以降の説明では、電源電圧ＶＤＤの信号を論理値１'、基準電位ＶＳＳの信号を論理値０'とする。また、入力端子Ａ，Ｂ，Ｃ，Ｄ１，Ｄ２に入力される信号を記号ａ'，ｂ'，ｃ'，ｄ１'，ｄ２'、出力端子Ｙ１，Ｙ１ｂから出力される信号を記号ｙ１'，ｙ１ｂ'で表す。更に、論理積を記号・'、論理和を記号＋'、論理反転を記号／'で表す。
【００４５】
ツリー状に接続されたトランジスタＱｎ１〜Ｑｎ６の回路は、２つの入力信号（ａ'、ｂ'）に応じて、ノードＮ１〜Ｎ４の何れかを選択的にノードＮ５に接続する。
【００４６】
ここでは、トランジスタＱｎ１およびＱｎ２の回路を第１選択素子、トランジスタＱｎ３およびＱｎ４の回路を第２選択素子、トランジスタＱｎ５およびＱｎ６の回路を第３選択素子と呼ぶ。
第１選択素子は、入力信号ｂとその論理反転信号／ｂに応じて、ノードＮ１またはノードＮ２の何れか一方を選択し、ノードＮ６に接続する。すなわち、信号ｂ＝１'の場合にノードＮ１とノードＮ６とを接続し、信号ｂ＝０'の場合にノードＮ２とノードＮ６とを接続する。
第２選択素子は、入力信号ｂとその論理反転信号／ｂに応じて、ノードＮ３またはノードＮ４の何れか一方を選択し、ノードＮ７に接続する。すなわち、信号ｂ＝１'の場合にノードＮ３とノードＮ７とを接続し、信号ｂ＝０'の場合にノードＮ４とノードＮ７とを接続する。
第３選択素子は、入力信号ａとその論理反転信号／ａに応じて、ノードＮ６またはノードＮ７の何れか一方を選択し、ノードＮ５に接続する。すなわち、信号ａ＝１'の場合にノードＮ６とノードＮ５とを接続し、信号ａ＝０'の場合にノードＮ７とノードＮ５とを接続する。
従って、信号ａ＝１'かつ信号ｂ＝１'のときノードＮ１、信号ａ＝１'かつ信号ｂ＝０'のときノードＮ２、信号ａ＝０'かつ信号ｂ＝１'のときノードＮ３、信号ａ＝０'かつ信号ｂ＝０'のときノードＮ４が選択され、ノードＮ５に接続される。
【００４７】
一方、ノードＮ１〜Ｎ４のぞれぞれは、４通りの信号
｛１'，０'，ｃ'，／ｃ'｝
の中から、位置Ｐ１１〜Ｐ４４に作成されるビヤに応じた１つの信号を入力する。例えば、位置Ｐ１１にビヤが作成される場合、ノードＮ１は１'の信号を入力する。
【００４８】
従って、２つの入力信号（ａ'、ｂ'）が与えられると、これに応じてノードＮ１〜Ｎ４の何れか１つが選択され、この選択されたノードから、４通りの信号
｛１'，０'，ｃ'，／ｃ'｝
のうちの１つがノードＮ５へ入力される。
例えば、位置Ｐ１１にビヤが作成される場合、信号Ａ＝１'かつ信号Ｂ＝１'の入力によってノードＮ５に１'の信号が入力される。この場合、出力端子Ｙ１から０'、出力端子Ｙ１ｂから１'の信号が出力される。
【００４９】
出力端子Ｙ１ｂの信号ｙ１ｂは、次の論理式で表される。
【００５０】
【数１】
2006148301.tif 000003
【００５１】
式（１）において、記号ｎ１'〜ｎ４'はノードＮ１〜Ｎ４の信号を示す。信号ｎ１〜ｎ４は、それぞれ４通りの信号
｛１'，０'，ｃ'，／ｃ）'｝
の何れかに対応する。
【００５２】
ところで、一般に３入力のルックアップテーブルは、３ビットの入力信号が与えられた場合、テーブルに予め格納された８通りの信号から入力信号に対応した１つの信号を選択して出力する。３ビットの入力信号のうち２ビットが与えられた場合、ルックアップテーブルは、残りの１ビットの入力信号に応じて値が変化する信号か、もしくは固定値の信号を出力する。残りの１ビットの信号を仮に記号ｃ'で表すと、ルックアップテーブルは、４通りの信号
｛１'，０'，ｃ'，／ｃ'｝
のうちの何れか１つを出力する。
すなわち、３入力のルックアップテーブルは、２つの入力信号が与えられた場合、４通りの信号
｛１'，０'，ｃ'，／ｃ'｝
のうちの何れか１つを出力する。
従って、図２に示す回路セルは、３入力（Ａ，Ｂ，Ｃ）を有したルックアップテーブルとして動作することが分かる。
【００５３】
次に、図２に示す回路セルのテストモード時の動作を説明する。
【００５４】
回路セルのテストは、例えば、半導体基板上に回路セルを形成した後、回路セルの論理機能を決定するプログラム配線（ビヤ等）や回路セル同士の接続配線を形成する前に行われる。
【００５５】
テストモードにおいては、図示しない検査装置によって端子Ｔｍｏｄがハイレベルに設定され、トランジスタＱｎ７〜Ｑｎ１３，Ｑｎ１４−２がオン状態に設定される。また、検査用の入力端子Ｔａ，Ｔｂ，Ｔｃ，Ｔｄ２に対して、図示しない検査装置からテスト信号が入力される。そして、このテスト信号に応じた検査結果を読み出すために、列選択線ＣＬが後述する列選択回路１００によって選択的にハイレベルに設定される。
【００５６】
トランジスタＱｎ７，Ｑｎ８，Ｑｎ９，Ｑｎ１４−２がオン状態になると、入力端子Ｔａ，Ｔｂ，Ｔｃ，Ｔｄ２から入力端子Ａ，Ｂ，Ｃ，Ｄ２へテスト信号が入力される。
入力端子ＴａおよびＴｂのテスト信号は、トランジスタＱｎ１〜Ｑｎ６のオン／オフの状態を設定する。すなわち、ノードＮ１〜Ｎ４とノードＮ５との接続状態を設定する。
また、入力端子Ｔｄ２のテスト信号は、ＮＡＮＤ回路Ｕ１の動作状態を設定する。すなわち、入力端子Ｔｄ２に１'のテスト信号を入力すると、ＮＡＮＤ回路Ｕ１はノードＮ５の信号を論理反転するインバータとして動作する。入力端子Ｔｄ２に０'のテスト信号を入力すると、ＮＡＮＤ回路Ｕ１は常に１'の信号を出力する。
【００５７】
一方、トランジスタＱｎ１０〜Ｑｎ１３がオン状態になると、ノードＮ１〜Ｎ４にはインバータ回路ＩＮＶ４の出力信号がそれぞれ入力される。インバータ回路ＩＮＶ４の出力信号は、入力端子Ｔｃのテスト信号に応じた値を有するため、ノードＮ１〜Ｎ４の信号値は、入力端子Ｔｃのテスト信号に応じて全て１'もしくは全て０'に設定される。
【００５８】
トランジスタＱｎ１〜Ｑｎ６およびインバータ回路ＩＮＶ２〜ＩＮＶ４が正常に動作している場合、ノードＮ１〜Ｎ４には入力端子Ｔｃのテスト信号に応じた値を持つ信号が入力される。また、ノードＮ１〜Ｎ４とノードＮ５との接続状態は、入力端子Ｔａ，Ｔｂのテスト信号に応じて設定される。そのため、ノードＮ５には、入力端子Ｔａ，Ｔｂ，Ｔｃのテスト信号に応じた信号が発生する。
また、ＮＡＮＤ回路Ｕ１、トランジスタＱｐ７およびインバータ回路ＩＮＶ１が正常に動作している場合、入力端子Ｔｄ２に１'のテスト信号を入力すると、出力端子Ｙ１ｂにはノードＮ５と同一値の信号が発生し、入力端子Ｔｄ２に０'のテスト信号を入力すると、出力端子Ｙ１には１'の信号が発生する。
従って、回路セル中の各素子が正常に動作している場合、出力端子Ｙ１ｂには、入力端子Ｔａ，Ｔｂ，Ｔｃ，Ｔｄ２のテスト信号に応じた信号が生じる。
列選択回路１００によってある列が選択され、その列の列選択線ＣＬがハイレベルに設定されると、当該列に属する回路セルのトランジスタＱｎ１５がオン状態になる。これにより、当該列に属する回路セルの出力端子Ｙ１ｂに発生した信号が、トランジスタＱｎ１５を介して各行の検査出力線ＳＬに出力される。検査出力線ＳＬに出力された信号は、図示しない検査装置に取り込まれ、テスト信号に応じた値を有する否か検査される。入力端子Ｔａ，Ｔｂ，Ｔｃ，Ｔｄ２に供給するテスト信号を様々に変化させながら検査出力線ＳＬの信号を検査することにより、各回路セルの良否を判定することができる。
【００５９】
図２に示す回路セルにおいて、ノードＮ５は、トランジスタＱｎ１〜Ｑｎ６で構成される選択回路を介してノードＮ１〜Ｎ４の何れかと電気的に接続されるとともに、入力端子Ｄ１と電気的に接続される。そのため、ノードＮ５の信号レベルを論理的に確定させるためには、ノードＮ１〜Ｎ４と入力端子Ｄ１とを電気的に絶縁する必要がある。
【００６０】
この電気的絶縁は、例えば、入力端子Ｄ１を他の回路セルに接続せずに開放状態とすることによって達成される。この状態で入力端子Ｄ２に固定値１'を入力すると、ＮＡＮＤ回路Ｕ１は、ノードＮ５の信号を論理反転して出力端子Ｙ１に出力するインバータ回路として動作する。この場合、式（１）からも分かるように、図２に示す回路セルは、入力端子Ａ，Ｂ，Ｃを入力とした３入力ルックアップテーブルとして動作する。
【００６１】
また、ノードＮ１〜Ｎ４と入力端子Ｄ１との電気的絶縁は、ノードＮ１〜Ｎ４を開放状態にして電源電圧ＶＤＤや基準電位ＶＳＳから絶縁することによっても達成される。すなわち、位置Ｐ１１〜Ｐ４４の何れにもビヤを作成しないことにより、ノードＮ１〜Ｎ４と入力端子Ｄ１とを絶縁することができる。この場合、出力端子Ｙ１，Ｙ１ｂの出力信号は、入力端子Ｄ１およびＤ２から入力される信号の反転論理積もしくは論理積となる。
【００６２】
このように、図２に示す回路セルによれば、回路セルに予め内蔵したＮＡＮＤ回路Ｕ１によってＮＡＮＤ演算の機能が回路セルに付加される。ＮＡＮＤ演算は、後ほど乗算器を例に挙げて説明するように、種々のディジタル回路において多用される基本的な演算である。そのため、ＮＡＮＤ回路を基本構成単位の回路セル中に予め内蔵させることにより、回路セルを効率的に使用することが可能になり、半導体集積回路の全体の回路サイズを抑えることができる。
【００６３】
また、ＮＡＮＤ回路は、ルックアップテーブルに比べて高速に動作するため、これを回路セルの中に内蔵させることによって、回路の動作速度を向上させることができる。
【００６４】
しかも、ＮＡＮＤ回路は、例えばトランジスタ４つで構成可能なサイズの小さい回路であるため、これと同等の機能をルックアップテーブルによって実現する場合に比べて、回路セルのサイズを抑えることができる。
【００６５】
更に、図２に示す回路セルにおいて、ＮＡＮＤ回路Ｕ１は、入力端子Ｄ１およびＤ２からの入力信号のＮＡＮＤ演算を行う機能に加えて、トランジスタＱｎ１〜Ｑｎ６で構成される選択回路の出力を増幅するバッファ増幅器としての機能も併せ持っている。そのため、ＮＡＮＤ回路を単純に回路セルに付け足す方式と比べて、回路素子を効率的に使用することが可能になる。その結果、未使用の無駄な回路素子を減らし、半導体集積回路の全体の回路サイズを抑えることができる。
【００６６】
次に、回路セルの第２の構成例について説明する。
【００６７】
図３は、回路セルの第２の構成例を示す図である。図２に示す回路セルとの違いは、インバータ回路４の入力にインバータ回路ＩＮＶ５が挿入され、このインバータ回路ＩＮＶ５の出力ノードＣｂがノードＮ１〜Ｎ４に接続される点にある。
インバータ回路ＩＮＶ５は、本発明の第１増幅回路の一実施形態である。
【００６８】
インバータ回路ＩＮＶ５は、入力端子Ｃからインバータ回路ＩＮＶ４へ到る信号経路に挿入されており、入力端子Ｃの信号を論理反転してインバータ回路ＩＮＶ４に入力する。また、インバータ回路ＩＮＶ５の入力は、トランジスタＱｎ９を介して検査用の入力端子Ｔｃに接続される。
【００６９】
位置Ｐ１３，Ｐ２３，Ｐ３３，Ｐ４３には、インバータ回路ＩＮＶ５の出力ノードＣｂとノードＮ１〜Ｎ４とを接続するビヤが形成される。位置Ｐ１４，Ｐ２４，Ｐ３４，Ｐ４４には、インバータ回路ＩＮＶ４の出力ノードＣｂｂとノードＮ１〜Ｎ４とを接続するビヤが形成される。
従って、図３に示す回路セルにおけるノードＮ１〜Ｎ４のそれぞれは、４通りの信号
｛１'，０'，／ｃ'，ｃ'｝
のうちの１つを入力する。
【００７０】
図２に示す回路セルでは、位置Ｐ１３，Ｐ２３，Ｐ３３，Ｐ４３に形成されるプログラム用ビヤを介して、ノードＮ１〜Ｎ４と入力端子Ｃとが直接接続される。ノードＮ５は、入力端子Ｃにつながる回路セル外部の配線と、回路セル内部のスイッチ（Ｑｎ１〜Ｑｎ６）とを介して、回路セル外部の回路により駆動される。すなわち、ノードＮ５は、スイッチの抵抗を含んだ高いインピーダンスの信号経路を介して回路セル外部の回路により駆動される。そのため、ノードＮ５へ伝播する信号の遅延が大きくなる。これに対し、図３に示す回路では、入力端子Ｃに入力される信号ｃをインバータ回路ＩＮＶ５経由でノードＮ１〜Ｎ４に入力するため、インバータ回路ＩＮＶ５がバッファ増幅器として動作し、ノードＮ５を低いインピーダンスで駆動することができる。そのため、図３に示す回路セルによれば、スイッチ（Ｑｎ１〜Ｑｎ６）の抵抗に起因した遅延を改善し、動作速度を高速化することができる。
【００７１】
次に、回路セルの第３の構成例について説明する。
【００７２】
図４は、回路セルの第３の構成例を示す図である。図３に示す回路セルとの違いは、ｎチャンネルＭＯＳ型のトランジスタＱｎ１〜Ｑｎ６にそれぞれｐチャンネルＭＯＳ型のトランジスタＱｐ１〜Ｑｐ６が並列接続された点と、プルアップ用のトランジスタＱｐ７が削除された点にある。
なお、トランジスタＱｐ１〜Ｑｐ６は、本発明のｐチャンネル絶縁ゲート型トランジスタの一実施形態である。
【００７３】
トランジスタＱｎ１およびＱｐ１、トランジスタＱｎ２およびＱｐ２、トランジスタＱｎ３およびＱｐ３、トランジスタＱｎ４およびＱｐ４、トランジスタＱｎ５およびＱｐ５、ならびに、トランジスタＱｎ６およびＱｐ６は、それぞれ並列に接続されている。
トランジスタＱｐ１，Ｑｐ３のゲートはインバータ回路ＩＮＶ３の出力に接続される。トランジスタＱｐ２，Ｑｐ４のゲートは、インバータ回路ＩＮＶ３の入力に接続される。トランジスタＱｐ５のゲートは、インバータ回路ＩＮＶ２の出力に接続される。トランジスタＱｐ６のゲートは、インバータ回路ＩＮＶ２の入力に接続される。
【００７４】
上述したトランジスタの並列回路（Ｑｎ１およびＱｐ１、Ｑｎ２およびＱｐ２、Ｑｎ３およびＱｐ３、Ｑｎ４およびＱｐ４、Ｑｎ５およびＱｐ５、Ｑｎ６およびＱｐ６）は、それぞれトランスファーゲート型のスイッチとして動作する。すなわち、並列接続されたｎチャンネルＭＯＳ型トランジスタおよびｐチャンネルＭＯＳ型トランジスタのゲートには、互いに反対の極性を持つ相補的な信号が入力されるため、２つのトランジスタは共通にオンまたはオフするように駆動される。
従って、ｎチャンネルＭＯＳ型トランジスタのゲートにハイレベル、ｐチャンネルＭＯＳ型トランジスタのゲートにローレベルの信号が入力されると、２つのトランジスタの少なくとも一方がオン状態になる。
【００７５】
図２，図３に示す回路セルのようにｎチャンネルＭＯＳ型トランジスタを単独でスイッチとして用いると、そのソースが高電位になった場合、トランジスタのしきいレベルによる電圧降下が生じる。例えば、位置Ｐ１１にビヤが作成されてノードＮ１に電源電圧ＶＤＤが印加されると、トランジスタＱｎ１およびＱｎ５においてそれぞれしきいレベルの電圧降下が生じる。この電圧降下により、トランジスタＱｎ１およびＱｎ５を通過したノードＮ５の信号は、トランジスタ２つ分のしきいレベルだけ電源電圧ＶＤＤより低くなる。ノードＮ５をＮＡＮＤ回路１の論理しきい値より十分高いレベルに駆動しないと、ＮＡＮＤ回路Ｕ１の動作速度の低下や消費電力の増大を招くため、図２，図３に示す回路セルでは、ノードＮ５を電源電圧ＶＤＤにプルアップするトランジスタＱｐ７を設けて、ノードＮ５のハイレベルへの駆動を補助している。
【００７６】
これに対し、図４に示す回路セルによれば、ノードＮ１〜Ｎ４からノードＮ５に到る信号経路に挿入されるスイッチとして、ｎチャンネルＭＯＳ型トランジスタとｐチャンネルＭＯＳ型トランジスタとを並列接続したトランスファーゲート型のスイッチを用いるため、上述のようなしきいレベルによる電圧降下が発生しない。その結果、スイッチの電圧降下が小さくなるため、ノードＮ５のプルアップ用のトランジスタＱｐ７を省略することができる。
また、スイッチの抵抗成分が小さくなり、ＮＡＮＤ回路Ｕ１の入力容量を高速に駆動できるため、図３に示す回路セルに比べて動作速度を高速化することができる。
【００７７】
次に、回路セルの第４の構成例について説明する。
【００７８】
図５は、回路セルの第４の構成例を示す図である。図５に示す回路セルは、図３に示す回路セルのインバータ回路ＩＮＶ２，ＩＮＶ３、トランジスタＱｎ７，Ｑｎ８、入力端子Ａ，Ｂ、検査用の入力端子Ｔａ，Ｔｂを削除し、代わりにＮＡＮＤ回路Ｕ２，Ｕ３、ｎチャンネルＭＯＳ型のトランジスタＱｎ７−１，Ｑｎ７−２，Ｑｎ８−１，Ｑｎ８−２、入力端子Ａ１，Ａ２，Ｂ１，Ｂ２、出力端子Ｙ２，Ｙ３、検査用の入力端子Ｔａ１，Ｔａ２，Ｔｂ１，Ｔｂ２を設けたものである。
【００７９】
なお、ＮＡＮＤ回路Ｕ２およびＵ３は、本発明の第２論理回路の一実施形態である。
出力端子Ｙ２，Ｙ３は、本発明の第２出力端子の一実施形態である。
トランジスタＱｎ１およびＱｎ２の回路、トランジスタＱｎ３およびＱｎ４の回路、ならびに、トランジスタＱｎ５およびＱｎ６の回路は、本発明の選択素子の一実施形態である。
トランジスタＱｎ１，Ｑｎ３，Ｑｎ５は、本発明の第１スイッチの一実施形態である。
トランジスタＱｎ２，Ｑｎ４，Ｑｎ６は、本発明の第２スイッチの一実施形態である。
【００８０】
ＮＡＮＤ回路Ｕ２は、入力端子Ａ１およびＡ２に入力される信号同士の反転論理積を演算し、その演算結果を出力端子Ｙ２に出力する。
ＮＡＮＤ回路Ｕ３は、入力端子Ｂ１およびＢ２に入力される信号同士の反転論理積を演算し、その演算結果を出力端子Ｙ３に出力する。
なお出力端子Ｙ２，Ｙ３は、出力端子Ｙ１およびＹ１ｂと同様に、回路セルの外部へ信号を出力する端子である。
【００８１】
トランジスタＱｎ１およびＱｎ３のゲートは、入力端子Ｂ１に接続される。
トランジスタＱｎ２およびＱｎ４のゲートは、ＮＡＮＤ回路Ｕ３の出力に接続される。
トランジスタＱｎ５のゲートは、入力端子Ａ１に接続される。
トランジスタＱｎ６のゲートは、ＮＡＮＤ回路Ｕ２の出力に接続される。
【００８２】
ＮＡＮＤ回路Ｕ３の出力信号を伝送する配線は、回路セルに構成される論理機能に応じて、入力端子Ａ１，Ａ２に接続される。
図７における記号Ｐ５１'，Ｐ５２'は、ＮＡＮＤ回路Ｕ３の出力と入力端子Ａ１，Ａ２とを接続するビヤの作成位置を示す。
【００８３】
トランジスタＱｎ７−１，Ｑｎ７−２，Ｑｎ８−１，Ｑｎ８−２は、テストモードにおいて回路セルにテスト信号を入力するための回路を構成する。
トランジスタＱｎ７−１は、テスト信号の入力端子Ｔａ１と入力端子Ａ１との間に接続される。
トランジスタＱｎ７−２は、テスト信号の入力端子Ｔａ２と入力端子Ａ２との間に接続される。
トランジスタＱｎ８−１は、テスト信号の入力端子Ｔｂ１と入力端子Ｂ１との間に接続される。
トランジスタＱｎ８−２は、テスト信号の入力端子Ｔｂ２と入力端子Ｂ２との間に接続される。
トランジスタＱｎ７−１，Ｑｎ７−２，Ｑｎ８−１，Ｑｎ８−２のゲートは、端子Ｔｍｏｄに共通接続される。
テストモードにおいて端子Ｔｍｏｄがハイレベルに設定されると、トランジスタＱｎ７−１，Ｑｎ７−２，Ｑｎ８−１，Ｑｎ８−２がオン状態になる。これにより、入力端子Ｔａ１，Ｔａ２，Ｔｂ１，Ｔｂ２へ供給されるテスト信号は、これらのトランジスタを介して入力端子Ａ１，Ａ２，Ｂ１，Ｂ２に入力される。
【００８４】
上述した構成を有する図５に示す回路セルによると、ＮＡＮＤ回路Ｕ２は、入力端子Ａ１，Ａ２より入力される２つの信号の反転論理積を出力端子Ｙ２から回路セルの外部に出力する。また、ＮＡＮＤ回路Ｕ３は、入力端子Ｂ１，Ｂ２より入力される２つの信号の反転論理積を出力端子Ｙ３から回路セルの外部に出力する。
すなわち、ＮＡＮＤ回路Ｕ２，Ｕ３は、２つ入力のＮＡＮＤ演算を行う回路としてそれぞれ独立に他の回路セルに接続することが可能である。
このように、一般的なロジック回路において多用されるＮＡＮＤ回路を回路セル中に予め内蔵させることによって、回路セルの使用効率を高めることが可能になる。また、回路セルのサイズを抑えつつ回路の動作速度を向上させることができる。
【００８５】
なお、ＮＡＮＤ回路Ｕ２およびＵ３においてＮＡＮＤ演算を行わせる場合、トランジスタＱｎ１とＱｎ２、トランジスタＱｎ３とＱｎ４、トランジスタＱｎ５とＱｎ６がそれぞれ同時にオンする可能性がある。そのため、位置Ｐ１１〜Ｐ４４に対するビヤを全く作成しないか、あるいは、ノードＮ１〜Ｎ４を共通の信号（例えば基準電位ＶＳＳ）に接続するようにビヤを作成する必要がある。この場合、図５に示す回路セルは、ルックアップテーブルとして動作しない。
【００８６】
一方、図５に示す回路セルにおいて、入力端子Ａ２およびＢ２に固定値１'の信号を入力した場合、ＮＡＮＤ回路Ｕ２，Ｕ３は、入力端子Ａ１，Ｂ１の入力信号を論理反転するインバータ回路として動作する。この場合、入力端子Ａ１，Ｂ１を図３の回路セルにおける入力端子Ａ，Ｂと見なすと、図５に示す回路セルは図３に示す回路セルと等価になる。
従って、図５に示す回路セルがルックアップテーブルとして動作する場合、ＮＡＮＤ回路Ｕ２，Ｕ３は、第１選択素子（Ｑｎ１，Ｑｎ２）、第２選択素子（Ｑｎ３，Ｑｎ４）、第３選択素子（Ｑｎ５，Ｑｎ６）の駆動にそれぞれ必要な論理反転信号を生成するためのインバータ回路として利用される。
また、先に述べた通り、図５に示す回路セルがルックアップテーブルとして動作する場合、ＮＡＮＤ回路Ｕ１は、ノードＮ５の信号を増幅するバッファ増幅器として利用される。
このように、図５に示す回路セルにおいて、ＮＡＮＤ回路Ｕ１〜Ｕ３は、ルックアップテーブル動作に必要な論理反転の機能とＮＡＮＤ演算の機能とを併せ持っている。そのため、図５に示す回路セルによれば、ＮＡＮＤ回路を単純に回路セルに付け足す方式と比べて、回路素子を効率的に使用することが可能になる。その結果、未使用の無駄な回路素子を減らし、半導体集積回路の全体の回路サイズを抑えることができる。
【００８７】
しかも、図５に示す回路セルによれば、ＮＡＮＤ回路Ｕ３の出力と入力端子Ａ１，Ａ２とをビヤによって任意に接続することが可能である。これにより、回路セルの内部における配線の自由度が高まり、回路セルにプログラムできる論理機能の種類を増すことができるため、回路セルの使用効率を更に向上させることができる。
【００８８】
次に、回路セルの第５の構成例について説明する。
【００８９】
図６は、回路セルの第５の構成例を示す図である。図６に示す回路セルは、図５に示す回路セルにおけるインバータ回路ＩＮＶ４、トランジスタＱｎ９、入力端子Ｃ、およびテスト用入力端子Ｔｃを削除し、代わりにＮＡＮＤ回路Ｕ４、インバータ回路ＩＮＶ６、トランジスタＱｎ９−１，Ｑｎ９−２、入力端子Ｃ１，Ｃ２、出力端子Ｙ４、およびテスト用入力端子Ｔｃ１，Ｔｃ２を設けたものである。
ＮＡＮＤ回路Ｕ４は、本発明の第３論理回路の一実施形態である。
出力端子Ｙ４は、本発明の第３出力端子の一実施形態である。
インバータ回路ＩＮＶ５は、本発明の第３増幅回路の一実施形態である。
【００９０】
インバータ回路ＩＮＶ５は、入力端子Ｃ１において入力される信号を論理反転して出力する。
インバータ回路ＩＮＶ６は、入力端子Ｃ２において入力される信号を論理反転して出力する。
【００９１】
ＮＡＮＤ回路Ｕ４は、インバータ回路ＩＮＶ５およびＩＮＶ６の出力信号同士の反転論理積を演算し、当該反転論理積を出力端子Ｙ４に出力する。
【００９２】
インバータ回路ＩＮＶ５の出力信号を伝送する配線は、回路セルに構成される論理機能に応じて、ノードＮ１，Ｎ２，Ｎ３，Ｎ４に接続される。
図６における記号Ｐ１３'，Ｐ２３'，Ｐ３３'，Ｐ４３'は、インバータ回路ＩＮＶ５の出力とノードＮ１，Ｎ２，Ｎ３，Ｎ４とを接続するビヤの作成位置を示す。
【００９３】
ＮＡＮＤ回路Ｕ４の出力信号を伝送する配線は、回路セルに構成される論理機能に応じて、ノードＮ１，Ｎ２，Ｎ３，Ｎ４ならびに入力端子Ａ１，Ａ２，Ｂ１，Ｂ２に接続される。
図６における記号Ｐ１４'，Ｐ２４'，Ｐ３４'，Ｐ４４'は、ＮＡＮＤ回路Ｕ４の出力とノードＮ１，Ｎ２，Ｎ３，Ｎ４とを接続するビヤの作成位置を示す。図６における記号Ｐ６１'，Ｐ６２'，Ｐ６３'，Ｐ６４'は、ＮＡＮＤ回路Ｕ４の出力と入力端子Ａ１，Ａ２，Ｂ１，Ｂ２とを接続するビヤの作成位置を示す。
【００９４】
トランジスタＱｎ９−１，Ｑｎ９−２は、テストモードにおいて回路セルにテスト信号を入力する回路を構成する。
トランジスタＱｎ９−１は、テスト信号の入力端子Ｔｃ１と入力端子Ｃ１との間に接続される。
トランジスタＱｎ９−２は、テスト信号の入力端子Ｔｃ２と入力端子Ｃ２との間に接続される。
トランジスタＱｎ９−１，Ｑｎ９−２のゲートは、端子Ｔｍｏｄに共通接続される。
テストモードにおいて端子ｍｏｄがハイレベルに設定されると、トランジスタＱｎ９−１，Ｑｎ９−２がオン状態になる。これにより、入力端子Ｔｃ１，Ｔｃ２へ供給されるテスト信号は、これらのトランジスタを介して入力端子Ｃ１，Ｃ２に入力される。
【００９５】
入力端子Ｃ１，Ｃ２の入力信号を記号ｃ１'，ｃ２'で表すと、ノードＮ１〜Ｎ４のそれぞれには、位置Ｐ１１〜Ｐ４４に作成されるビヤに応じて、４通りの信号
｛１'，０'，／ｃ１'，／（／ｃ１・／ｃ２）'｝
の中から選ばれた１つの信号が入力される。
【００９６】
入力端子Ａ２，Ｂ２，Ｄ２にそれぞれ固定値１'を入力し、入力端子Ｄ１を開放状態にした場合、図６に示す回路セルは、４つの入力（Ａ１，Ｂ１，Ｃ１，Ｃ２）と２つの出力（Ｙ１，Ｙ１ｂ）を持つ論理回路として動作する。この論理回路の機能は、ノードＮ１〜Ｎ４のそれぞれに対して４通りの信号
｛１'，０'，／ｃ１'，／（／ｃ１・／ｃ２）'｝
から１つを選択し、当該選択した信号を式（１）の信号ｎ１〜ｎ４に代入して得られる論理式によって表される。
従って、この場合、図６に示す回路セルには、位置Ｐ１１〜Ｐ４４に作成するビヤに応じて、様々な論理機能をプログラムすることが可能である。
特に、入力端子Ｃ２に固定値０'を入力した場合、ノードＮ１〜Ｎ４のぞれぞれには、４通りの信号
｛１'，０'，／ｃ１'，ｃ１'｝
の何れか１つが入力される。この場合、図６に示す回路セルは、３入力（Ａ１，Ｂ１，Ｃ１）のルックアップテーブルとして動作可能である。
【００９７】
また、図６に示す回路セルによると、ＮＡＮＤ回路Ｕ４の出力信号は、出力端子Ｙ４を通じて回路セルの外部に出力することが可能である。従って、ＮＡＮＤ回路Ｕ４は、２入力のＮＡＮＤ演算を行う回路として独立に他の回路セルと接続することが可能である。
このように、一般的なロジック回路において多用されるＮＡＮＤ回路を基本構成単位の回路セル中に予め内蔵させることによって、回路セルを効率的に使用することが可能になる。また、回路セルのサイズを抑えつつ回路の動作速度を向上させることができる。
【００９８】
更に、このＮＡＮＤ回路Ｕ４は、図６に示す回路セルを３入力（Ａ１，Ｂ１，Ｃ１）のルックアップテーブルとして動作させるために必要な論理反転の機能と、２入力のＮＡＮＤ演算の機能とを併せ持っている。従って、ＮＡＮＤ回路を単純に回路セルに付け足す方式に比べて回路素子の利用効率が向上し、半導体集積回路の全体のサイズを抑えることができる。
【００９９】
しかも、図６に示す回路セルによれば、ＮＡＮＤ回路Ｕ４の出力と入力端子Ａ１，Ａ２，Ｂ１，Ｂ２とをビヤによって任意に接続することが可能である。これにより、回路セルの内部における配線の自由度が高まり、回路セルにプログラム可能な論理機能の種類を増すことができるため、回路セルの使用効率を更に向上させることができる。
【０１００】
次に、回路セルの第６の構成例について説明する。
【０１０１】
図７は、回路セルの第６の構成例を示す図である。図７に示す回路セルは、図５に示す回路セルにおけるＮＡＮＤ回路Ｕ１、トランジスタＱｎ１４−２、入力端子Ｄ１，Ｄ２、テスト用入力端子Ｔｄ２を削除し、代わりに、インバータＩＮＶ７を設けたものである。
【０１０２】
インバータ回路ＩＮＶ７は、本発明の第２増幅回路の一実施形態である。インバータ回路ＩＮＶ７は、ノードＮ５の信号を論理反転して出力端子Ｙ１に出力する。
【０１０３】
上述した構成を有する図７に示す回路セルによれば、図５に示す回路セルと同様に、ＮＡＮＤ回路Ｕ２，Ｕ３をそれぞれ独立に他の回路セルに接続することが可能である。このように、予めＮＡＮＤ回路を回路セル中に内蔵させることによって、回路セルの使用効率の向上を図り、回路サイズを抑えつつ回路の動作速度を高めることができる。
また、図７に示す回路セルによれば、図５に示す回路セルと同様に、ＮＡＮＤ回路Ｕ１，Ｕ２が、ルックアップテーブル動作に必要な論理反転の機能とＮＡＮＤ演算の機能とを併せ持っている。そのため、ＮＡＮＤ回路を単純に回路セルに付け足す方式と比べて、半導体集積回路の全体の回路サイズを抑えることができる。
更に、図７に示す回路セルによれば、ＮＡＮＤ回路Ｕ３の出力と入力端子Ａ１，Ａ２とをビヤによって任意に接続することが可能である。そのため、図５に示す回路セルと同様に、回路セルの内部における配線の自由度が高まり、回路セルにプログラムできる論理機能の種類を増すことができる。
【０１０４】
また、図７に示す回路セルによれば、インバータ回路ＩＮＶ７を設けることにより、ノードＮ５の信号を増幅して出力端子Ｙ１に出力することができるため、スイッチ（Ｑｎ１〜Ｑｎ６）の抵抗による信号レベルの減衰を抑えることができる。
【０１０５】
次に、回路セルの第７の構成例について説明する。
【０１０６】
図８は、回路セルの第７の構成例を示す図である。図８に示す回路セルは、図６に示す回路セルにおけるＮＡＮＤ回路Ｕ１、トランジスタＱｎ１４−２、入力端子Ｄ１，Ｄ２、テスト用入力端子Ｔｄ２を削除し、代わりに、インバータＩＮＶ７を設けたものである。
【０１０７】
インバータ回路ＩＮＶ７は、本発明の第２増幅回路の一実施形態である。インバータ回路ＩＮＶ７は、ノードＮ５の信号を論理反転して出力端子Ｙ１に出力する。
【０１０８】
上述した構成を有する図８に示す回路セルによれば、図６に示す回路セルと同様に、ＮＡＮＤ回路Ｕ２，Ｕ３，Ｕ４をそれぞれ独立に他の回路セルに接続することが可能である。このように、予めＮＡＮＤ回路を回路セル中に内蔵させることによって、回路セルの使用効率の向上を図り、回路サイズを抑えつつ回路の動作速度を高めることができる。
また、図８に示す回路セルによれば、図６に示す回路セルと同様に、ＮＡＮＤ回路Ｕ２，Ｕ３，Ｕ４が、ルックアップテーブル動作に必要な論理反転の機能とＮＡＮＤ演算の機能とを併せ持っている。そのため、ＮＡＮＤ回路を単純に回路セルに付け足す方式と比べて、半導体集積回路の全体の回路サイズを抑えることができる。
更に、図８に示す回路セルによれば、ＮＡＮＤ回路Ｕ３の出力と入力端子Ａ１，Ａ２とをビヤによって任意に接続することが可能であるとともに、ＮＡＮＤ回路Ｕ４の出力と入力端子Ａ１，Ａ２，Ｂ１，Ｂ２とをビヤによって任意に接続することが可能である。そのため、図６に示す回路セルと同様に、回路セルの内部における配線の自由度が高まり、回路セルにプログラムできる論理機能の種類を増すことができる。
【０１０９】
次に、回路セルの第８の構成例について説明する。
【０１１０】
図９は、回路セルの第８の構成例を示す図である。図９に示す回路セルは、図２に示す回路セルにおけるＮＡＮＤ回路Ｕ１、インバータ回路ＩＮＶ４、トランジスタＱｎ９，Ｑｎ１４−２、入力端子Ｃ，Ｄ１，Ｄ２、テスト用入力端子Ｔｃ，Ｔｄ２を削除し、代わりにＮＡＮＤ回路Ｕ４、インバータ回路ＩＮＶ７、トランジスタＱｎ９−１，Ｑｎ９−２、入力端子Ｃ１，Ｃ２、出力端子Ｙ４を設けたものである。
【０１１１】
ＮＡＮＤ回路Ｕ４は、入力端子Ｃ１およびＣ２に入力される信号同士の反転論理積を演算し、当該反転論理積を出力端子Ｙ４に出力する。
【０１１２】
ＮＡＮＤ回路Ｕ４に入力される２つの信号の一方を供給する入力端子Ｃ１は、回路セルに構成される論理機能に応じて、ノードＮ１，Ｎ２，Ｎ３，Ｎ４に接続される。
図９における記号Ｐ１３'，Ｐ２３'，Ｐ３３'，Ｐ４３'は、入力端子Ｃ１とノードＮ１，Ｎ２，Ｎ３，Ｎ４とを接続するビヤの作成位置を示す。
【０１１３】
ＮＡＮＤ回路Ｕ４の出力信号を伝送する配線は、回路セルに構成される論理機能に応じて、ノードＮ１，Ｎ２，Ｎ３，Ｎ４に接続される。
図９における記号Ｐ１４'，Ｐ２４'，Ｐ３４'，Ｐ４４'は、ＮＡＮＤ回路Ｕ４の出力とノードＮ１，Ｎ２，Ｎ３，Ｎ４とを接続するビヤの作成位置を示す。
【０１１４】
インバータ回路ＩＮＶ７は、ノードＮ５の信号を論理反転して出力端子Ｙ１に出力する。
【０１１５】
トランジスタＱｎ９−１，Ｑｎ９−２は、テストモードにおいて回路セルにテスト信号を入力する回路を構成する。
トランジスタＱｎ９−１は、テスト信号の入力端子Ｔｃ１と入力端子Ｃ１との間に接続される。
トランジスタＱｎ９−２は、テスト信号の入力端子Ｔｃ２と入力端子Ｃ２との間に接続される。
トランジスタＱｎ９−１，Ｑｎ９−２のゲートは、端子Ｔｍｏｄに共通接続される。
テストモードにおいて端子Ｔｍｏｄがハイレベルに設定されると、トランジスタＱｎ９−１，Ｑｎ９−２がオン状態になる。これにより、入力端子Ｔｃ１，Ｔｃ２へ供給されるテスト信号は、これらのトランジスタを介して入力端子Ｃ１，Ｃ２に入力される。
【０１１６】
ノードＮ１〜Ｎ４のそれぞれには、位置Ｐ１１〜Ｐ４４に作成されるビヤに応じて、４通りの信号
｛１'，０'，ｃ１'，／（ｃ１・ｃ２）'｝
の中から選ばれた１つの信号が入力される。
【０１１７】
図９に示す回路セルは、４つの入力（Ａ１，Ｂ１，Ｃ１，Ｃ２）と２つの出力（Ｙ１，Ｙ１ｂ）を持つ論理回路であり、その論理機能は、ノードＮ１〜Ｎ４のそれぞれに対して４通りの信号
｛１'，０'，ｃ１'，／（ｃ１・ｃ２）'｝
から１つを選択し、当該選択した信号を式（１）の信号ｎ１〜ｎ４に代入して得られる論理式によって表される。
従って、図９に示す回路セルには、位置Ｐ１１〜Ｐ４４に作成するビヤに応じて、様々な論理機能をプログラムすることが可能である。
特に、入力端子Ｃ２に固定値１'を入力した場合、ノードＮ１〜Ｎ４のぞれぞれには、４通りの信号
｛１'，０'，ｃ１'，／ｃ１'｝
の何れか１つが入力される。この場合、図９に示す回路セルは、３入力（Ａ１，Ｂ１，Ｃ１）のルックアップテーブルとして動作可能である。
【０１１８】
また、図９に示す回路セルによると、ＮＡＮＤ回路Ｕ４の出力信号は、出力端子Ｙ４を通じて回路セルの外部に出力することが可能である。従って、ＮＡＮＤ回路Ｕ４は、２入力のＮＡＮＤ演算を行う回路として独立に他の回路セルと接続することが可能である。
このように、一般的なロジック回路において多用されるＮＡＮＤ回路を基本構成単位の回路セル中に予め内蔵させることによって、回路セルを効率的に使用することが可能になる。また、回路セルのサイズを抑えつつ回路の動作速度を向上させることができる。
【０１１９】
更に、このＮＡＮＤ回路Ｕ４は、図９に示す回路セルを３入力（Ａ１，Ｂ１，Ｃ１）のルックアップテーブルとして動作させるために必要な論理反転の機能と、２入力のＮＡＮＤ演算の機能とを併せ持っている。従って、ＮＡＮＤ回路を単純に回路セルに付け足す方式に比べて回路素子の利用効率が向上し、半導体集積回路の全体のサイズを抑えることができる。
【０１２０】
次に、回路セルの第９の構成例について説明する。
【０１２１】
図１０は、回路セルの第９の構成例を示す図である。図９に示す回路セルとの違いは、ＮＡＮＤ回路Ｕ４の入力にインバータ回路ＩＮＶ５が挿入され、このインバータ回路ＩＮＶ５の出力ノードがプログラム用ビヤを介してノードＮ１〜Ｎ４に接続される点にある。
【０１２２】
インバータ回路ＩＮＶ５は、入力端子Ｃ１からＮＡＮＤ回路Ｕ１へ到る信号経路に挿入されており、入力端子Ｃ１の信号を論理反転してＮＡＮＤ回路Ｕ１に入力する。インバータ回路ＩＮＶ５の入力は、トランジスタＱｎ９−１を介して検査用の入力端子Ｔｃ１に接続される。
【０１２３】
インバータ回路ＩＮＶ５の出力は、回路セルに構成される論理機能に応じて、ノードＮ１，Ｎ２，Ｎ３，Ｎ４に接続される。
図１０における記号Ｐ１３'，Ｐ２３'，Ｐ３３'，Ｐ４３'は、インバータ回路ＩＮＶ５の出力とノードＮ１，Ｎ２，Ｎ３，Ｎ４とを接続するビヤの作成位置を示す。
【０１２４】
図１０に示す回路セルは、４つの入力（Ａ，Ｂ，Ｃ１，Ｃ２）と２つの出力（Ｙ１，Ｙ１ｂ）を持つ論理回路であり、その論理機能は、ノードＮ１〜Ｎ４のそれぞれに対して４通りの信号
｛１'，０'，／ｃ１'，／（／ｃ１・ｃ２）'｝
から１つを選択し、当該選択した信号を式（１）の信号ｎ１〜ｎ４に代入して得られる論理式によって表される。
従って、図１０に示す回路セルには、位置Ｐ１１〜Ｐ４４に作成するビヤに応じて、様々な論理機能をプログラムすることが可能である。
特に、入力端子Ｃ２に固定値１'を入力した場合、ノードＮ１〜Ｎ４のぞれぞれには、４通りの信号
｛１'，０'，／ｃ１'，ｃ１'｝
の何れか１つが入力される。この場合、図１０に示す回路セルは、３入力（Ａ，Ｂ，Ｃ１）のルックアップテーブルとして動作可能である。
【０１２５】
図９に示す回路セルでは、位置Ｐ１３，Ｐ２３，Ｐ３３，Ｐ４３に形成されるプログラム用ビヤを介して、ノードＮ１〜Ｎ４と入力端子Ｃ１とが直接接続される。ノードＮ５は、入力端子Ｃ１につながる回路セル外部の配線と、回路セル内部のスイッチ（Ｑｎ１〜Ｑｎ６）とを介して、回路セル外部の回路により駆動される。すなわち、ノードＮ５は、スイッチの抵抗を含んだ高いインピーダンスの信号経路を介して回路セル外部の回路により駆動される。そのため、ノードＮ５へ伝播する信号の遅延が大きくなる。これに対し、図１０に示す回路では、入力端子Ｃ１に入力される信号ｃ１をインバータ回路ＩＮＶ５経由でノードＮ１〜Ｎ４に入力するため、インバータ回路ＩＮＶ５がバッファ増幅器として動作し、ノードＮ５を低いインピーダンスで駆動することができる。そのため、図１０に示す回路セルによれば、スイッチ（Ｑｎ１〜Ｑｎ６）の抵抗に起因した遅延を改善し、動作速度を高速化することができる。
【０１２６】
次に、回路セルの第１０の構成例について説明する。
【０１２７】
図１１は、回路セルの第１０の構成例を示す図である。図１１に示す回路セルは、図１０に示す回路セルの入力端子Ｃ２からＮＡＮＤ回路Ｕ４へ到る信号経路にインバータ回路ＩＮＶ６を挿入したものである。インバータ回路ＩＮＶ６の入力は、トランジスタＱｎ９−２を介して検査用の入力端子Ｔｃ２に接続される。
【０１２８】
図１１に示す回路セルによれば、入力端子Ｃ１およびＣ２の入力信号をそれぞれインバータ回路によって論理反転してＮＡＮＤ回路Ｕ４に入力するため、入力端子Ｃ１から出力端子Ｙ４への伝播遅延と、入力端子Ｃ２から出力端子Ｙ４への伝播遅延とをほぼ均衡させることができる。その結果、外部の回路セルと入力端子Ｃ１およびＣ２との配線を逆に接続することが可能になるため、回路セルの配置・配線設計を容易化することができる。
【０１２９】
次に、本実施形態に係る半導体集積回路の配線構造について説明する。
【０１３０】
図１２は、本実施形態に係る半導体集積回路の配線構造の一例を示す図であり、第ａ層（ａは１以上の整数を示す）とその上層の第（ａ＋１）層における配線パターンを示している。
図１２に示す配線構造は、例えば、図５に示す回路セルに適用される。
【０１３１】
図１２において、記号Ｌ１'〜Ｌ４'は、回路セル同士を接続する配線群を示す。記号ＬＣ１'〜ＬＣ１７'は、回路セルの入出力端子や内部ノードの配線を示す。記号ＬＳ１'は、電源電圧ＶＤＤの配線を示す。記号ＬＳ２'は、基準電位ＶＳＳの配線を示す。
なお、配線ＬＣ１２〜ＬＣ１５は、本発明の第１配線の一実施形態である。
配線ＬＳ１，ＬＳ２，ＬＣ１６，ＬＣ１７は、本発明の第２配線の一実施形態である。
【０１３２】
第ａ層には、回路セルアレイの行方向（図１２の横方向）へ延びる配線群Ｌ１が形成される。図１２の例において、配線群Ｌ１は６本の配線の束であり、その長さは、回路セルアレイの列幅とほぼ同じである。配線群Ｌ１は、行方向へ複数連なって配置される。回路セルアレイの各行に、この行方向へ連なる複数の配線群Ｌ１が形成される。
配線群Ｌ１は、例えば図１２に示すように、行方向へ延びる１束（６本）の配線を各回路セル上において１箇所ずつ斜めに切断することにより作られる各断片に相当する。図１２の例において、この各断片に相当する配線群Ｌ１は、列方向へ交互にずれて配置されている。
【０１３３】
第（ａ＋１）層には、行方向に連なる配線群Ｌ１同士をビヤ経由で接続するための配線群Ｌ３が形成される。配線群Ｌ３は、配線群Ｌ１と同じ６本の配線の束であり、隣接する２つの配線群Ｌ１の上層に、これらと交差する方向に伸びて形成される。
【０１３４】
第（ａ＋１）層には、回路セルアレイの列方向（図１２の縦方向）へ延びる配線群Ｌ２が形成される。図１２の例において、配線群Ｌ２は１０本の配線の束であり、その長さは、回路セルアレイの行幅とほぼ同じである。配線群Ｌ２は、列方向へ複数連なって配置される。回路セルアレイの各列に、この列方向へ連なる複数の配線群Ｌ２が形成される。
配線群Ｌ２は、例えば図１２に示すように、列方向へ延びる１束（１０本）の配線を各回路セル上において１箇所ずつ斜めに切断することにより作られる各断片に相当する。図１２の例において、この各断片に相当する配線群Ｌ２は、行方向へ交互にずれて配置されている。
【０１３５】
第ａ層には、列方向に連なる配線群Ｌ２同士をビヤ経由で接続するための配線群Ｌ４が形成される。配線群Ｌ４は、配線群Ｌ２と同じ１０本の配線の束であり、隣接する２つの配線群Ｌ２の下層に、これらと交差する方向に伸びて形成される。
【０１３６】
第ａ層には、各回路セルの入力端子（Ａ１，Ａ２，Ｂ１，Ｂ２，Ｃ，Ｄ１，Ｄ２）につながる配線ＬＣ１〜ＬＣ７、出力ノード（Ｙ２，Ｙ３，Ｙ１，Ｙ１ｂ）につながる配線ＬＣ８〜ＬＣ１１、論理機能のプログラム用のノード（Ｎ１，Ｎ２，Ｎ３，Ｎ４）につながる配線ＬＣ１２〜ＬＣ１５が形成される。
第（ａ＋１）層には、回路セル内のノード（Ｃｂ，Ｃｂｂ）につながる配線ＬＣ１６，ＬＣ１７が形成される。配線ＬＣ１６，ＬＣ１７は、プログラム用のビヤを介してノードＮ１〜Ｎ４に接続される。
【０１３７】
配線ＬＣ１，ＬＣ２，ＬＣ３，ＬＣ４，ＬＣ５，ＬＣ６，ＬＣ７は、それぞれ、入力端子Ａ１，Ａ２，Ｂ１，Ｂ２，Ｃ，Ｄ１，Ｄ２に接続される。また、配線ＬＣ８，ＬＣ９，ＬＣ１０，ＬＣ１１は、それぞれ、出力端子Ｙ２，Ｙ３，Ｙ１，Ｙ１ｂに接続される。
配線ＬＣ１〜ＬＣ１１は、何れも行方向に伸びて形成され、また、この順序で列方向に並んで形成される。また、配線ＬＣ１〜ＬＣ１１は、上層の配線群Ｌ２と交差する位置に形成されており、配線群Ｌ２とビヤを介して接続可能である。
【０１３８】
配線ＬＣ１２，ＬＣ１３，ＬＣ１４，ＬＣ１５は、それぞれ、論理機能のプログラム用のノードＮ１，Ｎ２，Ｎ３，Ｎ４に接続される。
配線ＬＣ１２〜ＬＣ１５は、何れも行方向に伸びて形成され、また、この順序で列方向に並んで形成される。また、配線ＬＣ１２〜ＬＣ１５は、上層の配線ＬＳ１，ＬＳ２，ＬＣ１６，ＬＣ１７と交差する位置に形成されており、これらの配線とビヤを介して接続可能である。
【０１３９】
配線ＬＣ１６は、インバータ回路ＩＮＶ５の出力ノードＣｂに接続される配線であり、列方向に伸びて形成される。配線ＬＣ１６は、下層の配線ＬＣ１２〜ＬＣ１５と交差する位置に形成されており、これらの配線とビヤを介して接続可能である。
【０１４０】
配線ＬＣ１７は、インバータ回路ＩＮＶ４の出力ノードＣｂｂに接続される配線であり、列方向に伸びて形成される。配線ＬＣ１７は、下層の配線ＬＣ１２〜ＬＣ１５と交差する位置に形成されており、これらの配線とビヤを介して接続可能である。
【０１４１】
配線ＬＳ１は、回路セルに電源電圧ＶＤＤを供給するための配線である。
配線ＬＳ２は、回路セルに基準電位ＶＳＳを供給するための配線である。
配線ＬＳ１およびＬＳ２は、何れも第（ａ＋１）層の配線であり、回路セルアレイの各列に、列方向へ延びて形成される。
【０１４２】
次に、本実施形態に係る半導体集積回路において乗算器を構成する例について説明する。以下では一例として、図５に示す回路セルが用いられるものとする。
【０１４３】
図１３は、４ビットのデータ同士を乗算する方法の一例を示す図である。
図１３の例では、被乗数のデータを上位ビットから順に｛ａ３，ａ２，ａ１，ａ０｝とし、乗数のデータを上位ビットから順に｛ｂ３，ｂ２，ｂ１，ｂ０｝としている。バイナリ表記の数を乗算する場合は、手計算による乗算方法と同様に、各桁の積を求めて加算する処理が行われる。この場合、１ビットのデータの積は、ＡＮＤ演算によって得られる。
【０１４４】
図１４は、４ビットｘ４ビットの乗算を行うアレイ型乗算器の構成の一例を示す図である。
アレイ型乗算器は、全加算器（full adder）または半加算器（half adder）の入力にＡＮＤ回路が付加された形式を持つ機能ユニットを複数組み合わせて構成される。図１５〜図１７は、主な機能ユニットの構成例を示す。
【０１４５】
図１５（Ａ）に示す機能ユニットは、４つの入力（入力信号ＩＮ１〜ＩＮ４）と、２つの出力（和信号Ｓ，キャリー信号Ｃｏ）を有しており、半加算器（ＨＡ）の２つの入力にそれぞれ２入力ＡＮＤ回路を接続した回路として構成される。
図１５（Ａ）に示す機能ユニットにおいて、和信号Ｓおよびキャリー信号Ｃｏはそれぞれ次の論理式で表される。
【０１４６】
【数２】
2006148301.tif 000004
【０１４７】
図１５（Ａ）に示す機能ユニットは、図１５（Ｂ）に示すように、２つの回路セルＣｆ１，Ｃｆ２と１つのＮＡＮＤ回路Ｃｆ３で構成することができる。
図１５（Ａ）に示す機能ユニットにおいて、ＮＡＮＤ回路Ｃｆ３は、２つの入力信号ＩＮ３およびＩＮ４のＮＡＮＤ演算を行う。回路セルＣｆ１は、ＮＡＮＤ回路Ｃｆ３の出力を利用して、式（２）で表される和信号Ｓを生成する。回路セルＣｆ２は、同じＮＡＮＤ回路Ｃｆ３の出力を利用して、式（３）で表されるキャリー信号Ｃｏを生成する。
【０１４８】
なお、図５に示す回路セルを用いる場合、１つの回路セルによって最大３つの独立したＮＡＮＤ回路Ｃｆ３を構成することができる。
【０１４９】
図１６（Ａ）に示す機能ユニットは、４つの入力（入力信号ＩＮ１〜ＩＮ３，キャリー信号Ｃｉ）と、２つの出力（和信号Ｓ，キャリー信号Ｃｏ）を有しており、全加算器（ＦＡ）の一方の入力に２入力ＡＮＤ回路を接続した回路として構成される。
図１６（Ａ）に示す機能ユニットにおいて、和信号Ｓおよびキャリー信号Ｃｏはそれぞれ次の論理式で表される。
【０１５０】
【数３】
2006148301.tif 000005
【０１５１】
図１６（Ａ）に示す機能ユニットは、図１６（Ｂ）に示すように、２つの回路セルＣｆ４，Ｃｆ５と１つのＮＡＮＤ回路Ｃｆ３で構成することができる。
図１５（Ａ）に示す機能ユニットにおいて、ＮＡＮＤ回路Ｃｆ３は、２つの入力信号ＩＮ１およびＩＮ２のＮＡＮＤ演算を行う。回路セルＣｆ４は、ＮＡＮＤ回路Ｃｆ３の出力を利用して、式（４）で表される和信号Ｓを生成する。回路セルＣｆ２は、同じＮＡＮＤ回路Ｃｆ３の出力を利用して、式（５）で表されるキャリー信号Ｃｏを生成する。
【０１５２】
図１７（Ａ）に示す機能ユニットは、５つの入力（入力信号ＩＮ１〜ＩＮ４，キャリー信号Ｃｉ）と、２つの出力（和信号Ｓ，キャリー信号Ｃｏ）を有しており、全加算器（ＦＡ）の２つの入力にそれぞれ２入力ＡＮＤ回路を接続した回路として構成される。
図１７（Ａ）に示す機能ユニットにおいて、和信号Ｓおよびキャリー信号Ｃｏはそれぞれ次の論理式で表される。
【０１５３】
【数４】
2006148301.tif 000006
【０１５４】
図１７（Ａ）に示す機能ユニットは、図１７（Ｂ）に示すように、２つの回路セルＣｆ６，Ｃｆ７と２つのＮＡＮＤ回路Ｃｆ３で構成することができる。
図１７に示す機能ユニットにおいて、一方のＮＡＮＤ回路Ｃｆ３は２つの入力信号ＩＮ１およびＩＮ２のＮＡＮＤ演算を行い、他方のＮＡＮＤ回路Ｃｆ３は２つの入力信号ＩＮ３およびＩＮ４のＮＡＮＤ演算を行う。回路セルＣｆ６は、この２つのＮＡＮＤ回路Ｃｆ３の出力を利用して、式（６）で表される和信号Ｓを生成する。回路セルＣｆ７は、同じ２つのＮＡＮＤ回路Ｃｆ３の出力を利用して、式（７）で表されるキャリー信号Ｃｏを生成する。
【０１５５】
一般に、ｎビットｘｎビットのアレイ型乗算器には、次に示す数の機能ユニットが含まれる。
図１５に示す機能ユニット・・・（ｎ−１）個；
図１６に示す機能ユニット・・・｛（ｎ−２）２＋１｝個；
図１７に示す機能ユニット・・・（ｎ−２）個；
全加算器・・・（ｎ−３）個；
半加算器・・・１個；
ＡＮＤ回路・・・１個；
【０１５６】
図５に示す回路セルを用いる場合、１つの機能ユニットを構成するために必要な回路セルの個数はそれぞれ以下の通りである。
図１５に示す機能ユニット・・・７／３個；
図１６に示す機能ユニット・・・７／３個；
図１７に示す機能ユニット・・・８／３個；
全加算器・・・２個；
半加算器・・・２個；
ＡＮＤ回路・・・１／３個；
【０１５７】
ただし、ＮＡＮＤ回路やＡＮＤ回路を構成するために必要な回路セルを１／３個としている。
従って、図５に示す回路セルを用いてｎビットｘｎビットのアレイ型乗算器を構成するために必要な回路セルの個数Ｚ１は、
Ｚ１＝（７ｎ２−７ｎ＋１）／３；
となる。
【０１５８】
一方、３入力のルックアップテーブルを回路セルとして用いる場合、ＮＡＮＤ回路やＡＮＤ回路を１つ構成するために回路セルが１つ消費される。そのため、１つの機能ユニットを構成するために必要な回路セルの個数は、それぞれ以下のようになる。
図１５に示す機能ユニット・・・３個；
図１６に示す機能ユニット・・・３個；
図１７に示す機能ユニット・・・４個；
全加算器・・・２個；
半加算器・・・２個；
ＡＮＤ回路・・・１個；
【０１５９】
３入力のルックアップテーブルを回路セルとして用いる場合、ｎビットｘｎビットのアレイ型乗算器を構成するために必要な回路セルの個数Ｚ２は、
Ｚ２＝３ｎ２−４ｎ＋４；
となる。
【０１６０】
従って、
Ｚ２−Ｚ１＝（２ｎ２−５ｎ＋１１）／３；
となり、ｎ＝４の場合、
Ｚ２−Ｚ１＝２３／３≒８；
となる。すなわち、図５に示す回路セルを用いて４ビットｘ４ビットのアレイ型乗算器を構成すると、３入力ルックアップテーブルを回路セルに用いる場合に比べて、回路セルの使用数を約８個少なくすることができる。乗算器のビット数が増えると、使用する回路セルの数の差は更に大きくなる。
このように、本実施形態に係る回路セルを用いて乗算器を構成することにより、回路セルの使用効率が向上し、全体的な回路のサイズを小さくすることができる。
【０１６１】
次に、具体的な回路の構成例を説明する。
図１８は、図１４に示すアレイ型乗算器の回路の一部を示す図である。
図１８に示す回路において、ユニットＭＵ１は図１７に示す機能ユニットであり、ユニットＭＵ２は図１５に示す機能ユニットである。
ユニットＭＵ１は、被乗数のビット信号ａ２，ａ３、乗数のビット信号ｂ０，ｂ１を入力し、和信号Ｓｍ１、キャリー信号Ｃａ１を出力する。
ユニットＭＵ２は、キャリー信号Ｃａ１、被乗数のビット信号ａ２，ａ３、乗数のビット信号ｂ１，ｂ２を入力し、和信号Ｓｍ２、キャリー信号Ｃａ２を出力する。
【０１６２】
図１９は、図５に示す回路セルを用いて図１８に示す回路を構成する例を示す図である。
【０１６３】
回路セルＣ＿１は、３つの独立したＮＡＮＤ回路を構成する。
回路セルＣ＿１の入力端子Ａ１，Ａ２は、被乗数のビット信号ａ２，乗数のビット信号ｂ１を入力し、出力端子Ｙ２は、この２つの信号の反転論理積を出力する。
回路セルＣ＿１の入力端子Ｂ１，Ｂ２は、被乗数のビット信号ａ３，乗数のビット信号ｂ１を入力し、出力端子Ｙ３は、この２つの信号の反転論理積を出力する。
回路セルＣ＿１の入力端子Ｄ１，Ｄ２は、被乗数のビット信号ａ２，乗数のビット信号ｂ２を入力し、出力端子Ｙ１は、この２つの信号の反転論理積を出力する。
【０１６４】
回路セルＣ＿２は、図１５（Ｂ）に示す回路セルＣｆ１と同じ論理機能を有する。
回路セルＣ＿２の入力端子Ａ１は、被乗数のビット信号ａ３を入力する。入力端子Ｂ１は、乗数のビット信号ｂ０を入力する。入力端子Ｃは、回路セルＣ＿１の出力端子Ｙ２より出力されるビット信号ａ２およびｂ１の反転論理積を入力する。入力端子Ａ２，Ｂ２，Ｄ２は、電源電圧ＶＤＤを入力する。入力端子Ｄ１は、開放状態にされる。
【０１６５】
図２０は、回路セルＣ＿２の論理機能とビヤの作成位置を説明するための図である。
図２０（Ａ）に示すように、回路セルＣ＿２は、入力端子Ａ１，Ｂ１より入力される２つの信号の論理積と、入力端子Ｃより入力される信号の論理反転信号との排他的論理和を出力端子Ｙ１から出力する。
【０１６６】
図２０（Ａ）に示す回路において、入力端子Ａ１およびＢ１に１'の信号が入力される場合、出力端子Ｙ１には入力端子Ｃの信号と同一論理値の信号が発生する。この場合、ノードＮ５には、入力端子Ｃの信号を論理反転した信号が発生する。従って、図２０（Ｂ）に示すように、ノードＮ１は、位置Ｐ１３のビヤによってインバータ回路ＩＮＶ５の出力ノードＣｂに接続される。
入力端子Ａ１に１'、入力端子Ｂ１に０'の信号が入力される場合、出力端子Ｙ１には入力端子Ｃの信号を論理反転させた信号が発生し、ノードＮ５には入力端子Ｃの信号と同一論理値の信号が発生する。従って、図２０（Ｂ）に示すように、ノードＮ２は、位置Ｐ２４のビヤによってインバータ回路ＩＮＶ４の出力ノードＣｂｂに接続される。
入力端子Ａ１に０'、入力端子Ｂ１に１'の信号が入力される場合、出力端子Ｙ１には入力端子Ｃの信号を論理反転させた信号が発生し、ノードＮ５には入力端子Ｃの信号と同一論理値の信号が発生する。従って、図２０（Ｂ）に示すように、ノードＮ３は、位置Ｐ３４のビヤによってインバータ回路ＩＮＶ４の出力ノードＣｂｂに接続される。
入力端子Ａ１およびＢ１に０'の信号が入力される場合、出力端子Ｙ１には入力端子Ｃの信号を論理反転させた信号が発生し、ノードＮ５には入力端子Ｃの信号と同一論理値の信号が発生する。従って、図２０（Ｂ）に示すように、ノードＮ４は、位置Ｐ４４のビヤによってインバータ回路ＩＮＶ４の出力ノードＣｂｂに接続される。
【０１６７】
回路セルＣ＿５は、図１５（Ｂ）に示す回路セルＣｆ２と同じ論理機能を有する。
回路セルＣ＿５の入力端子Ａ１は、被乗数のビット信号ａ３を入力する。入力端子Ｂ１は、乗数のビット信号ｂ０を入力する。入力端子Ｃは、回路セルＣ＿１の出力端子Ｙ２より出力されるビット信号ａ２およびｂ１の反転論理積を入力する。入力端子Ａ２，Ｂ２，Ｄ２は、電源電圧ＶＤＤを入力する。入力端子Ｄ１は、開放状態にされる。
【０１６８】
図２１は、回路セルＣ＿５の論理機能とビヤの作成位置を説明するための図である。
図２１（Ａ）に示すように、回路セルＣ＿５は、入力端子Ａ１，Ｂ１より入力される２つの信号の論理積と、入力端子Ｃより入力される信号の論理反転信号との論理積を出力端子Ｙ１から出力する。
【０１６９】
図２１（Ａ）に示す回路において、入力端子Ａ１およびＢ１に１'の信号が入力される場合、出力端子Ｙ１には入力端子Ｃの信号を論理反転させた信号が発生する。この場合、ノードＮ５には、入力端子Ｃの信号と同一論理値の信号が発生する。従って、図２１（Ｂ）に示すように、ノードＮ１は、位置Ｐ１４のビヤによってインバータ回路ＩＮＶ４の出力ノードＣｂｂに接続される。
入力端子Ａ１に１'、入力端子Ｂ１に０'の信号が入力される場合、出力端子Ｙ１には０'の信号が発生し、ノードＮ５には１'の信号が発生する。従って、図２１（Ｂ）に示すように、ノードＮ２は、位置Ｐ２１のビヤによって電源電圧ＶＤＤに接続される。
入力端子Ａ１に０'、入力端子Ｂ１に１'の信号が入力される場合、出力端子Ｙ１には０'の信号が発生し、ノードＮ５には１'の信号が発生する。従って、図２１（Ｂ）に示すように、ノードＮ３は、位置Ｐ３１のビヤによって電源電圧ＶＤＤに接続される。
入力端子Ａ１およびＢ１に０'の信号が入力される場合、出力端子Ｙ１には０'の信号が発生し、ノードＮ５には１'の信号が発生する。従って、図２１（Ｂ）に示すように、ノードＮ４は、位置Ｐ４１のビヤによって電源電圧ＶＤＤに接続される。
【０１７０】
回路セルＣ＿３は、図１７（Ｂ）に示す回路セルＣｆ６と同じ論理機能を有する。
回路セルＣ＿３の入力端子Ａ１は、回路セルＣ＿１の出力端子Ｙ１から出力されるビット信号ａ２およびｂ２の反転論理積を入力する。入力端子Ｂ１は、回路セルＣ＿１の出力端子Ｙ３から出力されるビット信号ａ３およびｂ１の反転論理積を入力する。入力端子Ｃは、回路セルＣ＿５の出力端子Ｙ１より出力されるキャリー信号Ｃａ１を入力する。入力端子Ａ２，Ｂ２，Ｄ２は、電源電圧ＶＤＤを入力する。入力端子Ｄ１は、開放状態にされる。
【０１７１】
図２２は、回路セルＣ＿３の論理機能とビヤの作成位置を説明するための図である。
図２２（Ａ）に示すように、回路セルＣ＿３は、入力端子Ａ１，Ｂ１より入力される２つの信号の論理反転信号同士の排他的論理和と入力端子Ｃより入力される信号との排他的論理和を、出力端子Ｙ１から出力する。
【０１７２】
図２２（Ａ）に示す回路において、入力端子Ａ１およびＢ１に１'の信号が入力される場合、出力端子Ｙ１には入力端子Ｃの信号と同一論理値の信号が発生し、ノードＮ５には入力端子Ｃの信号を論理反転した信号が発生する。従って、図２２（Ｂ）に示すように、ノードＮ１は、位置Ｐ１３のビヤによってインバータ回路ＩＮＶ５の出力ノードＣｂに接続される。
入力端子Ａ１に１'、入力端子Ｂ１に０'の信号が入力される場合、出力端子Ｙ１には入力端子Ｃの信号を論理反転させた信号が発生し、ノードＮ５には入力端子Ｃの信号と同一論理値の信号が発生する。従って、図２２（Ｂ）に示すように、ノードＮ２は、位置Ｐ２４のビヤによってインバータ回路ＩＮＶ４の出力ノードＣｂｂに接続される。
入力端子Ａ１に０'、入力端子Ｂ１に１'の信号が入力される場合、出力端子Ｙ１には入力端子Ｃの信号を論理反転させた信号が発生し、ノードＮ５には入力端子Ｃの信号と同一論理値の信号が発生する。従って、図２２（Ｂ）に示すように、ノードＮ３は、位置Ｐ３４のビヤによってインバータ回路ＩＮＶ４の出力ノードＣｂｂに接続される。
入力端子Ａ１およびＢ１に０'の信号が入力される場合、出力端子Ｙ１には入力端子Ｃの信号と同一論理値の信号が発生し、ノードＮ５には入力端子Ｃの信号を論理反転させた信号が発生する。従って、図２２（Ｂ）に示すように、ノードＮ４は、位置Ｐ４３のビヤによってインバータ回路ＩＮＶ５の出力ノードＣｂに接続される。
【０１７３】
回路セルＣ＿６は、図１７（Ｂ）に示す回路セルＣｆ７と同じ論理機能を有する。
回路セルＣ＿６の入力端子Ａ１は、回路セルＣ＿１の出力端子Ｙ１から出力されるビット信号ａ２およびｂ２の反転論理積を入力する。入力端子Ｂ１は、回路セルＣ＿１の出力端子Ｙ３から出力されるビット信号ａ３およびｂ１の反転論理積を入力する。入力端子Ｃは、回路セルＣ＿５の出力端子Ｙ１より出力されるキャリー信号Ｃａ１を入力する。入力端子Ａ２，Ｂ２，Ｄ２は、電源電圧ＶＤＤを入力する。入力端子Ｄ１は、開放状態にされる。
【０１７４】
図２３は、回路セルＣ＿６の論理機能とビヤの作成位置を説明するための図である。
図２３（Ａ）に示すように、回路セルＣ＿６は、入力端子Ａ１，Ｂ１より入力される２つの信号の論理反転信号同士の論理積、入力端子Ａ１より入力される信号の論理反転信号と入力端子Ｂ１より入力される信号との論理積、ならびに、入力端子Ａ１より入力される信号と入力端子Ｂ１より入力される信号の論理反転信号との論理積を演算し、これらの論理積同士の論理和を出力端子Ｙ１から出力する。
【０１７５】
図２３（Ａ）に示す回路において、入力端子Ａ１およびＢ１に１'の信号が入力される場合、出力端子Ｙ１には０'の信号が発生し、ノードＮ５には１'の信号が発生する。従って、図２３（Ｂ）に示すように、ノードＮ１は、位置Ｐ１１のビヤによって電源電圧ＶＤＤに接続される。
入力端子Ａ１に１'、入力端子Ｂ１に０'の信号が入力される場合、出力端子Ｙ１には入力端子Ｃの信号と同一論理値の信号が発生し、ノードＮ５には入力端子Ｃの信号を論理反転させた信号が発生する。従って、図２３（Ｂ）に示すように、ノードＮ２は、位置Ｐ２３のビヤによってインバータ回路ＩＮＶ５の出力ノードＣｂに接続される。
入力端子Ａ１に０'、入力端子Ｂ１に１'の信号が入力される場合、出力端子Ｙ１には入力端子Ｃの信号と同一論理値の信号が発生し、ノードＮ５には入力端子Ｃの信号を論理反転させた信号が発生する。従って、図２３（Ｂ）に示すように、ノードＮ３は、位置Ｐ３３のビヤによってインバータ回路ＩＮＶ５の出力ノードＣｂに接続される。
入力端子Ａ１およびＢ１に０'の信号が入力される場合、出力端子Ｙ１には１'の信号が発生し、ノードＮ５には０'の信号が発生する。従って、図２３（Ｂ）に示すように、ノードＮ４は、位置Ｐ４２のビヤによって基準電位ＶＳＳに接続される。
【０１７６】
図２４は、図１９に示す回路セルＣ＿１，Ｃ＿２，Ｃ＿３，Ｃ＿５，Ｃ＿６の具体的な配線構造の一例を示す図である。
【０１７７】
図２４の例において、回路セルＣ＿１，Ｃ＿２，Ｃ＿３は、この順序で行方向に並んで形成されている。回路セルＣ＿４，Ｃ＿５，Ｃ＿６は、この順序で行方向に並んで形成されている。回路セルＣ＿１とＣ＿５、回路セルＣ＿２とＣ＿６、回路セルＣ＿３とＣ＿６は、それぞれ列方向に並んで形成されている。
【０１７８】
回路セルＣ＿１は、位置Ｐ１１〜Ｐ４４にビヤが作成されていないため、ルックアップテーブルとして動作せず、その代わりに、内蔵する３つのＮＡＮＤ回路（Ｕ１〜Ｕ３）がそれぞれ独立の回路として機能する。
回路セルＣ＿２は、位置Ｐ１３，Ｐ２４，Ｐ３４，Ｐ４４にビヤを有しており、図１５（Ｂ）の回路セルＣｆ１に相当する論理機能を有する。
回路セルＣ＿５は、位置Ｐ１４，Ｐ２１，Ｐ３１，Ｐ４１にビヤを有しており、図１５（Ｂ）の回路セルＣｆ２に相当する論理機能を有する。
回路セルＣ＿３は、位置Ｐ１３，Ｐ２４，Ｐ３４，Ｐ４３にビヤを有しており、図１７（Ｂ）の回路セルＣｆ６に相当する論理機能を有する。
回路セルＣ＿６は、位置Ｐ１１，Ｐ２３，Ｐ３３，Ｐ４２にビヤを有しており、図１７（Ｂ）の回路セルＣｆ７に相当する論理機能を有する。
【０１７９】
回路セルの入出力端子は、配線群Ｌ２と配線ＬＣ１〜ＬＣ１１との間に形成されるビヤを介して、回路セル間を渡る配線群に接続されているか、あるいは、電源配線ＬＳ１，ＬＳ２と配線ＬＣ１〜ＬＣ１１との間に形成されるビヤを介して、電源電圧ＶＤＤ，基準電位ＶＳＳに接続されている。
【０１８０】
回路セル間を渡る配線群は、配線群Ｌ２とＬ４との間に形成されるビヤ、ならびに、配線群Ｌ１とＬ３との間に形成されるビヤによって連結されている。
【０１８１】
このように、本実施形態に係る半導体集積回路によれば、各回路セルの論理機能や回路セル間の配線経路を、第ａ層と第（ａ＋１）層との間に形成するビヤに応じて自由にプログラムすることが可能である。
【０１８２】
次に、本実施形態に係る半導体集積回路における回路セルの検査方法について説明する。
図２５は、回路セルの検査に係わる回路の一例を示す図であり、図１と図２５に示す同一符号は同一の構成要素を示す。
【０１８３】
本実施形態に係る半導体集積回路は、回路セルの検査に係わる回路として、列選択回路１００と、プリチャージ回路２００と、センスアンプ３０１，３０２，３０３，・・・と、スキャンフリップフロップ４０１，４０２，４０３，・・・とを有する。
【０１８４】
列選択回路１００は、回路の検査を行うテストモードにおいて、列選択線ＣＬ１，ＣＬ２，ＣＬ３・・・を順次にハイレベルに設定する。ただし、列選択線ＣＬ１，ＣＬ２，ＣＬ３・・・は、それぞれ、回路セルアレイの第１列，第２列，第３列，・・・に属する回路セルに共通に接続される。
列選択回路１００によって例えば第ｉ列の列選択線ＣＬｉがハイレベルに設定されると、この列選択線ＣＬｉに接続される回路セルにおいてトランジスタＱｎ１５がそれぞれオンする。その結果、第ｉ列の回路セルの検査結果を示す信号が検査出力線ＳＬ１，ＳＬ２，ＳＬ３，・・・へ出力される。
【０１８５】
プリチャージ回路２００は、列選択回路１００において列選択線がハイレベルに設定される前に、検査出力線ＳＬ１，ＳＬ２，ＳＬ３，・・・を電源電圧ＶＤＤにプリチャージする。ただし、検査出力線ＳＬ１，ＳＬ２，ＳＬ３，・・・は、それぞれ、回路セルアレイの第１行，第２行，第３行，・・・に属する回路セルに共通に接続される。
【０１８６】
センスアンプ３０１，３０２，３０３，・・・は、検査出力線ＳＬ１，ＳＬ２，ＳＬ３，・・・に出力される回路セルの検査結果の信号を増幅する。
【０１８７】
スキャンフリップフロップ４０１，４０２，４０３，・・・は、センスアンプ３０１，３０２，３０３，・・・において増幅された検査結果の信号をラッチし、シリアルデータに変換して出力する。
【０１８８】
図２６は、図２５に示す回路による検査処理の一例を図解したフローチャートである。
【０１８９】
まず検査の開始時に、テスト対象の列を示す番号（以下、テスト列番号と表記する）、テスト信号のパターンを示す番号（以下、テストパターン番号と表記する）、テスト対象の行を示す番号（以下、テストビット番号と表記する）がそれぞれ０'に初期化される（ステップＳＴ２０１〜ＳＴ２０３）。
【０１９０】
次いで、テストパターン番号で示されるテスト信号が図示しない検査装置から回路セルに供給される。例えば図５に示す回路セルの場合、入力端子Ｔａ１，Ｔａ２，Ｔｂ１，Ｔｂ２，Ｔｄ２に対して図示しない検査装置からテスト信号が供給される。また、各回路セルの端子Ｔｍｏｄがハイレベルに設定されるとともに、テスト列番号で示される列の列選択線が列選択回路１００によってハイレベルに設定される。
端子Ｔｍｏｄがハイレベルになると、検査装置のテスト信号は各回路セルに入力される。そして、各回路セルからは、このテスト信号に応じた検査結果の信号が出力される。
このとき、列選択線がハイレベルに設定された列の回路セルでは、トランジスタＱｎ１５がオン状態になる。出力端子Ｙ１ｂの信号は、トランジスタＱｎ１５を介して検査出力線ＳＬ１，ＳＬ２，ＳＬ３，・・・に出力される。検査出力線ＳＬ１，ＳＬ２，ＳＬ３，・・・の信号は、センスアンプ３０１，３０２，３０３，・・・において増幅され、スキャンフリップフロップ４０１，４０２，４０３，・・・にラッチされる（ステップＳＴ２０４）。
【０１９１】
スキャンフリップフロップ４０１，４０２，４０３，・・・にラッチされるデータのうち、テストビット番号で示される行のデータが期待値と比較され（ステップＳＴ２０５）、期待値と異なる場合、このデータを出力した回路セルのブロックと列の情報が、欠陥を持つ回路セルの情報として記録される（ステップＳＴ２０６）。期待値と一致する場合は、スキャンフリップフロップ４０１，４０２，４０３，・・・のデータが１ビットシフトされ（ステップＳＴ２０７）、テストビット番号に１'が加算される（ステップＳＴ２０８）。このとき、テストビット番号が所定の最大値（すなわち最後の行を示す番号）に達していない場合は、１'を加算されたテストビット番号に対応する次の行のデータに対して、上述したステップＳＴ２０５〜ＳＴ２０８の処理が反復される。
【０１９２】
テストビット番号が所定の最大値（すなわち最後の行を示す番号）に達していると判定された場合（ステップＳＴ２０９）、テストパターン番号に１'が加算される（ステップＳＴ２１０）。このとき、テストパターン番号が所定の最大値（すなわち最後のパターンを示す番号）に達していない場合は、１'を加算されたテストパターン番号に対応する次のテストパターンが図示しない検査装置において生成され、上述したステップＳＴ２０３〜ＳＴ２１０の処理が反復される。
【０１９３】
テストパターン番号が所定の最大値（すなわち最後のパターンを示す番号）に達していると判定された場合（ステップＳＴ２１１）、テスト列番号に１'が加算される。このとき、テスト列番号が所定の最大値（すなわち最後の列を示す番号）に達していない場合は、１'を加算されたテスト列番号に対応する次の列が検査対象となる。すなわち、次の列の列選択信号が列選択回路１００によってハイレベルに設定され、上述したステップＳＴ２０２〜ＳＴ２１２の処理が反復される。
テスト列番号が所定の最大値（すなわち最後の列を示す番号）に達したと判定された場合（ステップＳＴ２１３）、全回路セルの検査が終了する。
【０１９４】
以上、本発明の実施形態について詳細に説明したが、本発明は上記の形態にのみ限定されるものではなく、種々のバリエーションを含んでいる。
【０１９５】
図４に示す回路セルは、図３に示す回路セルにおけるトランジスタＱｎ１〜Ｑｎ６のスイッチをトランスファーゲート型のスイッチに置き換えたものであるが、他の回路セルにおいてもＱｎ１〜Ｑｎ６をトランスファーゲート型のスイッチに置き換え可能である。また、本発明の選択回路に用いるスイッチは、上述した実施形態で示すものに限らず、他の種々のスイッチを用いることが可能である。
【０１９６】
上述した実施形態では、例として回路セルに２入力ＮＡＮＤ回路を内蔵させる例を挙げているが、これに限らず、回路セルに３入力以上のＮＡＮＤ回路を内蔵させても良い。
その他、上述した実施形態において挙げている具体的数値（回路セルの入力数、出力数など）は説明上の一例であり、本発明においてはこれらを任意の数値に変更可能である。
【図面の簡単な説明】
【０１９７】
【図１】本発明の実施形態に係る半導体集積回路の構成の一例を示す図である。
【図２】回路セルの第１の構成例を示す図である。
【図３】回路セルの第２の構成例を示す図である。
【図４】回路セルの第３の構成例を示す図である。
【図５】回路セルの第４の構成例を示す図である。
【図６】回路セルの第５の構成例を示す図である。
【図７】回路セルの第６の構成例を示す図である。
【図８】回路セルの第７の構成例を示す図である。
【図９】回路セルの第８の構成例を示す図である。
【図１０】回路セルの第９の構成例を示す図である。
【図１１】回路セルの第１０の構成例を示す図である。
【図１２】本実施形態に係る半導体集積回路の配線構造の一例を示す図である。
【図１３】４ビットのデータ同士を乗算する方法の一例を示す図である。
【図１４】４ビットｘ４ビットの乗算を行うアレイ型乗算器の構成の一例を示す図である。
【図１５】図１４に示すアレイ型乗算器に含まれる第１の機能ユニットの構成例を示す図である。
【図１６】図１４に示すアレイ型乗算器に含まれる第２の機能ユニットの構成例を示す図である。
【図１７】図１４に示すアレイ型乗算器に含まれる第３の機能ユニットの構成例を示す図である。
【図１８】図１３に示すアレイ型乗算器に含まれる回路の一部を示す図である。
【図１９】図１８に示す回路を、図５に示す回路セルで構成する例を示す図である。
【図２０】図１８に示す回路に使用される回路セルの論理機能とビヤの作成位置を説明するための第１の図である。
【図２１】図１８に示す回路に使用される回路セルの論理機能とビヤの作成位置を説明するための第２の図である。
【図２２】図１８に示す回路に使用される回路セルの論理機能とビヤの作成位置を説明するための第３の図である。
【図２３】図１８に示す回路に使用される回路セルの論理機能とビヤの作成位置を説明するための第４の図である。
【図２４】図１９に示す回路の配線構造の一例を示す図である。
【図２５】回路セルの検査に係わる回路の一例を示す図である。
【図２６】図２５に示す回路による検査処理の一例を図解したフローチャートである。
【符号の説明】
【０１９８】
Ｃ１１〜Ｃｍｎ・・・回路セル、Ｕ１〜Ｕ４・・・ＮＡＮＤ回路、ＩＮＶ１〜ＩＮＶ７・・・インバータ回路、Ａ，Ｂ，Ｃ，Ａ１，Ａ２，Ｂ１，Ｂ２，Ｃ１，Ｃ２，Ｄ１，Ｄ２・・・入力端子、Ｔａ，Ｔｂ，Ｔｃ，Ｔａ１，Ｔａ２，Ｔｂ１，Ｔｂ２，Ｔｃ１，Ｔｃ２，Ｔｄ２・・・テスト用入力端子、Ｙ１，Ｙ１ｂ，Ｙ２，Ｙ３，Ｙ４・・・出力端子、Ｑｎ１〜Ｑｎ１５・・・ｎチャンネルＭＯＳ型トランジスタ、Ｑｐ１〜Ｑｐ７・・・ｐチャンネルＭＯＳ型トランジスタ、１００・・・列選択回路、２００・・・プリチャージ回路、３０１，３０２，３０３・・・センスアンプ、４０１，４０２，４０３・・・スキャンフリップフロップ、Ｌ１〜Ｌ４・・・配線群、ＬＣ１〜ＬＣ１７，ＬＳ１，ＬＳ２・・・配線
【図１】
2006148301.tif 000007
【図２】
2006148301.tif 000008
【図３】
2006148301.tif 000009
【図４】
2006148301.tif 000010
【図５】
2006148301.tif 000011
【図６】
2006148301.tif 000012
【図７】
2006148301.tif 000013
【図８】
2006148301.tif 000014
【図９】
2006148301.tif 000015
【図１０】
2006148301.tif 000016
【図１１】
2006148301.tif 000017
【図１２】
2006148301.tif 000018
【図１３】
2006148301.tif 000019
【図１４】
2006148301.tif 000020
【図１５】
2006148301.tif 000021
【図１６】
2006148301.tif 000022
【図１７】
2006148301.tif 000023
【図１８】
2006148301.tif 000024
【図１９】
2006148301.tif 000025
【図２０】
2006148301.tif 000026
【図２１】
2006148301.tif 000027
【図２２】
2006148301.tif 000028
【図２３】
2006148301.tif 000029
【図２４】
2006148301.tif 000030
【図２５】
2006148301.tif 000031
【図２６】
2006148301.tif 000032