(57)【要約】【課題】ストラクチャードＡＳＩＣにおいて待機時の電力消費を削減することが可能な半導体集積回路を提供する。【解決手段】Ｍ（Ｍは２以上の整数）列の回路部列と、任意の入力論理を一意に決めるルックアップテーブル（ＬＵＴ）構造を有する（Ｍ−１）列のプログラム部列と、を有し、プログラム部列は、回路部列間に配置され、冗長前は、第１側に隣接する回路部列に接続される構造を有し、所定の回路部列に欠陥があると、欠陥回路部列が第１側に位置するプログラム部列から順次に配置されているプログラム部列は、第２側に隣接する回路部列と接続されるカラムシフト冗長方式によってセル配置が行われ、各回路部２２０は、構成素子ごとに電力を供給可能な構造を有し、回路部２２０において、回路動作に不要な構成素子は電源から切り離されている。【選択図】図１
2008047708.tif 000002
【特許請求の範囲】
【請求項１】
Ｍ（Ｍは２以上の整数）列の回路部列と、
任意の入力論理を一意に決めるルックアップテーブル（ＬＵＴ）構造を有する（Ｍ−１）列のプログラム部列と、を有し、
上記プログラム部列は、上記回路部列間に配置され、冗長前は、第１側に隣接する回路部列に接続される構造を有し、
所定の回路部列に欠陥があると、当該欠陥回路部列が第１側に位置するプログラム部列から順次に配置されているプログラム部列は、第２側に隣接する回路部列と接続されるカラムシフト冗長方式によってセル配置が行われ、
上記各回路部は、構成素子ごとに電力を供給可能な構造を有し、
上記回路部において、回路動作に不要な構成素子は電源から切り離されている
半導体集積回路。
【請求項２】
上記セル配置が完了した段階において、両側のＬＵＴが使われていない場合は、当該回路部全体が電源から切り離されている
請求項１記載の半導体集積回路。
【請求項３】
上記セル配置が完了した段階において、片側のＬＵＴしか使われていない場合、使用されているＬＵＴのデータを選択するために必要な構成素子のみに電源に接続され、それ以外の構成素子は電源から切り離されている
請求項１記載の半導体集積回路。
【請求項４】
上記セル配置が完了した段階において、両側のＬＵＴが使われている場合、両側のＬＵＴのデータ選択に必要な構成素子のみ電源に接続され、それ以外の構成素子は電源から切り離されている
請求項１記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに機能を代替可能な複数のモジュールを有する半導体集積回路に関するものである。
【背景技術】
【０００２】
近年の半導体集積回路では、加工寸法の微細化と回路構成の大規模化が進み、製造上の欠陥による歩留りの低下が深刻化している。そこで、全体の回路の一部に予め冗長な回路を設けておき、欠陥部分をこの冗長な回路に置き換えることによって、半導体チップ全体が不良品とならないようにする手法が提案されている。
【０００３】
たとえば特許文献１に記載されるＦＰＧＡ（field programmable gate array）の論理回路データ生成方法では、故障情報と論理情報から故障回避の必要性を判定し、必要であるなら故障部分の機能を空き部分で代用するように論理情報を変更する。
【０００４】
また、特許文献２に記載される半導体装置では、メモリーマップ型のアドレッシングによって複数の回路モジュール間のデータ転送が行われる。各回路モジュールにＩＤコードが割り当てられており、そのＩＤコードを操作してデータの転送先を制御することにより、故障した回路モジュールを冗長な回路モジュールに置き換える。
【０００５】
また、基本構成単位となる複数の回路セルを組み合わせることによって構成される半導体集積回路としてストラクチャードＡＳＩＣ（Structured ASIC）が知られている。
【０００６】
ストラクチャードＡＳＩＣは、回路の最小構成単位として、ＮＡＮＤ回路のような基本ゲートよりも粒度の粗い構造を持った回路セルを用いるＩＣである。
【０００７】
ストラクチャードＡＳＩＣの基本論理構成単位に関する代表的な論文として、たとえば非特許文献１がある。この論文においては、３入力ルックアップテーブル（look up table、以下「ＬＵＴ」と略記する）とスキャンフリップフロップ、２つの３入力ＮＡＮＤ回路、７つのバッファを用いて基本構成単位が構成されている。スタンダードセル方式との性能比較が検討されており、面積は４０〜６８％程大きくなるものの、遅延についてはほぼ同等の性能を得られることが報告されている。
【０００８】
また、特許文献３には、ＬＵＴの入力にＮＡＮＤ回路を接続した論理セルが提案されている。特許文献４には、２つの３入力ＬＵＴと２入力ＬＵＴ、フリップフロップを用いて構成された論理セルが提案されている。
【０００９】
ストラクチャードＡＳＩＣは、ＦＰＧＡ（field programmable gate array）と異なり、配線の一部を用途に合わせてカスタマイズするマスク・ルーティングにより所望の機能を持った回路を構成することができる。ＦＰＧＡにおける再構成可能な配線構造は非常に無駄が多いが、それをマスク・ルーティングに置き換えることによって、スタンダードセル方式より無駄があるものの、ＦＰＧＡよりは非常に無駄が少ない回路を短期間に開発できるというメリットがある。
【００１０】
【特許文献１】特許第３４９１５７９号明細書
【特許文献２】特許第３１９２２２０号明細書
【非特許文献１】Ｋ．Ｙ．Ｔｏｎｇ  他５名、“Ｒｅｇｕｌａｒ  ｌｏｇｉｃ  ｆａｂｒｉｃｓ  ｆｏｒ  ａ  ｖｉａ  ｐａｔｔｅｒｎｅｄ  ｇａｔｅ  ａｒｒａｙ  （ＶＰＧＡ）”、ＩＥＥＥ  ２００３  ＣＵＳＴＯＭ  ＩＮＴＥＧＲＡＴＥＤ  ＣＩＲＣＵＩＴＳ  ＣＯＮＦＥＲＥＮＣＥ、（米国）、２００３年、ｐ．５３−５６
【特許文献３】米国特許第６２３６２２９号明細書
【特許文献４】米国特許第６５８０２８９号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上述した技術には、次に述べるような不利益がある。
【００１２】
特許文献１に記載されるＦＰＧＡでは、論理回路の基本構成単位である基本セルが故障している場合、これを迂回するように配線ルートが変更される。故障回避のための迂回配線は故障の発生状況に応じて様々であり、どのような配線ルートに変更されるかを予測することは難しい。そのため、基本セルのどれが故障しても所望の遅延条件を満たし得るような明確な遅延マージンを設定することが困難であり、遅延特性が著しく悪化する可能性を考慮してかなり大きな遅延マージンを見込んでおく必要がある。
【００１３】
特許文献２に記載される半導体装置では、回路モジュール間のデータ転送距離がどの程度の長さになるかが不良の発生状況に応じて大きく変化する可能性があるため、全ての回路モジュールがお互いに最大限離れた場合を想定して各モジュールの動作を規定する必要がある。したがって、設計の段階においてかなり大きな遅延マージンを見込んでおく必要があり、システム全体の性能を最適化し難い。
【００１４】
また、ストラクチャードＡＳＩＣにおいて、回路動作に関係無いセルにおける漏れ電流は、回路のDC特性として無駄となるため、可能な限り削除することが望ましい。
しかしルックアップテーブルを用いたストラクチャードＡＳＩＣにおいて、たとえばいわゆるシフトタイプ（Shift Type）冗長方式を採用した場合、シフトの有無によって活性化される回路が変わるため、回路動作に不要なゲートにも電源電圧を加えており、待機時の消費電力が増大する。
【００１５】
本発明は、回路の一部分に欠陥が生じていてもそれを救済して回路全体を正常に動作させることが可能であるとともに、欠陥の救済に伴う信号遅延の変化を小さくすることができることはもとより、ストラクチャードＡＳＩＣにおいて待機時の電力消費を削減することが可能な半導体集積回路を提供することにある。
【課題を解決するための手段】
【００１６】
本発明の観点に係る半導体集積回路は、Ｍ（Ｍは２以上の整数）列の回路部列と、任意の入力論理を一意に決めるルックアップテーブル（ＬＵＴ）構造を有する（Ｍ−１）列のプログラム部列と、を有し、上記プログラム部列は、上記回路部列間に配置され、冗長前は、第１側に隣接する回路部列に接続される構造を有し、所定の回路部列に欠陥があると、当該欠陥回路部列が第１側に位置するプログラム部列から順次に配置されているプログラム部列は、第２側に隣接する回路部列と接続されるカラムシフト冗長方式によってセル配置が行われ、上記各回路部は、構成素子ごとに電力を供給可能な構造を有し、上記回路部において、回路動作に不要な構成素子は電源から切り離されている。
【００１７】
好適には、上記セル配置が完了した段階において、両側のＬＵＴが使われていない場合は、当該回路部全体が電源から切り離されている。
【００１８】
好適には、上記セル配置が完了した段階において、片側のＬＵＴしか使われていない場合、使用されているＬＵＴのデータを選択するために必要な構成素子のみに電源に接続され、それ以外の構成素子は電源から切り離されている。
【００１９】
好適には、上記セル配置が完了した段階において、両側のＬＵＴが使われている場合、両側のＬＵＴのデータ選択に必要な構成素子のみ電源に接続され、それ以外の構成素子は電源から切り離されている。
【発明の効果】
【００２０】
本発明によれば、ストラクチャードＡＳＩＣにおいて回路動作に不要な不活性ゲートやトランジスタ単体等の構成素子への電力供給を停止し、待機時の電力消費を削減することができる。
また、同一入出力部に接続される複数個のモジュールを、当該入出力部との距離の違いが小さくなるように配置することができるため、欠陥の救済等に伴って入出力部とモジュールとの接続を切り替えた場合に生じる信号遅延の変化を小さくすることができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施形態を図面に関連付けて説明する。
本実施形態では、いわゆるカラムシフト冗長方式の基本的な、概念、構成を図１から図５に関連付けて説明した後、リペアブルストラクチャードＡＳＩＣ（Repairable Structured ASIC（RS-ASIC））の構造および消費電力の低減構造について図６から図１２に関連付けて説明する。
【００２２】
図１は、本発明の実施形態に係るカラムシフト冗長方式を採用した半導体集積回路の構成の一例を示す図である。
本実施形態に係る半導体集積回路は、たとえば図１に示すように、モジュールＭ１１〜Ｍ１９，Ｍ２１〜Ｍ２９，Ｍ３１〜Ｍ３９，Ｍ４１〜Ｍ４９と、一般回路ブロック１００と、モジュール選択部５０とを有する。
【００２３】
モジュールＭ１１〜Ｍ１９，Ｍ２１〜Ｍ２９，Ｍ３１〜Ｍ３９，Ｍ４１〜Ｍ４９は、たとえば４行９列の行列状に配列される。ここで、‘ｋ’を１から４までの整数、‘ｎ’を１から９までの整数とすると、モジュールＭｋｎは第ｋ行および第ｎ列に属する。
【００２４】
モジュールＭｋｎは、入力される機能設定データに応じてその機能を設定される回路、すなわちプログラム可能な回路である。
モジュールＭｋｎの回路構成や機能は任意であり、たとえばＤＳＰ（digital signal processor）等の演算・処理機能を持つ回路や、単純な論理演算を行う回路を含んでも良い。後者の回路としては、たとえば、入出力部（後述）から入力される信号の少なくとも一部に応じて、機能設定データの複数のビットデータから１つを選択し、選択したビットデータ若しくはその論理反転データを入出力部へ出力するセレクタＳＥＬ（図２）などでも良い。
【００２５】
また、モジュールＭｋｎは、デジタル回路に限定されるものではなく、機能設定データに応じて機能を設定可能なアナログ回路でも良い。
【００２６】
同一の行に属するモジュールは、入力される機能設定データが同一の場合、互いの機能を代替可能である。すなわち、第ｋ行に属するモジュールＭｋ１〜Ｍｋ９に同一の機能設定データを入力した場合、これらのモジュールの機能は同等になる。
【００２７】
同一の行に属するモジュールＭｋ１〜Ｍｋ９は、全て同一の回路構成を有していても良いし、同じ機能設定データを入力した場合に機能を代替可能であれば、その一部に異なる回路構成を有するモジュールを含んでいても良い。
【００２８】
一般回路ブロック１００は、上述したモジュールＭ１１〜Ｍ１９，Ｍ２１〜Ｍ２９，Ｍ３１〜Ｍ３９，Ｍ４１〜Ｍ４９との間で信号をやり取りするための入出力部Ｐ１１〜Ｐ１８，Ｐ２１〜Ｐ２８，Ｐ３１〜３８，Ｐ４１〜Ｐ４８を有しており、これらのモジュールと共同して所定の処理を実行する。一般回路ブロック１００の回路構成や機能は任意であり、たとえば配線のみでも良い。
【００２９】
入出力部Ｐ１１〜Ｐ１８，Ｐ２１〜Ｐ２８，Ｐ３１〜３８，Ｐ４１〜Ｐ４８は、４行８列の行列状に配列される。ここで、‘ｉ’を１から８までの整数とすると、入出力部Ｐｋｉは第ｋ行および第ｉ列に属する。
【００３０】
入出力部Ｐ１１〜Ｐ１８，Ｐ２１〜Ｐ２８，Ｐ３１〜３８，Ｐ４１〜Ｐ４８の各々は、１つのモジュールに少なくとも１つの信号を出力するとともに、当該１つのモジュールにおいて発生する少なくとも１つの信号を入力する。図１において記号‘Ｉ／Ｏ’は、後述する機能設定データ以外に入出力部とモジュールとの間でやり取りされる信号を示す。
【００３１】
なお、同一の行に属する入出力部Ｐｋ１〜Ｐｋ８は、全てが同一の組合せの信号を入出力しても良いし、異なる組合せの信号を入出力する異なる種類の入出力部を含んでいても良い。
たとえばモジュールＭｋｎが３つの出力端子を有する場合に、この３つの出力端子の全てから信号を入力するものや、１つの出力端子のみから信号を入力するものなどが入出力部Ｐｋ１〜Ｐｋ８の中に混在していても良い。
【００３２】
また、入出力部Ｐｋｉは、上述した機能設定データを保持するデータ保持部ＰＤを有する。入出力部Ｐｋｉが、後述するモジュール選択部５０によって１つのモジュールに接続されると、この入出力部Ｐｋｉに設けられたデータ保持部ＰＤは、接続先のモジュールに対して、保持している機能設定データを入力する。
【００３３】
データ保持部ＰＤは、少なくともデータを保持できれば良く、その構成は任意である。
【００３４】
たとえばデータ保持部ＰＤは、ビヤ等の配線を使って構成される固定的なデータを発生する回路でも良い。
この場合、データ保持部ＰＤは、複数の配線ＬＡ（第１配線）と、複数の配線ＬＢ（第２配線）と、複数の配線ＬＣ（第３配線）とを用いて構成することができる。
配線ＬＡは、接続先のモジュールへ機能設定データの各ビットデータを伝送する配線である。
配線ＬＢは、それぞれ所定のビットデータを伝送する配線である。たとえば電源線やグランド線など、一定値のビットデータ（‘１’、‘０’）を伝送する配線や、一般回路ブロック１００に含まれる回路によって任意の値に設定されるビットデータを伝送する配線などが含まれる。
配線ＬＣは、複数の配線ＬＡの各々に複数の配線ＬＢの何れか１つを接続する配線である。
【００３５】
たとえば第１配線ＬＡは、ある１つの金属配線層ＭＬ１に形成され、第２配線ＬＢは、この金属配線層ＭＬ１より上層の金属配線層ＭＬ２に形成される。この場合、第３配線ＬＣは、２つ金属配線層（ＭＬ１，ＭＬ２）の間を貫通するビヤを含む。
【００３６】
このように、配線を用いてデータ保持部ＰＤを構成した場合、データ保持部ＰＤに保持される機能設定データは、半導体集積回路の製造後に変更することができない。
【００３７】
他方、データ保持部ＰＤは、各種のＳＲＡＭ（static random access memory）やＲＯＭ（read only memory）、フリップフロップ、不揮発性メモリなど、記憶データを少なくとも１回書き換えることが可能な記憶素子を用いて構成しても良い。
データ保持部ＰＤに記憶素子を用いた場合、データ保持部ＰＤに保持される機能設定データは、半導体集積回路を製造した後でも書き換えることが可能になる。
【００３８】
図２は、入出力部とモジュールの構成例を示す図である。
入出力部Ｐｋｉに設けられたデータ保持部ＰＤは、たとえば４ビットの機能設定データ（ＦＤ０，…，ＦＤ３）を保持しており、後述のモジュール選択部５０によって接続されたモジュールＭｋｉに、この機能設定データを入力する。また、入出力部Ｐｋｉは、モジュール選択部５０を介して２ビットの信号（ＩＮ０，ＩＮ１）をモジュールＭｋｉに出力するとともに、モジュール選択部５０を介して１ビットの信号（ＯＵＴ）をモジュールＭｋｉから入力する。
モジュールＭｋｉは、たとえばセレクタＳＥＬを有しており、データ保持部ＰＤから入力される機能設定データの各ビットデータ（ＦＤ０，…，ＦＤ３）の中から、信号ＩＮ０，ＩＮ１に応じて１つのビットデータを選択し、これを信号ＯＵＴとして入出力部Ｐｋｉに出力する。
【００３９】
図２の例において、データ保持部ＰＤとセレクタＳＥＬは、２入力１出力のルックアップテーブルを構成している。本実施形態に係る半導体集積回路では、たとえば図２に示すように、ルックアップテーブルの構成要素であるデータ保持部とセレクタを分離し、入出力部の内部にデータ保持部を、モジュールの内部にセレクタをそれぞれ配置している。
【００４０】
モジュール選択部５０は、不図示の制御部から供給される制御信号に応じて、上述した４行９列のモジュールから１列を除いた４行８列のモジュールを選択し、当該選択した４行８列のモジュールと上述した４行８列の入出力部とを１対１に接続する。この場合、モジュール選択部５０は、同一の行に属する入出力部の各々に、同一の行に属する２つのモジュールから制御信号に応じて選択した１つのモジュールを接続する。すなわち、モジュール選択部５０は、第ｋ行に属するモジュールＭｋｉ又はモジュールＭｋ（ｉ＋１）の一方を制御信号に応じて選択し、これを第ｋ行の入出力部Ｐｋｉに接続する。
【００４１】
モジュール選択部５０は、たとえば、不図示の制御部から供給される制御信号に応じて、故障したモジュールを含む列（故障したモジュールがない場合は冗長用に設けられた特定の列）を除いた４行８列のモジュールを選択する。
【００４２】
故障したモジュールがない場合は、たとえば図１に示すように、モジュールＭｋｉと入出力部Ｐｋｉとが１対１に接続され、第９列に属するモジュールＭ１９〜Ｍ４９が全ての入出力部から切り離される。以下では、このように故障のモジュールがない通常の状態で入出力部から切り離されるモジュール列を、冗長カラムと呼ぶ場合がある。
【００４３】
図３は、図１に示す半導体集積回路における欠陥救済の一例を示す図であり、モジュールＭ２２が故障している場合における入出力部とモジュールとの接続状態を示す。
モジュール２２が故障している場合、図示しない制御部によって、モジュール２２を含む第２列のモジュールＭ１２〜Ｍ４２と第２列の入出力部Ｐ１２〜Ｐ４２とが切り離される。第２列の入出力部Ｐ１２〜Ｐ４２は、第２列のモジュールＭ１２〜Ｍ４２の代わりに第３列のモジュールＭ１３〜Ｍ４３に接続され、第３列の入出力部Ｐ２１〜Ｐ２２は、第３列のモジュールＭ１３〜Ｍ４３の代わりに第４列のモジュールＭ１４〜Ｍ４４に接続される。このように、各入出力部の接続先が冗長カラム（第９列）の方向へ順にシフトすることにより、４行８列の入出力部は第２列を除く４行８列のモジュールと１対１に接続され、モジュールＭ２２の欠陥が救済される。
【００４４】
図４および図５は、欠陥の救済に伴って機能設定データの入力方向が変化する様子を図解した図であり、図の下側は、図１に示す半導体集積回路の断面の一例を図解している。
欠陥モジュールがない場合（図４）、各入出力部のデータ保持部ＰＤは、図の左隣に位置するモジュールのセレクタＳＥＬに機能設定データを入力する。一方、欠陥モジュールが存在する場合（図５）、その欠陥モジュールを含んだ列より右側にある各入出力部のデータ保持部ＰＤは、図の右隣に位置するモジュールのセレクタＳＥＬに機能設定データを入力する。これにより、欠陥モジュールを含んだ列より右側にある各モジュールの機能は、欠陥救済を行う前と比較して、全体的に右側へシフトする。
【００４５】
以上、カラムシフト冗長方式の基本的な概念および構成について説明した。
以下に、本実施形態に係るカラムシフト冗長方式を採用したリペアブルストラクチャードＡＳＩＣ（Repairable Structured ASIC（RS-ASIC））の構造および消費電力の低減構造について図６から図１２に関連付けて説明する。
【００４６】
図６は、本実施形態に係るリペアブルストラクチャードＡＳＩＣ（Repairable Structured ASIC（RS-ASIC））の基本的な構成を示す図である。
【００４７】
本実施形態のＲＳ−ＡＳＩＣ２００は、図６に示すように、複数（図６の例では５）のセル部２０１〜２０５と、一つの冗長セル部２０６とを有する。
冗長セル部２６０は、前述した冗長カラムに相当する。
【００４８】
本実施形態のＲＳ−ＡＳＩＣ２００においては、ランダムなロジック回路を形成するにあたり、各セル部２０１〜２０５にルックアップテーブル（Look Up Table(LUT)）とフリップフロップ（Flip Flop(FF)）を用いた構造のストラクチャード（Structured）ＡＳＩＣ方式を採用している。
【００４９】
ＬＵＴは任意のデータをプログラミングすることにより、Ｎ入力で構成可能なすべての論理を実現することが可能な回路である。
ＦＰＧＡなどのＰＬＡ（Programmable Logic Array)や上述した図１の半導体集積回路１００において、一般的にこのプログラミングは、ＲＡＭなどの記憶デバイスを用いるが、ここでは、ハードワイヤードロジック（Hard Wired Logic）をターゲットとしているため、コンタクトビヤ（VIA）により実現する。
また不良箇所の発生は予測不能であるため、すべての製造プロセスを完了したチップに対し、冗長救済を行うためには、不良箇所を電気的に回避してやる必要がある。
そのため、本実施形態においては、ＬＵＴをコンタクトによる「プログラム部」２１０と、そのデータを読み出すための回路部「ＡＦＥ（Adaptive Functional Element)」２２０と定義し、回路部の不良を救済することとしている。
【００５０】
したがって、各セル部２０１〜２０５は、複数の回路部（ＡＦＥ）２２０と、これに対応するプログラム部（ＬＵＴ）２１０と、複数のＦＦ２３０と、これと対応する複数のＦＦピンを含んで構成されている。
また、冗長セル部２０６は、複数の回路部（ＡＦＥ）２２０と、複数のＦＦ２３０と、これと対応する複数のＦＦピン２４０を含んで構成されている。
【００５１】
各セル部２０１〜２０５は、複数の回路部（ＡＦＥ）２２０と、これに対応するプログラム部（ＬＵＴ）２１０で論理を構成し、回路部（ＡＦＥ）２２０への入出力はプログラム部（ＬＵＴ）２１０領域を通して行われる。
そして、図６におけるセル部２０１は、回路部（ＡＦＥ）列２０１１とプログラム部（ＬＵＴ）列２０１２を有する。
図６におけるセル部２０２は、回路部（ＡＦＥ）列２０２１とプログラム部（ＬＵＴ）列２０２２を有する。
図６におけるセル部２０３は、回路部（ＡＦＥ）列２０３１とプログラム部（ＬＵＴ）列２０３２を有する。
図６におけるセル部２０４は、回路部（ＡＦＥ）列２０４１とプログラム部（ＬＵＴ）列２０４２を有する。
図６におけるセル部２０５は、回路部（ＡＦＥ）列２０５１とプログラム部（ＬＵＴ）列２０５２を有する。
そして、図６における冗長セル２０６は、回路部（ＡＦＥ）列２０６１を有する。
【００５２】
本実施形態においては、回路部列はＭ＝６列配置され、プログラム部列は（Ｍ−１）＝５列配置されており、この構成に対してカラムシフト冗長方式を採用してセル配置を行う。
【００５３】
図７は、各セル部２０１〜２０５に不良（欠陥）がない場合の配線のレイアウト例を示す図である。
また、図８は、セル部２０３に不良（欠陥）がある場合を示す図であり、図９は、セル部２０３に不良（欠陥）がある場合の配線のレイアウト例を示す図である。
【００５４】
チップ内に不良（欠陥）が無い場合、ＬＵＴ２１０にプログラミングされたデータはＬＵＴ２１０から見て左側のＡＦＥ２２０で選択され、出力値を決定する。
しかし、チップ内の回路に不良がある場合、図７および図８に示すようにＭ不良を回避するため、不良回路部（ＡＦＥ）に接続されていたＬＵＴ２１０は不良回路列を切り離し、反対側の回路に接続される。
そして、この動作を不良回路列からみて右側すべての回路で同様の処理を行うことにより、不良回路を回避することが可能となる。
【００５５】
図８および図９の例においては、セル部２０３の回路部（ＡＦＥ）２２０に不良（欠陥）があることから、図６のセル部２０３のプログラム部（ＬＵＴ）列２０３２が図６で右側に位置するセル部２０４の回路部（ＡＦＥ）列２０４１と接続される。
図６のセル部２０４のプログラム部（ＬＵＴ）列２０４２が図６で右側に位置するセル部２０５の回路部（ＡＦＥ）列２０５１と接続される。
図６のセル部２０５のプログラム部（ＬＵＴ）列２０５２が図６で右側に位置する冗長セル２０６の回路部（ＡＦＥ）列１０６１と接続される。
このようにして、冗長置換後は、セル部２０３が回路部（ＡＦＥ）列２０３１を含む冗長後セル２０３Ａを形成する。
そして、プログラム部（ＬＵＴ）列２０３２と回路部（ＡＦＥ）列２０４１とによりセル部２０４Ａが形成され、プログラム部（ＬＵＴ）列２０４２と回路部（ＡＦＥ）列２０５１とによりセル部２０５Ａが形成され、プログラム部（ＬＵＴ）列２０５２と回路部（ＡＦＥ）列２０６１とによりセル部２０６Ａが形成される。
【００５６】
図７および図９には、回路の断面構造と配線例を示している。
図に示すように、回路部（ＡＦＥ）と配線の接続は全てプログラム部（ＬＵＴ）上部のコンタクトより接続され、スイッチ機構を解して回路部（ＡＦＥ）へと接続される。このため、冗長処理の前後における、上層配線経路の変更は無い。
【００５７】
そして、本実施形態のカラムシフト冗長方式を採用したＲＳ−ＡＳＩＣ２００は、回路動作に不要な不活性ゲートや単体のトランジスタ等の構成素子への電力供給を以下のステップを用いて削除することにより待機時に流れる漏れ電流を削減するように構成されている。
【００５８】
図１０は、本実施形態に係る待機時に流れる漏れ電流を削減する第１例を説明するための図である。
図１１は、本実施形態に係る待機時に流れる漏れ電流を削減する第２例を説明するための図である。
図１２は、本実施形態に係る待機時に流れる漏れ電流を削減する第３例を説明するための図である。
【００５９】
なお、図１０〜図１２に示す回路部（ＡＦＥ）２２０は、初段に配置された２入力１出力のマルチプレクサ２１１〜２１４と、次段に配置された２入力１出力のマルチプレクサ２１５，２１６、および最終段に配置された２入力１出力のマルチプレクサ２１７により構成されている。
初段のマルチプレクサ２１１〜２１４は信号Ａに応じて入力データを選択して出力する。
次段のマルチプレクサ２１５，２１６は信号Ｂに応じて入力データを選択して出力する。
最終段のマルチプレクサ２１７は、信号Ｃに応じて出力Ｑを選択して出力する。
【００６０】
図１０〜図１２のＲＳ−ＡＳＩＣは、回路部（ＡＦＥ）２２０−ｎがスイッチＳＷ２によりプログラム部（ＬＵＴ）２１０−ｎと接続され、回路部（ＡＦＥ）２２０−ｎ＋１がスイッチＳＷ４によりプログラム部（ＬＵＴ）２１０−ｎ＋１と接続され、回路部（ＡＦＥ）２２０−ｎ＋２がスイッチＳＷ６によりプログラム部（ＬＵＴ）２１０−ｎ＋２と接続されている。
【００６１】
セル配置が完了した段階において、デコーダから見て両側のＬＵＴが使われていない場合（Filler Cellが配置されている場合）は、図１０に示すように、そのセルに供給される電源線（VDD or GND）と接続されるコンタクトを排除し、電源から切り離す。
図１０の例においては、回路部（ＡＦＥ）２２０−ｎ＋１全体に対する電源線と接続されるコンタクトを排除し、電源から切り離す。
【００６２】
セル配置が完了した段階において、デコーダから見て片側のＬＵＴしか使われていない場合、図１１に示すように、使用されているＬＵＴのデータを選択するために必要なゲートのみに電力を供給し、それ以外のゲートは電源から切り離す。
図１１に例は入力信号Ａを反転した出力Ｑを得る場合に、マルチプレクサ２１２〜２１４，２１６への電源線（VDD or GND）と接続されるコンタクトを排除し、電源から切り離す。
【００６３】
セル配置が完了した段階において、デコーダから見て両側のＬＵＴが使われている場合、図１２に示すように、両側のＬＵＴのデータ選択に必要なゲートのみに電力を供給し、それ以外のゲートは電源から切り離す。
図１２に例は、入力信号ＡとＢのＡＮＤをとって出力Ｑを得る場合に、マルチプレクサ２１３，２１４，２１６への電源線（VDD or GND）と接続されるコンタクトを排除し、電源から切り離す。
【００６４】
以上のステップを実行することにより、回路不良の有無に関わらず、すべての回路動作を実現したうえで、使用されない回路の電源を切ることが可能となる。
【００６５】
以上説明したように、ストラクチャードＡＳＩＣにおいて、実動作に不要な回路の電源を落とす（電源との接続を切断する）ことにより、回路の漏れ電流を削減することが可能となる。
また不要回路部に電源との接続線を入れないことにより、通常は救えない電源ショートモードの不良が生じても、その不良が不要回路部にあれば、問題なく良品とすることができる。
【００６６】
また、以上説明したように、図１に示す半導体集積回路によれば、４行９列のモジュールから１列を除いた４行８列のモジュールが選択され、この選択された４行８列のモジュールと４行８列の入出力部とが１対１に接続される。また、同一の行に属する入出力部の各々に、同一の行に属する２つのモジュールから選択された１つのモジュールが接続される。
これにより、同一の入出力部Ｐｋｉに接続される２つのモジュール（Ｍｋｉ、Ｍｋ（ｉ＋１））を、入出力部Ｐｋｉとの距離の違いが小さくなるように配置することが可能になる。たとえば図１に示すように、各行の８つの入出力部（Ｐｋ１〜Ｐｋ８）を等しい間隔で配列することにより、入出力部Ｐｋｉとの距離が互いに等しくなるように２つのモジュール（Ｍｋｉ、Ｍｋ（ｉ＋１））を配置することができる。
入出力部とモジュールとの距離の違いを小さくすることによって、両者を接続する配線長の違いを小さくすることができる。したがって、欠陥の救済に伴ってモジュールと入出力部との接続を切り替えた場合に生じる信号遅延の変化を小さくすることができる。
【００６７】
また、モジュールＭｋｉおよびＭｋ（ｉ＋１）と入出力部Ｐｋｉとの位置関係に基づいて、欠陥救済による信号遅延の変化がどの程度になるかを正確に予測することができるため、たとえば先に述べた特許文献１のように正確な予測が難しい場合に比べて、遅延マージンを小さく見積もることが可能になる。これにより、高速に動作する回路を実現できる。
【００６８】
更に、図１に示す半導体集積回路によれば、１つの入出力部に２つのモジュールの一方を選択して接続する簡易な回路構成によって欠陥の救済を行うことができるため、回路の増加や余分な消費電力の発生を最小限に抑えることができる。
接続の切替えに用いるスイッチ回路や制御部、欠陥情報を保持するための記憶部には、従来の一般的な方法によって設計、製造可能な回路を用いることができるため、欠陥救済機能を設けることによるコストの増大を微小に抑えることができる。
【００６９】
また、図１に示す半導体集積回路によれば、各入出力部に機能設定データを保持するデータ保持部ＰＤが設けられており、このデータ保持部ＰＤに保持される機能設定データがモジュール選択部を介して各モジュールに入力される。各モジュールの機能は、入力される機能設定データに応じて設定される。
これにより、一の入出力部に接続されるモジュールが欠陥救済のために切り替えられても、当該一の入出力部に接続されるモジュールを、そのデータ保持部ＰＤに保持される機能設定データに応じた一定の機能に設定することができる。
【００７０】
欠陥救済に伴って入出力部とモジュールとの接続を切り替えた場合、各モジュールの機能は、接続先の入出力部に合わせて変更する必要がある。そのため、もし、データ保持部ＰＤがモジュールの内部に設けられていると、欠陥救済を行った場合には、データ保持部ＰＤの機能設定データを接続先の入出力部に合わせて書き換えなくてはならない。これを実現するには、たとえば、データ保持部ＰＤを書換え可能な記憶素子で構成する方法や、モジュールの欠陥を検査した後に電子線ビーム装置などによってデータ保持部ＰＤの配線を固定する方法などが考えられる。
しかしながら、書換え可能な記憶素子を用いてデータ保持部ＰＤを構成する方法では、ビヤ等によって配線を固定する方法に比べて回路構成が大幅に複雑化し、回路面積の増大や故障率の上昇を招くという不利益がある。また、電子線ビーム装置などによってデータ保持部ＰＤの配線を固定する方法では、従来の一般的な製造ラインを利用できなくなる不利益や、製造効率が低下するという不利益がある。
これに対し、図１に示す半導体集積回路によれば、入出力部とモジュールとの接続を切り替えても、データ保持部ＰＤに保持される機能設定データを一切変更する必要がないため、データ保持部ＰＤを固定の配線によって構成することができる。したがって、書換え可能な記憶素子を用いる方法や、電子線ビーム装置等を用いて配線を固定する方法における上述した不利益を回避することができる。
【００７１】
更に、一般回路ブロック１００には、欠陥の救済を行うために回路を付加する必要が全くないため、従来の回路をそのまま使用することが可能になり、欠陥救済機能を設けることによる設計の負担を軽減できる。
【００７２】
また、モジュールを規則的に配置する構造によって、配線の間隔や素子の特性等を最適化し易くなるため、モジュールをランダムに配置する構造に比べて回路面積の増大や回路特性のばらつきを抑制することができる。
【００７３】
しかも、図１に示す半導体集積回路によれば、入出力部とモジュールとの接続状態を列ごとに一括して制御することができるため、個々のモジュールについて入出力部との接続状態を独立に制御する場合に比べて制御信号の数を大幅に減らすことが可能であり、制御部の回路構成を簡易化することができる。
【００７４】
また、故障を検査する場合には、列ごとに故障の有無を検査すれば良いため、１つ１つのモジュールを検査する場合に比べて検査時間を短縮することができる。
【００７５】
更には、半導体集積回路の内部にヒューズ等の記憶素子を利用して故障モジュールの情報を書き込む場合には、列ごとに故障の有無の情報を書き込めば良いため、情報量が少なくなり、書き込み処理に要する時間を短縮することができる。
【００７６】
なお、本実施形態に係る半導体集積回路では、故障したモジュールが存在する場合に、これと同じ列に属する全てのモジュールが入出力部から切り離されるため、正常なモジュールも無駄になってしまう。そのため、故障の発生確率が高い場合には、無駄になるモジュールの数が多くなる傾向がある。しかしながら、故障の発生確率があまり高くない場合や、比較的小規模のモジュールを大量に有する場合には、個々のモジュールについて接続状態の制御を行う方式に比べて、同一の歩留りを達成するために必要な回路面積を抑えることができる。
【００７７】
また、図１に示す半導体集積回路においては、同一行の入出力部（Ｐｋ１〜Ｐｋ８）が直線上に配列されているが、これらはたとえば曲線や蛇行した線の上に配列されても良いし、ジグザグに配列されても良い。どのような線上であっても、入出力部Ｐｋ１〜Ｐｋ８が等しい間隔で配列されていれば、入出力部Ｐｋｉとの距離が互いに等しくなるように２つのモジュール（Ｍｋｉ、Ｍｋ（ｉ＋１））を配置することが可能である。
【００７８】
上述した実施形態ではモジュールや入出力部を行列状に配列しているが、本発明はこれに限定されない。たとえば、上述した行列における行の数を１つにしても良い。この場合、モジュールや入出力部は１本の直線に沿って配列しても良いし、曲線や蛇行線などの任意の線に沿って配列しても良いし、あるいはジグザグ状に配列しても良い。
【００７９】
上述した半導体集積回路は、その全てを同一の半導体チップに形成しても良いし、たとえばＳＩＰ（system in package）などの技術を用いることによって複数の半導体チップに分けて形成しても良い。
【図面の簡単な説明】
【００８０】
【図１】実施形態に係る半導体集積回路の構成の一例を示す図である。
【図２】入出力部とモジュールの構成例を示す図である。
【図３】図１に示す半導体集積回路における欠陥救済の一例を示す図である。
【図４】欠陥の救済に伴って機能設定データの入力方向が変化する様子を説明するための第１の図である。
【図５】欠陥の救済に伴って機能設定データの入力方向が変化する様子を説明するための第２の図である。
【図６】本実施形態に係るリペアブルストラクチャードＡＳＩＣ（Repairable Structured ASIC（RS-ASIC））の基本的な構成を示す図である。
【図７】図６の各セル部に不良（欠陥）がない場合の配線のレイアウト例を示す図である。
【図８】図６のセル部２０３に不良（欠陥）がある場合を示す図である。
【図９】図６のセル部２０３に不良（欠陥）がある場合の配線のレイアウト例を示す図である。
【図１０】本実施形態に係る待機時に流れる漏れ電流を削減する第１例を説明するための図である。
【図１１】本実施形態に係る待機時に流れる漏れ電流を削減する第２例を説明するための図である。
【図１２】本実施形態に係る待機時に流れる漏れ電流を削減する第３例を説明するための図である。
【符号の説明】
【００８１】
５０・・・モジュール選択部、１００・・・一般回路ブロック、ＰＤ・・・データ保持部、ＳＥＬ・・・セレクタ、Ｍ１１〜Ｍ１９，Ｍ２１〜Ｍ２９，Ｍ３１〜Ｍ３９，Ｍ４１〜Ｍ４９・・・モジュール、Ｐ１１〜Ｐ１８，Ｐ２１〜Ｐ２８，Ｐ３１〜３８，Ｐ４１〜Ｐ４８…入出力部、２００・・・リペアブルストラクチャードＡＳＩＣ（Repairable Structured ASIC（RS-ASIC））、２０１〜２０５・・・セル部、２０６・・・冗長セル、２０３Ａ・・・冗長後セル、２０４Ａ〜２０６Ａ・・・セル部、２１０・・・プログラム部（ＬＵＴ）、２２０・・・回路部（ＡＦＥ）、２３０・・・フリップフロップ（ＦＦ）、２０１１〜２０６１・・・回路部（ＡＦＥ）列、２０１２〜２０５２・・・プログラム部（ＬＵＴ）列。
【図１】
2008047708.tif 000003
【図２】
2008047708.tif 000004
【図３】
2008047708.tif 000005
【図４】
2008047708.tif 000006
【図５】
2008047708.tif 000007
【図６】
2008047708.tif 000008
【図７】
2008047708.tif 000009
【図８】
2008047708.tif 000010
【図９】
2008047708.tif 000011
【図１０】
2008047708.tif 000012
【図１１】
2008047708.tif 000013
【図１２】
2008047708.tif 000014