(57)【要約】【課題】回路装置に検査用のパッドや専用の付加回路を設けることなく、回路装置に含まれた複数のモジュールに欠陥があるか否かを判定できる検査装置とその検査方法を提供する。また、上記の検査方法を用いることによって回路サイズの増大を抑制しつつ欠陥を救済できる回路装置の製造方法を提供する。【解決手段】半導体集積回路は、互いに機能を代替可能な複数のモジュールを含んでいる。複数のモジュールの全体に割り当てる機能を同一に保ちつつ、その少なくとも一部において個々のモジュールに割り当てる機能を変更するように、半導体集積回路を制御する。そして、モジュール機能の割り当ての変更に応じた半導体集積回路の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する。【選択図】図１
2007101395.tif 000002
【特許請求の範囲】
【請求項１】
互いに機能を代替可能な複数のモジュールを含み、入力される制御信号に応じて個々のモジュールに割り当てる機能を変更可能な回路装置を検査する検査装置であって、
上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記複数のモジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成する制御部と、
上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する判定部と
を具備する検査装置。
【請求項２】
上記制御部は、上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記判定部において欠陥のあるモジュールを含むと判定された一群のモジュールの更に一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成し、
上記判定部は、上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、欠陥のあるモジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかを判定する、
請求項１に記載の検査装置。
【請求項３】
上記判定部は、欠陥のあるモジュールを含むと判定した一群のモジュールが３個の場合、当該一群のモジュールに含まれる２つのモジュールの機能が上記制御部によって交換されることによる上記回路装置の機能の変化、並びに、当該一群のモジュールに含まれる残りの１のモジュールの機能と当該２つのモジュールの一方のモジュールの機能とが上記制御部によって交換されることによる上記回路装置の機能の変化を検出し、当該検出結果に応じて欠陥のあるモジュールを特定する、
請求項２に記載の検査装置。
【請求項４】
上記回路装置に供給する所定の検査信号を発生する信号発生部を具備し、
上記判定部は、上記検査信号に対する上記回路装置の応答の変化に基づいて上記回路装置の機能の変化を検出する、
請求項１に記載の検査装置。
【請求項５】
上記所定の検査信号に応じて上記回路装置から出力される信号を圧縮する圧縮部を具備し、
上記判定部は、上記圧縮部において圧縮された信号の変化に基づいて上記回路装置の機能の変化を検出する、
請求項４に記載の検査装置。
【請求項６】
互いに機能を代替可能な複数のモジュールを含み、入力される制御信号に応じて個々のモジュールに割り当てる機能を変更可能な回路装置を検査する方法であって、
上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記複数のモジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成する第１の工程と、
上記第１の工程における上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する第２の工程と
を有する検査方法。
【請求項７】
上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記第２の工程において欠陥のあるモジュールを含むと判定された一群のモジュールの更に一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成する第３の工程を有し、
上記第２の工程では、上記第３の工程における上記機能の割り当ての変更に応じた上記回路装置の機能の変化を更に検出し、当該検出結果に応じて、欠陥のあるモジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかを判定する、
請求項６に記載の検査方法。
【請求項８】
上記第２の工程において欠陥のあるモジュールを含むと判定された一群のモジュールが３個の場合、当該一群のモジュールに含まれる２つのモジュールの機能が上記第３の工程において交換されることによる上記回路装置の機能の変化、並びに、当該一群のモジュールに含まれる残りの１のモジュールの機能と当該２つのモジュールの一方のモジュールの機能とが上記第３の工程において交換されることによる上記回路装置の機能の変化を検出し、当該検出結果に応じて欠陥のあるモジュールを特定する第４の工程を有する、
請求項７に記載の検査方法。
【請求項９】
互いに機能を代替可能なＮ個（Ｎは２より大きい整数を示す）のモジュールと、
各々が１つのモジュールに少なくとも１つの信号を出力する、及び／又は、各々が当該１つのモジュールにおいて発生する少なくとも１つの信号を入力する（Ｎ−１）個の入出力部を有した回路ブロックと、
入力される制御信号に応じて上記Ｎ個のモジュールから（Ｎ−１）個のモジュールを選択し、当該選択した（Ｎ−１）個のモジュールと上記回路ブロックの（Ｎ−１）個の入出力部とを１対１に接続するモジュール選択部と、
上記（Ｎ−１）個の入出力部から切り離す１のモジュールを指示する信号を入力する信号入力部と、
上記（Ｎ−１）個の入出力部から切り離す１のモジュールを指示する情報を記憶可能な記憶部と、
第１の動作モードにおいて、上記信号入力部に入力される信号が指示する１のモジュールを上記（Ｎ−１）個の入出力部から切り離すように上記制御信号を生成し、第２の動作モードにおいて、上記記憶部に書き込まれた上記情報が指示する１のモジュールを上記（Ｎ−１）個の入出力部から切り離すように上記制御信号を生成する制御部と
を具備する回路を半導体基板上に形成する回路形成工程と、
上記第１の動作モードにおいて上記Ｎ個のモジュールの欠陥を検査する検査工程と、
上記検査工程の検査結果に応じて、上記（Ｎ−１）個の入出力部から切り離す１のモジュールを決定し、当該１のモジュールを指示する情報を上記記憶部に書き込む書き込み工程と
を有し、
上記検査工程は、
上記Ｎ個のモジュールの少なくとも一部において個々のモジュールと入出力部との接続状態を変更するように上記制御信号を生成する第１の工程と、
上記第１の工程における上記接続状態の変更に応じた上記回路の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する第２の工程と
を有する、
回路装置の製造方法。
【請求項１０】
上記第２の工程において欠陥のあるモジュールを含むと判定された一群のモジュールの更に一部において個々のモジュールと入出力部との接続状態を変更するように上記制御信号を生成する第３の工程を有し、
上記第２の工程では、上記第３の工程における上記接続状態の変更に応じた上記回路の機能の変化を更に検出し、当該検出結果に応じて、欠陥のあるモジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかを判定する、
請求項９に記載の回路装置の製造方法。
【請求項１１】
上記第２の工程において欠陥のあるモジュールを含むと判定された一群のモジュールが３個の場合、当該一群のモジュールに含まれる２つのモジュールの機能が上記第３の工程において交換されることによる上記回路の機能の変化、並びに、当該一群のモジュールに含まれる残りの１のモジュールの機能と当該２つのモジュールの一方のモジュールの機能とが上記第３の工程において交換されることによる上記回路の機能の変化を検出し、当該検出結果に応じて欠陥のあるモジュールを特定する第４の工程を有する、
請求項１０に記載の回路装置の製造方法。
【請求項１２】
上記回路形成工程では、
第１入出力部から第（Ｎ−１）入出力部までの（Ｎ−１）個の入出力部と、
第１モジュールから第ＮモジュールまでのＮ個のモジュールと、
上記制御信号に応じて第ｉモジュール（ｉは１から（Ｎ−１）までの整数を示す）又は第（ｉ＋１）モジュールの一方を選択し、当該選択したモジュールを第ｉ入出力部に接続する上記モジュール選択部と
を形成し、
上記第１の工程では、第１モジュールを全ての入出力部より切り離した状態と、第Ｎモジュールを全ての入出力部より切り離した状態とを切替えるように上記制御信号を生成し、
上記第２の工程では、上記第１の工程における接続状態の切替えに応じて上記回路の機能が変化する場合、上記Ｎ個のモジュールに欠陥のあるモジュールが含まれると判定し、
上記第３の工程では、上記第２の工程において欠陥のあるモジュールを含むと判定された第ｐモジュール（ｐは１から（Ｎ−１）までの整数を示す）乃至第ｑモジュール（ｑは（ｐ＋１）からＮまでの整数を示す）の中から第ｒモジュール（ｒはｐからｑまでの整数を示す）を選択し、当該第ｒモジュールを全ての入出力部から切り離すように上記制御信号を生成し、
上記第２の工程では、第ｐモジュールを全ての入出力部より切り離した状態と第ｒモジュールを全ての入出力部より切り離した状態との切替えに応じた上記回路の機能の変化、及び／又は、第ｑモジュールを全ての入出力部より切り離した状態と第ｒモジュールを全ての入出力部より切り離した状態との切替えに応じた上記回路の機能の変化を検出し、当該検出結果に基づいて、第ｐモジュール乃至第ｒモジュール若しくは第（ｒ＋１）モジュール乃至第ｑモジュールの何れに欠陥のあるモジュールが含まれるか、又は、第ｐモジュール乃至第（ｒ−１）モジュール若しくは第ｒモジュール乃至第ｑモジュールの何れに欠陥のあるモジュールが含まれるかを判定する、
請求項９に記載の回路装置の製造方法。
【請求項１３】
上記第２の工程において欠陥のあるモジュールを含むと判定された一群のモジュールが３個の場合、第ｑモジュールを全ての入出力部より切り離した状態と第ｒモジュールを全ての入出力部より切り離した状態との切替えに応じた上記回路の機能の変化、並びに、第ｑモジュールを全ての入出力部より切り離した状態と第ｒモジュールを全ての入出力部より切り離した状態との切替えに応じた上記回路の機能の変化を検出し、当該検出結果に応じて欠陥のあるモジュールを特定する第４の工程を有する、
請求項１２に記載の回路装置の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は回路装置の不良を検査する検査装置とその方法、並びに、当該検査方法を用いる回路装置の製造方法に係り、特に、互いに機能を代替可能な複数のモジュールを含む回路装置の検査装置に関するものである。
【背景技術】
【０００２】
近年の半導体集積回路においては、加工寸法の微細化と回路構成の大規模化が著しく進んでおり、製造上の欠陥による歩留まりの低下が深刻化している。このような歩留まりの低下を製造条件の最適化だけで改善するのには限界があるため、冗長回路による欠陥の救済手法が用いられるようになってきている。この手法では、全体の回路の一部に予め冗長な回路を設けておき、欠陥部分を冗長回路に置き換えることによって半導体チップ全体が不良品になることを回避する。例えば大容量のＤＲＡＭ（dynamic random access memory）やＳＲＡＭ（static random access memory）では、欠陥のあるメモリセルを冗長なメモリセルに置き換える手法が一般に用いられている。
【０００３】
冗長回路による欠陥救済手法では、回路装置内のどの部分に不良があるかを特定する必要がある。この点に関して、例えば特許文献１に記載される装置では、冗長なモジュールを含んだ複数のモジュールの各々に検査用のパッドを設けている。各モジュールを装置内の他の部分から電気的に切り離した状態で、検査用のパッドにプローブを接触させてテスト信号を入力し、その応答を調べることによって、各モジュールが正常に動作するか否かを判定する。
【特許文献１】特許３１９２２２０号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、加工寸法の微細化が進んだ近年の半導体集積回路においては、回路素子のサイズや配線の幅に比べて検査用パッドが極めて大きくなるため、このようなパッドを半導体チップ上に多数設けると、半導体チップのサイズが無駄に大きくなるという不利益がある。
【０００５】
また、上記のように個々のモジュールを検査する手法では、検査対象のモジュールと他の部分とを電気的に切り離すための付加的な回路を設ける必要があるため、この付加回路によって半導体チップのサイズが大きくなる不利益がある。モジュールのサイズが小さくなり、その数が増えるほど、チップサイズの増大が深刻化する。
【０００６】
本発明はかかる事情に鑑みてなされたものであり、その目的は、回路装置に検査用のパッドや専用の付加回路を設けることなく、回路装置に含まれた複数のモジュールに欠陥があるか否かを判定できる検査装置とその検査方法を提供することにある。また、本発明の他の目的は、上記の検査方法を用いることによって回路サイズの増大を抑制しつつ欠陥を救済できる回路装置の製造方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の第１の観点に係る検査装置は、互いに機能を代替可能な複数のモジュールを含み、入力される制御信号に応じて個々のモジュールに割り当てる機能を変更可能な回路装置を検査する。上記第１の観点に係る検査装置は、上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記複数のモジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成する制御部と、上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する判定部とを具備する。
【０００８】
上記第１の観点によれば、上記複数のモジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように、上記制御部によって上記回路装置の制御信号が生成される。上記判定部では、上記機能の割り当ての変更に応じた上記回路装置の機能の変化が検出され、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かが判定される。
【０００９】
上記制御部は、上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記判定部において欠陥のあるモジュールを含むと判定された一群のモジュールの更に一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成しても良い。この場合、上記判定部は、上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、欠陥のあるモジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかを判定しても良い。
また、上記判定部は、欠陥のあるモジュールを含むと判定した一群のモジュールが３個の場合、当該一群のモジュールに含まれる２つのモジュールの機能が上記制御部によって交換されることによる上記回路装置の機能の変化、並びに、当該一群のモジュールに含まれる残りの１のモジュールの機能と当該２つのモジュールの一方のモジュールの機能とが上記制御部によって交換されることによる上記回路装置の機能の変化を検出し、当該検出結果に応じて欠陥のあるモジュールを特定しても良い。
【００１０】
本発明の第２の観点に係る検査方法は、互いに機能を代替可能な複数のモジュールを含み、入力される制御信号に応じて個々のモジュールに割り当てる機能を変更可能な回路装置を検査する。上記第２の観点に係る検査方法は、上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記複数のモジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成する第１の工程と、上記第１の工程における上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する第２の工程とを有する。
【００１１】
本発明の第３の観点に係る回路装置の製造方法は、回路形成工程と、検査工程と、書き込み工程とを有する。
上記回路形成工程では、互いに機能を代替可能なＮ個（Ｎは２より大きい整数を示す）のモジュールと、各々が１つのモジュールに少なくとも１つの信号を出力する、及び／又は、各々が当該１つのモジュールにおいて発生する少なくとも１つの信号を入力する（Ｎ−１）個の入出力部を有した回路ブロックと、入力される制御信号に応じて上記Ｎ個のモジュールから（Ｎ−１）個のモジュールを選択し、当該選択した（Ｎ−１）個のモジュールと上記回路ブロックの（Ｎ−１）個の入出力部とを１対１に接続するモジュール選択部と、上記（Ｎ−１）個の入出力部から切り離す１のモジュールを指示する信号を入力する信号入力部と、上記（Ｎ−１）個の入出力部から切り離す１のモジュールを指示する情報を記憶可能な記憶部と、第１の動作モードにおいて、上記信号入力部に入力される信号が指示する１のモジュールを上記（Ｎ−１）個の入出力部から切り離すように上記制御信号を生成し、第２の動作モードにおいて、上記記憶部に書き込まれた上記情報が指示する１のモジュールを上記（Ｎ−１）個の入出力部から切り離すように上記制御信号を生成する制御部とを具備する回路を半導体基板上に形成する。
上記検査工程では、上記第１の動作モードにおいて上記Ｎ個のモジュールの欠陥を検査する。
上記書き込み工程では、上記検査工程の検査結果に応じて、上記（Ｎ−１）個の入出力部から切り離す１のモジュールを決定し、当該１のモジュールを指示する情報を上記記憶部に書き込む。
また、上記検査工程は、上記Ｎ個のモジュールの少なくとも一部において個々のモジュールと入出力部との接続状態を変更するように上記制御信号を生成する第１の工程と、上記第１の工程における上記接続状態の変更に応じた上記回路の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する第２の工程とを有する。
【発明の効果】
【００１２】
本発明によれば、モジュールに対する機能の割り当ての変更に応じた回路装置の機能の変化を検出することにより、モジュールに欠陥があるか否かを判定できるため、回路装置に検査用のパッドや専用の付加回路を設ける必要がない。
また、モジュールに対する機能の割り当ての変更に応じた半導体集積回路の機能の変化を検出し、その検出結果に応じてモジュールの欠陥を救済できるため、検査用のパッドや専用の付加回路が必要な場合に比べて、半導体集積回路のサイズを小さくすることができる。
【発明を実施するための最良の形態】
【００１３】
図１は、本発明の実施形態に係る回路装置の一例である半導体集積回路を検査するための検査装置の一例を示す図である。
図１に示す検査装置は、判定部２と、制御部３と、信号発生部４と、正常出力値記憶部５と、テスト応答記憶部６とを有する。
判定部２は、本発明の判定部の一実施形態である。
制御部３は、本発明の制御部の一実施形態である。
信号発生部４は、本発明の信号発生部の一実施形態である。
【００１４】
この図１に示す検査装置を説明する前に、まず検査対象の半導体集積回路１を説明する。
【００１５】
半導体集積回路１は、互いに機能を代替可能な複数のモジュールを含んでおり、各モジュールに割り当てる機能を制御部３の制御信号に応じて変更することができる。例えば、半導体集積回路１の内部ノードと各モジュールとの接続関係を変更することにより、各モジュールが担う機能を変更することができる。
【００１６】
図２は、モジュールの機能変更の一例を示す図である。
図２に例示する半導体集積回路は、互いに機能を代替可能な８つのモジュールを有しており、各モジュールは所定の機能を担っている。図２の例では、この８つのモジュールのうち任意の１つに着目し、その接続関係を変更している。この場合、着目モジュールには、変更後の接続関係に対応した別の機能が割り当てられる。
【００１７】
個々のモジュールに割り当てる機能を変更しても、全体のモジュールに割り当てる機能を同一に保つならば、半導体集積回路の全体の機能に変化は生じない。例えば図２に示す半導体集積回路おいて、入力信号系列ｘに対する半導体集積回路の正常な応答信号系列が‘ｆ（ｘ）’である場合、８個のモジュールで構成される機能が同一に保たれていれば、個々のモジュールに割り当てる機能を変更しても、入力信号系列ｘに対する半導体集積回路の応答信号系列は‘ｆ（ｘ）’のまま変化しない。
しかしながら、着目モジュールが故障している場合は、たとえ全体のモジュールに割り当てる機能を同一に保っても、着目モジュールに割り当てる機能の変化に応じて、半導体集積回路の全体機能が変化してしまう。
【００１８】
図３は、モジュールの機能変更により半導体集積回路の応答が変化する例を示す図である。
着目モジュールに機能Ｆ１が割り当てられているときの応答信号系列を‘ｆＦ１（ｘ）’、機能Ｆ２が割り当てられているときの応答信号系列を‘ｆＦ２（ｘ）’とする。もし着目モジュールが正常に動作しており、他のモジュールが故障していなければ、図２の場合と等価になり、応答信号系列ｆＦ１（ｘ）とｆＦ２（ｘ）は等しくなる。他方、着目モジュールが故障している場合は、機能Ｆ１の故障が全体機能に与える影響と機能Ｆ２の故障が全体機能に与える影響とが異なる。そのため、適切な入力信号系列ｘを与えた場合、応答信号系列ｆＦ１（ｘ）とｆＦ２（ｘ）は異なる。
図１に示す検査装置では、故障したモジュールの機能を変更した場合に半導体集積回路の全体機能が変化することを利用して、モジュールの故障を判定する。
【００１９】
上記の半導体集積回路１は、好適には、全体の機能を実現するために必要な数より多くのモジュールを含む。この場合、冗長な一部のモジュールが未使用の状態になる。図１に示す検査装置において故障と判定されたモジュールが未使用状態になるように各モジュールに機能を割り当てれば、モジュールの欠陥を救済することが可能になる。
【００２０】
図４は、半導体集積回路１の概略的な構成の一例を示す図である。
検査対象の半導体集積回路１は、例えば図４に示すように、モジュールＭ１〜Ｍ７と、一般回路ブロック１００と、スイッチ回路ＳＷＡ１〜ＳＷＡ６と、スイッチ回路ＳＷＢ１〜ＳＷＢ６とを有する。
【００２１】
モジュールＭ１〜Ｍ７は、それぞれ本発明のモジュールの一実施形態である。
一般回路ブロック１００は、本発明の回路ブロックの一実施形態である。
スイッチ回路ＳＷＡ１〜ＳＷＡ６及びＳＷＢ１〜ＳＷＢ６を含む回路は、本発明のモジュール選択部の一実施形態である。
【００２２】
モジュールＭ１〜Ｍ７は、それぞれ所定の機能を持つ一まとまりの回路であり、互いに機能を代替することができる。モジュールＭ１〜Ｍ７は、全て同一の回路構成を有していても良いし、互いに機能を代替可能であれば、その一部に異なる回路構成を有するモジュールを含んでいても良い。
【００２３】
モジュールＭ１〜Ｍ７の回路構成や機能は任意である。例えばＤＳＰ（digital signal processor）等の演算・処理機能を持つ回路でも良いし、ルックアップテーブルのように比較的単純な論理演算を行う回路でも良い。あるいは、半導体集積回路中に含まれている同等な機能を持った複数の回路の各々を１つのモジュールとして扱っても良い。
また、モジュールＭ１〜Ｍ７は、デジタル回路に限定されるものではなく、アナログ回路でも良い。
【００２４】
一般回路ブロック１００は、上述したモジュールＭ１〜Ｍ７との間で信号をやり取りするための入出力部Ｐ１〜Ｐ６を有しており、これらのモジュールと共同して所定の処理を実行する。一般回路ブロック１００の回路構成や機能は任意であり、例えば配線のみでも良い。
【００２５】
入出力部Ｐ１〜Ｐ６は、それぞれ、上述したモジュールＭ１〜Ｍ７のうちの１つのモジュールに少なくとも１つの信号を出力する、及び／又は、当該１つのモジュールにおいて発生する少なくとも１つの信号を入力する。
【００２６】
入出力部Ｐ１〜Ｐ６は、全てが同一の組合せの信号を入出力しても良いし、異なる組合せの信号を入出力する異なる種類の入出力部を含んでいても良い。
例えばモジュールＭ１〜Ｍ７が３つの出力端子を有する場合において、この３つの出力端子の全てから信号を入力する入出力部や、１つの出力端子のみから信号を入力する入出力部などが混在していても良い。
【００２７】
スイッチ回路ＳＷＡｉ（ｉは、１から６までの整数を示す。）は、入出力部ＰｉとモジュールＭｉとの間に接続されており、入力される制御信号（不図示）に応じてオン又はオフする。
スイッチ回路ＳＷＢｉは、入出力部ＰｉとモジュールＭ（ｉ＋１）との間に接続されており、入力される制御信号に応じてオン又はオフする。
【００２８】
スイッチ回路ＳＷＡ１〜ＳＷＡ６及びＳＷＢ１〜ＳＷＢ６は、モジュール選択部を構成する。
ここで、モジュール選択部（ＳＷＡ１〜ＳＷＡ６，ＳＷＢ１〜ＳＷＢ６）は、７つのモジュール（Ｍ１〜Ｍ７）の中から制御信号に応じて６つのモジュールを選択し、選択した６つのモジュールと６つの入出力部（Ｐ１〜Ｐ６）とを１対１に接続する機能を持った回路である。
【００２９】
このモジュール選択部（ＳＷＡ１〜ＳＷＡ６，ＳＷＢ１〜ＳＷＢ６）は、６つの入出力部（Ｐ１〜Ｐ６）の各々に、２つのモジュールから制御信号に応じて選択した１つのモジュールを接続する。すなわち、入力される制御信号に応じて、モジュールＭｉ又はモジュールＭ（ｉ＋１）の一方を選択し、選択したモジュールを入出力部Ｐｉに接続する。
【００３０】
モジュール選択部（ＳＷＡ１〜ＳＷＡ６及びＳＷＢ１〜ＳＷＢ６）は、例えば、不図示の制御部から供給される制御信号に応じて、７つのモジュールのうちの故障したモジュール（故障がない場合には予め冗長用に設けられたモジュール）が全ての入出力部から切り離されるように、６つのモジュールを選択する。
【００３１】
例えば、モジュールＭｎ（ｎは、１から７までの整数を示す。）を全ての入出力部から切り離すことを指示する制御信号が入力された場合において、ｎが２から６までの整数であれば（すなわちモジュールＭ２〜Ｍ６を切り離す場合は）、スイッチ回路ＳＷＡ１〜ＳＷＡ（ｎ−１）がオン、スイッチ回路ＳＷＡｎ〜ＳＷＡ６がオフするとともに、スイッチ回路ＳＷＢ１〜ＳＷＢ（ｎ−１）がオフ、スイッチ回路ＳＷＢｎ〜ＳＷＢ６がオンする。
ｎが整数１であれば（すなわちモジュールＭ１を切り離す場合は）、スイッチ回路ＳＷＡ１〜ＳＷＡ６が全てオフし、スイッチ回路ＳＷＢ１〜ＳＷＢ６が全てオンする。
ｎが整数７であれば（すなわちモジュールＭ７を切り離す場合は）、スイッチ回路ＳＷＡ１〜ＳＷＡ６が全てオンし、スイッチ回路ＳＷＢ１〜ＳＷＢ６が全てオフする。
【００３２】
図５は、モジュールＭ３に欠陥が生じている場合の接続状態を示す。この場合、図示しない制御部は、モジュールＭ３を全ての入出力部から切り離すように制御信号を生成する。
この制御信号に応じて、スイッチ回路ＳＷＡ１，ＳＷＡ２がオン、スイッチ回路ＳＷＡ３，ＳＷＡ４，ＳＷＡ５，ＳＷＡ６がオフ、スイッチ回路ＳＷＢ１，ＳＷＢ２がオフ、スイッチ回路ＳＷＢ３，ＳＷＢ４，ＳＷＢ５，ＳＷＢ６がオンする。
これにより、入出力部Ｐ１とモジュールＭ１、入出力部Ｐ２とモジュールＭ２、入出力部Ｐ３とモジュールＭ４、入出力部Ｐ４とモジュールＭ５、入出力部Ｐ５とモジュールＭ６、入出力部Ｐ６とモジュールＭ７とがそれぞれ接続され、モジュールＭ３が一般回路ブロック１００から切り離される。
【００３３】
図６は、半導体集積回路１のより詳細な構成の一例を示す図であり、図４と図６の同一符号は同一の構成要素を示す。
図６に示す半導体集積回路１は、モジュールＭ１〜Ｍ７と、入出力部Ｐ１〜Ｐ６を持った一般回路ブロック１００と、モジュール選択部５０と、制御部６０と、記憶部７０と、信号入力部８０とを有する。
モジュール選択部５０は、本発明のモジュール選択部の一実施形態である。
信号入力部８０は、本発明の信号入力部の一実施形態である。
記憶部７０は、本発明の記憶部の一実施形態である。
制御部６０は、本発明の記憶部の一実施形態である。
【００３４】
モジュール選択部５０は、制御部６０から供給される制御信号に応じて、モジュールＭ１〜Ｍ７から６個のモジュールを選択し、当該選択した６個のモジュールと一般回路ブロック１００の６個の入出力部Ｐ１〜Ｐ６とを１対１に接続する。
【００３５】
モジュール選択部５０は、例えば図６に示すように、スイッチ回路ＳＷＡ１〜ＳＷＡ６とスイッチ回路ＳＷＢ１〜ＳＷＢ６とを有する。
スイッチ回路ＳＷＡｉ（１≦ｉ≦６）は、入出力部ＰｉとモジュールＭｉとの間に接続されており、制御部６０から供給される制御信号Ｓｃｉが値‘０’の場合にオン、値‘１’の場合にオフする。
スイッチ回路ＳＷＢｉは、入出力部ＰｉとモジュールＭ（ｉ＋１）との間に接続されており、制御信号Ｓｃｉが値‘０’の場合にオフ、値‘１’の場合にオンする。
【００３６】
スイッチ回路ＳＷＡｉは、入出力部ＰｉからモジュールＭｉへ伝送される信号をオンオフする回路、及び／又は、モジュールＭｉから入出力部Ｐｉへ伝送される信号をオンオフする回路を少なくとも１つ有している。
同様に、スイッチ回路ＳＷＢｉは、入出力部ＰｉからモジュールＭ（ｉ＋１）へ伝送される信号をオンオフする回路、及び／又は、モジュールＭ（ｉ＋１）から入出力部Ｐｉへ伝送される信号をオンオフする回路を少なくとも１つ有している。
【００３７】
制御部６０は、モジュール選択部５０を制御する制御信号Ｓｃ１〜Ｓｃ６を発生する。すなわち、第１の動作モードにおいて、信号入力部８０に入力される信号が指示する１のモジュールを全入出力部（Ｐ１〜Ｐ６）から切り離すように制御信号Ｓｃ１〜Ｓｃ６を生成し、第２の動作モードにおいて、記憶部７０に書き込まれた情報が指示する１のモジュールを全入出力部（Ｐ１〜Ｐ６）から切り離すように制御信号Ｓｃ１〜Ｓｃ６を生成する。
【００３８】
制御部６０が動作モードを認識する方法は任意であり、例えば所定の端子に印加される信号に応じて動作モードを認識しても良いし、記憶部７０に書き込まれるフラグの値に応じて動作モードを認識しても良い。
第１の動作モードは、主としてモジュールの検査を行う場合に設定され、第２の動作モードは、モジュールの検査が完了した後の通常状態において設定される。
【００３９】
制御部６０は、信号入力部８０から入力される信号若しくは記憶部７０に書き込まれる情報においてモジュールＭｎ（１≦ｎ≦７）を全ての入出力部から切り離すように指示された場合、整数ｎの値に応じて、次のような制御信号Ｓｃ１〜Ｓｃ６を出力する。
【００４０】
［２≦ｎ≦６］
この場合、制御部６０は、制御信号Ｓｃ１〜Ｓｃ（ｎ−１）を値‘０’に設定し、制御信号Ｓｃｎ〜Ｓｃ６を値‘１’に設定する。
これにより、スイッチ回路ＳＷＡ１〜ＳＷＡ（ｎ−１）がオン、スイッチ回路ＳＷＡｎ〜ＳＷＡ６がオフ、スイッチ回路ＳＷＢ１〜ＳＷＢ（ｎ−１）がオフ、スイッチ回路ＳＷＢｎ〜ＳＷＢ６がオンに設定される。その結果、モジュールＭ１〜Ｍ（ｎ−１）が入出力部Ｐ１〜Ｐ（ｎ−１）と１対１に接続され、モジュールＭ（ｎ＋１）〜Ｍ７が入出力部Ｐｎ〜Ｐ６と１対１に接続され、モジュールＭｎが全入出力部から切り離される。
【００４１】
［ｎ＝１］
この場合、制御部６０は、制御信号Ｓｃ１〜Ｓｃ６を全て値‘１’に設定する。
これにより、スイッチ回路ＳＷＡ１〜ＳＷＡ６が全てオフ、スイッチ回路ＳＷＢ１〜ＳＷＢ６が全てオンに設定される。その結果、モジュールＭ２〜Ｍ７が入出力部Ｐ１〜Ｐ６と１対１に接続され、モジュールＭ１が全入出力部から切り離される。
【００４２】
［ｎ＝７］
この場合、制御部６０は、制御信号Ｓｃ１〜Ｓｃ６を全て値'０'に設定する。
これにより、スイッチ回路ＳＷＡ１〜ＳＷＡ６が全てオン、スイッチ回路ＳＷＢ１〜ＳＷＢ６が全てオフに設定される。その結果、モジュールＭ１〜Ｍ６が入出力部Ｐ１〜Ｐ６と１対１に接続され、モジュールＭ７が全入出力部から切り離される。
【００４３】
この制御部６０は、例えば図６に示すように、デコード部６０１と、ＯＲ回路６０２−２〜６０２−６とを有する。
【００４４】
デコード部６０１は、記憶部７０若しくは信号入力部８０から入力される信号をデコードし、そのデコード結果を信号Ｓｄ１〜Ｓｄ６として出力する。
すなわち、記憶部７０に記憶される情報若しくは信号入力部８０から入力される信号がモジュールＭｎを全ての入出力部から切り離すように指示する場合、デコード部６０１は、整数ｎの値に応じて、次のような信号Ｓｄ１〜Ｓｄ６を生成する。
‘ｎ’が１から６までの整数であれば、信号Ｓｄｎを‘１’とし、他の信号を‘０’に設定する。
‘ｎ'が整数７であれば、信号Ｓｄ１〜Ｓｄ６を全て値'０'に設定する。
【００４５】
信号Ｓｄ１〜Ｓｄ６は、モジュールＭ１〜Ｍ７の各々を全入出力部から切り離すか否か指示する信号であることから、以下では指示信号Ｓｄ１〜Ｓｄ６と呼ぶ。
【００４６】
デコード部６０１は、第１の動作モード（モジュール検査時の動作モード）において、信号入力部８０から入力される信号に応じて指示信号Ｓｄ１〜Ｓｄ６を生成し、第２の動作モード（モジュール検査完了後の動作モード）においては、記憶部７０に書き込まれた情報に応じて指示信号Ｓｄ１〜Ｓｄ６を生成する。
【００４７】
なお、図６の例においてデコード部６０１が出力する指示信号Ｓｄ１は、モジュール選択部５０に供給される制御信号Ｓｃ１と同じである。
【００４８】
ＯＲ回路６０２−２〜６０２−６は、それぞれ２つの入力と１つの出力を有する論理和演算回路であり、この順番で縦続接続されている。
ＯＲ回路６０２−２は、２つの入力の一方に指示信号Ｓｄ１（＝制御信号Ｓｃ１）、他方に指示信号Ｓｄ２を入力する。ＯＲ回路６０２−２の出力は、制御信号Ｓｃ２としてモジュール選択部５０に供給される。
ＯＲ回路６０２−ｋ（ｋは、３から６までの整数を示す。）は、２つの入力の一方にＯＲ回路６０２−（ｋ−１）の出力信号を入力し、他方に指示信号Ｓｄｋを入力する。ＯＲ回路６０２−ｋの出力は、制御信号Ｓｃｋとしてモジュール選択部５０に供給される。
【００４９】
デコード部６０１の指示信号Ｓｄｊ（ｊは、２から６までの整数を示す。）が値‘１’になると、この指示信号Ｓｄｊが入力されるＯＲ回路６０２−ｊは値‘１’の制御信号Ｓｃｊを出力する。‘ｊ’が６より小さい場合には、ＯＲ回路６０２−ｊより後段のＯＲ回路６０２−（ｊ＋１）〜６０２−６から出力される制御信号Ｓｃ（ｊ＋１）〜Ｓｃ６も全て値‘１’になる。
デコード部６０１の指示信号Ｓｄ１（＝制御信号Ｓｃ１）が値‘１’になると、この指示信号Ｓｄ１が入力されるＯＲ回路６０２−２は値‘１’の制御信号Ｓｃ２を出力する。ＯＲ回路６０２−２より後段のＯＲ回路６０２−３〜６０２−６から出力される制御信号Ｓｃ３〜Ｓｃ６も全て値‘１’になる。
他方、デコード部６０１の全ての指示信号（Ｓｄ１〜Ｓｄ６）が値‘０’になると、ＯＲ回路６０２−２〜６０２−６の入出力信号が全て値‘０’になるため、モジュール選択部５０に供給される制御信号（Ｓｃ１〜Ｓｃ６）は全て値‘０’になる。
【００５０】
したがって、モジュールＭｎを全ての入出力部から切り離す場合において、‘ｎ’が２から６までの整数であるときは、デコード部６０１によって指示信号Ｓｄ１〜Ｓｄ（ｎ−１）が値‘０’、指示信号Ｓｄｎが値‘１’、指示信号Ｓｄ（ｎ＋１）〜Ｓｄ６が値‘０’に設定されるため、制御信号Ｓｃ１〜Ｓｃ（ｎ−１）は値‘０’、制御信号Ｓｃｎ〜Ｓｃ６は値‘１’になる。‘ｎ’が整数１であるときは、デコード部６０１によって指示信号Ｓｄ１が値‘１’に設定されるため、制御信号Ｓｃ１〜Ｓｃ６は全て値‘１’になる。‘ｎ’が整数７であるときは、デコード部６０１によって指示信号Ｓｄ１〜Ｓｄ６が全て値‘０’に設定されるため、制御信号Ｓｃ１〜Ｓｃ６は全て値‘０’になる。
【００５１】
記憶部７０は、７個のモジュール（Ｍ１〜Ｍ７）の中で、全ての入出力部（Ｐ１〜Ｐ６）から切り離すべき１のモジュールを指示する情報を記憶する。
記憶部７０は、例えばヒューズ素子や不揮発性メモリなどによって構成可能である。
【００５２】
信号入力部８０は、全ての入出力部（Ｐ１〜Ｐ６）から切り離すべき１のモジュールを指示する信号を入力するための回路であり、例えば半導体集積回路１の検査を行う場合などにおいて、外部の装置から制御部６０に信号を入力するために用いられる。
【００５３】
ところで、上述した図４，図６に示す半導体集積回路１は、冗長なモジュールが全体に１つしかなく、２つ以上の欠陥を救済できない。欠陥の発生確率が高い場合には、救済できる欠陥の数を増やさなければ十分な歩留まりを達成できない可能性がある。
そこで、本実施形態に係る半導体集積回路１は、図４，図６に示すように１つの欠陥を救済可能なモジュールの集まり（モジュールブロック）を複数設けても良い。
【００５４】
図７は、複数のモジュールブロックを有する半導体集積回路１の例を示す図である。
各モジュールブロックには、互いに機能を代替可能なＮ個（Ｎは２より大きい整数を示す）のモジュールと、このＮ個のモジュールから（Ｎ−１）個のモジュールを選択して一般回路ブロック１００の（Ｎ−１）個の入出力部と１対１に接続するモジュール選択部が設けられている。
モジュールブロックは、図７に示すように規則的に配置しても良いし、自由な形状の領域に配置しても良い。
【００５５】
このような複数のモジュールブロックとモジュール選択部を設けることによって、半導体集積回路内のより多くの欠陥を救済することが可能になる。
また、複数のモジュールブロックを設けることによって、複数種類のモジュールを救済することが可能になる。例えば、互いに機能を代替可能なモジュール群が複数存在し、同一のモジュール群に属するモジュール同士は機能を代替可能であるが、異なるモジュール群に属するモジュール同士は機能を代替できない場合がある。このような場合には、各モジュール群に冗長なモジュールを付加した複数のモジュールブロックを構成し、この複数のモジュールブロックの各々において欠陥救済を行うことにより、複数種類のモジュールを救済することが可能になる。 
以上が、半導体集積回路１についての説明である。
【００５６】
次に、図１に示す検査装置の各構成要素について説明する。
【００５７】
制御部３は、半導体集積回路１のモジュールの全体に割り当てる機能を同一に保ちつつ、全モジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように、半導体集積回路１の制御信号を生成する。
また制御部３は、半導体集積回路１に含まれる一群のモジュールの中に欠陥のあるモジュール（以下、欠陥モジュールと呼ぶ）が含まれると判定部２が判定した場合、半導体集積回路１のモジュールの全体に割り当てる機能を同一に保ちつつ、当該一群のモジュールの更に一部において個々のモジュールに割り当てる機能を変更するように制御信号を生成する。
【００５８】
判定部２は、制御部３による機能の割り当ての変更に応じて生じた半導体集積回路１の機能の変化を検出し、当該検出結果に応じて、この機能の割り当て変更がなされたモジュール群に欠陥モジュールが含まれるか否かを判定する。
また判定部２は、制御部３によって、一群のモジュールの更に一部に含まれる個々のモジュールの機能の割り当てが変更された場合、その変更に応じた生じた半導体集積回路１の機能の変化を検出する。そして、当該検出結果に応じて、欠陥モジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかを判定する。
【００５９】
探索範囲が絞られた結果、欠陥モジュールを含むと判定した一群のモジュールが３個になった場合、判定部２は、当該一群のモジュールに含まれる２つのモジュールの機能が制御部３によって交換されることによる半導体集積回路１の機能の変化、並びに、当該一群のモジュールに含まれる残りの１のモジュールの機能と当該２つのモジュールの一方のモジュールの機能とが制御部３によって交換されることによる半導体集積回路１の機能の変化を検出する。そして、この２つの検出結果に応じて、３個のモジュール群に含まれる欠陥モジュールを特定する。
【００６０】
例えば、半導体集積回路１が図４，図６に示すようなモジュールブロックを有しているものとする。この場合、制御部３は、まずモジュールＭ１を全ての入出力部（Ｐ１〜Ｐ６）より切り離した状態と、モジュールＭ７を全ての入出力部より切り離した状態とを切替えるように、半導体集積回路１の制御信号を生成する。この切り替えによって、モジュールＭ１〜Ｍ７の各々に割り当てられる機能が変更される。
上記の切り替えに応じて半導体集積回路１の機能が変化した場合、判定部２は、モジュールＭ１〜Ｍ７の中に欠陥モジュールが含まれると判定する。
モジュールＭ１〜Ｍ７に欠陥モジュールが含まれると判定された場合、制御部３は、これらのモジュールのうちの１つ（例えばモジュールＭ４）を全ての入出力部（Ｐ１〜Ｐ６）から切り離すように制御信号を生成する。
次いで判定部２は、モジュールＭ１を全ての入出力部より切り離した状態とモジュールＭ４を全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路１の機能の変化、及び／又は、モジュールＭ７を全ての入出力部より切り離した状態とモジュールＭ４を全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路１の機能の変化を検出する。そして、この検出結果に基づいて、モジュールＭ１〜Ｍ４若しくはモジュールＭ５〜Ｍ７のどちらに欠陥モジュールが含まれるか、又は、モジュールＭ１〜Ｍ３若しくはモジュールＭ４〜Ｍ７のどちらに欠陥モジュールが含まれるかを判定する。
【００６１】
判定部２においてモジュールＭｐ（ｐは１から６までの整数を示す）乃至モジュールＭｑ（ｑは（ｐ＋１）から７までの整数を示す）の中に欠陥モジュールが含まれると判定された場合、制御部３は、これらの中から１つのモジュールＭｒ（ｒはｐからｑまでの整数を示す）を選択し、これを全ての入出力部から切り離すように制御信号を生成する。
次いで判定部２は、第ｐモジュールを全ての入出力部より切り離した状態と第ｒモジュールを全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路１の機能の変化、及び／又は、第ｑモジュールを全ての入出力部より切り離した状態と第ｒモジュールを全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路１の機能の変化を検出する。そして、当該検出結果に基づいて、第ｐモジュール乃至第ｒモジュール若しくは第（ｒ＋１）モジュール乃至第ｑモジュールのどちらに欠陥モジュールが含まれるか、又は、第ｐモジュール乃至第（ｒ−１）モジュール若しくは第ｒモジュール乃至第ｑモジュールのどちらに欠陥モジュールが含まれるかを判定する。
以下同様な処理が繰り返されることにより、欠陥モジュールの探索範囲が絞られる。
【００６２】
探索範囲が絞られた結果、欠陥モジュールを含むと判定された一群のモジュールが３個（Ｍｐ，Ｍｒ，Ｍｑ）になった場合、判定部２は、モジュールＭｐを全ての入出力部より切り離した状態とモジュールＭｒを全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路１の機能の変化、並びに、モジュールＭｑを全ての入出力部より切り離した状態とモジュールＭｒを全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路１の機能の変化を検出し、当該検出結果に応じて欠陥モジュールを特定する。
【００６３】
信号発生部４は、半導体集積回路１に供給する所定の検査信号（テストパターン）を発生する。このテストパターンには、半導体集積回路１に含まれる各モジュールの機能の変化に応じて応答信号系列が変化するようなパターンが選ばれる。
判定部２は、信号発生部４から供給されるテストパターンに対する半導体集積回路１の応答信号系列の変化に基づいて、半導体集積回路１の機能の変化を検出する。
【００６４】
正常出力値記憶部５は、正常な半導体集積回路１が信号発生部４のテストパターンに応じて出力すべき正常信号出力値ｆを記憶する。
判定部２は、半導体集積回路１から応答信号系列ｆが出力される場合、半導体集積回路１が正常であると判定する。
【００６５】
テスト応答記憶部６は、信号発生部４のテストパターンに応じて半導体集積回路１から出力される応答信号系列を一時的に記憶する。
判定部２は、テスト応答記憶部６に記憶される応答信号系列を用いて、半導体集積回路１から出力される応答信号系列の変化を検出する。
【００６６】
ここで、上述した構成を有する図１に示す検査装置の動作を説明する。
【００６７】
まず、複数のモジュールブロックを有する半導体集積回路１において欠陥モジュールを特定する際の問題点と、図１に示す検査装置による欠陥モジュールの特定方法について説明する。
【００６８】
図８は、モジュール数が２つ（Ｍ１，Ｍ２）のモジュールブロックの一例を示す図である。図８に示すモジュールブロックでは、一般回路ブロック１００の入出力部Ｐ１に対して、モジュールＭ１又はＭ２の一方が接続される。
以下の説明では、モジュールＭｎを全入出力部から切り離した場合の応答信号系列を‘ｆＭｎ（ｘ）’若しくは‘ｆＭｎ’と表記する。
【００６９】
半導体集積回路１が図８（Ａ）に示すようなモジュールブロックを１つだけ有している場合、もしモジュールＭ１又はＭ２の何れか一方に欠陥があっても、モジュールＭ１，Ｍ２と入出力部Ｐ１との接続を切替えることによって、半導体集積回路１の出力信号系列を正常出力値ｆに一致させることができる。そのため、この場合は欠陥モジュールを容易に特定できる。
ところが、モジュールブロックが複数ある場合、図８（Ｂ）に示すように、応答信号系列ｆＭ１（ｘ）及びｆＭ２（ｘ）が互いに異なる値を持ち、かつ、それらの値が何れも正常出力値ｆと異なるため、このモジュールブロックの接続状態を切替えるだけでは欠陥モジュールを特定できない。
【００７０】
そこで、図１に示す検査装置では、次に述べるような方法を用いて欠陥モジュールの特定を行う。
この方法では、モジュールブロック内に含まれる欠陥モジュールの数を高々１個と仮定する。モジュールブロックにおいて救済できるモジュール数は１つであるため、モジュールブロック内に複数の欠陥モジュールが含まれている場合は、欠陥を全て救済することができず、半導体集積回路１は不良品になる。したがって、欠陥モジュールが複数存在する場合に、これを１個と仮定することによって誤判定（例えば正常なモジュールを欠陥モジュールと判定する等）が生じても、結果的に回路全体が不良品になるので問題はない。
【００７１】
図９，図１０は、図１に示す検査装置における欠陥モジュールの特定方法を説明するための図である。
図９，図１０に示すモジュールブロックは、一般回路ブロック１００の入出力部Ｐ１，Ｐ２に接続可能な３つのモジュールＭ１，Ｍ２，Ｍ３を有している。
また、図９，図１０に示すブール代数式において、‘Ｍｎ’はモジュールＭｎの欠陥の有無を表す論理変数を表している。モジュールＭｎが正常な場合‘Ｍｎ＝０’、モジュールＭｎが不良の場合‘Ｍｎ＝１’が成立する。
【００７２】
図９においては、モジュールＭ１，Ｍ２をそれぞれ入出力部Ｐ１から切り離した場合の応答信号系列ｆＭ１，ｆＭ２の関係について考察している。
モジュールＭ１，Ｍ２は同じ入出力部Ｐ１に接続される。そのため、応答信号系列ｆＭ１及びｆＭ２が等しい場合は、モジュールＭ１及びＭ２の機能を交換しても半導体集積回路１の機能が等しくなること、すなわち、モジュールＭ１，Ｍ２が同等な機能を持つことが分かる。この場合、モジュールＭ１，Ｍ２が共に正常であるか、若しくは両者が共に同一の故障を起こしていると考えられるが、先に述べたようにモジュール内の故障は高々１個であると仮定しているため、モジュールＭ１，Ｍ２は共に正常であると判定される（図９（Ｂ））。
他方、応答信号系列ｆＭ１及びｆＭ２が異なっている場合は、モジュールＭ１及びＭ２の機能の交換により半導体集積回路１の機能が変化すること、すなわち、モジュールＭ１，Ｍ２が異なる機能を持つことが分かる。この場合、モジュールＭ１又はＭ２の何れか一方が故障していると判定される（図９（Ｃ））。
【００７３】
図１０では、モジュールＭ２，Ｍ３をそれぞれ入出力部Ｐ２から切り離した場合の応答信号系列ｆＭ２，ｆＭ３の関係について考察している。
モジュールＭ２，Ｍ３は同じ入出力部Ｐ２に接続される。そのため、応答信号系列ｆＭ２及びｆＭ３が等しい場合は、モジュールＭ２及びＭ３の機能を交換しても半導体集積回路１の機能が等しくなること、すなわち、モジュールＭ２，Ｍ３が同等な機能を持つことが分かる。この場合、モジュールＭ２，Ｍ３が共に正常であるか、若しくは両者が共に同一の故障を起こしていると考えられるが、先述の通りモジュール内の故障は高々１個であると仮定しているため、モジュールＭ２，Ｍ３は共に正常であると判定される（図１０（Ｂ））。
他方、応答信号系列ｆＭ２及びｆＭ３が異なっている場合は、モジュールＭ２及びＭ３の機能の交換により半導体集積回路１の機能が変化すること、すなわち、モジュールＭ２，Ｍ３が異なる機能を持つことが分かる。この場合、モジュールＭ２又はＭ３の何れか一方が故障していると判定される（図１０（Ｃ））。
【００７４】
さて、応答信号系列ｆＭ１及びｆＭ２が等しく、かつ、応答信号系列ｆＭ２及びｆＭ３が等しい場合、図９（Ｂ）及び図１０（Ｂ）に示すブール代数式に基づいて次式が導かれる。
【００７５】
【数１】
2007101395.tif 000003
【００７６】
この場合、式（１）に示すように、全てのモジュールが正常であると判定される。全てのモジュールが同一の故障を起こしている可能性も考えられるが、その場合は、モジュール内の故障が１個を超えるため、欠陥の救済はできない。
【００７７】
また、応答信号系列ｆＭ１及びｆＭ２が等しく、かつ、応答信号系列ｆＭ２及びｆＭ３が異なる場合、図９（Ｂ）及び図１０（Ｃ）に示すブール代数式に基づいて次式が導かれる。
【００７８】
【数２】
2007101395.tif 000004
【００７９】
この場合、式（２）に示すように、モジュールＭ３が不良であると判定される。
【００８０】
応答信号系列ｆＭ１及びｆＭ２が異なり、かつ、応答信号系列ｆＭ２及びｆＭ３が等しい場合、図９（Ｃ）及び図１０（Ｂ）に示すブール代数式に基づいて次式が導かれる。
【００８１】
【数３】
2007101395.tif 000005
【００８２】
この場合、式（３）に示すように、モジュールＭ１が不良であると判定される。
【００８３】
最後に、応答信号系列ｆＭ１及びｆＭ２が異なり、かつ、応答信号系列ｆＭ２及びｆＭ３が異なる場合、図９（Ｃ）及び図１０（Ｃ）に示すブール代数式に基づいて次式が導かれる。
【００８４】
【数４】
2007101395.tif 000006
【００８５】
この場合、式（４）に示すように、モジュールＭ２のみが不良であるか、又はモジュールＭ１とモジュールＭ３が不良であると判定することが可能である。しかしながら、後者の判定をするとモジュール内の故障が１個を超えるため、欠陥の救済はできなくなる。したがって、この場合は、モジュールＭ２のみが不良であると判定される。
【００８６】
図１１は、上述した式（１）〜（４）の結果をまとめた図である。図１１から分かるように、モジュールの機能交換に伴う応答信号系列の変化に基づいて、救済対象のモジュール（すなわち欠陥モジュール）を特定することができる。
【００８７】
次に、図１に示す検査装置におけるモジュールの検査処理の例について、図１２及び図１３のフローチャートを参照しながら説明する。
図１２は、モジュール検査処理の全体処理の一例を示すフローチャートである。
【００８８】
まず検査装置は、半導体集積回路１に含まれる各モジュールブロック内の欠陥を探索する（ステップＳＴ２０１，図１２）。
検査装置は、ステップＳＴ２０１の探索結果に基づいて欠陥を救済し、半導体集積回路１の応答信号系列が正常出力値ｆと等しくなるか判定する（ステップＳＴ２０２）。応答信号系列が正常出力値ｆと等しくなる場合、検査装置は、半導体集積回路１の欠陥救済が可能（全モジュールが正常の場合を含む）であることを示す判定結果を出力し、検査処理を終了する（ステップＳＴ２０２）。
他方、半導体集積回路１の応答信号系列１が正常出力値ｆと等しくならず、かつ欠陥モジュールの探索を未だ行っていないモジュールブロックが存在する場合、検査装置は、ステップＳＴ２０１の欠陥探索処理に戻って、未探索のモジュールブロックに対する欠陥探索処理を実行する。
半導体集積回路１の応答信号系列１が正常出力値ｆと等しくならず、かつ、全てのモジュールブロックの欠陥探索処理が完了している場合、検査装置は、半導体集積回路１の欠陥救済を行うことができないことを示す判定結果を出力し、検査処理を終了する（ステップＳＴ２０３）。
【００８９】
図１３は、図１２に示すモジュール検査処理における欠陥探索処理（ステップＳＴ２０１）の一例を示すフローチャートである。
図１３に示すフローチャートにおいて、ステップＳＴ３０５は、本発明の第１の工程の一実施形態である。
ステップＳＴ３０９は、本発明の第２の工程の一実施形態である。
ステップＳＴ３１１〜ＳＴ３１３及びＳＴ３１５〜ＳＴ３１８は、本発明の第３の工程の一実施形態である。
ステップＳＴ３０８，ＳＴ３１９，ＳＴ３２０及びＳＴ３２１は、本発明の第４の工程の一実施形態である。
【００９０】
以下では、不良の場合の具体例（図１４〜図２１）を参照しながら、図１３に示す欠陥探索処理を説明する。
【００９１】
図１４，…，図２０は、それぞれ、モジュールＭ１，…，Ｍ７が不良の場合における欠陥探索処理の一例を示し、図２１は、モジュール以外に不良がある場合における欠陥処理の一例を示す。
なお、図１４〜図２０において、‘Ｌ’は探索範囲の左端にあるモジュールの番号、‘Ｒ’は探索範囲の右端にあるモジュールの番号を示す。また‘Ｃ’は、全ての入出力部より切り離されるモジュールの番号を示す。ただし、モジュールＭｎの番号は‘ｎ’であり、例えばモジュールＭ４の番号は‘４’である。
【００９２】
また以下の説明において、‘ｆＬ’はモジュール番号Ｌのモジュールを全ての入出力部から切り離した場合の応答信号系列を示す。
‘ｆＲ’は、モジュール番号Ｒのモジュールを全ての入出力部から切り離した場合の応答信号系列を示す。
‘ｆＣ’は、モジュール番号Ｃのモジュールを全ての入出力部から切り離した場合の応答信号系列を示す。
【００９３】
（１）モジュールＭ１が不良の場合（図１４）
【００９４】
まず制御部３は‘Ｃ＝１’に設定し（ステップＳＴ３０１）、モジュールＭ１を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ１）を判定部２が取り込む（ステップＳＴ３０２）。判定部２は、取り込んだ応答信号系列ｆＣと、正常出力値記憶部５に記憶される正常出力値ｆとを比較し、等しい場合はモジュールＭ１を救済対象に決定して、欠陥探索処理を終了する（ステップＳＴ３０３）。
応答信号系列ｆＣが正常出力値ｆと等しくなるのは、全てのモジュールブロックにおいて欠陥救済が完了した場合（欠陥が無い場合を含む）であり、他のモジュールブロックに欠陥モジュールが存在する場合には等しくならないため、欠陥探索処理が続行される。ここでは処理が続行されるものとする。テスト応答記憶部６は、ステップＳＴ３０２で得られた応答信号系列ｆＣ（ｆＭ１）を‘ｆＬ’として記憶する（ステップＳＴ３０４）。
【００９５】
次に、制御部３は‘Ｌ＝１’‘Ｃ＝Ｒ＝７’に設定し、モジュールＭ７を全ての入出力部から切り離す（ステップＳＴ３０５）。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ７）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ１）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ１が入出力部Ｐ１に接続されるため、両者は等しくならない（ステップＳＴ３０７）。
【００９６】
ここで判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ７）と、テスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しくないため、判定部２は、モジュールＭ１〜Ｍ７に欠陥モジュールが含まれると判定する。テスト応答記憶部６は、ステップＳＴ３０６で得られた応答信号系列ｆＣ（ｆＭ７）を‘ｆＲ’として記憶する（ステップＳＴ３１０）。
【００９７】
次に、制御部３は‘Ｒ＝Ｃ＝７’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個でないため、ステップＳＴ３１８に進む。ステップＳＴ３１８において、制御部３は‘Ｉｎｔ（（Ｌ＋Ｒ）／２）’を演算する。ただし、‘Ｉｎｔ（α）’は、‘α’を超えない最大の整数を表す。この演算の結果、制御部３は‘Ｃ＝４’に設定し、モジュールＭ４を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ４）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ４）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ１が入出力部Ｐ１に接続されるため、両者は等しくならない（ステップＳＴ３０７）。
【００９８】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ４）と、テスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しくないため、判定部２は、モジュールＭ１〜Ｍ４に欠陥モジュールが含まれると判定する。テスト応答記憶部６は、ステップＳＴ３０６で得られた応答信号系列ｆＣ（ｆＭ４）を‘ｆＲ’として記憶する（ステップＳＴ３１０）。
【００９９】
次に、制御部３は、‘Ｒ＝Ｃ＝４’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個であるため、ステップＳＴ３１３に進む。ステップＳＴ３１３において、制御部３は、‘Ｃ＝Ｒ−１＝３’に設定し、モジュールＭ３を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ３）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ３）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ１が入出力部Ｐ１に接続されるため、両者は等しくならない（ステップＳＴ３０７）。
【０１００】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ３）とテスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しくないため、判定部２は、モジュールＭ１〜Ｍ３に欠陥モジュールが含まれると判定する。テスト応答記憶部６は、ステップＳＴ３０６で得られた応答信号系列ｆＣ（ｆＭ３）を‘ｆＲ’として記憶する（ステップＳＴ３１０）。
【０１０１】
次に、制御部３は、‘Ｒ＝Ｃ＝３’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個でないため、制御部３は‘Ｉｎｔ（（Ｌ＋Ｒ）／２）’を演算する（ステップＳＴ３１８）。この演算の結果、制御部３は‘Ｃ＝２’に設定し、モジュールＭ２を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ２）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ２）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ１が入出力部Ｐ１に接続されるため、両者は等しくない（ステップＳＴ３０７）。
【０１０２】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、３個であるため、ステップＳＴ３１９に進む。ステップＳＴ３１９において、応答信号系列ｆＣ（ｆＭ２）及びｆＬ（ｆＭ１）が等しくないと判定し、ステップＳＴ３２０において、応答信号系列ｆＣ（ｆＭ２）及びｆＲ（ｆＭ３）が等しいと判定する。これにより、判定部２は、モジュールＭ１を救済すべき欠陥モジュールとして特定する。
【０１０３】
（２）モジュールＭ２が不良の場合（図１５）
【０１０４】
まず制御部３は‘Ｃ＝１’に設定し（ステップＳＴ３０１）、モジュールＭ１を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ１）を判定部２が取り込む（ステップＳＴ３０２）。判定部２は、取り込んだ応答信号系列ｆＣと、正常出力値記憶部５に記憶される正常出力値ｆとを比較する。欠陥のあるモジュールＭ２が入出力部Ｐ１に接続されるため、両者は等しくないと判定する（ステップＳＴ３０３）。テスト応答記憶部６は、ステップＳＴ３０２で得られた応答信号系列ｆＣ（ｆＭ１）を‘ｆＬ’として記憶する（ステップＳＴ３０４）。
【０１０５】
次に、制御部３は‘Ｌ＝１’‘Ｃ＝Ｒ＝７’に設定し、モジュールＭ７を全ての入出力部から切り離す（ステップＳＴ３０５）。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ７）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ１）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ２が入出力部Ｐ２に接続されるため、両者は等しくならない（ステップＳＴ３０７）。
【０１０６】
ここで判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ７）と、テスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しくないため、判定部２は、モジュールＭ１〜Ｍ７に欠陥モジュールが含まれると判定する。テスト応答記憶部６は、ステップＳＴ３０６で得られた応答信号系列ｆＣ（ｆＭ７）を‘ｆＲ’として記憶する（ステップＳＴ３１０）。
【０１０７】
次に、制御部３は‘Ｒ＝Ｃ＝７’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個でないため、ステップＳＴ３１８に進む。ステップＳＴ３１８において、制御部３は‘Ｉｎｔ（（Ｌ＋Ｒ）／２）’を演算する。この演算の結果、制御部３は‘Ｃ＝４’に設定し、モジュールＭ４を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ４）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ４）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ２が入出力部Ｐ２に接続されるため、両者は等しくならない（ステップＳＴ３０７）。
【０１０８】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ４）と、テスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しくないため、判定部２は、モジュールＭ１〜Ｍ４に欠陥モジュールが含まれると判定する。テスト応答記憶部６は、ステップＳＴ３０６で得られた応答信号系列ｆＣ（ｆＭ４）を‘ｆＲ’として記憶する（ステップＳＴ３１０）。
【０１０９】
次に、制御部３は、‘Ｒ＝Ｃ＝４’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個であるため、ステップＳＴ３１３に進む。ステップＳＴ３１３において、制御部３は、‘Ｃ＝Ｒ−１＝３’に設定し、モジュールＭ３を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ３）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ３）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ２が入出力部Ｐ２に接続されるため、両者は等しくならない（ステップＳＴ３０７）。
【０１１０】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ３）とテスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しくないため、判定部２は、モジュールＭ１〜Ｍ３に欠陥モジュールが含まれると判定する。テスト応答記憶部６は、ステップＳＴ３０６で得られた応答信号系列ｆＣ（ｆＭ３）を‘ｆＲ’として記憶する（ステップＳＴ３１０）。
【０１１１】
次に、制御部３は、‘Ｒ＝Ｃ＝３’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個でないため、制御部３は‘Ｉｎｔ（（Ｌ＋Ｒ）／２）’を演算する（ステップＳＴ３１８）。この演算の結果、制御部３は‘Ｃ＝２’に設定し、モジュールＭ２を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ２）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ２）と正常出力値ｆとを比較し、等しい場合はモジュールＭ２を救済対象に決定して、欠陥探索処理を終了する（ステップＳＴ３０７）。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列ｆＣ（ｆＭ２）は正常出力値ｆと等しくならず、欠陥探索処理が続行される。
【０１１２】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、３個であるため、ステップＳＴ３１９に進む。ステップＳＴ３１９において、応答信号系列ｆＣ（ｆＭ２）及びｆＬ（ｆＭ１）が等しくないと判定し、ステップＳＴ３２０において、応答信号系列ｆＣ（ｆＭ２）及びｆＲ（ｆＭ３）が等しくないと判定する。これにより、判定部２は、モジュールＭ２を救済すべき欠陥モジュールとして特定する。
【０１１３】
（３）モジュールＭ３が不良の場合（図１６）
【０１１４】
まず制御部３は‘Ｃ＝１’に設定し（ステップＳＴ３０１）、モジュールＭ１を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ１）を判定部２が取り込む（ステップＳＴ３０２）。判定部２は、取り込んだ応答信号系列ｆＣと、正常出力値記憶部５に記憶される正常出力値ｆとを比較する。欠陥のあるモジュールＭ３が入出力部Ｐ２に接続されるため、両者は等しくないと判定する（ステップＳＴ３０３）。テスト応答記憶部６は、ステップＳＴ３０２で得られた応答信号系列ｆＣ（ｆＭ１）を‘ｆＬ’として記憶する（ステップＳＴ３０４）。
【０１１５】
次に、制御部３は‘Ｌ＝１’‘Ｃ＝Ｒ＝７’に設定し、モジュールＭ７を全ての入出力部から切り離す（ステップＳＴ３０５）。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ７）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ１）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ３が入出力部Ｐ３に接続されるため、両者は等しくならない（ステップＳＴ３０７）。
【０１１６】
ここで判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ７）と、テスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しくないため、判定部２は、モジュールＭ１〜Ｍ７に欠陥モジュールが含まれると判定する。テスト応答記憶部６は、ステップＳＴ３０６で得られた応答信号系列ｆＣ（ｆＭ７）を‘ｆＲ’として記憶する（ステップＳＴ３１０）。
【０１１７】
次に、制御部３は‘Ｒ＝Ｃ＝７’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個でないため、ステップＳＴ３１８に進む。ステップＳＴ３１８において、制御部３は‘Ｉｎｔ（（Ｌ＋Ｒ）／２）’を演算する。この演算の結果、制御部３は‘Ｃ＝４’に設定し、モジュールＭ４を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ４）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ４）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ３が入出力部Ｐ３に接続されるため、両者は等しくならない（ステップＳＴ３０７）。
【０１１８】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ４）と、テスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しくないため、判定部２は、モジュールＭ１〜Ｍ４に欠陥モジュールが含まれると判定する。テスト応答記憶部６は、ステップＳＴ３０６で得られた応答信号系列ｆＣ（ｆＭ４）を‘ｆＲ’として記憶する（ステップＳＴ３１０）。
【０１１９】
次に、制御部３は、‘Ｒ＝Ｃ＝４’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個であるため、ステップＳＴ３１３に進む。ステップＳＴ３１３において、制御部３は、‘Ｃ＝Ｒ−１＝３’に設定し、モジュールＭ３を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ３）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ３）と正常出力値ｆとを比較し、等しい場合はモジュールＭ３を救済対象に決定して、欠陥探索処理を終了する（ステップＳＴ３０７）。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列ｆＣ（ｆＭ３）は正常出力値ｆと等しくならず、欠陥探索処理が続行される。
【０１２０】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ３）とテスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しくないため、判定部２は、モジュールＭ１〜Ｍ３に欠陥モジュールが含まれると判定する。テスト応答記憶部６は、ステップＳＴ３０６で得られた応答信号系列ｆＣ（ｆＭ３）を‘ｆＲ’として記憶する（ステップＳＴ３１０）。
【０１２１】
次に、制御部３は、‘Ｒ＝Ｃ＝３’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個でないため、制御部３は‘Ｉｎｔ（（Ｌ＋Ｒ）／２）’を演算する（ステップＳＴ３１８）。この演算の結果、制御部３は‘Ｃ＝２’に設定し、モジュールＭ２を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ２）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ２）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ３が入出力部Ｐ２に接続されるため、両者は等しくないと判定する（ステップＳＴ３０７）。
【０１２２】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、３個であるため、ステップＳＴ３１９に進む。ステップＳＴ３１９において、応答信号系列ｆＣ（ｆＭ２）及びｆＬ（ｆＭ１）が等しいと判定し、ステップＳＴ３２１において、応答信号系列ｆＣ（ｆＭ２）及びｆＲ（ｆＭ３）とが等しくないと判定する。これにより、判定部２は、モジュールＭ３を救済すべき欠陥モジュールとして特定する。
【０１２３】
（４）モジュールＭ４が不良の場合（図１７）
【０１２４】
まず制御部３は‘Ｃ＝１’に設定し（ステップＳＴ３０１）、モジュールＭ１を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ１）を判定部２が取り込む（ステップＳＴ３０２）。判定部２は、取り込んだ応答信号系列ｆＣと、正常出力値記憶部５に記憶される正常出力値ｆとを比較する。欠陥のあるモジュールＭ４が入出力部Ｐ３に接続されるため、両者は等しくないと判定する（ステップＳＴ３０３）。テスト応答記憶部６は、ステップＳＴ３０２で得られた応答信号系列ｆＣ（ｆＭ１）を‘ｆＬ’として記憶する（ステップＳＴ３０４）。
【０１２５】
次に、制御部３は‘Ｌ＝１’‘Ｃ＝Ｒ＝７’に設定し、モジュールＭ７を全ての入出力部から切り離す（ステップＳＴ３０５）。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ７）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ１）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ４が入出力部Ｐ４に接続されるため、両者は等しくならない（ステップＳＴ３０７）。
【０１２６】
ここで判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ７）と、テスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しくないため、判定部２は、モジュールＭ１〜Ｍ７に欠陥モジュールが含まれると判定する。テスト応答記憶部６は、ステップＳＴ３０６で得られた応答信号系列ｆＣ（ｆＭ７）を‘ｆＲ’として記憶する（ステップＳＴ３１０）。
【０１２７】
次に、制御部３は‘Ｒ＝Ｃ＝７’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個でないため、ステップＳＴ３１８に進む。ステップＳＴ３１８において、制御部３は‘Ｉｎｔ（（Ｌ＋Ｒ）／２）’を演算する。この演算の結果、制御部３は‘Ｃ＝４’に設定し、モジュールＭ４を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ４）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ４）と正常出力値ｆとを比較し、等しい場合はモジュールＭ４を救済対象に決定して、欠陥探索処理を終了する（ステップＳＴ３０７）。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列ｆＣ（ｆＭ４）は正常出力値ｆと等しくならず、欠陥探索処理が続行される。
【０１２８】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ４）と、テスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しくないため、判定部２は、モジュールＭ１〜Ｍ４に欠陥モジュールが含まれると判定する。テスト応答記憶部６は、ステップＳＴ３０６で得られた応答信号系列ｆＣ（ｆＭ４）を‘ｆＲ’として記憶する（ステップＳＴ３１０）。
【０１２９】
次に、制御部３は、‘Ｌ＝Ｃ＝４’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個であるため、ステップＳＴ３１３に進む。ステップＳＴ３１３において、制御部３は、‘Ｃ＝Ｒ−１＝３’に設定し、モジュールＭ３を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ３）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ３）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ４が入出力部Ｐ３に接続されるため、両者は等しくならない（ステップＳＴ３０７）。
【０１３０】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ３）とテスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しいため、判定部２は、モジュールＭ１〜Ｍ３に欠陥モジュールが含まれていない判定する。この場合、判定部２は‘Ｃ＝Ｒ’が成立するか否か判定を行うが（ステップＳＴ３１４）、これは成立しないため、ステップＳＴ３１５に進む。
【０１３１】
ステップＳＴ３１５において、制御部３は、‘Ｌ＝Ｃ＝３’に設定する。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１６）、４個でないため、制御部３は‘Ｉｎｔ（（Ｌ＋Ｒ）／２）’を演算する（ステップＳＴ３１８）。この演算の結果、制御部３は‘Ｃ＝３’に設定し、モジュールＭ３を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ３）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ３）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ４が入出力部Ｐ３に接続されるため、両者は等しくないと判定する（ステップＳＴ３０７）。
【０１３２】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、２個であるため、ステップＳＴ３１９に進む。
【０１３３】
判定部２は、ステップＳＴ３１９において応答信号系列ｆＣ（ｆＭ３）及びｆＬ（ｆＭ３）が等しいと判定し、ステップＳＴ３２１において応答信号系列ｆＣ（ｆＭ３）及びｆＲ（ｆＭ４）とが等しくないと判定する。
このとき、先のステップＳＴ３０９では、既にモジュールＭ１〜Ｍ３に欠陥モジュールが含まれていないと判定されているため、‘ｆＬ＝ｆＭ２＝ｆＭ３’が成立する。
そのため、判定部２は、ステップＳＴ３１９及びＳＴ３２１において
‘ｆＭ２＝ｆＭ３’かつ‘ｆＭ３≠ｆＭ４’；
を判定したと見なせる。したがって図１１に示す関係から、判定部２は、モジュールＭ４を救済すべき欠陥モジュールとして特定する。
【０１３４】
（５）モジュールＭ５が不良の場合（図１８）
【０１３５】
まず制御部３は‘Ｃ＝１’に設定し（ステップＳＴ３０１）、モジュールＭ１を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ１）を判定部２が取り込む（ステップＳＴ３０２）。判定部２は、取り込んだ応答信号系列ｆＣと、正常出力値記憶部５に記憶される正常出力値ｆとを比較する。欠陥のあるモジュールＭ５が入出力部Ｐ４に接続されるため、両者は等しくないと判定する（ステップＳＴ３０３）。テスト応答記憶部６は、ステップＳＴ３０２で得られた応答信号系列ｆＣ（ｆＭ１）を‘ｆＬ’として記憶する（ステップＳＴ３０４）。
【０１３６】
次に、制御部３は‘Ｌ＝１’‘Ｃ＝Ｒ＝７’に設定し、モジュールＭ７を全ての入出力部から切り離す（ステップＳＴ３０５）。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ７）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ７）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ５が入出力部Ｐ５に接続されるため、両者は等しくならない（ステップＳＴ３０７）。
【０１３７】
ここで判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ７）と、テスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しくないため、判定部２は、モジュールＭ１〜Ｍ７に欠陥モジュールが含まれると判定する。テスト応答記憶部６は、ステップＳＴ３０６で得られた応答信号系列ｆＣ（ｆＭ７）を‘ｆＲ’として記憶する（ステップＳＴ３１０）。
【０１３８】
次に、制御部３は‘Ｒ＝Ｃ＝７’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個でないため、ステップＳＴ３１８に進む。ステップＳＴ３１８において、制御部３は‘Ｉｎｔ（（Ｌ＋Ｒ）／２）’を演算する。この演算の結果、制御部３は‘Ｃ＝４’に設定し、モジュールＭ４を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ４）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ４）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ５が入出力部Ｐ４に接続されるため、両者は等しくならない（ステップＳＴ３０７）。
【０１３９】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ４）と、テスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しいため、判定部２は、モジュールＭ１〜Ｍ４に欠陥モジュールが含まれていないと判定する。この場合、判定部２は‘Ｃ＝Ｒ’が成立するか否か判定を行うが（ステップＳＴ３１４）、これは成立しないため、ステップＳＴ３１５に進む。
【０１４０】
ステップＳＴ３１５において、制御部３は、‘Ｌ＝Ｃ＝４’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個であるため、制御部３は‘Ｃ＝Ｌ＋１＝５’に設定し、モジュールＭ５を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ５）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ５）と正常出力値ｆとを比較し、等しい場合はモジュールＭ５を救済対象に決定して、欠陥探索処理を終了する（ステップＳＴ３０７）。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列ｆＣ（ｆＭ５）は正常出力値ｆと等しくならず、欠陥探索処理が続行される。
【０１４１】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ５）とテスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ４）とを比較する。両者は等しくないため、判定部２は、モジュールＭ４〜Ｍ５に欠陥モジュールが含まれると判定する。テスト応答記憶部６は、ステップＳＴ３０６で得られた応答信号系列ｆＣ（ｆＭ５）を‘ｆＲ’として記憶する（ステップＳＴ３１０）。
【０１４２】
次に、制御部３は、‘Ｒ＝Ｃ＝５’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個でないため、制御部３は‘Ｉｎｔ（（Ｌ＋Ｒ）／２）’を演算する（ステップＳＴ３１８）。この演算の結果、制御部３は‘Ｃ＝４’に設定し、モジュールＭ４を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ４）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ４）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ５が入出力部Ｐ４に接続されるため、両者は等しくないと判定する（ステップＳＴ３０７）。
【０１４３】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、２個であるため、ステップＳＴ３１９に進む。
【０１４４】
判定部２は、ステップＳＴ３１９において応答信号系列ｆＣ（ｆＭ４）及びｆＬ（ｆＭ４）が等しいと判定し、ステップＳＴ３２１において応答信号系列ｆＣ（ｆＭ４）及びｆＲ（ｆＭ５）が等しくないと判定する。
このとき、先のステップＳＴ３０９では、既にモジュールＭ１〜Ｍ４に欠陥モジュールが含まれていないと判定されているため、‘ｆＬ＝ｆＭ３＝ｆＭ４’が成立する。
そのため、判定部２は、ステップＳＴ３１９及びＳＴ３２１において
‘ｆＭ３＝ｆＭ４’かつ‘ｆＭ４≠ｆＭ５’；
を判定したと見なせる。したがって図１１に示す関係から、判定部２は、モジュールＭ５を救済すべき欠陥モジュールとして特定する。
【０１４５】
（６）モジュールＭ６が不良の場合（図１９）
【０１４６】
まず制御部３は‘Ｃ＝１’に設定し（ステップＳＴ３０１）、モジュールＭ１を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ１）を判定部２が取り込む（ステップＳＴ３０２）。判定部２は、取り込んだ応答信号系列ｆＣと、正常出力値記憶部５に記憶される正常出力値ｆとを比較する。欠陥のあるモジュールＭ６が入出力部Ｐ５に接続されるため、両者は等しくないと判定する（ステップＳＴ３０３）。テスト応答記憶部６は、ステップＳＴ３０２で得られた応答信号系列ｆＣ（ｆＭ１）を‘ｆＬ’として記憶する（ステップＳＴ３０４）。
【０１４７】
次に、制御部３は‘Ｌ＝１’‘Ｃ＝Ｒ＝７’に設定し、モジュールＭ７を全ての入出力部から切り離す（ステップＳＴ３０５）。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ７）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ７）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ６が入出力部Ｐ６に接続されるため、両者は等しくならない（ステップＳＴ３０７）。
【０１４８】
ここで判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ７）と、テスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しくないため、判定部２は、モジュールＭ１〜Ｍ７に欠陥モジュールが含まれると判定する。テスト応答記憶部６は、ステップＳＴ３０６で得られた応答信号系列ｆＣ（ｆＭ７）を‘ｆＲ’として記憶する（ステップＳＴ３１０）。
【０１４９】
次に、制御部３は‘Ｒ＝Ｃ＝７’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個でないため、ステップＳＴ３１８に進む。ステップＳＴ３１８において、制御部３は‘Ｉｎｔ（（Ｌ＋Ｒ）／２）’を演算する。この演算の結果、制御部３は‘Ｃ＝４’に設定し、モジュールＭ４を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ４）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ４）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ６が入出力部Ｐ５に接続されるため、両者は等しくならない（ステップＳＴ３０７）。
【０１５０】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ４）と、テスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しいため、判定部２は、モジュールＭ１〜Ｍ４に欠陥モジュールが含まれていないと判定する。この場合、判定部２は‘Ｃ＝Ｒ’が成立するか否か判定を行うが（ステップＳＴ３１４）、これは成立しないため、ステップＳＴ３１５に進む。
【０１５１】
ステップＳＴ３１５において、制御部３は、‘Ｌ＝Ｃ＝４’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個であるため、制御部３は‘Ｃ＝Ｌ＋１＝５’に設定し、モジュールＭ５を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ５）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ５）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ６が入出力部Ｐ５に接続されるため、両者は等しくないと判定する（ステップＳＴ３０７）。
【０１５２】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ５）とテスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ４）とを比較する。両者は等しいため、判定部２は、モジュールＭ４〜Ｍ５に欠陥モジュールが含まれていないと判定する。この場合、判定部２は‘Ｃ＝Ｒ’が成立するか否か判定を行うが（ステップＳＴ３１４）、これは成立しないため、ステップＳＴ３１５に進む。
【０１５３】
ステップＳＴ３１５において、制御部３は、‘Ｌ＝Ｃ＝５’に設定する。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個でないため、制御部３は‘Ｉｎｔ（（Ｌ＋Ｒ）／２）’を演算する（ステップＳＴ３１８）。この演算の結果、制御部３は‘Ｃ＝６’に設定し、モジュールＭ６を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ６）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ６）と正常出力値ｆとを比較し、等しい場合はモジュールＭ６を救済対象に決定して、欠陥探索処理を終了する（ステップＳＴ３０７）。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列ｆＣ（ｆＭ６）は正常出力値ｆと等しくならず、欠陥探索処理が続行される。
【０１５４】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、３個であるため、ステップＳＴ３１９に進む。ステップＳＴ３１９において、応答信号系列ｆＣ（ｆＭ６）及びｆＬ（ｆＭ５）が等しくないと判定し、ステップＳＴ３２０において、応答信号系列ｆＣ（ｆＭ６）及びｆＲ（ｆＭ７）が等しくないと判定する。これにより、判定部２は、モジュールＭ６を救済すべき欠陥モジュールとして特定する。
【０１５５】
（７）モジュールＭ７が不良の場合（図２０）
【０１５６】
まず制御部３は‘Ｃ＝１’に設定し（ステップＳＴ３０１）、モジュールＭ１を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ１）を判定部２が取り込む（ステップＳＴ３０２）。判定部２は、取り込んだ応答信号系列ｆＣと、正常出力値記憶部５に記憶される正常出力値ｆとを比較する。欠陥のあるモジュールＭ７が入出力部Ｐ６に接続されるため、両者は等しくないと判定する（ステップＳＴ３０３）。テスト応答記憶部６は、ステップＳＴ３０２で得られた応答信号系列ｆＣ（ｆＭ１）を‘ｆＬ’として記憶する（ステップＳＴ３０４）。
【０１５７】
次に、制御部３は‘Ｌ＝１’‘Ｃ＝Ｒ＝７’に設定し、モジュールＭ７を全ての入出力部から切り離す（ステップＳＴ３０５）。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ７）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ１）と正常出力値ｆとを比較する。等しい場合はモジュールＭ７を救済対象に決定して、欠陥探索処理を終了する（ステップＳＴ３０７）。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列ｆＣ（ｆＭ７）は正常出力値ｆと等しくならず、欠陥探索処理が続行される。
【０１５８】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ７）と、テスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しくないため、判定部２は、モジュールＭ１〜Ｍ７に欠陥モジュールが含まれると判定する。テスト応答記憶部６は、ステップＳＴ３０６で得られた応答信号系列ｆＣ（ｆＭ７）を‘ｆＲ’として記憶する（ステップＳＴ３１０）。
【０１５９】
次に、制御部３は‘Ｒ＝Ｃ＝７’に設定する（ステップＳＴ３１１）。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個でないため、ステップＳＴ３１８に進む。ステップＳＴ３１８において、制御部３は‘Ｉｎｔ（（Ｌ＋Ｒ）／２）’を演算する。この演算の結果、制御部３は‘Ｃ＝４’に設定し、モジュールＭ４を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ４）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ４）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ７が入出力部Ｐ６に接続されるため、両者は等しくならない（ステップＳＴ３０７）。
【０１６０】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ４）と、テスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。両者は等しいため、判定部２は、モジュールＭ１〜Ｍ４に欠陥モジュールが含まれていないと判定する。この場合、判定部２は‘Ｃ＝Ｒ’が成立するか否か判定を行うが（ステップＳＴ３１４）、これは成立しないため、ステップＳＴ３１５に進む。
【０１６１】
ステップＳＴ３１５において、制御部３は、‘Ｌ＝Ｃ＝４’に設定する。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１６）、４個であるため、制御部３は‘Ｃ＝Ｌ＋１＝５’に設定し、モジュールＭ５を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ５）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ５）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ７が入出力部Ｐ６に接続されるため、両者は等しくないと判定する（ステップＳＴ３０７）。
【０１６２】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ５）とテスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ４）とを比較する。両者は等しいため、判定部２は、モジュールＭ４〜Ｍ５に欠陥モジュールが含まれていないと判定する。この場合、判定部２は‘Ｃ＝Ｒ’が成立するか否か判定を行うが（ステップＳＴ３１４）、これは成立しないため、ステップＳＴ３１５に進む。
【０１６３】
ステップＳＴ３１５において、制御部３は、‘Ｌ＝Ｃ＝５’に設定する。そして、探索範囲（Ｌ〜Ｒ）のモジュール数が４個であるか判定し（ステップＳＴ３１２）、４個でないため、制御部３は‘Ｉｎｔ（（Ｌ＋Ｒ）／２）’を演算する（ステップＳＴ３１８）。この演算の結果、制御部３は‘Ｃ＝６’に設定し、モジュールＭ６を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ６）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ６）と正常出力値ｆとを比較するが、欠陥のあるモジュールＭ７が入出力部Ｐ６に接続されるため、両者は等しくないと判定する（ステップＳＴ３０７）。
【０１６４】
判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、３個であるため、ステップＳＴ３１９に進む。ステップＳＴ３１９において、応答信号系列ｆＣ（ｆＭ６）及びｆＬ（ｆＭ５）が等しいと判定し、ステップＳＴ３２１において応答信号系列ｆＣ（ｆＭ６）及びｆＲ（ｆＭ７）が等しくないと判定する。これにより、判定部２は、モジュールＭ７を救済すべき欠陥モジュールとして特定する。
【０１６５】
（８）モジュール以外に不良がある場合（図２１）
【０１６６】
まず制御部３は‘Ｃ＝１’に設定し（ステップＳＴ３０１）、モジュールＭ１を全ての入出力部から切り離す。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ１）を判定部２が取り込む（ステップＳＴ３０２）。判定部２は、取り込んだ応答信号系列ｆＣと、正常出力値記憶部５に記憶される正常出力値ｆとを比較するが、モジュール以外に不良があるため両者は等しくないと判定する（ステップＳＴ３０３）。テスト応答記憶部６は、ステップＳＴ３０２で得られた応答信号系列ｆＣ（ｆＭ１）を‘ｆＬ’として記憶する（ステップＳＴ３０４）。
【０１６７】
次に、制御部３は‘Ｌ＝１’‘Ｃ＝Ｒ＝７’に設定し、モジュールＭ７を全ての入出力部から切り離す（ステップＳＴ３０５）。信号発生部４は、この状態で半導体集積回路１にテストパターンｘを入力し、その応答信号系列ｆＣ（ｆＭ７）を判定部２が取り込む（ステップＳＴ３０６）。判定部２は、取り込んだ応答信号系列ｆＣ（ｆＭ７）と正常出力値ｆとを比較するが、モジュール以外に不良があるため両者は等しくならない（ステップＳＴ３０７）。
【０１６８】
ここで判定部２は、探索範囲（Ｌ〜Ｒ）のモジュール数が４個以上であるか判定を行い（ステップＳＴ３０８）、４個以上であるため、ステップＳＴ３０９に進む。そして、ステップＳＴ３０６で取り込んだ応答信号系列ｆＣ（ｆＭ７）と、テスト応答記憶部６に記憶された応答信号系列ｆＬ（ｆＭ１）とを比較する。この場合、モジュール以外に不良があるため、応答信号系列ｆＣ（ｆＭ７）とｆＬ（ｆＭ１）は等しくなる。そこで判定部２は、‘Ｃ＝Ｒ’が成立しているか判定を行い（ステップＳＴ３１４）、これが成立するため、このモジュールブロックの接続を切替えても欠陥の救済は行えないと判定する。
つまり、全てのモジュールの機能を変更しても半導体集積回路１が正常な応答を出力しない場合、不良の原因は別の部分（欠陥探索処理を行ったモジュールブロック以外の部分）にあると判定することができる。
以上は、図１に示す検査装置におけるモジュールの検査処理についての説明である。
【０１６９】
次に、上述した検査装置において検査対象とされている半導体集積回路１の製造法について説明する。
【０１７０】
図２２は、本実施形態に係る半導体集積回路の製造方法の一例を示す図である。
【０１７１】
ステップＳＴ１０１：
半導体基板上に、例えば図４，図６，図７に示すような構成を有する欠陥救済可能な回路を形成する。
【０１７２】
ステップＳＴ１０２：
ステップＳＴ１０１において形成した回路に含まれるモジュールを、例えば図１２，図１３に示すような検査方法によって検査し、モジュールの欠陥を特定する。
【０１７３】
ステップＳＴ１０３：
ステップＳＴ１０２の検査結果に応じて、全ての入出力部から切り離すべき欠陥モジュールを特定し、このモジュールを指示する情報を記憶部７０（図６）に書き込む。例えば記憶部７０がヒューズによって構成されている場合には、ヒューズを切断する処理が行われる。これにより、欠陥モジュールに割り当てられていた機能が別の正常なモジュールに割り当てられて、欠陥の救済が実現される。
【０１７４】
以上説明したように、本実施形態によれば、半導体集積回路に含まれるモジュールの全体に割り当てる機能を同一に保ちつつ、その少なくとも一部において個々のモジュールに割り当てる機能を変更するように、半導体集積回路が制御される。そして、モジュールの機能の割り当て変更に応じた半導体集積回路の機能の変化が検出され、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かが判定される。
これにより、半導体集積回路に検査用のパッドや専用の付加回路を設ける必要がなくなり、半導体集積回路のサイズを小さくすることができる。半導体チップの面積が小さくなると、生産性が向上するため、製造コストを削減できる。また、故障の発生確率が小さくなるため、歩留まりを高めることができる。更に、検査用のパッドや専用の付加回路を設ける場合に比べて回路素子が減り、回路内の総配線長が短くなるため、消費電力を削減できる。
【０１７５】
また、モジュールを１つ１つ分離して検査を行う方法では、モジュールごとに専用のテストパターンを作成しなくてはならないが、本実施形態によれば、半導体集積回路の全体の機能を検査する通常のテストパターンを使用できるため、検査に係わる設計作業の負担を軽減できる。
【０１７６】
また、モジュールを１つ１つ分離して検査する方法では、半導体集積回路に設けられる分離用の回路に欠陥が生じると全く救済できなくなるため、歩留まりの低下が避けられないが、本実施形態においてはそのような不都合が生じない。
【０１７７】
更に、本実施形態によれば、半導体集積回路１に含まれるモジュールの全体に割り当てる機能を同一に保ちつつ、欠陥モジュールを含むと判定された一群のモジュールの更に一部において個々のモジュールに割り当てる機能を変更するように半導体集積回路が制御され、この機能の割り当て変更に応じた半導体集積回路の機能の変化に応じて、欠陥のあるモジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかが判定される。
これにより、全モジュールを１つずつ順番に検査する方法に比べて、欠陥モジュールを特定する手順を大幅に簡略化できる。例えばバイナリサーチと同様な手法によって、探索範囲を半分ずつに分割する操作を繰り返せば、極めて効率的に欠陥モジュールを特定できる。
【０１７８】
また、本実施形態によれば、欠陥モジュールを含むと判定した一群のモジュールが３個に絞られた場合には、当該一群のモジュールに含まれる２つのモジュールの機能が交換されることによる半導体集積回路の機能の変化、並びに、当該一群のモジュールに含まれる残りの１のモジュールの機能と当該２つのモジュールの一方のモジュールの機能とが交換されることによる半導体集積回路の機能の変化が検出される。そして、当該２つの検出結果に応じて、欠陥のあるモジュールが特定される。
これにより、冗長モジュールによる欠陥の救済がそれぞれ可能な複数のモジュールブロックを有する半導体集積回路であっても、その１のモジュールブロック内の欠陥モジュールを容易に特定することが可能である。
【０１７９】
ここまで、本発明の一実施形態について詳しく説明したが、本発明は上記の形態に限定されるものではなく、複数のバリエーションを含んでいる。
【０１８０】
半導体集積回路の規模は益々大きくなきているため、出力の応答信号系列は膨大なデータ量になる可能性がある。そこで、本発明の検査装置は、検査対象の半導体集積回路から出力される応答信号系列を圧縮する手段を更に有しても良い。
【０１８１】
図２３は、応答信号系列の圧縮手段を設けた検査装置の構成例を示す図である。図２３に示す検査装置は、図１に示す検査装置と同様な構成を有するとともに、半導体集積回路から出力される応答信号系列を圧縮するためのテスト応答圧縮部７を有している。
テスト応答圧縮部７は、半導体集積回路から出力される応答信号系列ｆをＭＩＳＲ（multiple input signature register）などのデジタル信号の圧縮手段によって圧縮し、圧縮された応答信号系列ｇＣとして判定部２に出力する。
判定部２は、この圧縮された応答信号系列ｇＣの変化に基づいて、半導体集積回路の機能の変化を検出する。
この場合、正常出力値記憶部５には、圧縮された応答信号系列ｇＣの対応する正常出力値ｇが記憶される。
【０１８２】
応答信号系列を圧縮して処理することにより、例えば正常出力値記憶部５やテスト応答記憶部６の記憶容量を大幅に削減することが可能になる。
【０１８３】
上述した実施形態では、冗長な複数のモジュールの接続状態をシフトする構造によってモジュールの機能変更を行う例を挙げているが、本発明はこの例に限定されない。すなわち、各モジュールに割り当てる機能をどのような方式で変更するかは任意である。例えばクロスバー構造によってモジュール同士の接続を変更することにより各モジュールの機能変更を行っても良い。また、各モジュールがプログラム可能な回路である場合には、そのプログラムを変更することにより機能の変更を行っても良い。複数のモジュールが共通のバスを介して通信する場合には、バス上において個々のモジュールを識別するための情報を変更することにより、モジュールの機能変更を行っても良い。
【０１８４】
上述した実施形態では、入力信号に対応して出力される応答信号に基づいて半導体集積回路の機能の変化を検出しているが、本発明はこれに限定されない。例えば、出力電圧や出力電流の振幅、波形の変化などに基づいて機能の変化を検出しても良い。また、動作スピードの変化や温度、消費電力の変化に基づいて機能の変化を検出しても良い。
【０１８５】
本発明において検査される回路装置は半導体集積回路に限定されるものではなく、複数の半導体チップによって構成されるＳＩＰ（system in package）などの回路装置や、より大きな単位の装置に対しても本発明は適用可能である。
【０１８６】
上述の実施形態において具体的に示した数値（モジュールの数、入出力部の数、モジュールブロックの数など）は一例であり、適宜任意の数値に変更可能である。
【図面の簡単な説明】
【０１８７】
【図１】本発明の実施形態に係る半導体集積回路の検査装置の一例を示す図である。
【図２】モジュールの機能変更に伴う半導体集積回路の応答の変化を説明するための第１の図である。
【図３】モジュールの機能変更に伴う半導体集積回路の応答の変化を説明するための第２の図である。
【図４】半導体集積回路の構成例を示す図である。
【図５】半導体集積回路における欠陥救済の一例を示す図である。
【図６】半導体集積回路のより詳細な構成例を示す図である。
【図７】複数のモジュールブロックを有する半導体集積回路の例を示す図である。
【図８】モジュールブロックが複数ある場合の問題点を説明するための図である。
【図９】図１に示す検査装置における欠陥モジュールの特定方法を説明するための第１の図である。
【図１０】図１に示す検査装置における欠陥モジュールの特定方法を説明するための第２の図である。
【図１１】図９及び図１０に示す欠陥モジュールの特定方法を一覧にまとめた図である。
【図１２】モジュール検査処理の全体処理の一例を示すフローチャートである。
【図１３】図１３は、欠陥モジュールの探索処理の一例を示すフローチャートである。
【図１４】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第１の図である。
【図１５】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第２の図である。
【図１６】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第３の図である。
【図１７】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第４の図である。
【図１８】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第５の図である。
【図１９】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第６の図である。
【図２０】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第７の図である。
【図２１】モジュール以外に不良がある場合における欠陥処理の一例を示す。
【図２２】本実施形態に係る半導体集積回路の製造方法の一例を示す図である。
【図２３】応答信号系列の圧縮手段を設けた検査装置の構成例を示す図である。
【符号の説明】
【０１８８】
１…半導体集積回路、２…判定部、３…制御部、４…信号発生部、５…正常出力値記憶部、６…テスト応答記憶部、７…テスト応答圧縮部、５０…モジュール選択部、６０…制御部、７０…記憶部、８０…信号入力部、１００…一般回路ブロック、Ｍ１〜Ｍ７…モジュール、Ｐ１〜Ｐ６…入出力部、ＳＷＡ１〜ＳＷＡ６，ＳＷＢ１〜ＳＷＢ６…スイッチ回路。
【図１】
2007101395.tif 000007
【図２】
2007101395.tif 000008
【図３】
2007101395.tif 000009
【図４】
2007101395.tif 000010
【図５】
2007101395.tif 000011
【図６】
2007101395.tif 000012
【図７】
2007101395.tif 000013
【図８】
2007101395.tif 000014
【図９】
2007101395.tif 000015
【図１０】
2007101395.tif 000016
【図１１】
2007101395.tif 000017
【図１２】
2007101395.tif 000018
【図１３】
2007101395.tif 000019
【図１４】
2007101395.tif 000020
【図１５】
2007101395.tif 000021
【図１６】
2007101395.tif 000022
【図１７】
2007101395.tif 000023
【図１８】
2007101395.tif 000024
【図１９】
2007101395.tif 000025
【図２０】
2007101395.tif 000026
【図２１】
2007101395.tif 000027
【図２２】
2007101395.tif 000028
【図２３】
2007101395.tif 000029