回路装置の検査装置、検査方法及び製造方法
【課題】回路装置に検査用のパッドや専用の付加回路を設けることなく、回路装置に含まれた複数のモジュールに欠陥があるか否かを判定できる検査装置とその検査方法を提供する。また、上記の検査方法を用いることによって回路サイズの増大を抑制しつつ欠陥を救済できる回路装置の製造方法を提供する。
【解決手段】半導体集積回路は、互いに機能を代替可能な複数のモジュールを含んでいる。複数のモジュールの全体に割り当てる機能を同一に保ちつつ、その少なくとも一部において個々のモジュールに割り当てる機能を変更するように、半導体集積回路を制御する。そして、モジュール機能の割り当ての変更に応じた半導体集積回路の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する。
【解決手段】半導体集積回路は、互いに機能を代替可能な複数のモジュールを含んでいる。複数のモジュールの全体に割り当てる機能を同一に保ちつつ、その少なくとも一部において個々のモジュールに割り当てる機能を変更するように、半導体集積回路を制御する。そして、モジュール機能の割り当ての変更に応じた半導体集積回路の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は回路装置の不良を検査する検査装置とその方法、並びに、当該検査方法を用いる回路装置の製造方法に係り、特に、互いに機能を代替可能な複数のモジュールを含む回路装置の検査装置に関するものである。
【背景技術】
【0002】
近年の半導体集積回路においては、加工寸法の微細化と回路構成の大規模化が著しく進んでおり、製造上の欠陥による歩留まりの低下が深刻化している。このような歩留まりの低下を製造条件の最適化だけで改善するのには限界があるため、冗長回路による欠陥の救済手法が用いられるようになってきている。この手法では、全体の回路の一部に予め冗長な回路を設けておき、欠陥部分を冗長回路に置き換えることによって半導体チップ全体が不良品になることを回避する。例えば大容量のDRAM(dynamic random access memory)やSRAM(static random access memory)では、欠陥のあるメモリセルを冗長なメモリセルに置き換える手法が一般に用いられている。
【0003】
冗長回路による欠陥救済手法では、回路装置内のどの部分に不良があるかを特定する必要がある。この点に関して、例えば特許文献1に記載される装置では、冗長なモジュールを含んだ複数のモジュールの各々に検査用のパッドを設けている。各モジュールを装置内の他の部分から電気的に切り離した状態で、検査用のパッドにプローブを接触させてテスト信号を入力し、その応答を調べることによって、各モジュールが正常に動作するか否かを判定する。
【特許文献1】特許3192220号明細書
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、加工寸法の微細化が進んだ近年の半導体集積回路においては、回路素子のサイズや配線の幅に比べて検査用パッドが極めて大きくなるため、このようなパッドを半導体チップ上に多数設けると、半導体チップのサイズが無駄に大きくなるという不利益がある。
【0005】
また、上記のように個々のモジュールを検査する手法では、検査対象のモジュールと他の部分とを電気的に切り離すための付加的な回路を設ける必要があるため、この付加回路によって半導体チップのサイズが大きくなる不利益がある。モジュールのサイズが小さくなり、その数が増えるほど、チップサイズの増大が深刻化する。
【0006】
本発明はかかる事情に鑑みてなされたものであり、その目的は、回路装置に検査用のパッドや専用の付加回路を設けることなく、回路装置に含まれた複数のモジュールに欠陥があるか否かを判定できる検査装置とその検査方法を提供することにある。また、本発明の他の目的は、上記の検査方法を用いることによって回路サイズの増大を抑制しつつ欠陥を救済できる回路装置の製造方法を提供することにある。
【課題を解決するための手段】
【0007】
本発明の第1の観点に係る検査装置は、互いに機能を代替可能な複数のモジュールを含み、入力される制御信号に応じて個々のモジュールに割り当てる機能を変更可能な回路装置を検査する。上記第1の観点に係る検査装置は、上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記複数のモジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成する制御部と、上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する判定部とを具備する。
【0008】
上記第1の観点によれば、上記複数のモジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように、上記制御部によって上記回路装置の制御信号が生成される。上記判定部では、上記機能の割り当ての変更に応じた上記回路装置の機能の変化が検出され、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かが判定される。
【0009】
上記制御部は、上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記判定部において欠陥のあるモジュールを含むと判定された一群のモジュールの更に一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成しても良い。この場合、上記判定部は、上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、欠陥のあるモジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかを判定しても良い。
また、上記判定部は、欠陥のあるモジュールを含むと判定した一群のモジュールが3個の場合、当該一群のモジュールに含まれる2つのモジュールの機能が上記制御部によって交換されることによる上記回路装置の機能の変化、並びに、当該一群のモジュールに含まれる残りの1のモジュールの機能と当該2つのモジュールの一方のモジュールの機能とが上記制御部によって交換されることによる上記回路装置の機能の変化を検出し、当該検出結果に応じて欠陥のあるモジュールを特定しても良い。
【0010】
本発明の第2の観点に係る検査方法は、互いに機能を代替可能な複数のモジュールを含み、入力される制御信号に応じて個々のモジュールに割り当てる機能を変更可能な回路装置を検査する。上記第2の観点に係る検査方法は、上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記複数のモジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成する第1の工程と、上記第1の工程における上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する第2の工程とを有する。
【0011】
本発明の第3の観点に係る回路装置の製造方法は、回路形成工程と、検査工程と、書き込み工程とを有する。
上記回路形成工程では、互いに機能を代替可能なN個(Nは2より大きい整数を示す)のモジュールと、各々が1つのモジュールに少なくとも1つの信号を出力する、及び/又は、各々が当該1つのモジュールにおいて発生する少なくとも1つの信号を入力する(N−1)個の入出力部を有した回路ブロックと、入力される制御信号に応じて上記N個のモジュールから(N−1)個のモジュールを選択し、当該選択した(N−1)個のモジュールと上記回路ブロックの(N−1)個の入出力部とを1対1に接続するモジュール選択部と、上記(N−1)個の入出力部から切り離す1のモジュールを指示する信号を入力する信号入力部と、上記(N−1)個の入出力部から切り離す1のモジュールを指示する情報を記憶可能な記憶部と、第1の動作モードにおいて、上記信号入力部に入力される信号が指示する1のモジュールを上記(N−1)個の入出力部から切り離すように上記制御信号を生成し、第2の動作モードにおいて、上記記憶部に書き込まれた上記情報が指示する1のモジュールを上記(N−1)個の入出力部から切り離すように上記制御信号を生成する制御部とを具備する回路を半導体基板上に形成する。
上記検査工程では、上記第1の動作モードにおいて上記N個のモジュールの欠陥を検査する。
上記書き込み工程では、上記検査工程の検査結果に応じて、上記(N−1)個の入出力部から切り離す1のモジュールを決定し、当該1のモジュールを指示する情報を上記記憶部に書き込む。
また、上記検査工程は、上記N個のモジュールの少なくとも一部において個々のモジュールと入出力部との接続状態を変更するように上記制御信号を生成する第1の工程と、上記第1の工程における上記接続状態の変更に応じた上記回路の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する第2の工程とを有する。
【発明の効果】
【0012】
本発明によれば、モジュールに対する機能の割り当ての変更に応じた回路装置の機能の変化を検出することにより、モジュールに欠陥があるか否かを判定できるため、回路装置に検査用のパッドや専用の付加回路を設ける必要がない。
また、モジュールに対する機能の割り当ての変更に応じた半導体集積回路の機能の変化を検出し、その検出結果に応じてモジュールの欠陥を救済できるため、検査用のパッドや専用の付加回路が必要な場合に比べて、半導体集積回路のサイズを小さくすることができる。
【発明を実施するための最良の形態】
【0013】
図1は、本発明の実施形態に係る回路装置の一例である半導体集積回路を検査するための検査装置の一例を示す図である。
図1に示す検査装置は、判定部2と、制御部3と、信号発生部4と、正常出力値記憶部5と、テスト応答記憶部6とを有する。
判定部2は、本発明の判定部の一実施形態である。
制御部3は、本発明の制御部の一実施形態である。
信号発生部4は、本発明の信号発生部の一実施形態である。
【0014】
この図1に示す検査装置を説明する前に、まず検査対象の半導体集積回路1を説明する。
【0015】
半導体集積回路1は、互いに機能を代替可能な複数のモジュールを含んでおり、各モジュールに割り当てる機能を制御部3の制御信号に応じて変更することができる。例えば、半導体集積回路1の内部ノードと各モジュールとの接続関係を変更することにより、各モジュールが担う機能を変更することができる。
【0016】
図2は、モジュールの機能変更の一例を示す図である。
図2に例示する半導体集積回路は、互いに機能を代替可能な8つのモジュールを有しており、各モジュールは所定の機能を担っている。図2の例では、この8つのモジュールのうち任意の1つに着目し、その接続関係を変更している。この場合、着目モジュールには、変更後の接続関係に対応した別の機能が割り当てられる。
【0017】
個々のモジュールに割り当てる機能を変更しても、全体のモジュールに割り当てる機能を同一に保つならば、半導体集積回路の全体の機能に変化は生じない。例えば図2に示す半導体集積回路おいて、入力信号系列xに対する半導体集積回路の正常な応答信号系列が‘f(x)’である場合、8個のモジュールで構成される機能が同一に保たれていれば、個々のモジュールに割り当てる機能を変更しても、入力信号系列xに対する半導体集積回路の応答信号系列は‘f(x)’のまま変化しない。
しかしながら、着目モジュールが故障している場合は、たとえ全体のモジュールに割り当てる機能を同一に保っても、着目モジュールに割り当てる機能の変化に応じて、半導体集積回路の全体機能が変化してしまう。
【0018】
図3は、モジュールの機能変更により半導体集積回路の応答が変化する例を示す図である。
着目モジュールに機能F1が割り当てられているときの応答信号系列を‘fF1(x)’、機能F2が割り当てられているときの応答信号系列を‘fF2(x)’とする。もし着目モジュールが正常に動作しており、他のモジュールが故障していなければ、図2の場合と等価になり、応答信号系列fF1(x)とfF2(x)は等しくなる。他方、着目モジュールが故障している場合は、機能F1の故障が全体機能に与える影響と機能F2の故障が全体機能に与える影響とが異なる。そのため、適切な入力信号系列xを与えた場合、応答信号系列fF1(x)とfF2(x)は異なる。
図1に示す検査装置では、故障したモジュールの機能を変更した場合に半導体集積回路の全体機能が変化することを利用して、モジュールの故障を判定する。
【0019】
上記の半導体集積回路1は、好適には、全体の機能を実現するために必要な数より多くのモジュールを含む。この場合、冗長な一部のモジュールが未使用の状態になる。図1に示す検査装置において故障と判定されたモジュールが未使用状態になるように各モジュールに機能を割り当てれば、モジュールの欠陥を救済することが可能になる。
【0020】
図4は、半導体集積回路1の概略的な構成の一例を示す図である。
検査対象の半導体集積回路1は、例えば図4に示すように、モジュールM1〜M7と、一般回路ブロック100と、スイッチ回路SWA1〜SWA6と、スイッチ回路SWB1〜SWB6とを有する。
【0021】
モジュールM1〜M7は、それぞれ本発明のモジュールの一実施形態である。
一般回路ブロック100は、本発明の回路ブロックの一実施形態である。
スイッチ回路SWA1〜SWA6及びSWB1〜SWB6を含む回路は、本発明のモジュール選択部の一実施形態である。
【0022】
モジュールM1〜M7は、それぞれ所定の機能を持つ一まとまりの回路であり、互いに機能を代替することができる。モジュールM1〜M7は、全て同一の回路構成を有していても良いし、互いに機能を代替可能であれば、その一部に異なる回路構成を有するモジュールを含んでいても良い。
【0023】
モジュールM1〜M7の回路構成や機能は任意である。例えばDSP(digital signal processor)等の演算・処理機能を持つ回路でも良いし、ルックアップテーブルのように比較的単純な論理演算を行う回路でも良い。あるいは、半導体集積回路中に含まれている同等な機能を持った複数の回路の各々を1つのモジュールとして扱っても良い。
また、モジュールM1〜M7は、デジタル回路に限定されるものではなく、アナログ回路でも良い。
【0024】
一般回路ブロック100は、上述したモジュールM1〜M7との間で信号をやり取りするための入出力部P1〜P6を有しており、これらのモジュールと共同して所定の処理を実行する。一般回路ブロック100の回路構成や機能は任意であり、例えば配線のみでも良い。
【0025】
入出力部P1〜P6は、それぞれ、上述したモジュールM1〜M7のうちの1つのモジュールに少なくとも1つの信号を出力する、及び/又は、当該1つのモジュールにおいて発生する少なくとも1つの信号を入力する。
【0026】
入出力部P1〜P6は、全てが同一の組合せの信号を入出力しても良いし、異なる組合せの信号を入出力する異なる種類の入出力部を含んでいても良い。
例えばモジュールM1〜M7が3つの出力端子を有する場合において、この3つの出力端子の全てから信号を入力する入出力部や、1つの出力端子のみから信号を入力する入出力部などが混在していても良い。
【0027】
スイッチ回路SWAi(iは、1から6までの整数を示す。)は、入出力部PiとモジュールMiとの間に接続されており、入力される制御信号(不図示)に応じてオン又はオフする。
スイッチ回路SWBiは、入出力部PiとモジュールM(i+1)との間に接続されており、入力される制御信号に応じてオン又はオフする。
【0028】
スイッチ回路SWA1〜SWA6及びSWB1〜SWB6は、モジュール選択部を構成する。
ここで、モジュール選択部(SWA1〜SWA6,SWB1〜SWB6)は、7つのモジュール(M1〜M7)の中から制御信号に応じて6つのモジュールを選択し、選択した6つのモジュールと6つの入出力部(P1〜P6)とを1対1に接続する機能を持った回路である。
【0029】
このモジュール選択部(SWA1〜SWA6,SWB1〜SWB6)は、6つの入出力部(P1〜P6)の各々に、2つのモジュールから制御信号に応じて選択した1つのモジュールを接続する。すなわち、入力される制御信号に応じて、モジュールMi又はモジュールM(i+1)の一方を選択し、選択したモジュールを入出力部Piに接続する。
【0030】
モジュール選択部(SWA1〜SWA6及びSWB1〜SWB6)は、例えば、不図示の制御部から供給される制御信号に応じて、7つのモジュールのうちの故障したモジュール(故障がない場合には予め冗長用に設けられたモジュール)が全ての入出力部から切り離されるように、6つのモジュールを選択する。
【0031】
例えば、モジュールMn(nは、1から7までの整数を示す。)を全ての入出力部から切り離すことを指示する制御信号が入力された場合において、nが2から6までの整数であれば(すなわちモジュールM2〜M6を切り離す場合は)、スイッチ回路SWA1〜SWA(n−1)がオン、スイッチ回路SWAn〜SWA6がオフするとともに、スイッチ回路SWB1〜SWB(n−1)がオフ、スイッチ回路SWBn〜SWB6がオンする。
nが整数1であれば(すなわちモジュールM1を切り離す場合は)、スイッチ回路SWA1〜SWA6が全てオフし、スイッチ回路SWB1〜SWB6が全てオンする。
nが整数7であれば(すなわちモジュールM7を切り離す場合は)、スイッチ回路SWA1〜SWA6が全てオンし、スイッチ回路SWB1〜SWB6が全てオフする。
【0032】
図5は、モジュールM3に欠陥が生じている場合の接続状態を示す。この場合、図示しない制御部は、モジュールM3を全ての入出力部から切り離すように制御信号を生成する。
この制御信号に応じて、スイッチ回路SWA1,SWA2がオン、スイッチ回路SWA3,SWA4,SWA5,SWA6がオフ、スイッチ回路SWB1,SWB2がオフ、スイッチ回路SWB3,SWB4,SWB5,SWB6がオンする。
これにより、入出力部P1とモジュールM1、入出力部P2とモジュールM2、入出力部P3とモジュールM4、入出力部P4とモジュールM5、入出力部P5とモジュールM6、入出力部P6とモジュールM7とがそれぞれ接続され、モジュールM3が一般回路ブロック100から切り離される。
【0033】
図6は、半導体集積回路1のより詳細な構成の一例を示す図であり、図4と図6の同一符号は同一の構成要素を示す。
図6に示す半導体集積回路1は、モジュールM1〜M7と、入出力部P1〜P6を持った一般回路ブロック100と、モジュール選択部50と、制御部60と、記憶部70と、信号入力部80とを有する。
モジュール選択部50は、本発明のモジュール選択部の一実施形態である。
信号入力部80は、本発明の信号入力部の一実施形態である。
記憶部70は、本発明の記憶部の一実施形態である。
制御部60は、本発明の記憶部の一実施形態である。
【0034】
モジュール選択部50は、制御部60から供給される制御信号に応じて、モジュールM1〜M7から6個のモジュールを選択し、当該選択した6個のモジュールと一般回路ブロック100の6個の入出力部P1〜P6とを1対1に接続する。
【0035】
モジュール選択部50は、例えば図6に示すように、スイッチ回路SWA1〜SWA6とスイッチ回路SWB1〜SWB6とを有する。
スイッチ回路SWAi(1≦i≦6)は、入出力部PiとモジュールMiとの間に接続されており、制御部60から供給される制御信号Sciが値‘0’の場合にオン、値‘1’の場合にオフする。
スイッチ回路SWBiは、入出力部PiとモジュールM(i+1)との間に接続されており、制御信号Sciが値‘0’の場合にオフ、値‘1’の場合にオンする。
【0036】
スイッチ回路SWAiは、入出力部PiからモジュールMiへ伝送される信号をオンオフする回路、及び/又は、モジュールMiから入出力部Piへ伝送される信号をオンオフする回路を少なくとも1つ有している。
同様に、スイッチ回路SWBiは、入出力部PiからモジュールM(i+1)へ伝送される信号をオンオフする回路、及び/又は、モジュールM(i+1)から入出力部Piへ伝送される信号をオンオフする回路を少なくとも1つ有している。
【0037】
制御部60は、モジュール選択部50を制御する制御信号Sc1〜Sc6を発生する。すなわち、第1の動作モードにおいて、信号入力部80に入力される信号が指示する1のモジュールを全入出力部(P1〜P6)から切り離すように制御信号Sc1〜Sc6を生成し、第2の動作モードにおいて、記憶部70に書き込まれた情報が指示する1のモジュールを全入出力部(P1〜P6)から切り離すように制御信号Sc1〜Sc6を生成する。
【0038】
制御部60が動作モードを認識する方法は任意であり、例えば所定の端子に印加される信号に応じて動作モードを認識しても良いし、記憶部70に書き込まれるフラグの値に応じて動作モードを認識しても良い。
第1の動作モードは、主としてモジュールの検査を行う場合に設定され、第2の動作モードは、モジュールの検査が完了した後の通常状態において設定される。
【0039】
制御部60は、信号入力部80から入力される信号若しくは記憶部70に書き込まれる情報においてモジュールMn(1≦n≦7)を全ての入出力部から切り離すように指示された場合、整数nの値に応じて、次のような制御信号Sc1〜Sc6を出力する。
【0040】
[2≦n≦6]
この場合、制御部60は、制御信号Sc1〜Sc(n−1)を値‘0’に設定し、制御信号Scn〜Sc6を値‘1’に設定する。
これにより、スイッチ回路SWA1〜SWA(n−1)がオン、スイッチ回路SWAn〜SWA6がオフ、スイッチ回路SWB1〜SWB(n−1)がオフ、スイッチ回路SWBn〜SWB6がオンに設定される。その結果、モジュールM1〜M(n−1)が入出力部P1〜P(n−1)と1対1に接続され、モジュールM(n+1)〜M7が入出力部Pn〜P6と1対1に接続され、モジュールMnが全入出力部から切り離される。
【0041】
[n=1]
この場合、制御部60は、制御信号Sc1〜Sc6を全て値‘1’に設定する。
これにより、スイッチ回路SWA1〜SWA6が全てオフ、スイッチ回路SWB1〜SWB6が全てオンに設定される。その結果、モジュールM2〜M7が入出力部P1〜P6と1対1に接続され、モジュールM1が全入出力部から切り離される。
【0042】
[n=7]
この場合、制御部60は、制御信号Sc1〜Sc6を全て値'0'に設定する。
これにより、スイッチ回路SWA1〜SWA6が全てオン、スイッチ回路SWB1〜SWB6が全てオフに設定される。その結果、モジュールM1〜M6が入出力部P1〜P6と1対1に接続され、モジュールM7が全入出力部から切り離される。
【0043】
この制御部60は、例えば図6に示すように、デコード部601と、OR回路602−2〜602−6とを有する。
【0044】
デコード部601は、記憶部70若しくは信号入力部80から入力される信号をデコードし、そのデコード結果を信号Sd1〜Sd6として出力する。
すなわち、記憶部70に記憶される情報若しくは信号入力部80から入力される信号がモジュールMnを全ての入出力部から切り離すように指示する場合、デコード部601は、整数nの値に応じて、次のような信号Sd1〜Sd6を生成する。
‘n’が1から6までの整数であれば、信号Sdnを‘1’とし、他の信号を‘0’に設定する。
‘n'が整数7であれば、信号Sd1〜Sd6を全て値'0'に設定する。
【0045】
信号Sd1〜Sd6は、モジュールM1〜M7の各々を全入出力部から切り離すか否か指示する信号であることから、以下では指示信号Sd1〜Sd6と呼ぶ。
【0046】
デコード部601は、第1の動作モード(モジュール検査時の動作モード)において、信号入力部80から入力される信号に応じて指示信号Sd1〜Sd6を生成し、第2の動作モード(モジュール検査完了後の動作モード)においては、記憶部70に書き込まれた情報に応じて指示信号Sd1〜Sd6を生成する。
【0047】
なお、図6の例においてデコード部601が出力する指示信号Sd1は、モジュール選択部50に供給される制御信号Sc1と同じである。
【0048】
OR回路602−2〜602−6は、それぞれ2つの入力と1つの出力を有する論理和演算回路であり、この順番で縦続接続されている。
OR回路602−2は、2つの入力の一方に指示信号Sd1(=制御信号Sc1)、他方に指示信号Sd2を入力する。OR回路602−2の出力は、制御信号Sc2としてモジュール選択部50に供給される。
OR回路602−k(kは、3から6までの整数を示す。)は、2つの入力の一方にOR回路602−(k−1)の出力信号を入力し、他方に指示信号Sdkを入力する。OR回路602−kの出力は、制御信号Sckとしてモジュール選択部50に供給される。
【0049】
デコード部601の指示信号Sdj(jは、2から6までの整数を示す。)が値‘1’になると、この指示信号Sdjが入力されるOR回路602−jは値‘1’の制御信号Scjを出力する。‘j’が6より小さい場合には、OR回路602−jより後段のOR回路602−(j+1)〜602−6から出力される制御信号Sc(j+1)〜Sc6も全て値‘1’になる。
デコード部601の指示信号Sd1(=制御信号Sc1)が値‘1’になると、この指示信号Sd1が入力されるOR回路602−2は値‘1’の制御信号Sc2を出力する。OR回路602−2より後段のOR回路602−3〜602−6から出力される制御信号Sc3〜Sc6も全て値‘1’になる。
他方、デコード部601の全ての指示信号(Sd1〜Sd6)が値‘0’になると、OR回路602−2〜602−6の入出力信号が全て値‘0’になるため、モジュール選択部50に供給される制御信号(Sc1〜Sc6)は全て値‘0’になる。
【0050】
したがって、モジュールMnを全ての入出力部から切り離す場合において、‘n’が2から6までの整数であるときは、デコード部601によって指示信号Sd1〜Sd(n−1)が値‘0’、指示信号Sdnが値‘1’、指示信号Sd(n+1)〜Sd6が値‘0’に設定されるため、制御信号Sc1〜Sc(n−1)は値‘0’、制御信号Scn〜Sc6は値‘1’になる。‘n’が整数1であるときは、デコード部601によって指示信号Sd1が値‘1’に設定されるため、制御信号Sc1〜Sc6は全て値‘1’になる。‘n’が整数7であるときは、デコード部601によって指示信号Sd1〜Sd6が全て値‘0’に設定されるため、制御信号Sc1〜Sc6は全て値‘0’になる。
【0051】
記憶部70は、7個のモジュール(M1〜M7)の中で、全ての入出力部(P1〜P6)から切り離すべき1のモジュールを指示する情報を記憶する。
記憶部70は、例えばヒューズ素子や不揮発性メモリなどによって構成可能である。
【0052】
信号入力部80は、全ての入出力部(P1〜P6)から切り離すべき1のモジュールを指示する信号を入力するための回路であり、例えば半導体集積回路1の検査を行う場合などにおいて、外部の装置から制御部60に信号を入力するために用いられる。
【0053】
ところで、上述した図4,図6に示す半導体集積回路1は、冗長なモジュールが全体に1つしかなく、2つ以上の欠陥を救済できない。欠陥の発生確率が高い場合には、救済できる欠陥の数を増やさなければ十分な歩留まりを達成できない可能性がある。
そこで、本実施形態に係る半導体集積回路1は、図4,図6に示すように1つの欠陥を救済可能なモジュールの集まり(モジュールブロック)を複数設けても良い。
【0054】
図7は、複数のモジュールブロックを有する半導体集積回路1の例を示す図である。
各モジュールブロックには、互いに機能を代替可能なN個(Nは2より大きい整数を示す)のモジュールと、このN個のモジュールから(N−1)個のモジュールを選択して一般回路ブロック100の(N−1)個の入出力部と1対1に接続するモジュール選択部が設けられている。
モジュールブロックは、図7に示すように規則的に配置しても良いし、自由な形状の領域に配置しても良い。
【0055】
このような複数のモジュールブロックとモジュール選択部を設けることによって、半導体集積回路内のより多くの欠陥を救済することが可能になる。
また、複数のモジュールブロックを設けることによって、複数種類のモジュールを救済することが可能になる。例えば、互いに機能を代替可能なモジュール群が複数存在し、同一のモジュール群に属するモジュール同士は機能を代替可能であるが、異なるモジュール群に属するモジュール同士は機能を代替できない場合がある。このような場合には、各モジュール群に冗長なモジュールを付加した複数のモジュールブロックを構成し、この複数のモジュールブロックの各々において欠陥救済を行うことにより、複数種類のモジュールを救済することが可能になる。
以上が、半導体集積回路1についての説明である。
【0056】
次に、図1に示す検査装置の各構成要素について説明する。
【0057】
制御部3は、半導体集積回路1のモジュールの全体に割り当てる機能を同一に保ちつつ、全モジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように、半導体集積回路1の制御信号を生成する。
また制御部3は、半導体集積回路1に含まれる一群のモジュールの中に欠陥のあるモジュール(以下、欠陥モジュールと呼ぶ)が含まれると判定部2が判定した場合、半導体集積回路1のモジュールの全体に割り当てる機能を同一に保ちつつ、当該一群のモジュールの更に一部において個々のモジュールに割り当てる機能を変更するように制御信号を生成する。
【0058】
判定部2は、制御部3による機能の割り当ての変更に応じて生じた半導体集積回路1の機能の変化を検出し、当該検出結果に応じて、この機能の割り当て変更がなされたモジュール群に欠陥モジュールが含まれるか否かを判定する。
また判定部2は、制御部3によって、一群のモジュールの更に一部に含まれる個々のモジュールの機能の割り当てが変更された場合、その変更に応じた生じた半導体集積回路1の機能の変化を検出する。そして、当該検出結果に応じて、欠陥モジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかを判定する。
【0059】
探索範囲が絞られた結果、欠陥モジュールを含むと判定した一群のモジュールが3個になった場合、判定部2は、当該一群のモジュールに含まれる2つのモジュールの機能が制御部3によって交換されることによる半導体集積回路1の機能の変化、並びに、当該一群のモジュールに含まれる残りの1のモジュールの機能と当該2つのモジュールの一方のモジュールの機能とが制御部3によって交換されることによる半導体集積回路1の機能の変化を検出する。そして、この2つの検出結果に応じて、3個のモジュール群に含まれる欠陥モジュールを特定する。
【0060】
例えば、半導体集積回路1が図4,図6に示すようなモジュールブロックを有しているものとする。この場合、制御部3は、まずモジュールM1を全ての入出力部(P1〜P6)より切り離した状態と、モジュールM7を全ての入出力部より切り離した状態とを切替えるように、半導体集積回路1の制御信号を生成する。この切り替えによって、モジュールM1〜M7の各々に割り当てられる機能が変更される。
上記の切り替えに応じて半導体集積回路1の機能が変化した場合、判定部2は、モジュールM1〜M7の中に欠陥モジュールが含まれると判定する。
モジュールM1〜M7に欠陥モジュールが含まれると判定された場合、制御部3は、これらのモジュールのうちの1つ(例えばモジュールM4)を全ての入出力部(P1〜P6)から切り離すように制御信号を生成する。
次いで判定部2は、モジュールM1を全ての入出力部より切り離した状態とモジュールM4を全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路1の機能の変化、及び/又は、モジュールM7を全ての入出力部より切り離した状態とモジュールM4を全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路1の機能の変化を検出する。そして、この検出結果に基づいて、モジュールM1〜M4若しくはモジュールM5〜M7のどちらに欠陥モジュールが含まれるか、又は、モジュールM1〜M3若しくはモジュールM4〜M7のどちらに欠陥モジュールが含まれるかを判定する。
【0061】
判定部2においてモジュールMp(pは1から6までの整数を示す)乃至モジュールMq(qは(p+1)から7までの整数を示す)の中に欠陥モジュールが含まれると判定された場合、制御部3は、これらの中から1つのモジュールMr(rはpからqまでの整数を示す)を選択し、これを全ての入出力部から切り離すように制御信号を生成する。
次いで判定部2は、第pモジュールを全ての入出力部より切り離した状態と第rモジュールを全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路1の機能の変化、及び/又は、第qモジュールを全ての入出力部より切り離した状態と第rモジュールを全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路1の機能の変化を検出する。そして、当該検出結果に基づいて、第pモジュール乃至第rモジュール若しくは第(r+1)モジュール乃至第qモジュールのどちらに欠陥モジュールが含まれるか、又は、第pモジュール乃至第(r−1)モジュール若しくは第rモジュール乃至第qモジュールのどちらに欠陥モジュールが含まれるかを判定する。
以下同様な処理が繰り返されることにより、欠陥モジュールの探索範囲が絞られる。
【0062】
探索範囲が絞られた結果、欠陥モジュールを含むと判定された一群のモジュールが3個(Mp,Mr,Mq)になった場合、判定部2は、モジュールMpを全ての入出力部より切り離した状態とモジュールMrを全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路1の機能の変化、並びに、モジュールMqを全ての入出力部より切り離した状態とモジュールMrを全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路1の機能の変化を検出し、当該検出結果に応じて欠陥モジュールを特定する。
【0063】
信号発生部4は、半導体集積回路1に供給する所定の検査信号(テストパターン)を発生する。このテストパターンには、半導体集積回路1に含まれる各モジュールの機能の変化に応じて応答信号系列が変化するようなパターンが選ばれる。
判定部2は、信号発生部4から供給されるテストパターンに対する半導体集積回路1の応答信号系列の変化に基づいて、半導体集積回路1の機能の変化を検出する。
【0064】
正常出力値記憶部5は、正常な半導体集積回路1が信号発生部4のテストパターンに応じて出力すべき正常信号出力値fを記憶する。
判定部2は、半導体集積回路1から応答信号系列fが出力される場合、半導体集積回路1が正常であると判定する。
【0065】
テスト応答記憶部6は、信号発生部4のテストパターンに応じて半導体集積回路1から出力される応答信号系列を一時的に記憶する。
判定部2は、テスト応答記憶部6に記憶される応答信号系列を用いて、半導体集積回路1から出力される応答信号系列の変化を検出する。
【0066】
ここで、上述した構成を有する図1に示す検査装置の動作を説明する。
【0067】
まず、複数のモジュールブロックを有する半導体集積回路1において欠陥モジュールを特定する際の問題点と、図1に示す検査装置による欠陥モジュールの特定方法について説明する。
【0068】
図8は、モジュール数が2つ(M1,M2)のモジュールブロックの一例を示す図である。図8に示すモジュールブロックでは、一般回路ブロック100の入出力部P1に対して、モジュールM1又はM2の一方が接続される。
以下の説明では、モジュールMnを全入出力部から切り離した場合の応答信号系列を‘fMn(x)’若しくは‘fMn’と表記する。
【0069】
半導体集積回路1が図8(A)に示すようなモジュールブロックを1つだけ有している場合、もしモジュールM1又はM2の何れか一方に欠陥があっても、モジュールM1,M2と入出力部P1との接続を切替えることによって、半導体集積回路1の出力信号系列を正常出力値fに一致させることができる。そのため、この場合は欠陥モジュールを容易に特定できる。
ところが、モジュールブロックが複数ある場合、図8(B)に示すように、応答信号系列fM1(x)及びfM2(x)が互いに異なる値を持ち、かつ、それらの値が何れも正常出力値fと異なるため、このモジュールブロックの接続状態を切替えるだけでは欠陥モジュールを特定できない。
【0070】
そこで、図1に示す検査装置では、次に述べるような方法を用いて欠陥モジュールの特定を行う。
この方法では、モジュールブロック内に含まれる欠陥モジュールの数を高々1個と仮定する。モジュールブロックにおいて救済できるモジュール数は1つであるため、モジュールブロック内に複数の欠陥モジュールが含まれている場合は、欠陥を全て救済することができず、半導体集積回路1は不良品になる。したがって、欠陥モジュールが複数存在する場合に、これを1個と仮定することによって誤判定(例えば正常なモジュールを欠陥モジュールと判定する等)が生じても、結果的に回路全体が不良品になるので問題はない。
【0071】
図9,図10は、図1に示す検査装置における欠陥モジュールの特定方法を説明するための図である。
図9,図10に示すモジュールブロックは、一般回路ブロック100の入出力部P1,P2に接続可能な3つのモジュールM1,M2,M3を有している。
また、図9,図10に示すブール代数式において、‘Mn’はモジュールMnの欠陥の有無を表す論理変数を表している。モジュールMnが正常な場合‘Mn=0’、モジュールMnが不良の場合‘Mn=1’が成立する。
【0072】
図9においては、モジュールM1,M2をそれぞれ入出力部P1から切り離した場合の応答信号系列fM1,fM2の関係について考察している。
モジュールM1,M2は同じ入出力部P1に接続される。そのため、応答信号系列fM1及びfM2が等しい場合は、モジュールM1及びM2の機能を交換しても半導体集積回路1の機能が等しくなること、すなわち、モジュールM1,M2が同等な機能を持つことが分かる。この場合、モジュールM1,M2が共に正常であるか、若しくは両者が共に同一の故障を起こしていると考えられるが、先に述べたようにモジュール内の故障は高々1個であると仮定しているため、モジュールM1,M2は共に正常であると判定される(図9(B))。
他方、応答信号系列fM1及びfM2が異なっている場合は、モジュールM1及びM2の機能の交換により半導体集積回路1の機能が変化すること、すなわち、モジュールM1,M2が異なる機能を持つことが分かる。この場合、モジュールM1又はM2の何れか一方が故障していると判定される(図9(C))。
【0073】
図10では、モジュールM2,M3をそれぞれ入出力部P2から切り離した場合の応答信号系列fM2,fM3の関係について考察している。
モジュールM2,M3は同じ入出力部P2に接続される。そのため、応答信号系列fM2及びfM3が等しい場合は、モジュールM2及びM3の機能を交換しても半導体集積回路1の機能が等しくなること、すなわち、モジュールM2,M3が同等な機能を持つことが分かる。この場合、モジュールM2,M3が共に正常であるか、若しくは両者が共に同一の故障を起こしていると考えられるが、先述の通りモジュール内の故障は高々1個であると仮定しているため、モジュールM2,M3は共に正常であると判定される(図10(B))。
他方、応答信号系列fM2及びfM3が異なっている場合は、モジュールM2及びM3の機能の交換により半導体集積回路1の機能が変化すること、すなわち、モジュールM2,M3が異なる機能を持つことが分かる。この場合、モジュールM2又はM3の何れか一方が故障していると判定される(図10(C))。
【0074】
さて、応答信号系列fM1及びfM2が等しく、かつ、応答信号系列fM2及びfM3が等しい場合、図9(B)及び図10(B)に示すブール代数式に基づいて次式が導かれる。
【0075】
【数1】
【0076】
この場合、式(1)に示すように、全てのモジュールが正常であると判定される。全てのモジュールが同一の故障を起こしている可能性も考えられるが、その場合は、モジュール内の故障が1個を超えるため、欠陥の救済はできない。
【0077】
また、応答信号系列fM1及びfM2が等しく、かつ、応答信号系列fM2及びfM3が異なる場合、図9(B)及び図10(C)に示すブール代数式に基づいて次式が導かれる。
【0078】
【数2】
【0079】
この場合、式(2)に示すように、モジュールM3が不良であると判定される。
【0080】
応答信号系列fM1及びfM2が異なり、かつ、応答信号系列fM2及びfM3が等しい場合、図9(C)及び図10(B)に示すブール代数式に基づいて次式が導かれる。
【0081】
【数3】
【0082】
この場合、式(3)に示すように、モジュールM1が不良であると判定される。
【0083】
最後に、応答信号系列fM1及びfM2が異なり、かつ、応答信号系列fM2及びfM3が異なる場合、図9(C)及び図10(C)に示すブール代数式に基づいて次式が導かれる。
【0084】
【数4】
【0085】
この場合、式(4)に示すように、モジュールM2のみが不良であるか、又はモジュールM1とモジュールM3が不良であると判定することが可能である。しかしながら、後者の判定をするとモジュール内の故障が1個を超えるため、欠陥の救済はできなくなる。したがって、この場合は、モジュールM2のみが不良であると判定される。
【0086】
図11は、上述した式(1)〜(4)の結果をまとめた図である。図11から分かるように、モジュールの機能交換に伴う応答信号系列の変化に基づいて、救済対象のモジュール(すなわち欠陥モジュール)を特定することができる。
【0087】
次に、図1に示す検査装置におけるモジュールの検査処理の例について、図12及び図13のフローチャートを参照しながら説明する。
図12は、モジュール検査処理の全体処理の一例を示すフローチャートである。
【0088】
まず検査装置は、半導体集積回路1に含まれる各モジュールブロック内の欠陥を探索する(ステップST201,図12)。
検査装置は、ステップST201の探索結果に基づいて欠陥を救済し、半導体集積回路1の応答信号系列が正常出力値fと等しくなるか判定する(ステップST202)。応答信号系列が正常出力値fと等しくなる場合、検査装置は、半導体集積回路1の欠陥救済が可能(全モジュールが正常の場合を含む)であることを示す判定結果を出力し、検査処理を終了する(ステップST202)。
他方、半導体集積回路1の応答信号系列1が正常出力値fと等しくならず、かつ欠陥モジュールの探索を未だ行っていないモジュールブロックが存在する場合、検査装置は、ステップST201の欠陥探索処理に戻って、未探索のモジュールブロックに対する欠陥探索処理を実行する。
半導体集積回路1の応答信号系列1が正常出力値fと等しくならず、かつ、全てのモジュールブロックの欠陥探索処理が完了している場合、検査装置は、半導体集積回路1の欠陥救済を行うことができないことを示す判定結果を出力し、検査処理を終了する(ステップST203)。
【0089】
図13は、図12に示すモジュール検査処理における欠陥探索処理(ステップST201)の一例を示すフローチャートである。
図13に示すフローチャートにおいて、ステップST305は、本発明の第1の工程の一実施形態である。
ステップST309は、本発明の第2の工程の一実施形態である。
ステップST311〜ST313及びST315〜ST318は、本発明の第3の工程の一実施形態である。
ステップST308,ST319,ST320及びST321は、本発明の第4の工程の一実施形態である。
【0090】
以下では、不良の場合の具体例(図14〜図21)を参照しながら、図13に示す欠陥探索処理を説明する。
【0091】
図14,…,図20は、それぞれ、モジュールM1,…,M7が不良の場合における欠陥探索処理の一例を示し、図21は、モジュール以外に不良がある場合における欠陥処理の一例を示す。
なお、図14〜図20において、‘L’は探索範囲の左端にあるモジュールの番号、‘R’は探索範囲の右端にあるモジュールの番号を示す。また‘C’は、全ての入出力部より切り離されるモジュールの番号を示す。ただし、モジュールMnの番号は‘n’であり、例えばモジュールM4の番号は‘4’である。
【0092】
また以下の説明において、‘fL’はモジュール番号Lのモジュールを全ての入出力部から切り離した場合の応答信号系列を示す。
‘fR’は、モジュール番号Rのモジュールを全ての入出力部から切り離した場合の応答信号系列を示す。
‘fC’は、モジュール番号Cのモジュールを全ての入出力部から切り離した場合の応答信号系列を示す。
【0093】
(1)モジュールM1が不良の場合(図14)
【0094】
まず制御部3は‘C=1’に設定し(ステップST301)、モジュールM1を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM1)を判定部2が取り込む(ステップST302)。判定部2は、取り込んだ応答信号系列fCと、正常出力値記憶部5に記憶される正常出力値fとを比較し、等しい場合はモジュールM1を救済対象に決定して、欠陥探索処理を終了する(ステップST303)。
応答信号系列fCが正常出力値fと等しくなるのは、全てのモジュールブロックにおいて欠陥救済が完了した場合(欠陥が無い場合を含む)であり、他のモジュールブロックに欠陥モジュールが存在する場合には等しくならないため、欠陥探索処理が続行される。ここでは処理が続行されるものとする。テスト応答記憶部6は、ステップST302で得られた応答信号系列fC(fM1)を‘fL’として記憶する(ステップST304)。
【0095】
次に、制御部3は‘L=1’‘C=R=7’に設定し、モジュールM7を全ての入出力部から切り離す(ステップST305)。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM7)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM1)と正常出力値fとを比較するが、欠陥のあるモジュールM1が入出力部P1に接続されるため、両者は等しくならない(ステップST307)。
【0096】
ここで判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM7)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M7に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM7)を‘fR’として記憶する(ステップST310)。
【0097】
次に、制御部3は‘R=C=7’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、ステップST318に進む。ステップST318において、制御部3は‘Int((L+R)/2)’を演算する。ただし、‘Int(α)’は、‘α’を超えない最大の整数を表す。この演算の結果、制御部3は‘C=4’に設定し、モジュールM4を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM4)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM4)と正常出力値fとを比較するが、欠陥のあるモジュールM1が入出力部P1に接続されるため、両者は等しくならない(ステップST307)。
【0098】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM4)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M4に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM4)を‘fR’として記憶する(ステップST310)。
【0099】
次に、制御部3は、‘R=C=4’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個であるため、ステップST313に進む。ステップST313において、制御部3は、‘C=R−1=3’に設定し、モジュールM3を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM3)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM3)と正常出力値fとを比較するが、欠陥のあるモジュールM1が入出力部P1に接続されるため、両者は等しくならない(ステップST307)。
【0100】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM3)とテスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M3に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM3)を‘fR’として記憶する(ステップST310)。
【0101】
次に、制御部3は、‘R=C=3’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、制御部3は‘Int((L+R)/2)’を演算する(ステップST318)。この演算の結果、制御部3は‘C=2’に設定し、モジュールM2を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM2)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM2)と正常出力値fとを比較するが、欠陥のあるモジュールM1が入出力部P1に接続されるため、両者は等しくない(ステップST307)。
【0102】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、3個であるため、ステップST319に進む。ステップST319において、応答信号系列fC(fM2)及びfL(fM1)が等しくないと判定し、ステップST320において、応答信号系列fC(fM2)及びfR(fM3)が等しいと判定する。これにより、判定部2は、モジュールM1を救済すべき欠陥モジュールとして特定する。
【0103】
(2)モジュールM2が不良の場合(図15)
【0104】
まず制御部3は‘C=1’に設定し(ステップST301)、モジュールM1を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM1)を判定部2が取り込む(ステップST302)。判定部2は、取り込んだ応答信号系列fCと、正常出力値記憶部5に記憶される正常出力値fとを比較する。欠陥のあるモジュールM2が入出力部P1に接続されるため、両者は等しくないと判定する(ステップST303)。テスト応答記憶部6は、ステップST302で得られた応答信号系列fC(fM1)を‘fL’として記憶する(ステップST304)。
【0105】
次に、制御部3は‘L=1’‘C=R=7’に設定し、モジュールM7を全ての入出力部から切り離す(ステップST305)。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM7)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM1)と正常出力値fとを比較するが、欠陥のあるモジュールM2が入出力部P2に接続されるため、両者は等しくならない(ステップST307)。
【0106】
ここで判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM7)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M7に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM7)を‘fR’として記憶する(ステップST310)。
【0107】
次に、制御部3は‘R=C=7’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、ステップST318に進む。ステップST318において、制御部3は‘Int((L+R)/2)’を演算する。この演算の結果、制御部3は‘C=4’に設定し、モジュールM4を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM4)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM4)と正常出力値fとを比較するが、欠陥のあるモジュールM2が入出力部P2に接続されるため、両者は等しくならない(ステップST307)。
【0108】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM4)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M4に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM4)を‘fR’として記憶する(ステップST310)。
【0109】
次に、制御部3は、‘R=C=4’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個であるため、ステップST313に進む。ステップST313において、制御部3は、‘C=R−1=3’に設定し、モジュールM3を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM3)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM3)と正常出力値fとを比較するが、欠陥のあるモジュールM2が入出力部P2に接続されるため、両者は等しくならない(ステップST307)。
【0110】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM3)とテスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M3に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM3)を‘fR’として記憶する(ステップST310)。
【0111】
次に、制御部3は、‘R=C=3’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、制御部3は‘Int((L+R)/2)’を演算する(ステップST318)。この演算の結果、制御部3は‘C=2’に設定し、モジュールM2を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM2)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM2)と正常出力値fとを比較し、等しい場合はモジュールM2を救済対象に決定して、欠陥探索処理を終了する(ステップST307)。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列fC(fM2)は正常出力値fと等しくならず、欠陥探索処理が続行される。
【0112】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、3個であるため、ステップST319に進む。ステップST319において、応答信号系列fC(fM2)及びfL(fM1)が等しくないと判定し、ステップST320において、応答信号系列fC(fM2)及びfR(fM3)が等しくないと判定する。これにより、判定部2は、モジュールM2を救済すべき欠陥モジュールとして特定する。
【0113】
(3)モジュールM3が不良の場合(図16)
【0114】
まず制御部3は‘C=1’に設定し(ステップST301)、モジュールM1を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM1)を判定部2が取り込む(ステップST302)。判定部2は、取り込んだ応答信号系列fCと、正常出力値記憶部5に記憶される正常出力値fとを比較する。欠陥のあるモジュールM3が入出力部P2に接続されるため、両者は等しくないと判定する(ステップST303)。テスト応答記憶部6は、ステップST302で得られた応答信号系列fC(fM1)を‘fL’として記憶する(ステップST304)。
【0115】
次に、制御部3は‘L=1’‘C=R=7’に設定し、モジュールM7を全ての入出力部から切り離す(ステップST305)。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM7)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM1)と正常出力値fとを比較するが、欠陥のあるモジュールM3が入出力部P3に接続されるため、両者は等しくならない(ステップST307)。
【0116】
ここで判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM7)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M7に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM7)を‘fR’として記憶する(ステップST310)。
【0117】
次に、制御部3は‘R=C=7’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、ステップST318に進む。ステップST318において、制御部3は‘Int((L+R)/2)’を演算する。この演算の結果、制御部3は‘C=4’に設定し、モジュールM4を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM4)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM4)と正常出力値fとを比較するが、欠陥のあるモジュールM3が入出力部P3に接続されるため、両者は等しくならない(ステップST307)。
【0118】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM4)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M4に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM4)を‘fR’として記憶する(ステップST310)。
【0119】
次に、制御部3は、‘R=C=4’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個であるため、ステップST313に進む。ステップST313において、制御部3は、‘C=R−1=3’に設定し、モジュールM3を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM3)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM3)と正常出力値fとを比較し、等しい場合はモジュールM3を救済対象に決定して、欠陥探索処理を終了する(ステップST307)。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列fC(fM3)は正常出力値fと等しくならず、欠陥探索処理が続行される。
【0120】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM3)とテスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M3に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM3)を‘fR’として記憶する(ステップST310)。
【0121】
次に、制御部3は、‘R=C=3’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、制御部3は‘Int((L+R)/2)’を演算する(ステップST318)。この演算の結果、制御部3は‘C=2’に設定し、モジュールM2を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM2)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM2)と正常出力値fとを比較するが、欠陥のあるモジュールM3が入出力部P2に接続されるため、両者は等しくないと判定する(ステップST307)。
【0122】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、3個であるため、ステップST319に進む。ステップST319において、応答信号系列fC(fM2)及びfL(fM1)が等しいと判定し、ステップST321において、応答信号系列fC(fM2)及びfR(fM3)とが等しくないと判定する。これにより、判定部2は、モジュールM3を救済すべき欠陥モジュールとして特定する。
【0123】
(4)モジュールM4が不良の場合(図17)
【0124】
まず制御部3は‘C=1’に設定し(ステップST301)、モジュールM1を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM1)を判定部2が取り込む(ステップST302)。判定部2は、取り込んだ応答信号系列fCと、正常出力値記憶部5に記憶される正常出力値fとを比較する。欠陥のあるモジュールM4が入出力部P3に接続されるため、両者は等しくないと判定する(ステップST303)。テスト応答記憶部6は、ステップST302で得られた応答信号系列fC(fM1)を‘fL’として記憶する(ステップST304)。
【0125】
次に、制御部3は‘L=1’‘C=R=7’に設定し、モジュールM7を全ての入出力部から切り離す(ステップST305)。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM7)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM1)と正常出力値fとを比較するが、欠陥のあるモジュールM4が入出力部P4に接続されるため、両者は等しくならない(ステップST307)。
【0126】
ここで判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM7)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M7に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM7)を‘fR’として記憶する(ステップST310)。
【0127】
次に、制御部3は‘R=C=7’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、ステップST318に進む。ステップST318において、制御部3は‘Int((L+R)/2)’を演算する。この演算の結果、制御部3は‘C=4’に設定し、モジュールM4を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM4)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM4)と正常出力値fとを比較し、等しい場合はモジュールM4を救済対象に決定して、欠陥探索処理を終了する(ステップST307)。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列fC(fM4)は正常出力値fと等しくならず、欠陥探索処理が続行される。
【0128】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM4)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M4に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM4)を‘fR’として記憶する(ステップST310)。
【0129】
次に、制御部3は、‘L=C=4’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個であるため、ステップST313に進む。ステップST313において、制御部3は、‘C=R−1=3’に設定し、モジュールM3を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM3)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM3)と正常出力値fとを比較するが、欠陥のあるモジュールM4が入出力部P3に接続されるため、両者は等しくならない(ステップST307)。
【0130】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM3)とテスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しいため、判定部2は、モジュールM1〜M3に欠陥モジュールが含まれていない判定する。この場合、判定部2は‘C=R’が成立するか否か判定を行うが(ステップST314)、これは成立しないため、ステップST315に進む。
【0131】
ステップST315において、制御部3は、‘L=C=3’に設定する。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST316)、4個でないため、制御部3は‘Int((L+R)/2)’を演算する(ステップST318)。この演算の結果、制御部3は‘C=3’に設定し、モジュールM3を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM3)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM3)と正常出力値fとを比較するが、欠陥のあるモジュールM4が入出力部P3に接続されるため、両者は等しくないと判定する(ステップST307)。
【0132】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、2個であるため、ステップST319に進む。
【0133】
判定部2は、ステップST319において応答信号系列fC(fM3)及びfL(fM3)が等しいと判定し、ステップST321において応答信号系列fC(fM3)及びfR(fM4)とが等しくないと判定する。
このとき、先のステップST309では、既にモジュールM1〜M3に欠陥モジュールが含まれていないと判定されているため、‘fL=fM2=fM3’が成立する。
そのため、判定部2は、ステップST319及びST321において
‘fM2=fM3’かつ‘fM3≠fM4’;
を判定したと見なせる。したがって図11に示す関係から、判定部2は、モジュールM4を救済すべき欠陥モジュールとして特定する。
【0134】
(5)モジュールM5が不良の場合(図18)
【0135】
まず制御部3は‘C=1’に設定し(ステップST301)、モジュールM1を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM1)を判定部2が取り込む(ステップST302)。判定部2は、取り込んだ応答信号系列fCと、正常出力値記憶部5に記憶される正常出力値fとを比較する。欠陥のあるモジュールM5が入出力部P4に接続されるため、両者は等しくないと判定する(ステップST303)。テスト応答記憶部6は、ステップST302で得られた応答信号系列fC(fM1)を‘fL’として記憶する(ステップST304)。
【0136】
次に、制御部3は‘L=1’‘C=R=7’に設定し、モジュールM7を全ての入出力部から切り離す(ステップST305)。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM7)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM7)と正常出力値fとを比較するが、欠陥のあるモジュールM5が入出力部P5に接続されるため、両者は等しくならない(ステップST307)。
【0137】
ここで判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM7)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M7に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM7)を‘fR’として記憶する(ステップST310)。
【0138】
次に、制御部3は‘R=C=7’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、ステップST318に進む。ステップST318において、制御部3は‘Int((L+R)/2)’を演算する。この演算の結果、制御部3は‘C=4’に設定し、モジュールM4を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM4)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM4)と正常出力値fとを比較するが、欠陥のあるモジュールM5が入出力部P4に接続されるため、両者は等しくならない(ステップST307)。
【0139】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM4)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しいため、判定部2は、モジュールM1〜M4に欠陥モジュールが含まれていないと判定する。この場合、判定部2は‘C=R’が成立するか否か判定を行うが(ステップST314)、これは成立しないため、ステップST315に進む。
【0140】
ステップST315において、制御部3は、‘L=C=4’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個であるため、制御部3は‘C=L+1=5’に設定し、モジュールM5を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM5)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM5)と正常出力値fとを比較し、等しい場合はモジュールM5を救済対象に決定して、欠陥探索処理を終了する(ステップST307)。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列fC(fM5)は正常出力値fと等しくならず、欠陥探索処理が続行される。
【0141】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM5)とテスト応答記憶部6に記憶された応答信号系列fL(fM4)とを比較する。両者は等しくないため、判定部2は、モジュールM4〜M5に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM5)を‘fR’として記憶する(ステップST310)。
【0142】
次に、制御部3は、‘R=C=5’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、制御部3は‘Int((L+R)/2)’を演算する(ステップST318)。この演算の結果、制御部3は‘C=4’に設定し、モジュールM4を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM4)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM4)と正常出力値fとを比較するが、欠陥のあるモジュールM5が入出力部P4に接続されるため、両者は等しくないと判定する(ステップST307)。
【0143】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、2個であるため、ステップST319に進む。
【0144】
判定部2は、ステップST319において応答信号系列fC(fM4)及びfL(fM4)が等しいと判定し、ステップST321において応答信号系列fC(fM4)及びfR(fM5)が等しくないと判定する。
このとき、先のステップST309では、既にモジュールM1〜M4に欠陥モジュールが含まれていないと判定されているため、‘fL=fM3=fM4’が成立する。
そのため、判定部2は、ステップST319及びST321において
‘fM3=fM4’かつ‘fM4≠fM5’;
を判定したと見なせる。したがって図11に示す関係から、判定部2は、モジュールM5を救済すべき欠陥モジュールとして特定する。
【0145】
(6)モジュールM6が不良の場合(図19)
【0146】
まず制御部3は‘C=1’に設定し(ステップST301)、モジュールM1を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM1)を判定部2が取り込む(ステップST302)。判定部2は、取り込んだ応答信号系列fCと、正常出力値記憶部5に記憶される正常出力値fとを比較する。欠陥のあるモジュールM6が入出力部P5に接続されるため、両者は等しくないと判定する(ステップST303)。テスト応答記憶部6は、ステップST302で得られた応答信号系列fC(fM1)を‘fL’として記憶する(ステップST304)。
【0147】
次に、制御部3は‘L=1’‘C=R=7’に設定し、モジュールM7を全ての入出力部から切り離す(ステップST305)。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM7)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM7)と正常出力値fとを比較するが、欠陥のあるモジュールM6が入出力部P6に接続されるため、両者は等しくならない(ステップST307)。
【0148】
ここで判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM7)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M7に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM7)を‘fR’として記憶する(ステップST310)。
【0149】
次に、制御部3は‘R=C=7’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、ステップST318に進む。ステップST318において、制御部3は‘Int((L+R)/2)’を演算する。この演算の結果、制御部3は‘C=4’に設定し、モジュールM4を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM4)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM4)と正常出力値fとを比較するが、欠陥のあるモジュールM6が入出力部P5に接続されるため、両者は等しくならない(ステップST307)。
【0150】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM4)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しいため、判定部2は、モジュールM1〜M4に欠陥モジュールが含まれていないと判定する。この場合、判定部2は‘C=R’が成立するか否か判定を行うが(ステップST314)、これは成立しないため、ステップST315に進む。
【0151】
ステップST315において、制御部3は、‘L=C=4’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個であるため、制御部3は‘C=L+1=5’に設定し、モジュールM5を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM5)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM5)と正常出力値fとを比較するが、欠陥のあるモジュールM6が入出力部P5に接続されるため、両者は等しくないと判定する(ステップST307)。
【0152】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM5)とテスト応答記憶部6に記憶された応答信号系列fL(fM4)とを比較する。両者は等しいため、判定部2は、モジュールM4〜M5に欠陥モジュールが含まれていないと判定する。この場合、判定部2は‘C=R’が成立するか否か判定を行うが(ステップST314)、これは成立しないため、ステップST315に進む。
【0153】
ステップST315において、制御部3は、‘L=C=5’に設定する。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、制御部3は‘Int((L+R)/2)’を演算する(ステップST318)。この演算の結果、制御部3は‘C=6’に設定し、モジュールM6を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM6)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM6)と正常出力値fとを比較し、等しい場合はモジュールM6を救済対象に決定して、欠陥探索処理を終了する(ステップST307)。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列fC(fM6)は正常出力値fと等しくならず、欠陥探索処理が続行される。
【0154】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、3個であるため、ステップST319に進む。ステップST319において、応答信号系列fC(fM6)及びfL(fM5)が等しくないと判定し、ステップST320において、応答信号系列fC(fM6)及びfR(fM7)が等しくないと判定する。これにより、判定部2は、モジュールM6を救済すべき欠陥モジュールとして特定する。
【0155】
(7)モジュールM7が不良の場合(図20)
【0156】
まず制御部3は‘C=1’に設定し(ステップST301)、モジュールM1を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM1)を判定部2が取り込む(ステップST302)。判定部2は、取り込んだ応答信号系列fCと、正常出力値記憶部5に記憶される正常出力値fとを比較する。欠陥のあるモジュールM7が入出力部P6に接続されるため、両者は等しくないと判定する(ステップST303)。テスト応答記憶部6は、ステップST302で得られた応答信号系列fC(fM1)を‘fL’として記憶する(ステップST304)。
【0157】
次に、制御部3は‘L=1’‘C=R=7’に設定し、モジュールM7を全ての入出力部から切り離す(ステップST305)。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM7)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM1)と正常出力値fとを比較する。等しい場合はモジュールM7を救済対象に決定して、欠陥探索処理を終了する(ステップST307)。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列fC(fM7)は正常出力値fと等しくならず、欠陥探索処理が続行される。
【0158】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM7)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M7に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM7)を‘fR’として記憶する(ステップST310)。
【0159】
次に、制御部3は‘R=C=7’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、ステップST318に進む。ステップST318において、制御部3は‘Int((L+R)/2)’を演算する。この演算の結果、制御部3は‘C=4’に設定し、モジュールM4を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM4)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM4)と正常出力値fとを比較するが、欠陥のあるモジュールM7が入出力部P6に接続されるため、両者は等しくならない(ステップST307)。
【0160】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM4)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しいため、判定部2は、モジュールM1〜M4に欠陥モジュールが含まれていないと判定する。この場合、判定部2は‘C=R’が成立するか否か判定を行うが(ステップST314)、これは成立しないため、ステップST315に進む。
【0161】
ステップST315において、制御部3は、‘L=C=4’に設定する。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST316)、4個であるため、制御部3は‘C=L+1=5’に設定し、モジュールM5を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM5)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM5)と正常出力値fとを比較するが、欠陥のあるモジュールM7が入出力部P6に接続されるため、両者は等しくないと判定する(ステップST307)。
【0162】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM5)とテスト応答記憶部6に記憶された応答信号系列fL(fM4)とを比較する。両者は等しいため、判定部2は、モジュールM4〜M5に欠陥モジュールが含まれていないと判定する。この場合、判定部2は‘C=R’が成立するか否か判定を行うが(ステップST314)、これは成立しないため、ステップST315に進む。
【0163】
ステップST315において、制御部3は、‘L=C=5’に設定する。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、制御部3は‘Int((L+R)/2)’を演算する(ステップST318)。この演算の結果、制御部3は‘C=6’に設定し、モジュールM6を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM6)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM6)と正常出力値fとを比較するが、欠陥のあるモジュールM7が入出力部P6に接続されるため、両者は等しくないと判定する(ステップST307)。
【0164】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、3個であるため、ステップST319に進む。ステップST319において、応答信号系列fC(fM6)及びfL(fM5)が等しいと判定し、ステップST321において応答信号系列fC(fM6)及びfR(fM7)が等しくないと判定する。これにより、判定部2は、モジュールM7を救済すべき欠陥モジュールとして特定する。
【0165】
(8)モジュール以外に不良がある場合(図21)
【0166】
まず制御部3は‘C=1’に設定し(ステップST301)、モジュールM1を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM1)を判定部2が取り込む(ステップST302)。判定部2は、取り込んだ応答信号系列fCと、正常出力値記憶部5に記憶される正常出力値fとを比較するが、モジュール以外に不良があるため両者は等しくないと判定する(ステップST303)。テスト応答記憶部6は、ステップST302で得られた応答信号系列fC(fM1)を‘fL’として記憶する(ステップST304)。
【0167】
次に、制御部3は‘L=1’‘C=R=7’に設定し、モジュールM7を全ての入出力部から切り離す(ステップST305)。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM7)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM7)と正常出力値fとを比較するが、モジュール以外に不良があるため両者は等しくならない(ステップST307)。
【0168】
ここで判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM7)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。この場合、モジュール以外に不良があるため、応答信号系列fC(fM7)とfL(fM1)は等しくなる。そこで判定部2は、‘C=R’が成立しているか判定を行い(ステップST314)、これが成立するため、このモジュールブロックの接続を切替えても欠陥の救済は行えないと判定する。
つまり、全てのモジュールの機能を変更しても半導体集積回路1が正常な応答を出力しない場合、不良の原因は別の部分(欠陥探索処理を行ったモジュールブロック以外の部分)にあると判定することができる。
以上は、図1に示す検査装置におけるモジュールの検査処理についての説明である。
【0169】
次に、上述した検査装置において検査対象とされている半導体集積回路1の製造法について説明する。
【0170】
図22は、本実施形態に係る半導体集積回路の製造方法の一例を示す図である。
【0171】
ステップST101:
半導体基板上に、例えば図4,図6,図7に示すような構成を有する欠陥救済可能な回路を形成する。
【0172】
ステップST102:
ステップST101において形成した回路に含まれるモジュールを、例えば図12,図13に示すような検査方法によって検査し、モジュールの欠陥を特定する。
【0173】
ステップST103:
ステップST102の検査結果に応じて、全ての入出力部から切り離すべき欠陥モジュールを特定し、このモジュールを指示する情報を記憶部70(図6)に書き込む。例えば記憶部70がヒューズによって構成されている場合には、ヒューズを切断する処理が行われる。これにより、欠陥モジュールに割り当てられていた機能が別の正常なモジュールに割り当てられて、欠陥の救済が実現される。
【0174】
以上説明したように、本実施形態によれば、半導体集積回路に含まれるモジュールの全体に割り当てる機能を同一に保ちつつ、その少なくとも一部において個々のモジュールに割り当てる機能を変更するように、半導体集積回路が制御される。そして、モジュールの機能の割り当て変更に応じた半導体集積回路の機能の変化が検出され、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かが判定される。
これにより、半導体集積回路に検査用のパッドや専用の付加回路を設ける必要がなくなり、半導体集積回路のサイズを小さくすることができる。半導体チップの面積が小さくなると、生産性が向上するため、製造コストを削減できる。また、故障の発生確率が小さくなるため、歩留まりを高めることができる。更に、検査用のパッドや専用の付加回路を設ける場合に比べて回路素子が減り、回路内の総配線長が短くなるため、消費電力を削減できる。
【0175】
また、モジュールを1つ1つ分離して検査を行う方法では、モジュールごとに専用のテストパターンを作成しなくてはならないが、本実施形態によれば、半導体集積回路の全体の機能を検査する通常のテストパターンを使用できるため、検査に係わる設計作業の負担を軽減できる。
【0176】
また、モジュールを1つ1つ分離して検査する方法では、半導体集積回路に設けられる分離用の回路に欠陥が生じると全く救済できなくなるため、歩留まりの低下が避けられないが、本実施形態においてはそのような不都合が生じない。
【0177】
更に、本実施形態によれば、半導体集積回路1に含まれるモジュールの全体に割り当てる機能を同一に保ちつつ、欠陥モジュールを含むと判定された一群のモジュールの更に一部において個々のモジュールに割り当てる機能を変更するように半導体集積回路が制御され、この機能の割り当て変更に応じた半導体集積回路の機能の変化に応じて、欠陥のあるモジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかが判定される。
これにより、全モジュールを1つずつ順番に検査する方法に比べて、欠陥モジュールを特定する手順を大幅に簡略化できる。例えばバイナリサーチと同様な手法によって、探索範囲を半分ずつに分割する操作を繰り返せば、極めて効率的に欠陥モジュールを特定できる。
【0178】
また、本実施形態によれば、欠陥モジュールを含むと判定した一群のモジュールが3個に絞られた場合には、当該一群のモジュールに含まれる2つのモジュールの機能が交換されることによる半導体集積回路の機能の変化、並びに、当該一群のモジュールに含まれる残りの1のモジュールの機能と当該2つのモジュールの一方のモジュールの機能とが交換されることによる半導体集積回路の機能の変化が検出される。そして、当該2つの検出結果に応じて、欠陥のあるモジュールが特定される。
これにより、冗長モジュールによる欠陥の救済がそれぞれ可能な複数のモジュールブロックを有する半導体集積回路であっても、その1のモジュールブロック内の欠陥モジュールを容易に特定することが可能である。
【0179】
ここまで、本発明の一実施形態について詳しく説明したが、本発明は上記の形態に限定されるものではなく、複数のバリエーションを含んでいる。
【0180】
半導体集積回路の規模は益々大きくなきているため、出力の応答信号系列は膨大なデータ量になる可能性がある。そこで、本発明の検査装置は、検査対象の半導体集積回路から出力される応答信号系列を圧縮する手段を更に有しても良い。
【0181】
図23は、応答信号系列の圧縮手段を設けた検査装置の構成例を示す図である。図23に示す検査装置は、図1に示す検査装置と同様な構成を有するとともに、半導体集積回路から出力される応答信号系列を圧縮するためのテスト応答圧縮部7を有している。
テスト応答圧縮部7は、半導体集積回路から出力される応答信号系列fをMISR(multiple input signature register)などのデジタル信号の圧縮手段によって圧縮し、圧縮された応答信号系列gCとして判定部2に出力する。
判定部2は、この圧縮された応答信号系列gCの変化に基づいて、半導体集積回路の機能の変化を検出する。
この場合、正常出力値記憶部5には、圧縮された応答信号系列gCの対応する正常出力値gが記憶される。
【0182】
応答信号系列を圧縮して処理することにより、例えば正常出力値記憶部5やテスト応答記憶部6の記憶容量を大幅に削減することが可能になる。
【0183】
上述した実施形態では、冗長な複数のモジュールの接続状態をシフトする構造によってモジュールの機能変更を行う例を挙げているが、本発明はこの例に限定されない。すなわち、各モジュールに割り当てる機能をどのような方式で変更するかは任意である。例えばクロスバー構造によってモジュール同士の接続を変更することにより各モジュールの機能変更を行っても良い。また、各モジュールがプログラム可能な回路である場合には、そのプログラムを変更することにより機能の変更を行っても良い。複数のモジュールが共通のバスを介して通信する場合には、バス上において個々のモジュールを識別するための情報を変更することにより、モジュールの機能変更を行っても良い。
【0184】
上述した実施形態では、入力信号に対応して出力される応答信号に基づいて半導体集積回路の機能の変化を検出しているが、本発明はこれに限定されない。例えば、出力電圧や出力電流の振幅、波形の変化などに基づいて機能の変化を検出しても良い。また、動作スピードの変化や温度、消費電力の変化に基づいて機能の変化を検出しても良い。
【0185】
本発明において検査される回路装置は半導体集積回路に限定されるものではなく、複数の半導体チップによって構成されるSIP(system in package)などの回路装置や、より大きな単位の装置に対しても本発明は適用可能である。
【0186】
上述の実施形態において具体的に示した数値(モジュールの数、入出力部の数、モジュールブロックの数など)は一例であり、適宜任意の数値に変更可能である。
【図面の簡単な説明】
【0187】
【図1】本発明の実施形態に係る半導体集積回路の検査装置の一例を示す図である。
【図2】モジュールの機能変更に伴う半導体集積回路の応答の変化を説明するための第1の図である。
【図3】モジュールの機能変更に伴う半導体集積回路の応答の変化を説明するための第2の図である。
【図4】半導体集積回路の構成例を示す図である。
【図5】半導体集積回路における欠陥救済の一例を示す図である。
【図6】半導体集積回路のより詳細な構成例を示す図である。
【図7】複数のモジュールブロックを有する半導体集積回路の例を示す図である。
【図8】モジュールブロックが複数ある場合の問題点を説明するための図である。
【図9】図1に示す検査装置における欠陥モジュールの特定方法を説明するための第1の図である。
【図10】図1に示す検査装置における欠陥モジュールの特定方法を説明するための第2の図である。
【図11】図9及び図10に示す欠陥モジュールの特定方法を一覧にまとめた図である。
【図12】モジュール検査処理の全体処理の一例を示すフローチャートである。
【図13】図13は、欠陥モジュールの探索処理の一例を示すフローチャートである。
【図14】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第1の図である。
【図15】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第2の図である。
【図16】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第3の図である。
【図17】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第4の図である。
【図18】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第5の図である。
【図19】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第6の図である。
【図20】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第7の図である。
【図21】モジュール以外に不良がある場合における欠陥処理の一例を示す。
【図22】本実施形態に係る半導体集積回路の製造方法の一例を示す図である。
【図23】応答信号系列の圧縮手段を設けた検査装置の構成例を示す図である。
【符号の説明】
【0188】
1…半導体集積回路、2…判定部、3…制御部、4…信号発生部、5…正常出力値記憶部、6…テスト応答記憶部、7…テスト応答圧縮部、50…モジュール選択部、60…制御部、70…記憶部、80…信号入力部、100…一般回路ブロック、M1〜M7…モジュール、P1〜P6…入出力部、SWA1〜SWA6,SWB1〜SWB6…スイッチ回路。
【技術分野】
【0001】
本発明は回路装置の不良を検査する検査装置とその方法、並びに、当該検査方法を用いる回路装置の製造方法に係り、特に、互いに機能を代替可能な複数のモジュールを含む回路装置の検査装置に関するものである。
【背景技術】
【0002】
近年の半導体集積回路においては、加工寸法の微細化と回路構成の大規模化が著しく進んでおり、製造上の欠陥による歩留まりの低下が深刻化している。このような歩留まりの低下を製造条件の最適化だけで改善するのには限界があるため、冗長回路による欠陥の救済手法が用いられるようになってきている。この手法では、全体の回路の一部に予め冗長な回路を設けておき、欠陥部分を冗長回路に置き換えることによって半導体チップ全体が不良品になることを回避する。例えば大容量のDRAM(dynamic random access memory)やSRAM(static random access memory)では、欠陥のあるメモリセルを冗長なメモリセルに置き換える手法が一般に用いられている。
【0003】
冗長回路による欠陥救済手法では、回路装置内のどの部分に不良があるかを特定する必要がある。この点に関して、例えば特許文献1に記載される装置では、冗長なモジュールを含んだ複数のモジュールの各々に検査用のパッドを設けている。各モジュールを装置内の他の部分から電気的に切り離した状態で、検査用のパッドにプローブを接触させてテスト信号を入力し、その応答を調べることによって、各モジュールが正常に動作するか否かを判定する。
【特許文献1】特許3192220号明細書
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、加工寸法の微細化が進んだ近年の半導体集積回路においては、回路素子のサイズや配線の幅に比べて検査用パッドが極めて大きくなるため、このようなパッドを半導体チップ上に多数設けると、半導体チップのサイズが無駄に大きくなるという不利益がある。
【0005】
また、上記のように個々のモジュールを検査する手法では、検査対象のモジュールと他の部分とを電気的に切り離すための付加的な回路を設ける必要があるため、この付加回路によって半導体チップのサイズが大きくなる不利益がある。モジュールのサイズが小さくなり、その数が増えるほど、チップサイズの増大が深刻化する。
【0006】
本発明はかかる事情に鑑みてなされたものであり、その目的は、回路装置に検査用のパッドや専用の付加回路を設けることなく、回路装置に含まれた複数のモジュールに欠陥があるか否かを判定できる検査装置とその検査方法を提供することにある。また、本発明の他の目的は、上記の検査方法を用いることによって回路サイズの増大を抑制しつつ欠陥を救済できる回路装置の製造方法を提供することにある。
【課題を解決するための手段】
【0007】
本発明の第1の観点に係る検査装置は、互いに機能を代替可能な複数のモジュールを含み、入力される制御信号に応じて個々のモジュールに割り当てる機能を変更可能な回路装置を検査する。上記第1の観点に係る検査装置は、上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記複数のモジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成する制御部と、上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する判定部とを具備する。
【0008】
上記第1の観点によれば、上記複数のモジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように、上記制御部によって上記回路装置の制御信号が生成される。上記判定部では、上記機能の割り当ての変更に応じた上記回路装置の機能の変化が検出され、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かが判定される。
【0009】
上記制御部は、上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記判定部において欠陥のあるモジュールを含むと判定された一群のモジュールの更に一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成しても良い。この場合、上記判定部は、上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、欠陥のあるモジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかを判定しても良い。
また、上記判定部は、欠陥のあるモジュールを含むと判定した一群のモジュールが3個の場合、当該一群のモジュールに含まれる2つのモジュールの機能が上記制御部によって交換されることによる上記回路装置の機能の変化、並びに、当該一群のモジュールに含まれる残りの1のモジュールの機能と当該2つのモジュールの一方のモジュールの機能とが上記制御部によって交換されることによる上記回路装置の機能の変化を検出し、当該検出結果に応じて欠陥のあるモジュールを特定しても良い。
【0010】
本発明の第2の観点に係る検査方法は、互いに機能を代替可能な複数のモジュールを含み、入力される制御信号に応じて個々のモジュールに割り当てる機能を変更可能な回路装置を検査する。上記第2の観点に係る検査方法は、上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記複数のモジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成する第1の工程と、上記第1の工程における上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する第2の工程とを有する。
【0011】
本発明の第3の観点に係る回路装置の製造方法は、回路形成工程と、検査工程と、書き込み工程とを有する。
上記回路形成工程では、互いに機能を代替可能なN個(Nは2より大きい整数を示す)のモジュールと、各々が1つのモジュールに少なくとも1つの信号を出力する、及び/又は、各々が当該1つのモジュールにおいて発生する少なくとも1つの信号を入力する(N−1)個の入出力部を有した回路ブロックと、入力される制御信号に応じて上記N個のモジュールから(N−1)個のモジュールを選択し、当該選択した(N−1)個のモジュールと上記回路ブロックの(N−1)個の入出力部とを1対1に接続するモジュール選択部と、上記(N−1)個の入出力部から切り離す1のモジュールを指示する信号を入力する信号入力部と、上記(N−1)個の入出力部から切り離す1のモジュールを指示する情報を記憶可能な記憶部と、第1の動作モードにおいて、上記信号入力部に入力される信号が指示する1のモジュールを上記(N−1)個の入出力部から切り離すように上記制御信号を生成し、第2の動作モードにおいて、上記記憶部に書き込まれた上記情報が指示する1のモジュールを上記(N−1)個の入出力部から切り離すように上記制御信号を生成する制御部とを具備する回路を半導体基板上に形成する。
上記検査工程では、上記第1の動作モードにおいて上記N個のモジュールの欠陥を検査する。
上記書き込み工程では、上記検査工程の検査結果に応じて、上記(N−1)個の入出力部から切り離す1のモジュールを決定し、当該1のモジュールを指示する情報を上記記憶部に書き込む。
また、上記検査工程は、上記N個のモジュールの少なくとも一部において個々のモジュールと入出力部との接続状態を変更するように上記制御信号を生成する第1の工程と、上記第1の工程における上記接続状態の変更に応じた上記回路の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する第2の工程とを有する。
【発明の効果】
【0012】
本発明によれば、モジュールに対する機能の割り当ての変更に応じた回路装置の機能の変化を検出することにより、モジュールに欠陥があるか否かを判定できるため、回路装置に検査用のパッドや専用の付加回路を設ける必要がない。
また、モジュールに対する機能の割り当ての変更に応じた半導体集積回路の機能の変化を検出し、その検出結果に応じてモジュールの欠陥を救済できるため、検査用のパッドや専用の付加回路が必要な場合に比べて、半導体集積回路のサイズを小さくすることができる。
【発明を実施するための最良の形態】
【0013】
図1は、本発明の実施形態に係る回路装置の一例である半導体集積回路を検査するための検査装置の一例を示す図である。
図1に示す検査装置は、判定部2と、制御部3と、信号発生部4と、正常出力値記憶部5と、テスト応答記憶部6とを有する。
判定部2は、本発明の判定部の一実施形態である。
制御部3は、本発明の制御部の一実施形態である。
信号発生部4は、本発明の信号発生部の一実施形態である。
【0014】
この図1に示す検査装置を説明する前に、まず検査対象の半導体集積回路1を説明する。
【0015】
半導体集積回路1は、互いに機能を代替可能な複数のモジュールを含んでおり、各モジュールに割り当てる機能を制御部3の制御信号に応じて変更することができる。例えば、半導体集積回路1の内部ノードと各モジュールとの接続関係を変更することにより、各モジュールが担う機能を変更することができる。
【0016】
図2は、モジュールの機能変更の一例を示す図である。
図2に例示する半導体集積回路は、互いに機能を代替可能な8つのモジュールを有しており、各モジュールは所定の機能を担っている。図2の例では、この8つのモジュールのうち任意の1つに着目し、その接続関係を変更している。この場合、着目モジュールには、変更後の接続関係に対応した別の機能が割り当てられる。
【0017】
個々のモジュールに割り当てる機能を変更しても、全体のモジュールに割り当てる機能を同一に保つならば、半導体集積回路の全体の機能に変化は生じない。例えば図2に示す半導体集積回路おいて、入力信号系列xに対する半導体集積回路の正常な応答信号系列が‘f(x)’である場合、8個のモジュールで構成される機能が同一に保たれていれば、個々のモジュールに割り当てる機能を変更しても、入力信号系列xに対する半導体集積回路の応答信号系列は‘f(x)’のまま変化しない。
しかしながら、着目モジュールが故障している場合は、たとえ全体のモジュールに割り当てる機能を同一に保っても、着目モジュールに割り当てる機能の変化に応じて、半導体集積回路の全体機能が変化してしまう。
【0018】
図3は、モジュールの機能変更により半導体集積回路の応答が変化する例を示す図である。
着目モジュールに機能F1が割り当てられているときの応答信号系列を‘fF1(x)’、機能F2が割り当てられているときの応答信号系列を‘fF2(x)’とする。もし着目モジュールが正常に動作しており、他のモジュールが故障していなければ、図2の場合と等価になり、応答信号系列fF1(x)とfF2(x)は等しくなる。他方、着目モジュールが故障している場合は、機能F1の故障が全体機能に与える影響と機能F2の故障が全体機能に与える影響とが異なる。そのため、適切な入力信号系列xを与えた場合、応答信号系列fF1(x)とfF2(x)は異なる。
図1に示す検査装置では、故障したモジュールの機能を変更した場合に半導体集積回路の全体機能が変化することを利用して、モジュールの故障を判定する。
【0019】
上記の半導体集積回路1は、好適には、全体の機能を実現するために必要な数より多くのモジュールを含む。この場合、冗長な一部のモジュールが未使用の状態になる。図1に示す検査装置において故障と判定されたモジュールが未使用状態になるように各モジュールに機能を割り当てれば、モジュールの欠陥を救済することが可能になる。
【0020】
図4は、半導体集積回路1の概略的な構成の一例を示す図である。
検査対象の半導体集積回路1は、例えば図4に示すように、モジュールM1〜M7と、一般回路ブロック100と、スイッチ回路SWA1〜SWA6と、スイッチ回路SWB1〜SWB6とを有する。
【0021】
モジュールM1〜M7は、それぞれ本発明のモジュールの一実施形態である。
一般回路ブロック100は、本発明の回路ブロックの一実施形態である。
スイッチ回路SWA1〜SWA6及びSWB1〜SWB6を含む回路は、本発明のモジュール選択部の一実施形態である。
【0022】
モジュールM1〜M7は、それぞれ所定の機能を持つ一まとまりの回路であり、互いに機能を代替することができる。モジュールM1〜M7は、全て同一の回路構成を有していても良いし、互いに機能を代替可能であれば、その一部に異なる回路構成を有するモジュールを含んでいても良い。
【0023】
モジュールM1〜M7の回路構成や機能は任意である。例えばDSP(digital signal processor)等の演算・処理機能を持つ回路でも良いし、ルックアップテーブルのように比較的単純な論理演算を行う回路でも良い。あるいは、半導体集積回路中に含まれている同等な機能を持った複数の回路の各々を1つのモジュールとして扱っても良い。
また、モジュールM1〜M7は、デジタル回路に限定されるものではなく、アナログ回路でも良い。
【0024】
一般回路ブロック100は、上述したモジュールM1〜M7との間で信号をやり取りするための入出力部P1〜P6を有しており、これらのモジュールと共同して所定の処理を実行する。一般回路ブロック100の回路構成や機能は任意であり、例えば配線のみでも良い。
【0025】
入出力部P1〜P6は、それぞれ、上述したモジュールM1〜M7のうちの1つのモジュールに少なくとも1つの信号を出力する、及び/又は、当該1つのモジュールにおいて発生する少なくとも1つの信号を入力する。
【0026】
入出力部P1〜P6は、全てが同一の組合せの信号を入出力しても良いし、異なる組合せの信号を入出力する異なる種類の入出力部を含んでいても良い。
例えばモジュールM1〜M7が3つの出力端子を有する場合において、この3つの出力端子の全てから信号を入力する入出力部や、1つの出力端子のみから信号を入力する入出力部などが混在していても良い。
【0027】
スイッチ回路SWAi(iは、1から6までの整数を示す。)は、入出力部PiとモジュールMiとの間に接続されており、入力される制御信号(不図示)に応じてオン又はオフする。
スイッチ回路SWBiは、入出力部PiとモジュールM(i+1)との間に接続されており、入力される制御信号に応じてオン又はオフする。
【0028】
スイッチ回路SWA1〜SWA6及びSWB1〜SWB6は、モジュール選択部を構成する。
ここで、モジュール選択部(SWA1〜SWA6,SWB1〜SWB6)は、7つのモジュール(M1〜M7)の中から制御信号に応じて6つのモジュールを選択し、選択した6つのモジュールと6つの入出力部(P1〜P6)とを1対1に接続する機能を持った回路である。
【0029】
このモジュール選択部(SWA1〜SWA6,SWB1〜SWB6)は、6つの入出力部(P1〜P6)の各々に、2つのモジュールから制御信号に応じて選択した1つのモジュールを接続する。すなわち、入力される制御信号に応じて、モジュールMi又はモジュールM(i+1)の一方を選択し、選択したモジュールを入出力部Piに接続する。
【0030】
モジュール選択部(SWA1〜SWA6及びSWB1〜SWB6)は、例えば、不図示の制御部から供給される制御信号に応じて、7つのモジュールのうちの故障したモジュール(故障がない場合には予め冗長用に設けられたモジュール)が全ての入出力部から切り離されるように、6つのモジュールを選択する。
【0031】
例えば、モジュールMn(nは、1から7までの整数を示す。)を全ての入出力部から切り離すことを指示する制御信号が入力された場合において、nが2から6までの整数であれば(すなわちモジュールM2〜M6を切り離す場合は)、スイッチ回路SWA1〜SWA(n−1)がオン、スイッチ回路SWAn〜SWA6がオフするとともに、スイッチ回路SWB1〜SWB(n−1)がオフ、スイッチ回路SWBn〜SWB6がオンする。
nが整数1であれば(すなわちモジュールM1を切り離す場合は)、スイッチ回路SWA1〜SWA6が全てオフし、スイッチ回路SWB1〜SWB6が全てオンする。
nが整数7であれば(すなわちモジュールM7を切り離す場合は)、スイッチ回路SWA1〜SWA6が全てオンし、スイッチ回路SWB1〜SWB6が全てオフする。
【0032】
図5は、モジュールM3に欠陥が生じている場合の接続状態を示す。この場合、図示しない制御部は、モジュールM3を全ての入出力部から切り離すように制御信号を生成する。
この制御信号に応じて、スイッチ回路SWA1,SWA2がオン、スイッチ回路SWA3,SWA4,SWA5,SWA6がオフ、スイッチ回路SWB1,SWB2がオフ、スイッチ回路SWB3,SWB4,SWB5,SWB6がオンする。
これにより、入出力部P1とモジュールM1、入出力部P2とモジュールM2、入出力部P3とモジュールM4、入出力部P4とモジュールM5、入出力部P5とモジュールM6、入出力部P6とモジュールM7とがそれぞれ接続され、モジュールM3が一般回路ブロック100から切り離される。
【0033】
図6は、半導体集積回路1のより詳細な構成の一例を示す図であり、図4と図6の同一符号は同一の構成要素を示す。
図6に示す半導体集積回路1は、モジュールM1〜M7と、入出力部P1〜P6を持った一般回路ブロック100と、モジュール選択部50と、制御部60と、記憶部70と、信号入力部80とを有する。
モジュール選択部50は、本発明のモジュール選択部の一実施形態である。
信号入力部80は、本発明の信号入力部の一実施形態である。
記憶部70は、本発明の記憶部の一実施形態である。
制御部60は、本発明の記憶部の一実施形態である。
【0034】
モジュール選択部50は、制御部60から供給される制御信号に応じて、モジュールM1〜M7から6個のモジュールを選択し、当該選択した6個のモジュールと一般回路ブロック100の6個の入出力部P1〜P6とを1対1に接続する。
【0035】
モジュール選択部50は、例えば図6に示すように、スイッチ回路SWA1〜SWA6とスイッチ回路SWB1〜SWB6とを有する。
スイッチ回路SWAi(1≦i≦6)は、入出力部PiとモジュールMiとの間に接続されており、制御部60から供給される制御信号Sciが値‘0’の場合にオン、値‘1’の場合にオフする。
スイッチ回路SWBiは、入出力部PiとモジュールM(i+1)との間に接続されており、制御信号Sciが値‘0’の場合にオフ、値‘1’の場合にオンする。
【0036】
スイッチ回路SWAiは、入出力部PiからモジュールMiへ伝送される信号をオンオフする回路、及び/又は、モジュールMiから入出力部Piへ伝送される信号をオンオフする回路を少なくとも1つ有している。
同様に、スイッチ回路SWBiは、入出力部PiからモジュールM(i+1)へ伝送される信号をオンオフする回路、及び/又は、モジュールM(i+1)から入出力部Piへ伝送される信号をオンオフする回路を少なくとも1つ有している。
【0037】
制御部60は、モジュール選択部50を制御する制御信号Sc1〜Sc6を発生する。すなわち、第1の動作モードにおいて、信号入力部80に入力される信号が指示する1のモジュールを全入出力部(P1〜P6)から切り離すように制御信号Sc1〜Sc6を生成し、第2の動作モードにおいて、記憶部70に書き込まれた情報が指示する1のモジュールを全入出力部(P1〜P6)から切り離すように制御信号Sc1〜Sc6を生成する。
【0038】
制御部60が動作モードを認識する方法は任意であり、例えば所定の端子に印加される信号に応じて動作モードを認識しても良いし、記憶部70に書き込まれるフラグの値に応じて動作モードを認識しても良い。
第1の動作モードは、主としてモジュールの検査を行う場合に設定され、第2の動作モードは、モジュールの検査が完了した後の通常状態において設定される。
【0039】
制御部60は、信号入力部80から入力される信号若しくは記憶部70に書き込まれる情報においてモジュールMn(1≦n≦7)を全ての入出力部から切り離すように指示された場合、整数nの値に応じて、次のような制御信号Sc1〜Sc6を出力する。
【0040】
[2≦n≦6]
この場合、制御部60は、制御信号Sc1〜Sc(n−1)を値‘0’に設定し、制御信号Scn〜Sc6を値‘1’に設定する。
これにより、スイッチ回路SWA1〜SWA(n−1)がオン、スイッチ回路SWAn〜SWA6がオフ、スイッチ回路SWB1〜SWB(n−1)がオフ、スイッチ回路SWBn〜SWB6がオンに設定される。その結果、モジュールM1〜M(n−1)が入出力部P1〜P(n−1)と1対1に接続され、モジュールM(n+1)〜M7が入出力部Pn〜P6と1対1に接続され、モジュールMnが全入出力部から切り離される。
【0041】
[n=1]
この場合、制御部60は、制御信号Sc1〜Sc6を全て値‘1’に設定する。
これにより、スイッチ回路SWA1〜SWA6が全てオフ、スイッチ回路SWB1〜SWB6が全てオンに設定される。その結果、モジュールM2〜M7が入出力部P1〜P6と1対1に接続され、モジュールM1が全入出力部から切り離される。
【0042】
[n=7]
この場合、制御部60は、制御信号Sc1〜Sc6を全て値'0'に設定する。
これにより、スイッチ回路SWA1〜SWA6が全てオン、スイッチ回路SWB1〜SWB6が全てオフに設定される。その結果、モジュールM1〜M6が入出力部P1〜P6と1対1に接続され、モジュールM7が全入出力部から切り離される。
【0043】
この制御部60は、例えば図6に示すように、デコード部601と、OR回路602−2〜602−6とを有する。
【0044】
デコード部601は、記憶部70若しくは信号入力部80から入力される信号をデコードし、そのデコード結果を信号Sd1〜Sd6として出力する。
すなわち、記憶部70に記憶される情報若しくは信号入力部80から入力される信号がモジュールMnを全ての入出力部から切り離すように指示する場合、デコード部601は、整数nの値に応じて、次のような信号Sd1〜Sd6を生成する。
‘n’が1から6までの整数であれば、信号Sdnを‘1’とし、他の信号を‘0’に設定する。
‘n'が整数7であれば、信号Sd1〜Sd6を全て値'0'に設定する。
【0045】
信号Sd1〜Sd6は、モジュールM1〜M7の各々を全入出力部から切り離すか否か指示する信号であることから、以下では指示信号Sd1〜Sd6と呼ぶ。
【0046】
デコード部601は、第1の動作モード(モジュール検査時の動作モード)において、信号入力部80から入力される信号に応じて指示信号Sd1〜Sd6を生成し、第2の動作モード(モジュール検査完了後の動作モード)においては、記憶部70に書き込まれた情報に応じて指示信号Sd1〜Sd6を生成する。
【0047】
なお、図6の例においてデコード部601が出力する指示信号Sd1は、モジュール選択部50に供給される制御信号Sc1と同じである。
【0048】
OR回路602−2〜602−6は、それぞれ2つの入力と1つの出力を有する論理和演算回路であり、この順番で縦続接続されている。
OR回路602−2は、2つの入力の一方に指示信号Sd1(=制御信号Sc1)、他方に指示信号Sd2を入力する。OR回路602−2の出力は、制御信号Sc2としてモジュール選択部50に供給される。
OR回路602−k(kは、3から6までの整数を示す。)は、2つの入力の一方にOR回路602−(k−1)の出力信号を入力し、他方に指示信号Sdkを入力する。OR回路602−kの出力は、制御信号Sckとしてモジュール選択部50に供給される。
【0049】
デコード部601の指示信号Sdj(jは、2から6までの整数を示す。)が値‘1’になると、この指示信号Sdjが入力されるOR回路602−jは値‘1’の制御信号Scjを出力する。‘j’が6より小さい場合には、OR回路602−jより後段のOR回路602−(j+1)〜602−6から出力される制御信号Sc(j+1)〜Sc6も全て値‘1’になる。
デコード部601の指示信号Sd1(=制御信号Sc1)が値‘1’になると、この指示信号Sd1が入力されるOR回路602−2は値‘1’の制御信号Sc2を出力する。OR回路602−2より後段のOR回路602−3〜602−6から出力される制御信号Sc3〜Sc6も全て値‘1’になる。
他方、デコード部601の全ての指示信号(Sd1〜Sd6)が値‘0’になると、OR回路602−2〜602−6の入出力信号が全て値‘0’になるため、モジュール選択部50に供給される制御信号(Sc1〜Sc6)は全て値‘0’になる。
【0050】
したがって、モジュールMnを全ての入出力部から切り離す場合において、‘n’が2から6までの整数であるときは、デコード部601によって指示信号Sd1〜Sd(n−1)が値‘0’、指示信号Sdnが値‘1’、指示信号Sd(n+1)〜Sd6が値‘0’に設定されるため、制御信号Sc1〜Sc(n−1)は値‘0’、制御信号Scn〜Sc6は値‘1’になる。‘n’が整数1であるときは、デコード部601によって指示信号Sd1が値‘1’に設定されるため、制御信号Sc1〜Sc6は全て値‘1’になる。‘n’が整数7であるときは、デコード部601によって指示信号Sd1〜Sd6が全て値‘0’に設定されるため、制御信号Sc1〜Sc6は全て値‘0’になる。
【0051】
記憶部70は、7個のモジュール(M1〜M7)の中で、全ての入出力部(P1〜P6)から切り離すべき1のモジュールを指示する情報を記憶する。
記憶部70は、例えばヒューズ素子や不揮発性メモリなどによって構成可能である。
【0052】
信号入力部80は、全ての入出力部(P1〜P6)から切り離すべき1のモジュールを指示する信号を入力するための回路であり、例えば半導体集積回路1の検査を行う場合などにおいて、外部の装置から制御部60に信号を入力するために用いられる。
【0053】
ところで、上述した図4,図6に示す半導体集積回路1は、冗長なモジュールが全体に1つしかなく、2つ以上の欠陥を救済できない。欠陥の発生確率が高い場合には、救済できる欠陥の数を増やさなければ十分な歩留まりを達成できない可能性がある。
そこで、本実施形態に係る半導体集積回路1は、図4,図6に示すように1つの欠陥を救済可能なモジュールの集まり(モジュールブロック)を複数設けても良い。
【0054】
図7は、複数のモジュールブロックを有する半導体集積回路1の例を示す図である。
各モジュールブロックには、互いに機能を代替可能なN個(Nは2より大きい整数を示す)のモジュールと、このN個のモジュールから(N−1)個のモジュールを選択して一般回路ブロック100の(N−1)個の入出力部と1対1に接続するモジュール選択部が設けられている。
モジュールブロックは、図7に示すように規則的に配置しても良いし、自由な形状の領域に配置しても良い。
【0055】
このような複数のモジュールブロックとモジュール選択部を設けることによって、半導体集積回路内のより多くの欠陥を救済することが可能になる。
また、複数のモジュールブロックを設けることによって、複数種類のモジュールを救済することが可能になる。例えば、互いに機能を代替可能なモジュール群が複数存在し、同一のモジュール群に属するモジュール同士は機能を代替可能であるが、異なるモジュール群に属するモジュール同士は機能を代替できない場合がある。このような場合には、各モジュール群に冗長なモジュールを付加した複数のモジュールブロックを構成し、この複数のモジュールブロックの各々において欠陥救済を行うことにより、複数種類のモジュールを救済することが可能になる。
以上が、半導体集積回路1についての説明である。
【0056】
次に、図1に示す検査装置の各構成要素について説明する。
【0057】
制御部3は、半導体集積回路1のモジュールの全体に割り当てる機能を同一に保ちつつ、全モジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように、半導体集積回路1の制御信号を生成する。
また制御部3は、半導体集積回路1に含まれる一群のモジュールの中に欠陥のあるモジュール(以下、欠陥モジュールと呼ぶ)が含まれると判定部2が判定した場合、半導体集積回路1のモジュールの全体に割り当てる機能を同一に保ちつつ、当該一群のモジュールの更に一部において個々のモジュールに割り当てる機能を変更するように制御信号を生成する。
【0058】
判定部2は、制御部3による機能の割り当ての変更に応じて生じた半導体集積回路1の機能の変化を検出し、当該検出結果に応じて、この機能の割り当て変更がなされたモジュール群に欠陥モジュールが含まれるか否かを判定する。
また判定部2は、制御部3によって、一群のモジュールの更に一部に含まれる個々のモジュールの機能の割り当てが変更された場合、その変更に応じた生じた半導体集積回路1の機能の変化を検出する。そして、当該検出結果に応じて、欠陥モジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかを判定する。
【0059】
探索範囲が絞られた結果、欠陥モジュールを含むと判定した一群のモジュールが3個になった場合、判定部2は、当該一群のモジュールに含まれる2つのモジュールの機能が制御部3によって交換されることによる半導体集積回路1の機能の変化、並びに、当該一群のモジュールに含まれる残りの1のモジュールの機能と当該2つのモジュールの一方のモジュールの機能とが制御部3によって交換されることによる半導体集積回路1の機能の変化を検出する。そして、この2つの検出結果に応じて、3個のモジュール群に含まれる欠陥モジュールを特定する。
【0060】
例えば、半導体集積回路1が図4,図6に示すようなモジュールブロックを有しているものとする。この場合、制御部3は、まずモジュールM1を全ての入出力部(P1〜P6)より切り離した状態と、モジュールM7を全ての入出力部より切り離した状態とを切替えるように、半導体集積回路1の制御信号を生成する。この切り替えによって、モジュールM1〜M7の各々に割り当てられる機能が変更される。
上記の切り替えに応じて半導体集積回路1の機能が変化した場合、判定部2は、モジュールM1〜M7の中に欠陥モジュールが含まれると判定する。
モジュールM1〜M7に欠陥モジュールが含まれると判定された場合、制御部3は、これらのモジュールのうちの1つ(例えばモジュールM4)を全ての入出力部(P1〜P6)から切り離すように制御信号を生成する。
次いで判定部2は、モジュールM1を全ての入出力部より切り離した状態とモジュールM4を全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路1の機能の変化、及び/又は、モジュールM7を全ての入出力部より切り離した状態とモジュールM4を全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路1の機能の変化を検出する。そして、この検出結果に基づいて、モジュールM1〜M4若しくはモジュールM5〜M7のどちらに欠陥モジュールが含まれるか、又は、モジュールM1〜M3若しくはモジュールM4〜M7のどちらに欠陥モジュールが含まれるかを判定する。
【0061】
判定部2においてモジュールMp(pは1から6までの整数を示す)乃至モジュールMq(qは(p+1)から7までの整数を示す)の中に欠陥モジュールが含まれると判定された場合、制御部3は、これらの中から1つのモジュールMr(rはpからqまでの整数を示す)を選択し、これを全ての入出力部から切り離すように制御信号を生成する。
次いで判定部2は、第pモジュールを全ての入出力部より切り離した状態と第rモジュールを全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路1の機能の変化、及び/又は、第qモジュールを全ての入出力部より切り離した状態と第rモジュールを全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路1の機能の変化を検出する。そして、当該検出結果に基づいて、第pモジュール乃至第rモジュール若しくは第(r+1)モジュール乃至第qモジュールのどちらに欠陥モジュールが含まれるか、又は、第pモジュール乃至第(r−1)モジュール若しくは第rモジュール乃至第qモジュールのどちらに欠陥モジュールが含まれるかを判定する。
以下同様な処理が繰り返されることにより、欠陥モジュールの探索範囲が絞られる。
【0062】
探索範囲が絞られた結果、欠陥モジュールを含むと判定された一群のモジュールが3個(Mp,Mr,Mq)になった場合、判定部2は、モジュールMpを全ての入出力部より切り離した状態とモジュールMrを全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路1の機能の変化、並びに、モジュールMqを全ての入出力部より切り離した状態とモジュールMrを全ての入出力部より切り離した状態との切り替えに応じた半導体集積回路1の機能の変化を検出し、当該検出結果に応じて欠陥モジュールを特定する。
【0063】
信号発生部4は、半導体集積回路1に供給する所定の検査信号(テストパターン)を発生する。このテストパターンには、半導体集積回路1に含まれる各モジュールの機能の変化に応じて応答信号系列が変化するようなパターンが選ばれる。
判定部2は、信号発生部4から供給されるテストパターンに対する半導体集積回路1の応答信号系列の変化に基づいて、半導体集積回路1の機能の変化を検出する。
【0064】
正常出力値記憶部5は、正常な半導体集積回路1が信号発生部4のテストパターンに応じて出力すべき正常信号出力値fを記憶する。
判定部2は、半導体集積回路1から応答信号系列fが出力される場合、半導体集積回路1が正常であると判定する。
【0065】
テスト応答記憶部6は、信号発生部4のテストパターンに応じて半導体集積回路1から出力される応答信号系列を一時的に記憶する。
判定部2は、テスト応答記憶部6に記憶される応答信号系列を用いて、半導体集積回路1から出力される応答信号系列の変化を検出する。
【0066】
ここで、上述した構成を有する図1に示す検査装置の動作を説明する。
【0067】
まず、複数のモジュールブロックを有する半導体集積回路1において欠陥モジュールを特定する際の問題点と、図1に示す検査装置による欠陥モジュールの特定方法について説明する。
【0068】
図8は、モジュール数が2つ(M1,M2)のモジュールブロックの一例を示す図である。図8に示すモジュールブロックでは、一般回路ブロック100の入出力部P1に対して、モジュールM1又はM2の一方が接続される。
以下の説明では、モジュールMnを全入出力部から切り離した場合の応答信号系列を‘fMn(x)’若しくは‘fMn’と表記する。
【0069】
半導体集積回路1が図8(A)に示すようなモジュールブロックを1つだけ有している場合、もしモジュールM1又はM2の何れか一方に欠陥があっても、モジュールM1,M2と入出力部P1との接続を切替えることによって、半導体集積回路1の出力信号系列を正常出力値fに一致させることができる。そのため、この場合は欠陥モジュールを容易に特定できる。
ところが、モジュールブロックが複数ある場合、図8(B)に示すように、応答信号系列fM1(x)及びfM2(x)が互いに異なる値を持ち、かつ、それらの値が何れも正常出力値fと異なるため、このモジュールブロックの接続状態を切替えるだけでは欠陥モジュールを特定できない。
【0070】
そこで、図1に示す検査装置では、次に述べるような方法を用いて欠陥モジュールの特定を行う。
この方法では、モジュールブロック内に含まれる欠陥モジュールの数を高々1個と仮定する。モジュールブロックにおいて救済できるモジュール数は1つであるため、モジュールブロック内に複数の欠陥モジュールが含まれている場合は、欠陥を全て救済することができず、半導体集積回路1は不良品になる。したがって、欠陥モジュールが複数存在する場合に、これを1個と仮定することによって誤判定(例えば正常なモジュールを欠陥モジュールと判定する等)が生じても、結果的に回路全体が不良品になるので問題はない。
【0071】
図9,図10は、図1に示す検査装置における欠陥モジュールの特定方法を説明するための図である。
図9,図10に示すモジュールブロックは、一般回路ブロック100の入出力部P1,P2に接続可能な3つのモジュールM1,M2,M3を有している。
また、図9,図10に示すブール代数式において、‘Mn’はモジュールMnの欠陥の有無を表す論理変数を表している。モジュールMnが正常な場合‘Mn=0’、モジュールMnが不良の場合‘Mn=1’が成立する。
【0072】
図9においては、モジュールM1,M2をそれぞれ入出力部P1から切り離した場合の応答信号系列fM1,fM2の関係について考察している。
モジュールM1,M2は同じ入出力部P1に接続される。そのため、応答信号系列fM1及びfM2が等しい場合は、モジュールM1及びM2の機能を交換しても半導体集積回路1の機能が等しくなること、すなわち、モジュールM1,M2が同等な機能を持つことが分かる。この場合、モジュールM1,M2が共に正常であるか、若しくは両者が共に同一の故障を起こしていると考えられるが、先に述べたようにモジュール内の故障は高々1個であると仮定しているため、モジュールM1,M2は共に正常であると判定される(図9(B))。
他方、応答信号系列fM1及びfM2が異なっている場合は、モジュールM1及びM2の機能の交換により半導体集積回路1の機能が変化すること、すなわち、モジュールM1,M2が異なる機能を持つことが分かる。この場合、モジュールM1又はM2の何れか一方が故障していると判定される(図9(C))。
【0073】
図10では、モジュールM2,M3をそれぞれ入出力部P2から切り離した場合の応答信号系列fM2,fM3の関係について考察している。
モジュールM2,M3は同じ入出力部P2に接続される。そのため、応答信号系列fM2及びfM3が等しい場合は、モジュールM2及びM3の機能を交換しても半導体集積回路1の機能が等しくなること、すなわち、モジュールM2,M3が同等な機能を持つことが分かる。この場合、モジュールM2,M3が共に正常であるか、若しくは両者が共に同一の故障を起こしていると考えられるが、先述の通りモジュール内の故障は高々1個であると仮定しているため、モジュールM2,M3は共に正常であると判定される(図10(B))。
他方、応答信号系列fM2及びfM3が異なっている場合は、モジュールM2及びM3の機能の交換により半導体集積回路1の機能が変化すること、すなわち、モジュールM2,M3が異なる機能を持つことが分かる。この場合、モジュールM2又はM3の何れか一方が故障していると判定される(図10(C))。
【0074】
さて、応答信号系列fM1及びfM2が等しく、かつ、応答信号系列fM2及びfM3が等しい場合、図9(B)及び図10(B)に示すブール代数式に基づいて次式が導かれる。
【0075】
【数1】
【0076】
この場合、式(1)に示すように、全てのモジュールが正常であると判定される。全てのモジュールが同一の故障を起こしている可能性も考えられるが、その場合は、モジュール内の故障が1個を超えるため、欠陥の救済はできない。
【0077】
また、応答信号系列fM1及びfM2が等しく、かつ、応答信号系列fM2及びfM3が異なる場合、図9(B)及び図10(C)に示すブール代数式に基づいて次式が導かれる。
【0078】
【数2】
【0079】
この場合、式(2)に示すように、モジュールM3が不良であると判定される。
【0080】
応答信号系列fM1及びfM2が異なり、かつ、応答信号系列fM2及びfM3が等しい場合、図9(C)及び図10(B)に示すブール代数式に基づいて次式が導かれる。
【0081】
【数3】
【0082】
この場合、式(3)に示すように、モジュールM1が不良であると判定される。
【0083】
最後に、応答信号系列fM1及びfM2が異なり、かつ、応答信号系列fM2及びfM3が異なる場合、図9(C)及び図10(C)に示すブール代数式に基づいて次式が導かれる。
【0084】
【数4】
【0085】
この場合、式(4)に示すように、モジュールM2のみが不良であるか、又はモジュールM1とモジュールM3が不良であると判定することが可能である。しかしながら、後者の判定をするとモジュール内の故障が1個を超えるため、欠陥の救済はできなくなる。したがって、この場合は、モジュールM2のみが不良であると判定される。
【0086】
図11は、上述した式(1)〜(4)の結果をまとめた図である。図11から分かるように、モジュールの機能交換に伴う応答信号系列の変化に基づいて、救済対象のモジュール(すなわち欠陥モジュール)を特定することができる。
【0087】
次に、図1に示す検査装置におけるモジュールの検査処理の例について、図12及び図13のフローチャートを参照しながら説明する。
図12は、モジュール検査処理の全体処理の一例を示すフローチャートである。
【0088】
まず検査装置は、半導体集積回路1に含まれる各モジュールブロック内の欠陥を探索する(ステップST201,図12)。
検査装置は、ステップST201の探索結果に基づいて欠陥を救済し、半導体集積回路1の応答信号系列が正常出力値fと等しくなるか判定する(ステップST202)。応答信号系列が正常出力値fと等しくなる場合、検査装置は、半導体集積回路1の欠陥救済が可能(全モジュールが正常の場合を含む)であることを示す判定結果を出力し、検査処理を終了する(ステップST202)。
他方、半導体集積回路1の応答信号系列1が正常出力値fと等しくならず、かつ欠陥モジュールの探索を未だ行っていないモジュールブロックが存在する場合、検査装置は、ステップST201の欠陥探索処理に戻って、未探索のモジュールブロックに対する欠陥探索処理を実行する。
半導体集積回路1の応答信号系列1が正常出力値fと等しくならず、かつ、全てのモジュールブロックの欠陥探索処理が完了している場合、検査装置は、半導体集積回路1の欠陥救済を行うことができないことを示す判定結果を出力し、検査処理を終了する(ステップST203)。
【0089】
図13は、図12に示すモジュール検査処理における欠陥探索処理(ステップST201)の一例を示すフローチャートである。
図13に示すフローチャートにおいて、ステップST305は、本発明の第1の工程の一実施形態である。
ステップST309は、本発明の第2の工程の一実施形態である。
ステップST311〜ST313及びST315〜ST318は、本発明の第3の工程の一実施形態である。
ステップST308,ST319,ST320及びST321は、本発明の第4の工程の一実施形態である。
【0090】
以下では、不良の場合の具体例(図14〜図21)を参照しながら、図13に示す欠陥探索処理を説明する。
【0091】
図14,…,図20は、それぞれ、モジュールM1,…,M7が不良の場合における欠陥探索処理の一例を示し、図21は、モジュール以外に不良がある場合における欠陥処理の一例を示す。
なお、図14〜図20において、‘L’は探索範囲の左端にあるモジュールの番号、‘R’は探索範囲の右端にあるモジュールの番号を示す。また‘C’は、全ての入出力部より切り離されるモジュールの番号を示す。ただし、モジュールMnの番号は‘n’であり、例えばモジュールM4の番号は‘4’である。
【0092】
また以下の説明において、‘fL’はモジュール番号Lのモジュールを全ての入出力部から切り離した場合の応答信号系列を示す。
‘fR’は、モジュール番号Rのモジュールを全ての入出力部から切り離した場合の応答信号系列を示す。
‘fC’は、モジュール番号Cのモジュールを全ての入出力部から切り離した場合の応答信号系列を示す。
【0093】
(1)モジュールM1が不良の場合(図14)
【0094】
まず制御部3は‘C=1’に設定し(ステップST301)、モジュールM1を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM1)を判定部2が取り込む(ステップST302)。判定部2は、取り込んだ応答信号系列fCと、正常出力値記憶部5に記憶される正常出力値fとを比較し、等しい場合はモジュールM1を救済対象に決定して、欠陥探索処理を終了する(ステップST303)。
応答信号系列fCが正常出力値fと等しくなるのは、全てのモジュールブロックにおいて欠陥救済が完了した場合(欠陥が無い場合を含む)であり、他のモジュールブロックに欠陥モジュールが存在する場合には等しくならないため、欠陥探索処理が続行される。ここでは処理が続行されるものとする。テスト応答記憶部6は、ステップST302で得られた応答信号系列fC(fM1)を‘fL’として記憶する(ステップST304)。
【0095】
次に、制御部3は‘L=1’‘C=R=7’に設定し、モジュールM7を全ての入出力部から切り離す(ステップST305)。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM7)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM1)と正常出力値fとを比較するが、欠陥のあるモジュールM1が入出力部P1に接続されるため、両者は等しくならない(ステップST307)。
【0096】
ここで判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM7)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M7に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM7)を‘fR’として記憶する(ステップST310)。
【0097】
次に、制御部3は‘R=C=7’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、ステップST318に進む。ステップST318において、制御部3は‘Int((L+R)/2)’を演算する。ただし、‘Int(α)’は、‘α’を超えない最大の整数を表す。この演算の結果、制御部3は‘C=4’に設定し、モジュールM4を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM4)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM4)と正常出力値fとを比較するが、欠陥のあるモジュールM1が入出力部P1に接続されるため、両者は等しくならない(ステップST307)。
【0098】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM4)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M4に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM4)を‘fR’として記憶する(ステップST310)。
【0099】
次に、制御部3は、‘R=C=4’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個であるため、ステップST313に進む。ステップST313において、制御部3は、‘C=R−1=3’に設定し、モジュールM3を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM3)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM3)と正常出力値fとを比較するが、欠陥のあるモジュールM1が入出力部P1に接続されるため、両者は等しくならない(ステップST307)。
【0100】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM3)とテスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M3に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM3)を‘fR’として記憶する(ステップST310)。
【0101】
次に、制御部3は、‘R=C=3’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、制御部3は‘Int((L+R)/2)’を演算する(ステップST318)。この演算の結果、制御部3は‘C=2’に設定し、モジュールM2を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM2)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM2)と正常出力値fとを比較するが、欠陥のあるモジュールM1が入出力部P1に接続されるため、両者は等しくない(ステップST307)。
【0102】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、3個であるため、ステップST319に進む。ステップST319において、応答信号系列fC(fM2)及びfL(fM1)が等しくないと判定し、ステップST320において、応答信号系列fC(fM2)及びfR(fM3)が等しいと判定する。これにより、判定部2は、モジュールM1を救済すべき欠陥モジュールとして特定する。
【0103】
(2)モジュールM2が不良の場合(図15)
【0104】
まず制御部3は‘C=1’に設定し(ステップST301)、モジュールM1を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM1)を判定部2が取り込む(ステップST302)。判定部2は、取り込んだ応答信号系列fCと、正常出力値記憶部5に記憶される正常出力値fとを比較する。欠陥のあるモジュールM2が入出力部P1に接続されるため、両者は等しくないと判定する(ステップST303)。テスト応答記憶部6は、ステップST302で得られた応答信号系列fC(fM1)を‘fL’として記憶する(ステップST304)。
【0105】
次に、制御部3は‘L=1’‘C=R=7’に設定し、モジュールM7を全ての入出力部から切り離す(ステップST305)。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM7)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM1)と正常出力値fとを比較するが、欠陥のあるモジュールM2が入出力部P2に接続されるため、両者は等しくならない(ステップST307)。
【0106】
ここで判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM7)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M7に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM7)を‘fR’として記憶する(ステップST310)。
【0107】
次に、制御部3は‘R=C=7’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、ステップST318に進む。ステップST318において、制御部3は‘Int((L+R)/2)’を演算する。この演算の結果、制御部3は‘C=4’に設定し、モジュールM4を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM4)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM4)と正常出力値fとを比較するが、欠陥のあるモジュールM2が入出力部P2に接続されるため、両者は等しくならない(ステップST307)。
【0108】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM4)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M4に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM4)を‘fR’として記憶する(ステップST310)。
【0109】
次に、制御部3は、‘R=C=4’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個であるため、ステップST313に進む。ステップST313において、制御部3は、‘C=R−1=3’に設定し、モジュールM3を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM3)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM3)と正常出力値fとを比較するが、欠陥のあるモジュールM2が入出力部P2に接続されるため、両者は等しくならない(ステップST307)。
【0110】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM3)とテスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M3に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM3)を‘fR’として記憶する(ステップST310)。
【0111】
次に、制御部3は、‘R=C=3’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、制御部3は‘Int((L+R)/2)’を演算する(ステップST318)。この演算の結果、制御部3は‘C=2’に設定し、モジュールM2を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM2)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM2)と正常出力値fとを比較し、等しい場合はモジュールM2を救済対象に決定して、欠陥探索処理を終了する(ステップST307)。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列fC(fM2)は正常出力値fと等しくならず、欠陥探索処理が続行される。
【0112】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、3個であるため、ステップST319に進む。ステップST319において、応答信号系列fC(fM2)及びfL(fM1)が等しくないと判定し、ステップST320において、応答信号系列fC(fM2)及びfR(fM3)が等しくないと判定する。これにより、判定部2は、モジュールM2を救済すべき欠陥モジュールとして特定する。
【0113】
(3)モジュールM3が不良の場合(図16)
【0114】
まず制御部3は‘C=1’に設定し(ステップST301)、モジュールM1を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM1)を判定部2が取り込む(ステップST302)。判定部2は、取り込んだ応答信号系列fCと、正常出力値記憶部5に記憶される正常出力値fとを比較する。欠陥のあるモジュールM3が入出力部P2に接続されるため、両者は等しくないと判定する(ステップST303)。テスト応答記憶部6は、ステップST302で得られた応答信号系列fC(fM1)を‘fL’として記憶する(ステップST304)。
【0115】
次に、制御部3は‘L=1’‘C=R=7’に設定し、モジュールM7を全ての入出力部から切り離す(ステップST305)。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM7)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM1)と正常出力値fとを比較するが、欠陥のあるモジュールM3が入出力部P3に接続されるため、両者は等しくならない(ステップST307)。
【0116】
ここで判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM7)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M7に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM7)を‘fR’として記憶する(ステップST310)。
【0117】
次に、制御部3は‘R=C=7’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、ステップST318に進む。ステップST318において、制御部3は‘Int((L+R)/2)’を演算する。この演算の結果、制御部3は‘C=4’に設定し、モジュールM4を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM4)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM4)と正常出力値fとを比較するが、欠陥のあるモジュールM3が入出力部P3に接続されるため、両者は等しくならない(ステップST307)。
【0118】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM4)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M4に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM4)を‘fR’として記憶する(ステップST310)。
【0119】
次に、制御部3は、‘R=C=4’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個であるため、ステップST313に進む。ステップST313において、制御部3は、‘C=R−1=3’に設定し、モジュールM3を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM3)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM3)と正常出力値fとを比較し、等しい場合はモジュールM3を救済対象に決定して、欠陥探索処理を終了する(ステップST307)。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列fC(fM3)は正常出力値fと等しくならず、欠陥探索処理が続行される。
【0120】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM3)とテスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M3に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM3)を‘fR’として記憶する(ステップST310)。
【0121】
次に、制御部3は、‘R=C=3’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、制御部3は‘Int((L+R)/2)’を演算する(ステップST318)。この演算の結果、制御部3は‘C=2’に設定し、モジュールM2を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM2)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM2)と正常出力値fとを比較するが、欠陥のあるモジュールM3が入出力部P2に接続されるため、両者は等しくないと判定する(ステップST307)。
【0122】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、3個であるため、ステップST319に進む。ステップST319において、応答信号系列fC(fM2)及びfL(fM1)が等しいと判定し、ステップST321において、応答信号系列fC(fM2)及びfR(fM3)とが等しくないと判定する。これにより、判定部2は、モジュールM3を救済すべき欠陥モジュールとして特定する。
【0123】
(4)モジュールM4が不良の場合(図17)
【0124】
まず制御部3は‘C=1’に設定し(ステップST301)、モジュールM1を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM1)を判定部2が取り込む(ステップST302)。判定部2は、取り込んだ応答信号系列fCと、正常出力値記憶部5に記憶される正常出力値fとを比較する。欠陥のあるモジュールM4が入出力部P3に接続されるため、両者は等しくないと判定する(ステップST303)。テスト応答記憶部6は、ステップST302で得られた応答信号系列fC(fM1)を‘fL’として記憶する(ステップST304)。
【0125】
次に、制御部3は‘L=1’‘C=R=7’に設定し、モジュールM7を全ての入出力部から切り離す(ステップST305)。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM7)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM1)と正常出力値fとを比較するが、欠陥のあるモジュールM4が入出力部P4に接続されるため、両者は等しくならない(ステップST307)。
【0126】
ここで判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM7)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M7に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM7)を‘fR’として記憶する(ステップST310)。
【0127】
次に、制御部3は‘R=C=7’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、ステップST318に進む。ステップST318において、制御部3は‘Int((L+R)/2)’を演算する。この演算の結果、制御部3は‘C=4’に設定し、モジュールM4を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM4)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM4)と正常出力値fとを比較し、等しい場合はモジュールM4を救済対象に決定して、欠陥探索処理を終了する(ステップST307)。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列fC(fM4)は正常出力値fと等しくならず、欠陥探索処理が続行される。
【0128】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM4)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M4に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM4)を‘fR’として記憶する(ステップST310)。
【0129】
次に、制御部3は、‘L=C=4’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個であるため、ステップST313に進む。ステップST313において、制御部3は、‘C=R−1=3’に設定し、モジュールM3を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM3)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM3)と正常出力値fとを比較するが、欠陥のあるモジュールM4が入出力部P3に接続されるため、両者は等しくならない(ステップST307)。
【0130】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM3)とテスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しいため、判定部2は、モジュールM1〜M3に欠陥モジュールが含まれていない判定する。この場合、判定部2は‘C=R’が成立するか否か判定を行うが(ステップST314)、これは成立しないため、ステップST315に進む。
【0131】
ステップST315において、制御部3は、‘L=C=3’に設定する。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST316)、4個でないため、制御部3は‘Int((L+R)/2)’を演算する(ステップST318)。この演算の結果、制御部3は‘C=3’に設定し、モジュールM3を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM3)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM3)と正常出力値fとを比較するが、欠陥のあるモジュールM4が入出力部P3に接続されるため、両者は等しくないと判定する(ステップST307)。
【0132】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、2個であるため、ステップST319に進む。
【0133】
判定部2は、ステップST319において応答信号系列fC(fM3)及びfL(fM3)が等しいと判定し、ステップST321において応答信号系列fC(fM3)及びfR(fM4)とが等しくないと判定する。
このとき、先のステップST309では、既にモジュールM1〜M3に欠陥モジュールが含まれていないと判定されているため、‘fL=fM2=fM3’が成立する。
そのため、判定部2は、ステップST319及びST321において
‘fM2=fM3’かつ‘fM3≠fM4’;
を判定したと見なせる。したがって図11に示す関係から、判定部2は、モジュールM4を救済すべき欠陥モジュールとして特定する。
【0134】
(5)モジュールM5が不良の場合(図18)
【0135】
まず制御部3は‘C=1’に設定し(ステップST301)、モジュールM1を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM1)を判定部2が取り込む(ステップST302)。判定部2は、取り込んだ応答信号系列fCと、正常出力値記憶部5に記憶される正常出力値fとを比較する。欠陥のあるモジュールM5が入出力部P4に接続されるため、両者は等しくないと判定する(ステップST303)。テスト応答記憶部6は、ステップST302で得られた応答信号系列fC(fM1)を‘fL’として記憶する(ステップST304)。
【0136】
次に、制御部3は‘L=1’‘C=R=7’に設定し、モジュールM7を全ての入出力部から切り離す(ステップST305)。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM7)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM7)と正常出力値fとを比較するが、欠陥のあるモジュールM5が入出力部P5に接続されるため、両者は等しくならない(ステップST307)。
【0137】
ここで判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM7)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M7に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM7)を‘fR’として記憶する(ステップST310)。
【0138】
次に、制御部3は‘R=C=7’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、ステップST318に進む。ステップST318において、制御部3は‘Int((L+R)/2)’を演算する。この演算の結果、制御部3は‘C=4’に設定し、モジュールM4を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM4)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM4)と正常出力値fとを比較するが、欠陥のあるモジュールM5が入出力部P4に接続されるため、両者は等しくならない(ステップST307)。
【0139】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM4)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しいため、判定部2は、モジュールM1〜M4に欠陥モジュールが含まれていないと判定する。この場合、判定部2は‘C=R’が成立するか否か判定を行うが(ステップST314)、これは成立しないため、ステップST315に進む。
【0140】
ステップST315において、制御部3は、‘L=C=4’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個であるため、制御部3は‘C=L+1=5’に設定し、モジュールM5を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM5)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM5)と正常出力値fとを比較し、等しい場合はモジュールM5を救済対象に決定して、欠陥探索処理を終了する(ステップST307)。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列fC(fM5)は正常出力値fと等しくならず、欠陥探索処理が続行される。
【0141】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM5)とテスト応答記憶部6に記憶された応答信号系列fL(fM4)とを比較する。両者は等しくないため、判定部2は、モジュールM4〜M5に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM5)を‘fR’として記憶する(ステップST310)。
【0142】
次に、制御部3は、‘R=C=5’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、制御部3は‘Int((L+R)/2)’を演算する(ステップST318)。この演算の結果、制御部3は‘C=4’に設定し、モジュールM4を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM4)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM4)と正常出力値fとを比較するが、欠陥のあるモジュールM5が入出力部P4に接続されるため、両者は等しくないと判定する(ステップST307)。
【0143】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、2個であるため、ステップST319に進む。
【0144】
判定部2は、ステップST319において応答信号系列fC(fM4)及びfL(fM4)が等しいと判定し、ステップST321において応答信号系列fC(fM4)及びfR(fM5)が等しくないと判定する。
このとき、先のステップST309では、既にモジュールM1〜M4に欠陥モジュールが含まれていないと判定されているため、‘fL=fM3=fM4’が成立する。
そのため、判定部2は、ステップST319及びST321において
‘fM3=fM4’かつ‘fM4≠fM5’;
を判定したと見なせる。したがって図11に示す関係から、判定部2は、モジュールM5を救済すべき欠陥モジュールとして特定する。
【0145】
(6)モジュールM6が不良の場合(図19)
【0146】
まず制御部3は‘C=1’に設定し(ステップST301)、モジュールM1を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM1)を判定部2が取り込む(ステップST302)。判定部2は、取り込んだ応答信号系列fCと、正常出力値記憶部5に記憶される正常出力値fとを比較する。欠陥のあるモジュールM6が入出力部P5に接続されるため、両者は等しくないと判定する(ステップST303)。テスト応答記憶部6は、ステップST302で得られた応答信号系列fC(fM1)を‘fL’として記憶する(ステップST304)。
【0147】
次に、制御部3は‘L=1’‘C=R=7’に設定し、モジュールM7を全ての入出力部から切り離す(ステップST305)。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM7)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM7)と正常出力値fとを比較するが、欠陥のあるモジュールM6が入出力部P6に接続されるため、両者は等しくならない(ステップST307)。
【0148】
ここで判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM7)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M7に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM7)を‘fR’として記憶する(ステップST310)。
【0149】
次に、制御部3は‘R=C=7’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、ステップST318に進む。ステップST318において、制御部3は‘Int((L+R)/2)’を演算する。この演算の結果、制御部3は‘C=4’に設定し、モジュールM4を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM4)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM4)と正常出力値fとを比較するが、欠陥のあるモジュールM6が入出力部P5に接続されるため、両者は等しくならない(ステップST307)。
【0150】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM4)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しいため、判定部2は、モジュールM1〜M4に欠陥モジュールが含まれていないと判定する。この場合、判定部2は‘C=R’が成立するか否か判定を行うが(ステップST314)、これは成立しないため、ステップST315に進む。
【0151】
ステップST315において、制御部3は、‘L=C=4’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個であるため、制御部3は‘C=L+1=5’に設定し、モジュールM5を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM5)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM5)と正常出力値fとを比較するが、欠陥のあるモジュールM6が入出力部P5に接続されるため、両者は等しくないと判定する(ステップST307)。
【0152】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM5)とテスト応答記憶部6に記憶された応答信号系列fL(fM4)とを比較する。両者は等しいため、判定部2は、モジュールM4〜M5に欠陥モジュールが含まれていないと判定する。この場合、判定部2は‘C=R’が成立するか否か判定を行うが(ステップST314)、これは成立しないため、ステップST315に進む。
【0153】
ステップST315において、制御部3は、‘L=C=5’に設定する。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、制御部3は‘Int((L+R)/2)’を演算する(ステップST318)。この演算の結果、制御部3は‘C=6’に設定し、モジュールM6を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM6)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM6)と正常出力値fとを比較し、等しい場合はモジュールM6を救済対象に決定して、欠陥探索処理を終了する(ステップST307)。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列fC(fM6)は正常出力値fと等しくならず、欠陥探索処理が続行される。
【0154】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、3個であるため、ステップST319に進む。ステップST319において、応答信号系列fC(fM6)及びfL(fM5)が等しくないと判定し、ステップST320において、応答信号系列fC(fM6)及びfR(fM7)が等しくないと判定する。これにより、判定部2は、モジュールM6を救済すべき欠陥モジュールとして特定する。
【0155】
(7)モジュールM7が不良の場合(図20)
【0156】
まず制御部3は‘C=1’に設定し(ステップST301)、モジュールM1を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM1)を判定部2が取り込む(ステップST302)。判定部2は、取り込んだ応答信号系列fCと、正常出力値記憶部5に記憶される正常出力値fとを比較する。欠陥のあるモジュールM7が入出力部P6に接続されるため、両者は等しくないと判定する(ステップST303)。テスト応答記憶部6は、ステップST302で得られた応答信号系列fC(fM1)を‘fL’として記憶する(ステップST304)。
【0157】
次に、制御部3は‘L=1’‘C=R=7’に設定し、モジュールM7を全ての入出力部から切り離す(ステップST305)。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM7)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM1)と正常出力値fとを比較する。等しい場合はモジュールM7を救済対象に決定して、欠陥探索処理を終了する(ステップST307)。
ここで、他のモジュールブロックに欠陥モジュールが存在するものとすると、応答信号系列fC(fM7)は正常出力値fと等しくならず、欠陥探索処理が続行される。
【0158】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM7)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しくないため、判定部2は、モジュールM1〜M7に欠陥モジュールが含まれると判定する。テスト応答記憶部6は、ステップST306で得られた応答信号系列fC(fM7)を‘fR’として記憶する(ステップST310)。
【0159】
次に、制御部3は‘R=C=7’に設定する(ステップST311)。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、ステップST318に進む。ステップST318において、制御部3は‘Int((L+R)/2)’を演算する。この演算の結果、制御部3は‘C=4’に設定し、モジュールM4を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM4)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM4)と正常出力値fとを比較するが、欠陥のあるモジュールM7が入出力部P6に接続されるため、両者は等しくならない(ステップST307)。
【0160】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM4)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。両者は等しいため、判定部2は、モジュールM1〜M4に欠陥モジュールが含まれていないと判定する。この場合、判定部2は‘C=R’が成立するか否か判定を行うが(ステップST314)、これは成立しないため、ステップST315に進む。
【0161】
ステップST315において、制御部3は、‘L=C=4’に設定する。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST316)、4個であるため、制御部3は‘C=L+1=5’に設定し、モジュールM5を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM5)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM5)と正常出力値fとを比較するが、欠陥のあるモジュールM7が入出力部P6に接続されるため、両者は等しくないと判定する(ステップST307)。
【0162】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM5)とテスト応答記憶部6に記憶された応答信号系列fL(fM4)とを比較する。両者は等しいため、判定部2は、モジュールM4〜M5に欠陥モジュールが含まれていないと判定する。この場合、判定部2は‘C=R’が成立するか否か判定を行うが(ステップST314)、これは成立しないため、ステップST315に進む。
【0163】
ステップST315において、制御部3は、‘L=C=5’に設定する。そして、探索範囲(L〜R)のモジュール数が4個であるか判定し(ステップST312)、4個でないため、制御部3は‘Int((L+R)/2)’を演算する(ステップST318)。この演算の結果、制御部3は‘C=6’に設定し、モジュールM6を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM6)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM6)と正常出力値fとを比較するが、欠陥のあるモジュールM7が入出力部P6に接続されるため、両者は等しくないと判定する(ステップST307)。
【0164】
判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、3個であるため、ステップST319に進む。ステップST319において、応答信号系列fC(fM6)及びfL(fM5)が等しいと判定し、ステップST321において応答信号系列fC(fM6)及びfR(fM7)が等しくないと判定する。これにより、判定部2は、モジュールM7を救済すべき欠陥モジュールとして特定する。
【0165】
(8)モジュール以外に不良がある場合(図21)
【0166】
まず制御部3は‘C=1’に設定し(ステップST301)、モジュールM1を全ての入出力部から切り離す。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM1)を判定部2が取り込む(ステップST302)。判定部2は、取り込んだ応答信号系列fCと、正常出力値記憶部5に記憶される正常出力値fとを比較するが、モジュール以外に不良があるため両者は等しくないと判定する(ステップST303)。テスト応答記憶部6は、ステップST302で得られた応答信号系列fC(fM1)を‘fL’として記憶する(ステップST304)。
【0167】
次に、制御部3は‘L=1’‘C=R=7’に設定し、モジュールM7を全ての入出力部から切り離す(ステップST305)。信号発生部4は、この状態で半導体集積回路1にテストパターンxを入力し、その応答信号系列fC(fM7)を判定部2が取り込む(ステップST306)。判定部2は、取り込んだ応答信号系列fC(fM7)と正常出力値fとを比較するが、モジュール以外に不良があるため両者は等しくならない(ステップST307)。
【0168】
ここで判定部2は、探索範囲(L〜R)のモジュール数が4個以上であるか判定を行い(ステップST308)、4個以上であるため、ステップST309に進む。そして、ステップST306で取り込んだ応答信号系列fC(fM7)と、テスト応答記憶部6に記憶された応答信号系列fL(fM1)とを比較する。この場合、モジュール以外に不良があるため、応答信号系列fC(fM7)とfL(fM1)は等しくなる。そこで判定部2は、‘C=R’が成立しているか判定を行い(ステップST314)、これが成立するため、このモジュールブロックの接続を切替えても欠陥の救済は行えないと判定する。
つまり、全てのモジュールの機能を変更しても半導体集積回路1が正常な応答を出力しない場合、不良の原因は別の部分(欠陥探索処理を行ったモジュールブロック以外の部分)にあると判定することができる。
以上は、図1に示す検査装置におけるモジュールの検査処理についての説明である。
【0169】
次に、上述した検査装置において検査対象とされている半導体集積回路1の製造法について説明する。
【0170】
図22は、本実施形態に係る半導体集積回路の製造方法の一例を示す図である。
【0171】
ステップST101:
半導体基板上に、例えば図4,図6,図7に示すような構成を有する欠陥救済可能な回路を形成する。
【0172】
ステップST102:
ステップST101において形成した回路に含まれるモジュールを、例えば図12,図13に示すような検査方法によって検査し、モジュールの欠陥を特定する。
【0173】
ステップST103:
ステップST102の検査結果に応じて、全ての入出力部から切り離すべき欠陥モジュールを特定し、このモジュールを指示する情報を記憶部70(図6)に書き込む。例えば記憶部70がヒューズによって構成されている場合には、ヒューズを切断する処理が行われる。これにより、欠陥モジュールに割り当てられていた機能が別の正常なモジュールに割り当てられて、欠陥の救済が実現される。
【0174】
以上説明したように、本実施形態によれば、半導体集積回路に含まれるモジュールの全体に割り当てる機能を同一に保ちつつ、その少なくとも一部において個々のモジュールに割り当てる機能を変更するように、半導体集積回路が制御される。そして、モジュールの機能の割り当て変更に応じた半導体集積回路の機能の変化が検出され、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かが判定される。
これにより、半導体集積回路に検査用のパッドや専用の付加回路を設ける必要がなくなり、半導体集積回路のサイズを小さくすることができる。半導体チップの面積が小さくなると、生産性が向上するため、製造コストを削減できる。また、故障の発生確率が小さくなるため、歩留まりを高めることができる。更に、検査用のパッドや専用の付加回路を設ける場合に比べて回路素子が減り、回路内の総配線長が短くなるため、消費電力を削減できる。
【0175】
また、モジュールを1つ1つ分離して検査を行う方法では、モジュールごとに専用のテストパターンを作成しなくてはならないが、本実施形態によれば、半導体集積回路の全体の機能を検査する通常のテストパターンを使用できるため、検査に係わる設計作業の負担を軽減できる。
【0176】
また、モジュールを1つ1つ分離して検査する方法では、半導体集積回路に設けられる分離用の回路に欠陥が生じると全く救済できなくなるため、歩留まりの低下が避けられないが、本実施形態においてはそのような不都合が生じない。
【0177】
更に、本実施形態によれば、半導体集積回路1に含まれるモジュールの全体に割り当てる機能を同一に保ちつつ、欠陥モジュールを含むと判定された一群のモジュールの更に一部において個々のモジュールに割り当てる機能を変更するように半導体集積回路が制御され、この機能の割り当て変更に応じた半導体集積回路の機能の変化に応じて、欠陥のあるモジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかが判定される。
これにより、全モジュールを1つずつ順番に検査する方法に比べて、欠陥モジュールを特定する手順を大幅に簡略化できる。例えばバイナリサーチと同様な手法によって、探索範囲を半分ずつに分割する操作を繰り返せば、極めて効率的に欠陥モジュールを特定できる。
【0178】
また、本実施形態によれば、欠陥モジュールを含むと判定した一群のモジュールが3個に絞られた場合には、当該一群のモジュールに含まれる2つのモジュールの機能が交換されることによる半導体集積回路の機能の変化、並びに、当該一群のモジュールに含まれる残りの1のモジュールの機能と当該2つのモジュールの一方のモジュールの機能とが交換されることによる半導体集積回路の機能の変化が検出される。そして、当該2つの検出結果に応じて、欠陥のあるモジュールが特定される。
これにより、冗長モジュールによる欠陥の救済がそれぞれ可能な複数のモジュールブロックを有する半導体集積回路であっても、その1のモジュールブロック内の欠陥モジュールを容易に特定することが可能である。
【0179】
ここまで、本発明の一実施形態について詳しく説明したが、本発明は上記の形態に限定されるものではなく、複数のバリエーションを含んでいる。
【0180】
半導体集積回路の規模は益々大きくなきているため、出力の応答信号系列は膨大なデータ量になる可能性がある。そこで、本発明の検査装置は、検査対象の半導体集積回路から出力される応答信号系列を圧縮する手段を更に有しても良い。
【0181】
図23は、応答信号系列の圧縮手段を設けた検査装置の構成例を示す図である。図23に示す検査装置は、図1に示す検査装置と同様な構成を有するとともに、半導体集積回路から出力される応答信号系列を圧縮するためのテスト応答圧縮部7を有している。
テスト応答圧縮部7は、半導体集積回路から出力される応答信号系列fをMISR(multiple input signature register)などのデジタル信号の圧縮手段によって圧縮し、圧縮された応答信号系列gCとして判定部2に出力する。
判定部2は、この圧縮された応答信号系列gCの変化に基づいて、半導体集積回路の機能の変化を検出する。
この場合、正常出力値記憶部5には、圧縮された応答信号系列gCの対応する正常出力値gが記憶される。
【0182】
応答信号系列を圧縮して処理することにより、例えば正常出力値記憶部5やテスト応答記憶部6の記憶容量を大幅に削減することが可能になる。
【0183】
上述した実施形態では、冗長な複数のモジュールの接続状態をシフトする構造によってモジュールの機能変更を行う例を挙げているが、本発明はこの例に限定されない。すなわち、各モジュールに割り当てる機能をどのような方式で変更するかは任意である。例えばクロスバー構造によってモジュール同士の接続を変更することにより各モジュールの機能変更を行っても良い。また、各モジュールがプログラム可能な回路である場合には、そのプログラムを変更することにより機能の変更を行っても良い。複数のモジュールが共通のバスを介して通信する場合には、バス上において個々のモジュールを識別するための情報を変更することにより、モジュールの機能変更を行っても良い。
【0184】
上述した実施形態では、入力信号に対応して出力される応答信号に基づいて半導体集積回路の機能の変化を検出しているが、本発明はこれに限定されない。例えば、出力電圧や出力電流の振幅、波形の変化などに基づいて機能の変化を検出しても良い。また、動作スピードの変化や温度、消費電力の変化に基づいて機能の変化を検出しても良い。
【0185】
本発明において検査される回路装置は半導体集積回路に限定されるものではなく、複数の半導体チップによって構成されるSIP(system in package)などの回路装置や、より大きな単位の装置に対しても本発明は適用可能である。
【0186】
上述の実施形態において具体的に示した数値(モジュールの数、入出力部の数、モジュールブロックの数など)は一例であり、適宜任意の数値に変更可能である。
【図面の簡単な説明】
【0187】
【図1】本発明の実施形態に係る半導体集積回路の検査装置の一例を示す図である。
【図2】モジュールの機能変更に伴う半導体集積回路の応答の変化を説明するための第1の図である。
【図3】モジュールの機能変更に伴う半導体集積回路の応答の変化を説明するための第2の図である。
【図4】半導体集積回路の構成例を示す図である。
【図5】半導体集積回路における欠陥救済の一例を示す図である。
【図6】半導体集積回路のより詳細な構成例を示す図である。
【図7】複数のモジュールブロックを有する半導体集積回路の例を示す図である。
【図8】モジュールブロックが複数ある場合の問題点を説明するための図である。
【図9】図1に示す検査装置における欠陥モジュールの特定方法を説明するための第1の図である。
【図10】図1に示す検査装置における欠陥モジュールの特定方法を説明するための第2の図である。
【図11】図9及び図10に示す欠陥モジュールの特定方法を一覧にまとめた図である。
【図12】モジュール検査処理の全体処理の一例を示すフローチャートである。
【図13】図13は、欠陥モジュールの探索処理の一例を示すフローチャートである。
【図14】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第1の図である。
【図15】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第2の図である。
【図16】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第3の図である。
【図17】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第4の図である。
【図18】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第5の図である。
【図19】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第6の図である。
【図20】モジュールに不良がある場合の欠陥探索処理の具体例を図解した第7の図である。
【図21】モジュール以外に不良がある場合における欠陥処理の一例を示す。
【図22】本実施形態に係る半導体集積回路の製造方法の一例を示す図である。
【図23】応答信号系列の圧縮手段を設けた検査装置の構成例を示す図である。
【符号の説明】
【0188】
1…半導体集積回路、2…判定部、3…制御部、4…信号発生部、5…正常出力値記憶部、6…テスト応答記憶部、7…テスト応答圧縮部、50…モジュール選択部、60…制御部、70…記憶部、80…信号入力部、100…一般回路ブロック、M1〜M7…モジュール、P1〜P6…入出力部、SWA1〜SWA6,SWB1〜SWB6…スイッチ回路。
【特許請求の範囲】
【請求項1】
互いに機能を代替可能な複数のモジュールを含み、入力される制御信号に応じて個々のモジュールに割り当てる機能を変更可能な回路装置を検査する検査装置であって、
上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記複数のモジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成する制御部と、
上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する判定部と
を具備する検査装置。
【請求項2】
上記制御部は、上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記判定部において欠陥のあるモジュールを含むと判定された一群のモジュールの更に一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成し、
上記判定部は、上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、欠陥のあるモジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかを判定する、
請求項1に記載の検査装置。
【請求項3】
上記判定部は、欠陥のあるモジュールを含むと判定した一群のモジュールが3個の場合、当該一群のモジュールに含まれる2つのモジュールの機能が上記制御部によって交換されることによる上記回路装置の機能の変化、並びに、当該一群のモジュールに含まれる残りの1のモジュールの機能と当該2つのモジュールの一方のモジュールの機能とが上記制御部によって交換されることによる上記回路装置の機能の変化を検出し、当該検出結果に応じて欠陥のあるモジュールを特定する、
請求項2に記載の検査装置。
【請求項4】
上記回路装置に供給する所定の検査信号を発生する信号発生部を具備し、
上記判定部は、上記検査信号に対する上記回路装置の応答の変化に基づいて上記回路装置の機能の変化を検出する、
請求項1に記載の検査装置。
【請求項5】
上記所定の検査信号に応じて上記回路装置から出力される信号を圧縮する圧縮部を具備し、
上記判定部は、上記圧縮部において圧縮された信号の変化に基づいて上記回路装置の機能の変化を検出する、
請求項4に記載の検査装置。
【請求項6】
互いに機能を代替可能な複数のモジュールを含み、入力される制御信号に応じて個々のモジュールに割り当てる機能を変更可能な回路装置を検査する方法であって、
上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記複数のモジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成する第1の工程と、
上記第1の工程における上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する第2の工程と
を有する検査方法。
【請求項7】
上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記第2の工程において欠陥のあるモジュールを含むと判定された一群のモジュールの更に一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成する第3の工程を有し、
上記第2の工程では、上記第3の工程における上記機能の割り当ての変更に応じた上記回路装置の機能の変化を更に検出し、当該検出結果に応じて、欠陥のあるモジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかを判定する、
請求項6に記載の検査方法。
【請求項8】
上記第2の工程において欠陥のあるモジュールを含むと判定された一群のモジュールが3個の場合、当該一群のモジュールに含まれる2つのモジュールの機能が上記第3の工程において交換されることによる上記回路装置の機能の変化、並びに、当該一群のモジュールに含まれる残りの1のモジュールの機能と当該2つのモジュールの一方のモジュールの機能とが上記第3の工程において交換されることによる上記回路装置の機能の変化を検出し、当該検出結果に応じて欠陥のあるモジュールを特定する第4の工程を有する、
請求項7に記載の検査方法。
【請求項9】
互いに機能を代替可能なN個(Nは2より大きい整数を示す)のモジュールと、
各々が1つのモジュールに少なくとも1つの信号を出力する、及び/又は、各々が当該1つのモジュールにおいて発生する少なくとも1つの信号を入力する(N−1)個の入出力部を有した回路ブロックと、
入力される制御信号に応じて上記N個のモジュールから(N−1)個のモジュールを選択し、当該選択した(N−1)個のモジュールと上記回路ブロックの(N−1)個の入出力部とを1対1に接続するモジュール選択部と、
上記(N−1)個の入出力部から切り離す1のモジュールを指示する信号を入力する信号入力部と、
上記(N−1)個の入出力部から切り離す1のモジュールを指示する情報を記憶可能な記憶部と、
第1の動作モードにおいて、上記信号入力部に入力される信号が指示する1のモジュールを上記(N−1)個の入出力部から切り離すように上記制御信号を生成し、第2の動作モードにおいて、上記記憶部に書き込まれた上記情報が指示する1のモジュールを上記(N−1)個の入出力部から切り離すように上記制御信号を生成する制御部と
を具備する回路を半導体基板上に形成する回路形成工程と、
上記第1の動作モードにおいて上記N個のモジュールの欠陥を検査する検査工程と、
上記検査工程の検査結果に応じて、上記(N−1)個の入出力部から切り離す1のモジュールを決定し、当該1のモジュールを指示する情報を上記記憶部に書き込む書き込み工程と
を有し、
上記検査工程は、
上記N個のモジュールの少なくとも一部において個々のモジュールと入出力部との接続状態を変更するように上記制御信号を生成する第1の工程と、
上記第1の工程における上記接続状態の変更に応じた上記回路の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する第2の工程と
を有する、
回路装置の製造方法。
【請求項10】
上記第2の工程において欠陥のあるモジュールを含むと判定された一群のモジュールの更に一部において個々のモジュールと入出力部との接続状態を変更するように上記制御信号を生成する第3の工程を有し、
上記第2の工程では、上記第3の工程における上記接続状態の変更に応じた上記回路の機能の変化を更に検出し、当該検出結果に応じて、欠陥のあるモジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかを判定する、
請求項9に記載の回路装置の製造方法。
【請求項11】
上記第2の工程において欠陥のあるモジュールを含むと判定された一群のモジュールが3個の場合、当該一群のモジュールに含まれる2つのモジュールの機能が上記第3の工程において交換されることによる上記回路の機能の変化、並びに、当該一群のモジュールに含まれる残りの1のモジュールの機能と当該2つのモジュールの一方のモジュールの機能とが上記第3の工程において交換されることによる上記回路の機能の変化を検出し、当該検出結果に応じて欠陥のあるモジュールを特定する第4の工程を有する、
請求項10に記載の回路装置の製造方法。
【請求項12】
上記回路形成工程では、
第1入出力部から第(N−1)入出力部までの(N−1)個の入出力部と、
第1モジュールから第NモジュールまでのN個のモジュールと、
上記制御信号に応じて第iモジュール(iは1から(N−1)までの整数を示す)又は第(i+1)モジュールの一方を選択し、当該選択したモジュールを第i入出力部に接続する上記モジュール選択部と
を形成し、
上記第1の工程では、第1モジュールを全ての入出力部より切り離した状態と、第Nモジュールを全ての入出力部より切り離した状態とを切替えるように上記制御信号を生成し、
上記第2の工程では、上記第1の工程における接続状態の切替えに応じて上記回路の機能が変化する場合、上記N個のモジュールに欠陥のあるモジュールが含まれると判定し、
上記第3の工程では、上記第2の工程において欠陥のあるモジュールを含むと判定された第pモジュール(pは1から(N−1)までの整数を示す)乃至第qモジュール(qは(p+1)からNまでの整数を示す)の中から第rモジュール(rはpからqまでの整数を示す)を選択し、当該第rモジュールを全ての入出力部から切り離すように上記制御信号を生成し、
上記第2の工程では、第pモジュールを全ての入出力部より切り離した状態と第rモジュールを全ての入出力部より切り離した状態との切替えに応じた上記回路の機能の変化、及び/又は、第qモジュールを全ての入出力部より切り離した状態と第rモジュールを全ての入出力部より切り離した状態との切替えに応じた上記回路の機能の変化を検出し、当該検出結果に基づいて、第pモジュール乃至第rモジュール若しくは第(r+1)モジュール乃至第qモジュールの何れに欠陥のあるモジュールが含まれるか、又は、第pモジュール乃至第(r−1)モジュール若しくは第rモジュール乃至第qモジュールの何れに欠陥のあるモジュールが含まれるかを判定する、
請求項9に記載の回路装置の製造方法。
【請求項13】
上記第2の工程において欠陥のあるモジュールを含むと判定された一群のモジュールが3個の場合、第qモジュールを全ての入出力部より切り離した状態と第rモジュールを全ての入出力部より切り離した状態との切替えに応じた上記回路の機能の変化、並びに、第qモジュールを全ての入出力部より切り離した状態と第rモジュールを全ての入出力部より切り離した状態との切替えに応じた上記回路の機能の変化を検出し、当該検出結果に応じて欠陥のあるモジュールを特定する第4の工程を有する、
請求項12に記載の回路装置の製造方法。
【請求項1】
互いに機能を代替可能な複数のモジュールを含み、入力される制御信号に応じて個々のモジュールに割り当てる機能を変更可能な回路装置を検査する検査装置であって、
上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記複数のモジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成する制御部と、
上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する判定部と
を具備する検査装置。
【請求項2】
上記制御部は、上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記判定部において欠陥のあるモジュールを含むと判定された一群のモジュールの更に一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成し、
上記判定部は、上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、欠陥のあるモジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかを判定する、
請求項1に記載の検査装置。
【請求項3】
上記判定部は、欠陥のあるモジュールを含むと判定した一群のモジュールが3個の場合、当該一群のモジュールに含まれる2つのモジュールの機能が上記制御部によって交換されることによる上記回路装置の機能の変化、並びに、当該一群のモジュールに含まれる残りの1のモジュールの機能と当該2つのモジュールの一方のモジュールの機能とが上記制御部によって交換されることによる上記回路装置の機能の変化を検出し、当該検出結果に応じて欠陥のあるモジュールを特定する、
請求項2に記載の検査装置。
【請求項4】
上記回路装置に供給する所定の検査信号を発生する信号発生部を具備し、
上記判定部は、上記検査信号に対する上記回路装置の応答の変化に基づいて上記回路装置の機能の変化を検出する、
請求項1に記載の検査装置。
【請求項5】
上記所定の検査信号に応じて上記回路装置から出力される信号を圧縮する圧縮部を具備し、
上記判定部は、上記圧縮部において圧縮された信号の変化に基づいて上記回路装置の機能の変化を検出する、
請求項4に記載の検査装置。
【請求項6】
互いに機能を代替可能な複数のモジュールを含み、入力される制御信号に応じて個々のモジュールに割り当てる機能を変更可能な回路装置を検査する方法であって、
上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記複数のモジュールの少なくとも一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成する第1の工程と、
上記第1の工程における上記機能の割り当ての変更に応じた上記回路装置の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する第2の工程と
を有する検査方法。
【請求項7】
上記複数のモジュールの全体に割り当てる機能を同一に保ちつつ、上記第2の工程において欠陥のあるモジュールを含むと判定された一群のモジュールの更に一部において個々のモジュールに割り当てる機能を変更するように上記制御信号を生成する第3の工程を有し、
上記第2の工程では、上記第3の工程における上記機能の割り当ての変更に応じた上記回路装置の機能の変化を更に検出し、当該検出結果に応じて、欠陥のあるモジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかを判定する、
請求項6に記載の検査方法。
【請求項8】
上記第2の工程において欠陥のあるモジュールを含むと判定された一群のモジュールが3個の場合、当該一群のモジュールに含まれる2つのモジュールの機能が上記第3の工程において交換されることによる上記回路装置の機能の変化、並びに、当該一群のモジュールに含まれる残りの1のモジュールの機能と当該2つのモジュールの一方のモジュールの機能とが上記第3の工程において交換されることによる上記回路装置の機能の変化を検出し、当該検出結果に応じて欠陥のあるモジュールを特定する第4の工程を有する、
請求項7に記載の検査方法。
【請求項9】
互いに機能を代替可能なN個(Nは2より大きい整数を示す)のモジュールと、
各々が1つのモジュールに少なくとも1つの信号を出力する、及び/又は、各々が当該1つのモジュールにおいて発生する少なくとも1つの信号を入力する(N−1)個の入出力部を有した回路ブロックと、
入力される制御信号に応じて上記N個のモジュールから(N−1)個のモジュールを選択し、当該選択した(N−1)個のモジュールと上記回路ブロックの(N−1)個の入出力部とを1対1に接続するモジュール選択部と、
上記(N−1)個の入出力部から切り離す1のモジュールを指示する信号を入力する信号入力部と、
上記(N−1)個の入出力部から切り離す1のモジュールを指示する情報を記憶可能な記憶部と、
第1の動作モードにおいて、上記信号入力部に入力される信号が指示する1のモジュールを上記(N−1)個の入出力部から切り離すように上記制御信号を生成し、第2の動作モードにおいて、上記記憶部に書き込まれた上記情報が指示する1のモジュールを上記(N−1)個の入出力部から切り離すように上記制御信号を生成する制御部と
を具備する回路を半導体基板上に形成する回路形成工程と、
上記第1の動作モードにおいて上記N個のモジュールの欠陥を検査する検査工程と、
上記検査工程の検査結果に応じて、上記(N−1)個の入出力部から切り離す1のモジュールを決定し、当該1のモジュールを指示する情報を上記記憶部に書き込む書き込み工程と
を有し、
上記検査工程は、
上記N個のモジュールの少なくとも一部において個々のモジュールと入出力部との接続状態を変更するように上記制御信号を生成する第1の工程と、
上記第1の工程における上記接続状態の変更に応じた上記回路の機能の変化を検出し、当該検出結果に応じて、上記少なくとも一部のモジュールに欠陥のあるモジュールが含まれるか否かを判定する第2の工程と
を有する、
回路装置の製造方法。
【請求項10】
上記第2の工程において欠陥のあるモジュールを含むと判定された一群のモジュールの更に一部において個々のモジュールと入出力部との接続状態を変更するように上記制御信号を生成する第3の工程を有し、
上記第2の工程では、上記第3の工程における上記接続状態の変更に応じた上記回路の機能の変化を更に検出し、当該検出結果に応じて、欠陥のあるモジュールが上記一群のモジュールの上記一部に含まれるか、又は、上記一群のモジュールの他の部分に含まれるかを判定する、
請求項9に記載の回路装置の製造方法。
【請求項11】
上記第2の工程において欠陥のあるモジュールを含むと判定された一群のモジュールが3個の場合、当該一群のモジュールに含まれる2つのモジュールの機能が上記第3の工程において交換されることによる上記回路の機能の変化、並びに、当該一群のモジュールに含まれる残りの1のモジュールの機能と当該2つのモジュールの一方のモジュールの機能とが上記第3の工程において交換されることによる上記回路の機能の変化を検出し、当該検出結果に応じて欠陥のあるモジュールを特定する第4の工程を有する、
請求項10に記載の回路装置の製造方法。
【請求項12】
上記回路形成工程では、
第1入出力部から第(N−1)入出力部までの(N−1)個の入出力部と、
第1モジュールから第NモジュールまでのN個のモジュールと、
上記制御信号に応じて第iモジュール(iは1から(N−1)までの整数を示す)又は第(i+1)モジュールの一方を選択し、当該選択したモジュールを第i入出力部に接続する上記モジュール選択部と
を形成し、
上記第1の工程では、第1モジュールを全ての入出力部より切り離した状態と、第Nモジュールを全ての入出力部より切り離した状態とを切替えるように上記制御信号を生成し、
上記第2の工程では、上記第1の工程における接続状態の切替えに応じて上記回路の機能が変化する場合、上記N個のモジュールに欠陥のあるモジュールが含まれると判定し、
上記第3の工程では、上記第2の工程において欠陥のあるモジュールを含むと判定された第pモジュール(pは1から(N−1)までの整数を示す)乃至第qモジュール(qは(p+1)からNまでの整数を示す)の中から第rモジュール(rはpからqまでの整数を示す)を選択し、当該第rモジュールを全ての入出力部から切り離すように上記制御信号を生成し、
上記第2の工程では、第pモジュールを全ての入出力部より切り離した状態と第rモジュールを全ての入出力部より切り離した状態との切替えに応じた上記回路の機能の変化、及び/又は、第qモジュールを全ての入出力部より切り離した状態と第rモジュールを全ての入出力部より切り離した状態との切替えに応じた上記回路の機能の変化を検出し、当該検出結果に基づいて、第pモジュール乃至第rモジュール若しくは第(r+1)モジュール乃至第qモジュールの何れに欠陥のあるモジュールが含まれるか、又は、第pモジュール乃至第(r−1)モジュール若しくは第rモジュール乃至第qモジュールの何れに欠陥のあるモジュールが含まれるかを判定する、
請求項9に記載の回路装置の製造方法。
【請求項13】
上記第2の工程において欠陥のあるモジュールを含むと判定された一群のモジュールが3個の場合、第qモジュールを全ての入出力部より切り離した状態と第rモジュールを全ての入出力部より切り離した状態との切替えに応じた上記回路の機能の変化、並びに、第qモジュールを全ての入出力部より切り離した状態と第rモジュールを全ての入出力部より切り離した状態との切替えに応じた上記回路の機能の変化を検出し、当該検出結果に応じて欠陥のあるモジュールを特定する第4の工程を有する、
請求項12に記載の回路装置の製造方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2007−101395(P2007−101395A)
【公開日】平成19年4月19日(2007.4.19)
【国際特許分類】
【出願番号】特願2005−292421(P2005−292421)
【出願日】平成17年10月5日(2005.10.5)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成19年4月19日(2007.4.19)
【国際特許分類】
【出願日】平成17年10月5日(2005.10.5)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]