JP2017072542A - 発光解析装置および故障箇所特定方法 - Google Patents
発光解析装置および故障箇所特定方法 Download PDFInfo
- Publication number
- JP2017072542A JP2017072542A JP2015201050A JP2015201050A JP2017072542A JP 2017072542 A JP2017072542 A JP 2017072542A JP 2015201050 A JP2015201050 A JP 2015201050A JP 2015201050 A JP2015201050 A JP 2015201050A JP 2017072542 A JP2017072542 A JP 2017072542A
- Authority
- JP
- Japan
- Prior art keywords
- test pattern
- pattern
- test
- emission analysis
- state value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Tests Of Electronic Circuits (AREA)
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
Abstract
【課題】検出感度の向上を図ることが可能な発光解析装置を提供する。【解決手段】発光解析装置1は、テストパタンを論理回路に供給するように、直列的に接続され、スキャンチェインを構成する複数のフリップフロップ回路を備えた半導体装置の解析に用いられる。発光解析装置1は、スキャンチェインの長さよりも短く、論理回路における所定ネットを遷移動作させることが可能なテストパタンを生成するテストパタン生成装置3003と、テストパタン生成装置3003により生成されたテストパタンを、周期的に、スキャンチェインに印加するテスト装置3001と、を備える。周期的に印加された、スキャンチェインの長さよりも短いテストパタンに応じた、半導体装置からの光が発光解析装置1によって解析される。【選択図】図3
Description
本発明は、発光解析装置および故障箇所特定方法に関し、特に論理回路を備えた半導体装置における故障箇所を特定することが可能な発光解析装置および故障箇所特定方法に関する。
半導体装置の故障箇所を特定する技術として、例えば、テストパタンによって動作している半導体装置に、レーザ光を照射し、半導体装置からの反射光を用いて解析する発光解析の技術がある。このような発光解析の技術としては、例えばLVP(Laser Voltage Probing)、LVI(Laser Voltage Imaging)、EOP(Electro Optical Probing)、EOFM(Electro Optical Frequency Mapping)、エミッション顕微鏡等が知られている。
例えば、特許文献1には、LVIを用いた発光解析装置が記載されている。
LVIを用いた発光解析装置の概要を、特許文献1の図2を用いて説明すると次の通りである。なお、ここでの説明において、()内の符号は、特許文献1の図2における符号を示している。テストパタン(242)を、繰り返し(ループ状)、半導体装置(260)に印加し、半導体装置(260)がテストパタンに従ってループ状に動作しているとき、レーザ光(204)を半導体装置(260)へ照射する。半導体装置(260)からの反射光が光検出器(236)で検出される。光検出器(236)からの検出信号において、テストパタンの繰り返し周期(ループ周期)に相当する周波数成分の振幅(244参照)を求める。レーザ光の照射位置を変更しながら、上記した検出を繰り返すことにより、検出した振幅により2次元のマップを表示する。
レーザが照射された位置における反射光の強度は、光電効果の作用により、照射位置に配置されているトランジスタのオン/オフによって変化する。これにより、表示された2次元マップを参照することにより、テストパタンと同じ周期で動作しているトランジスタの位置を特定することが可能となる。また、故障が発生していない場合と、故障が発生している場合とで、表示される2次元マップの形が異なることになる。そのため、故障が発生していない場合の2次元マップとの差を特定することにより、故障箇所を特定することができる。
しかしながら、LVIを用いた発光解析装置では、スキャンチェイン、クロックツリーのような、半導体装置の外部から制御が容易な回路に対しては、解析が得意であるが、組み合わせ論理回路等により構成された論理回路については、解析が困難であるという課題がある。これは、LVIを用いた発光解析装置では、回路に印加されるテストパタンのループ周期が長いと、検出感度が低下し、解析が困難になるためである。
論理回路のテストは、スキャンテストにより実施される。スキャンテストの場合には、多数のフリップフロップ回路が直列的(シリーズ)に接続され、スキャンチェインが構成される。すなわち、多数のフリップフロップ回路によって、長大なシフトレジスタが構成され、テストパタンのテスト値が、シフトレジスタ段(フリップフロップ回路)を順次シフトしながら、セットされる。そのため、テストパタンのテスト値を、所望のシフトレジスタ段にセットするまでに、時間が掛かり、テスト時間が長くなる。一例を述べると、テスト時間は、最低でも、シフトレジスタ長(シフトレジスタ段の段数)と、シフトに要する時間(シフトクロック信号の周期)との積に相当する時間となり、例えば数十マイクロ秒以上を要することになる。そのため、テストパタンを、半導体装置にループ状に印加する場合も、その周期(ループ周期)は、上記したテスト時間と同程度の長い時間となる。
テストパタンのループ周期が長いと、テスト時間が長くなるばかりでなく、検出感度も低下する。LVIを用いた発光解析装置では、複数回の測定結果を平均化することにより、ノイズを除去し、検出感度の向上を図ることが行われる。実用的なテスト時間で測定を完了させるためには、平均化の回数を減少させることが要求される。平均化の回数を減少させると、その結果として検出感度が低下することになる。
また、長いループ周期で、テストパタンを印加するようにした場合、ループ周期に対応する周波数成分以外に、様々な周波数成分が、検出信号に混入することになる。例えば、長いループ周期の時間内において、論理回路は、シフトレジスタ段からの信号を受ける。そのため、長いループ期間において、論理回路では、多くの遷移動作が発生する。遷移動作が多く発生することにより、長いループ期間において、論理回路の電流が変化することになり、電流変化に伴って様々な周波数成分が発生し、検出信号に混入することになる。様々な周波数成分は、ループ周期に相当する周波数成分に対して、ノイズとなり、ノイズとの分別が困難となってしまい、ループ周期に相当する周波数成分を検出することが困難になってしまう。その結果、検出感度が低下することになる。
なお、スキャンテストの場合、スキャンチェインを構成するフリップフロップ回路のそれぞれは、例えば数MHz以上の高いシフトクロック信号に従って変化する。スキャンチェインの場合、フリップフロップ回路のループ周期が、シフトクロック信号の周期に相当し、短いループ周期となる。その結果、LVIを用いた発光解析装置は、スキャンチェインの解析に適している。同様に、クロックツリーにおいても、数MHz以上の高い周波数で、同期的に動作するため、LVIを用いた発光解析装置が、その解析に適している。
すなわち、LVIを用いた発光解析装置は、外部制御が容易であり、数MHz以上の高い周波数で同期動作するようなスキャンチェイン、クロックツリーにおいて、故障箇所を特定するのに適しているが、論理回路における故障箇所の特定には適していなかった。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態による発光解析装置は、論理回路と、論理回路のテストのとき、テストパタンを論理回路に供給するように、直列的に接続され、スキャンチェインを構成する複数のフリップフロップ回路とを備えた半導体装置の解析に用いられる。ここで、発光解析装置は、スキャンチェインの長さよりも短く、論理回路における所定ネット(所定位置または所定ノード)を遷移動作させることが可能なテストパタンを生成するテストパタン生成装置と、テストパタン生成装置により生成されたテストパタンを、周期的に繰り返し、スキャンチェインに印加するテスト装置を備えている。スキャンチェインの長さよりも短いテストパタンが、周期的に印加されることにより、短いテストパタンに応じた光が、発光解析装置によって解析されることになる。
短いテストパタンが周期的に印加されるため、ループ周期が短くなる。ループ周期が短くなるため、このループ期間において発生する遷移動作を減らすことが可能となる。その結果、ループ周期に相当する周波数成分以外の周波数成分が発生するのを低減することが可能となる。また、ループ周期が短くなるため、1回のテスト時間が短くなり、平均化の回数を低減しなくても、テスト時間を短くすることが可能となる。これにより、検出感度を向上させることが可能となる。
また、一実施の形態による故障箇所特定方法は、論理回路と、論理回路のテストのとき、テストパタンを論理回路に供給するように、直列的に接続され、スキャンチェインを構成する複数のフリップフロップ回路とを備えた半導体装置における故障箇所を特定するのに用いられる。ここで、故障箇所特定方法は、スキャンチェインの長さよりも短く、論理回路における所定ネットを遷移動作させることが可能なテストパタンを生成するテストパタン生成工程と、テストパタン生成装置により生成されたテストパタンを、周期的に繰り返し、スキャンチェインに印加するテストパタン印加工程を備える。
スキャンチェインの長さよりも短いテストパタンが、周期的に印加されるため、短いテストパタンに応じた光に基づいて所定ネットにおける故障が特定される。
短いテストパタンが、周期的に印加されるため、ループ周期が短くなり、検出感度の向上を図ることが可能になる。
一実施の形態によれば、検出感度の向上を図ることが可能な発光解析装置および故障箇所特定方法を提供することができる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部分には原則として同一の符号を付し、その繰り返しの説明は、原則として省略する。
また、本明細書においては、LVIを用いた発光解析装置を例にして説明するが、これに限定されるものはなく、上記したLVP、EOP、EOFM、エミッション顕微鏡等を用いた発光解析装置であってもよい。
(実施の形態1)
<発光解析装置の概要>
図1は、実施の形態1に係わる発光解析装置の概要を示すブロック図である。図1において、1は、発光解析装置を示している。発光解析装置1は、被テスト装置である半導体装置1000に、テストパタンを、周期的に繰り返し印加し、テストパタンに従って半導体装置1000が動作している状態で、レーザ光を照射し、半導体装置1000からの反射光を解析する。反射光を解析することにより、半導体装置1000における故障の有無または/および故障箇所の特定が行われる。同図では、説明のために、発光解析装置1に、被テスト装置である半導体装置1000が含まれているように、描かれているが、半導体装置1000は、被テスト装置を替えるために、適時取り替えられる。
<発光解析装置の概要>
図1は、実施の形態1に係わる発光解析装置の概要を示すブロック図である。図1において、1は、発光解析装置を示している。発光解析装置1は、被テスト装置である半導体装置1000に、テストパタンを、周期的に繰り返し印加し、テストパタンに従って半導体装置1000が動作している状態で、レーザ光を照射し、半導体装置1000からの反射光を解析する。反射光を解析することにより、半導体装置1000における故障の有無または/および故障箇所の特定が行われる。同図では、説明のために、発光解析装置1に、被テスト装置である半導体装置1000が含まれているように、描かれているが、半導体装置1000は、被テスト装置を替えるために、適時取り替えられる。
発光解析装置1は、レーザ光1007を発光するレーザ光源1003、レーザ光学系1001、半導体装置1000が装着されるホルダー1002、光検出器1004、スペクトルアナライザ1005およびコンピュータ1006を備えている。レーザ光源1003によって発光されたレーザ光1007は、レーザ光学系1001へ入射される。レーザ光学系1001は、コンピュータ1006からの制御信号1012に従って、入射したレーザ光1007を調整し、レーザ光1008として、ホルダー1002に装着された半導体装置1000に照射される。
図1では、制御信号1012が1個の信号として示されているが、制御信号1012は複数の制御信号を含んでいる。例えば、制御信号1012は、レーザ光1008が照射されるべき、半導体装置1000上の位置を指定する制御信号等を含んでいる。レーザ光学系1001は、位置を指定する制御信号に従って、入射したレーザ光1007を調整(偏光)して、偏光されたレーザ光1008が、指定された半導体装置1000の位置に照射されるようにする。また、レーザ光学系1001は、半導体装置1000からのレーザ光、すなわち反射光1009(破線)を、検出光1010として、光検出器1004へ伝達する。
光検出器1004は、伝達された検出光1010を、電気信号に変換し、検出信号1011として、スペクトルアナライザ1005およびコンピュータ1006へ供給する。図1には、検出信号1011をスペクトルアナライザ1005によって解析したときの結果が、スペクトルアナライザ1005のブロックの下側に、一例として模式的に波形DPとして描かれている。波形DPの横軸は周波数であり、縦軸はパワーを示している。図1では、テストパタンの周期に相当する周波数成分f0においてパワーPが強くなっている波形DPが描かれている。
コンピュータ1006は、レーザ光1008が半導体装置1000の主面において、所定の領域をスキャンするように、レーザ光学系1001を制御する。また、レーザ光1008を照射した領域からの反射光1009に対応する検出信号1011において、テストパタンの周期に相当する周波数成分f0のパワー(振幅)を求める。レーザ光1008が、所定の領域をスキャンすることにより、所定の領域における周波数成分f0のパワーが求められることになる。コンピュータ1006は、求めたパワーによって、2次元的なマップを作成する。また、コンピュータ1006は、短周期テストパタン1013(破線)を生成し、周期的に繰り返し半導体装置1000へ印加する。すなわち、短周期テストパタン1013が、繰り返し半導体装置1000へ印加されることになる。繰り返し印加されるため、この短周期が、テストパタンのループ周期となる。
<半導体装置の構成>
図2は、半導体装置1000の一例を示すブロック図である。半導体装置1000は、複数の回路ブロックが含まれているが、図2には、複数の回路ブロックのうち論理回路LGCに関係する回路ブロックのみが描かれており、他の回路ブロックは省略されている。論理回路LGCは、例えば互いに組み合わされた複数の論理回路を備えており、図示しない他の回路ブロックからの入力信号I1〜Ipを受けて、これらの入力信号I1〜Ipを基にした所定の動作を行い、出力信号を形成する。
図2は、半導体装置1000の一例を示すブロック図である。半導体装置1000は、複数の回路ブロックが含まれているが、図2には、複数の回路ブロックのうち論理回路LGCに関係する回路ブロックのみが描かれており、他の回路ブロックは省略されている。論理回路LGCは、例えば互いに組み合わされた複数の論理回路を備えており、図示しない他の回路ブロックからの入力信号I1〜Ipを受けて、これらの入力信号I1〜Ipを基にした所定の動作を行い、出力信号を形成する。
図2において、SFF1〜SFFpは、フリップフロップ回路を示している。フリップフロップ回路SFF1〜SFFpのそれぞれは、通常動作のときには、入力信号I1〜Ipを受け、論理回路LGCへ供給する。
これに対して、スキャンテストの際には、フリップフロップ回路SFF1〜SFFpは、互いに直列的に接続され、スキャンチェインSCNを構成する。この場合、スキャンチェインSCNは、フリップフロップ回路SFF1〜SFFpのそれぞれをシフトレジスタ段とし、シフトクロック信号SCLKに同期して動作するシフトレジスタと見なすことができる。スキャンテストにおいては、スキャンチェインSCNに、テストパタンが供給され、シフトクロック信号SCLKの変化に同期して、テストパタンのテスト値は、順次スキャンチェインをシフト(移動)する。また、スキャンチェインSCNを構成するフリップフロップ回路(シフトレジスタ段)SFF1〜SFFpのそれぞれから、論理回路LGCへ、テストパタンのテスト値が供給される。テスト値をシフトすると言う観点で見た場合、シフトクロック信号SCLKは、スキャンクロック信号と見なすことができる。
図2に示したフリップフロップ回路SFFp、SFFp−1を例にして説明すると、スキャンテストの際には、フリップフロップ回路SFFpにテストパタンが供給される。シフトクロック信号SCLKが変化することにより、フリップフロップ回路SFFpにテストパタンのテスト値が取り込まれる。フリップフロップ回路SFFpに取り込まれたテストパタンのテスト値は、入力信号Ipとして論理回路LGCに供給される。また、フリップフロップ回路SFFp−1は、シフトクロック信号SCLKが変化することにより、前段のフリップフロップ回路SFFpからのテスト値を取り込む。取り込んだテスト値が、フリップフロップ回路SFFp−1から、入力信号Ip−1として、論理回路LGCへ供給される。残りのフリップフロップ回路SFF1〜SFFp−2においても、フリップフロップ回路SFFp、SFFp−1と同様に動作する。
これにより、スキャンテストの際には、スキャンチェインSCNのそれぞれのシフトレジスタ段から、テストパタンのテスト値が論理回路LGCに供給されることになる。その結果、論理回路LGCは、スキャンチェインSCNに印加されたテストパタンに従って動作することになる。また、テストパタンに従って動作することにより形成された論理回路LGCの出力信号は、例えば、フリップフロップ回路SFF1〜SFFiによって構成されたスキャンチェインに取り込まれ、順次、半導体装置1000の外部へ出力される。すなわち、この場合には、フリップフロップ回路SFF1〜SFFiが互いに直列的に接続され、スキャンチェインが構成される。構成されたスキャンチェインのそれぞれのシフトレジスタ段に、論理回路LGCの出力信号が取り込まれる。取り込まれた出力信号は、シフトクロック信号SCLKの変化に同期して、スキャンチェインをシフトし、フリップフロップ回路SFF1から、順次出力されることになる。
<発光解析装置の構成>
図3は、実施の形態1に係わる発光解析装置1の構成を示すブロック図である。図3において、3000はテストパタン記憶装置、3001はテスト装置、3002は故障診断装置、3003はテストパタン生成装置(以下、短周期テストパタン生成装置とも称する)、3004は故障解析装置を示している。
図3は、実施の形態1に係わる発光解析装置1の構成を示すブロック図である。図3において、3000はテストパタン記憶装置、3001はテスト装置、3002は故障診断装置、3003はテストパタン生成装置(以下、短周期テストパタン生成装置とも称する)、3004は故障解析装置を示している。
ここで、図1で示した発光解析装置1と図3で示している発光解析装置1との対応を述べておく。故障解析装置3004は、図1で述べたレーザ光学系1001、レーザ光源1003および光検出器1004によって構成されている。また、テストパタン記憶装置3000、テスト装置3001、故障診断装置3002および短周期テストパタン生成装置3003は、図1で述べたコンピュータ1006によって構成されている。テストパタン記憶装置3000としては、コンピュータ1006が備えている記憶装置(図示しない)が用いられ、テスト装置3001、故障診断装置3002および短周期テストパタン生成装置3003は、コンピュータ1006が、ソフトウェアを実行することによって、達成される。勿論、これらの装置をコンピュータ1006のソフトウェアによって実現するのではなく、テスト装置3001、故障診断装置3002および短周期テストパタン生成装置3003の全てまたは一部を、装置として構成してもよい。
テスト装置3001は、テストパタン記憶装置3000に予め格納されているスキャンテストパタンを用いて、半導体装置1000のテストを実施し、フェイルログを生成する。このときのスキャンテストパタンは、例えば標準テスト記述言語(STIL)で記述されたものであり、例えばATPG(Automatic Test Pattern Generator)ツールを用いて予め生成され、テストパタン記憶装置3000に格納されている。STILおよびATPGツールは、周知であるため、説明は省略する。
故障診断装置3002は、テスト装置3001から出力されたフェイルログと、テストパタン記憶装置3000からのスキャンテストパタンとに基づいて、ソフトウェアにより、半導体装置1000において故障が発生している故障箇所の推定を行い、推定した故障箇所に対応する故障候補ネットを出力する。すなわち、半導体装置1000において故障が発生している場合には、テスト装置3001と故障診断装置3002によって、半導体装置1000における故障箇所の推定が、予め行われ、推定した故障箇所に対応する故障候補ネットが提供されることになる。
短周期テストパタン生成装置3003は、SFF抽出部3010、状態値0/1パタン生成部3011および短周期テストパタン合成部3012を備えている。SFF抽出部3010、状態値0/1パタン生成部3011および短周期テストパタン合成部3012については、後で説明するので、ここでは詳しい説明を省略する。短周期テストパタン生成装置3003には、故障診断装置3002から、故障候補ネットが提供される。短周期テストパタン生成装置3003は、故障候補ネットに対する短周期テストパタンを生成する。この短周期テストパタンは、周期的に繰り返し、半導体装置1000に印加される。短周期テストパタン生成装置3003は、短周期テストパタンを、繰り返し故障候補ネットに印加したとき、故障候補ネットにおいて、短周期で遷移動作が繰り返し発生するように生成する。また、故障候補ネットが複数ある場合、短周期テストパタン生成装置3003は、それぞれの故障候補ネットに対応した短周期テストパタンを生成する。この場合も、それぞれの故障候補ネットに対応した短周期テストパタンは、周期的に繰り返し、半導体装置1000に印加される。
短周期テストパタン生成装置3003において生成された短周期テストパタンは、STILで記述され、テストパタン記憶装置3000に格納される。
テストパタン記憶装置3000に格納された短周期テストパタンは、故障解析装置3004へ供給される。すなわち、テストパタン記憶装置3000に格納された短周期テストパタンが、図1に示した短周期テストパタン1013として、半導体装置1000に印加される。
その結果、半導体装置1000は、繰り返し印加される短周期テストパタンに従って動作することになる。故障推定ネットに対応する故障箇所にレーザ光1008(図1)が照射され、その反射光1009が、光検出器1004によって検出信号1011に変換され、コンピュータ1006およびスペクトルアナライザ1005に供給される。
コンピュータ1006は、検出信号1011における短周期テストパタンの周期(ループ周期)に相当する周波数成分f0(図1)の振幅(パワー)を基にして、2次元マップを生成する。これにより、半導体装置1000に故障が発生している場合、故障箇所と推定した領域に対応する発光解析が行われる。例えば、故障箇所と推定した領域に対して、故障が発生していない場合の2次元マップと、比較することにより、故障箇所を特定することが可能となる。
予め故障箇所を推定するために、テスト装置3001において、スキャンテストパタンを用いてテストを実施する例を説明したが、これに限定されるものではない。例えば、テスト装置3001において、スキャンテストパタンの代わりにファンクションテストパタンを用いて、半導体装置1000のテストを実施するようにしてもよい。この場合、故障診断装置3002は、ファンクションテストの結果から故障箇所を推定することになる。すなわち、ファンクションテストパタンは、半導体装置1000が有する様々な機能が正しく動作しているかを、個々に確認するテストパタンである。そのため、ファンクションテストパタンを用いてテストした結果であるフェイルログと、ファンクションテストパタンの動作を記述したテストベンチとを照合することで、故障箇所を推定することが可能となり、推定した故障箇所に対応した故障推定ネットを提供することが可能となる。
このように、予め故障箇所を推定することにより、半導体装置1000において、発光解析を実施する領域を制限することが可能となり、半導体装置1000の全領域を、発光解析する場合に比べて、故障箇所特定の効率化を図ることが可能となる。
<短周期テストパタン生成装置>
次に、短周期テストパタン生成装置3003を説明する。図4(A)は、図2で示した論路回路LGCおよびスキャンチェインSCNの一部を示すブロック図である。図4(A)には、スキャンチェインSCNを構成する複数のフリップフロップ回路SFF1〜SFFpのうち、3個のフリップフロップ回路SFFn〜SFFn+2が示されている。テストパタンのテスト値は、同図において、下側から上側に向かってシフトする(シフト方向と記載)。
次に、短周期テストパタン生成装置3003を説明する。図4(A)は、図2で示した論路回路LGCおよびスキャンチェインSCNの一部を示すブロック図である。図4(A)には、スキャンチェインSCNを構成する複数のフリップフロップ回路SFF1〜SFFpのうち、3個のフリップフロップ回路SFFn〜SFFn+2が示されている。テストパタンのテスト値は、同図において、下側から上側に向かってシフトする(シフト方向と記載)。
また、論理回路LGCは、複数の論理回路を備えているが、図4(A)には、3個のフリップフロップ回路SFFn〜SFFn+2に対応する排他的論理和回路XOR1、XOR2、アンド回路ANDおよびセレクタSELが示されている。また、図4(A)において、セレクタSELの出力Qに付された符号Aは、故障候補ネットを示しており、符号Xは、セレクタSELの入力D0に供給される他の論理回路(図示しない)からの出力を示している。故障候補ネットAの状態値(論理値)は、セレクタSELの入力D0に入力される論理値によっても変化するが、ここでは、説明を容易にするために、セレクタSELの入力D1と選択端子Sに供給される論理値についてのみ説明する。
フリップフロップ回路SFFn+2とSFFn+1の出力が排他的論理和回路XOR1に入力され、フリップフロップ回路SFFnとSFFn+2の出力が排他的論理和回路XOR2に入力されている。また、排他的論理和回路XOR1、XOR2のそれぞれの出力は、アンド回路ANDに入力され、アンド回路ANDの出力が、セレクタSELの選択端子Sに供給されている。さらに、フリップフロップ回路SFFnの出力が、セレクタSELの入力D1に接続されている。
図4(A)では、省略されているが、フリップフロップ回路SFFn〜SFFn+2のそれぞれには、通常動作のとき、入力信号In〜In+2が供給され、通常動作のときには、入力信号In〜In+2が、フリップフロップ回路SFFn〜SFFn+2の出力となる。一方、スキャンテストのときには、テストパタンのテスト値が、フリップフロップ回路SFFn〜SFFn+2の出力となる。
次に、故障候補ネットAに対応した短周期テストパタンの生成方法を説明する。先ず、SFF(フリップフロップ回路)抽出部3010(図3)は、故障診断装置3002から故障候補ネットAが提供される。SFF抽出部3010は、提供された故障候補ネットAから、回路を入力方向にトレースする。すなわち、故障候補ネットAの状態値を定める回路の入力を順次トレースする。この例では、セレクタSELの入力D1、アンド回路ANDの入力、排他的論理和回路XOR1、XOR2の入力の順にトレースし、故障候補ネットAの入力側に存在するスキャンチェインのフリップフロップ回路を、複数のフリップフロップSFF1〜SFFpから抽出する。図4(A)の例では、SFF抽出部3010によって、複数のフリップフロップ回路SFF1〜SFFpからフリップフロップ回路SFFn〜SFFn+2が、抽出されることになる。抽出されたフリップフロップ回路FFn〜SFFn+2と、故障候補ネットAが、状態値0/1パタン生成部3011(図3)へ提供される。
次に、状態値0/1パタン生成部3011は、フリップフロップ回路FFn〜FFn+2のそれぞれのテスト値(論理値)と、故障候補ネットAの状態値との対応関係を生成する。対応関係は、例えば図4(B)に示すような真理値表として生成する。図4(A)に示した例では、故障候補ネットAが、状態値(論理値)0となるのは、フリップフロップ回路SFFn〜SFFn+2のテスト値が、(1、1、0)の場合である。また、故障候補ネットAが、状態値(論理値)1となるのは、フリップフロップ回路SFFn〜SFFn+2のテスト値が、(0、0、1)の場合である。フリップフロップ回路SFFn〜SFFn+2のテスト値が、上記した値以外のときには、故障候補ネットAの状態値は、他の論理回路からの出力Xに従った値となる。
本明細書においては、故障候補ネットの状態値を、状態値(論理値)0と定める複数のフリップフロップ回路のテスト値のパタンを、状態値0パタンと称する。同様に、故障候補ネットの状態値を、状態値(論理値)1と定める複数のフリップフロップ回路のテスト値のパタンを、状態値1パタンと称する。図4(A)を例にして述べると、故障候補ネットAを状態値0に定めているのは、フリップフロップ回路SFFn〜SFFn+2のテスト値が、パタン(1、1、0)であるため、このパタン(1、1、0)が、状態値0パタンに相当する。同様に、故障候補ネットAを状態値1に定めているのは、フリップフロップ回路SFFn〜SFFn+2のテスト値が、パタン(0、0、1)であるため、このパタン(0、0、1)が、状態値1パタンに相当する。
状態値0/1パタン生成部3011は、状態値0パタンと状態値1パタンを、短周期テストパタン合成部3012(図3)へ提供する。短周期テストパタン合成部3012は、次に、提供された状態値0パタンと状態値1パタンを合成する。すなわち、状態値0パタンと状態値1パタンを連結する。図4(A)の例では、状態値1パタンは、(0、0、1)であり、状態値0パタンは、(1、1、0)である。そのため、連結することにより、(0、0、1、1、1、0)の合成パタンが生成されることになる。シフトクロック信号SCLKの変化に同期して、合成パタンのテスト値は、スキャンチェインを移動する。そのため、シフトクロック信号SCLKを基準として見た場合、6サイクルの短周期テストパタンが、短周期テストパタン合成部3012において形成されることになる。この6サイクルの短周期テストパタンは、STILで表現され、テストパタン記憶装置3000に格納される。
次に、テスト装置3001は、テストパタン記憶装置3000からSTILで表現された6サイクルの短周期テストパタンを取り込み、6サイクルの短周期テストパタンを短周期テストパタン1013として、周期的に繰り返し、半導体装置1000内のスキャンチェインSCNへ印加する。これにより、半導体装置1000内のスキャンチェインSCNにおいては、6サイクルの短周期テストパタンが、短周期テストパタンとしてループ走行することになる。スキャンチェインSCNに、短周期テストパタン(図4の例では、6サイクル)が繰り返し供給され、ループ走行している状態で、発光解析が行われる。
実施の形態1においては、発光解析装置1を用いて故障解析を行うとき、スキャンチェインSCNの長さよりも短いテストパタンが、短周期テストパタンとして、スキャンチェインSCNをループ走行する。短周期テストパタンがループ走行をしている状態で、発光解析を用いた故障解析が行われる。
論理回路LGCを備えた半導体装置1の量産テストに用いられるスキャンテストでは、テストパタンのテスト値を、スキャンチェインSCNの全てのフリップフロップ回路SFF1〜SFFpにセットする動作が行われていた。スキャンチェインSCNを構成するフリップフロップ回路は、例えば数100個を超える数に達し、これらのフリップフロップ回路は、シフトレジスタを構成するように直列的に接続される。これらのフリップフロップの全てに、テスト値をセットするには、フリップフロップ回路の数と等しいテストサイクル数が必要とされる。そのため、スキャンチェインSCNにおいて、スキャンテスト用のテストパタンをループ走行させた場合のループ周期も、スキャンチェインSCNを構成するフリップフロップ回路の数に律速されることになり、最低でも数10マイクロ秒以上の周期となる。
この実施の形態1では、スキャンチェインSCNの長さ(チェイン長)よりも短いテストパタンが、周期的に繰り返し、スキャンチェインSCNに印加される。言い換えるならば、スキャンチェインSCNのチェイン長よりも短いサイクル数のテストパタンが、周期的に繰り返し印加される。その結果、解析対象のネットとなる故障候補ネットが、短周期で遷移動作を繰り返す状態となる。図4の例で述べると、6サイクル(0、0、1、1、1、0)の短周期テストパタンが、周期的に繰り返しスキャンチェインSCNに印加される。この場合、図5に示すように、サイクル4で、故障候補ネットAは状態値1となり、サイクル7で、状態値0となり、故障候補ネットAにおける状態の遷移(遷移動作)を減らすことができる。この例では、ループ周期は、シフトクロック信号SCLKを基準として見た場合、6サイクルとなり、ループ周期を、ほぼ1マイクロ秒未満に短縮することが可能となる。
なお、図5において、フリップフロップSFFn+2〜SFFnの下側には、それぞれのフリップフロップ回路からの出力(論理値0または1)が、示されている。ここで、X印の出力は不定を意味している。また、図5において、故障候補ネットAの下側には、故障候補ネットAの状態値(1、0)が示されており、X印の状態値は、不定を意味している。サイクル1〜7は、シフトクロック信号SCLKに従って、シフト動作が行われるサイクルを示している。
このように、故障候補ネットが短い周期で、遷移動作を繰り返す状態で、発光解析を行うと、長い周期で、発光解析を行う場合に比べて、検出感度を向上させることが可能となる。ここで、長い周期で、発光解析を行う場合とは、例えばスキャンチェインSCNのチェイン長と同じ長さの長周期テストパタンを、ループ走行させ、ループ走行している状態で、発光解析を行う場合を指している。長い周期の場合、この長い周期に相当する周波数成分以外の様々な周波数成分がノイズとして発生する。これに対して、短周期テストパタンでは、1周期中の遷移動作の回数を少なくすることが可能であるため、ノイズの発生を低減することが可能となり、大幅な検出感度の向上を図ることが可能となる。
(実施の形態2)
図6は、実施の形態2に係わる発光解析装置1の動作を示すフローチャート図であり、図3に示した状態値0/1パタン生成部3011の動作を示している。この実施の形態2においては、状態値0/1パタン生成部3011が、既存のスキャンテストパタンを用いて、状態値0/1パタンを生成する。
図6は、実施の形態2に係わる発光解析装置1の動作を示すフローチャート図であり、図3に示した状態値0/1パタン生成部3011の動作を示している。この実施の形態2においては、状態値0/1パタン生成部3011が、既存のスキャンテストパタンを用いて、状態値0/1パタンを生成する。
例えばSTIL等で記述された既存のスキャンテストパタンにおいては、テストパタンであるスキャンパタン等がテストベクタ番号によって指定される。先ず、ステップS60において、テストベクタ番号iが、既存スキャンテストパタンの先頭テストベクタであるとする。ステップS61において、テストベクタ番号iがスキャンパタン(シフトパタン)を指定するテストベクタであるか否かを判定する。テストベクタ番号iが、スキャンパタンを指定するテストベクタであった場合、次にステップS62が実行される。
ステップS62においては、テストベクタ番号iによって示されるスキャンパタンを用いたスキャンシフト動作完了直後における制御対象ネット(故障候補ネット)の論理値valを、シミュレーションによって算出する。算出した制御対象ネットの論理値valが、論理値0であるが否かを、ステップS63において判定し、論理値valが、論理値1であるか否かを、ステップS64において判定する。なお、論理値valは、図では論理valと記載されている。
ステップS63において、論理値valが、論理値0であると判定した場合、ステップS65を実行し、ステップS64において、論理値valが、論理値1であると判定した場合には、ステップS66を実行する。ステップS65においては、テストベクタ番号iによって示されるスキャンパタンは、状態値0パタンであるとする。また、ステップS66においては、テストベクタ番号iによって示されるスキャンパタンは、状態値1パタンであるとする。
ステップS64〜S66の後、ステップS67において、テストベクタ番号iが更新される(i=i+1)。テストベクタ番号iの更新後、ステップS68において、テストベクタ番号iが、スキャンテストパタンの末尾のテストパタンを示しているか否か(パタン末尾?)を判定する。パタン末尾でなかった場合には、ステップS61へ戻り、パタン末尾と判定されるまで、上記したステップS61〜S68を繰り返し実行する(図6において、○で囲んだ符号A)。これにより、スキャンテストパタンにおける全てのスキャンパタンに対して、状態値0パタンと状態値1パタンが求められる。なお、テストベクタ番号iがスキャンパタンを示していないときには、ステップS66の後に、ステップS67が実行される(図6において、○で囲んだ符号B)。
全てのスキャンパタンに対して、状態値0パタンと状態値1パタンが求まると、次に、状態値0パタンと状態値1パタン(状態値0/1パタンと記載)に簡略化を、ステップS69において実行し、短周期テストパタン合成部3012へ出力し、終了する。スキャンテストパタンのうち、複数のスキャンパタンが、状態値0パタンに対応し、複数のスキャンパタンが、状態値1パタンに対応することになる。ステップS69において実行される簡略化においては、同じ状態値0パタンに対応した複数のスキャンパタンのうち、互いに類似(同じを含む)したスキャンパタンが、1個のスキャンパタン(テストパタン)に纏められる。同様に、同じ状態値1パタンに対応する複数のスキャンパタンのうち、互いに類似(同じを含む)したスキャンパタンが、1個のスキャンパタン(テストパタン)に纏められる。これにより、状態値0/1パタンの簡略化が行われることになる。
次に、ステップS69で実行する状態値0/1パタンの簡略化を、一例を用いて説明する。図7は、実施の形態2の動作を説明するための説明図である。ここで、図7(A)は、図6で説明した処理を行うことにより得られた状態値0パタンに対応するスキャンパタン(テストパタン)の例を示している。図7(A)において、パタン番号の列は、状態値0パタンに対応するスキャンパタンの番号を示している。また、図7(A)において、SFF1〜SFF5は、スキャンチェインSCNを構成する複数のフリップフロップ回路SFF1〜SFFpのうち、フリップフロップ回路SFF1〜SFF5を示しており、それぞれが出力しているテスト値を示している。
例えば、SFF1の列は、フリップフロップ回路SFF1から出力されているテスト値を示しており、パタン番号1〜6のそれぞれのシフトパタンのときに、フリップフロップ回路SFF1は、論理値1を出力していることを示している。また、SFF2の列は、フリップフロップ回路SFF2から出力されているテスト値を示しており、パタン番号1〜4のそれぞれのシフトパタンのときに、フリップフロップ回路SFF2は、論理値0を出力し、パタン番号5および6のシフトパタンのときに、フリップフロップ回路SFF2は、論理値1を出力していることを示している。他のフリップフロップ回路SFF3〜SFF5も同様である。なお、図7(A)において、符号Xは、論理値1および論理値0のいずれでもよいことを示している。
図7(A)に示した例では、制御対象ネット(故障候補ネット)の入力側に、5個のフリップフロップ回路SFF1〜SFF5が、配置されており、これらのフリップフロップ回路SFF1〜SFF5が、パタン番号1〜6のシフトパタンのテスト値を出力するとき、制御対象ネットは、論理値0となることを表している。すなわち、フリップフロップ回路SFF1〜SFF5のそれぞれから出力されているテスト値によって、図7(A)に示したパタン番号1〜6のいずれかのシフトパタンが構成されたとき、制御対象ネットの論理値は0となる。
図7(B)は、図6に示したステップS69における処理を説明する図である。図7(A)において、パタン番号1のシフトパタンとパタン番号2のシフトパタンは、全く同じである。すなわち、異なるテストベクタ番号によって示された2個のシフトパタン間でも、制御対象ネットを論理値0にするフリップフロップ回路SFF1〜SFF5のテスト値は、パタン番号1とパタン番号2のシフトパタンでは同じとなる。そのため、パタン番号1とパタン番号2は、図7(B)に示すように1個に纏め(矢印破線(1))、パタン番号1とする。
また、図7(A)から、パタン番号3とパタン番号4では、フリップフロップ回路SFF4の論理値のみが異なっていることが判る。これは、フリップフロップ回路SFF1〜SFF3およびSFF5が、論理値(1、0、0、0)であれば、フリップフロップ回路SFF4の論理値とは無関係に、制御対象ネットが論理値0に定められることを意味している。すなわち、この場合には、フリップフロップ回路SFF4は、制御対象ネットを論理値0に定めるのに対して関与していないことを意味している。そのため、パタン番号3およびパタン番号4に係わるテストベクタを1個に纏める。すなわち、図7(A)に示したパタン番号3とパタン番号4を、図7(B)に示すように1個に纏め(矢印破線(2))、パタン番号2とする。このとき、フリップフロップSFF4の論理値は、任意であるため、不定値Xに変換する。
同様に、図7(A)において、パタン番号5とパタン番号6を見た場合、フリップフロップSFF3のテスト値(論理値)を除いて、他のテスト値(論理値)は、同じである。また、パタン番号6のフリップフロップSFF3の論理値は、任意(不定値)Xである。そのため、この場合には、フリップフロップ回路SFF3は、制御対象ネットを論理値0に定めるのに対して関与していないことになる。この場合には、図7(A)に示したパタン番号5とパタン番号6を、図7(B)に示すように1個に纏め(矢印破線(3))、パタン番号3とする。このようにして、状態値0パタンに対応する6個のシフトパタン(図7(A)におけるパタン番号1〜6)は、3個のシフトパタン(図7(B)におけるパタン番号1〜3)に簡略化される。
状態値0パタンに対応する複数のシフトパタンを例にして説明したが、状態値1パタンに対応する複数のシフトパタンについても、同様に簡略化を行うことにより、状態値1パタンに対応するシフトパタンの数が減らされる。
簡略化されたシフトパタンが、状態値0パタンおよび状態値1パタンとして、短周期テストパタン合成部3012へ提供される。短周期テストパタン合成部3012においては、提供された状態値0パタンに対応するシフトパタンと状態値1パタンに対応するシフトパタンから、例えばそれぞれ1個のシフトパタンを選択し、合成し、短周期テストパタンを生成する。例えば、状態値0パタンの後に状態値1パタンを結合することにより、短周期テストパタンが生成される。この生成された短周期テストパタンは、STILで記述され、テストパタン記憶装置3000に格納され、発光解析において、テスト装置3001により、スキャンチェインSCNに、周期的に繰り返し印加される。
図4(B)に示した真理値表から、状態値0パタンおよび状態値1パタンを生成する場合、総当たりのシミュレーションを実行することが要求される。この場合、シミュレーションに要する計算時間は、2のフリップフロップ回路数乗に比例することになる。そのため、制御対象ネットの入力側に多数のフリップフロップ回路が配置されている場合、計算時間が莫大となってしまう。例えば、シフトチェインを構成するフリップフロップ回路の数は、数万を超える場合もあり、計算時間も莫大となる。
これに対して、実施の形態2によれば、状態値0パタンおよび状態値1パタンの生成を、現実的な時間内で生成することが可能となる。ATPGツールを用いてスキャンテストパタンを生成する場合、テストパタンの生成と、時間的に平行して論理シミュレーションを実施することが可能である。そのため、この論理シミュレーションの結果を保存し、状態値0パタンおよび状態値1パタンを生成する際に、再利用することが可能である。すなわち、図6のステップS62において実行していたシミュレーションを省略し、論理シミュレーションの結果を再利用する。これにより、計算時間を大幅に短縮することが可能となる。
(実施の形態3)
図8は、実施の形態3に係わる発光解析装置1の動作を示すフローチャート図であり、短周期テストパタン合成部3012の動作を示している。実施の形態3においては、短周期テストパタン合成部3012において、周期探索処理とマッチング処理が行われる。
図8は、実施の形態3に係わる発光解析装置1の動作を示すフローチャート図であり、短周期テストパタン合成部3012の動作を示している。実施の形態3においては、短周期テストパタン合成部3012において、周期探索処理とマッチング処理が行われる。
周期探索処理は、状態値0パタンおよび状態値1パタンを、周期i(周期数)のテストパタンに短縮する処理である。ここで短縮された状態値0パタンに対応するテストパタンは、短縮状態値0パタンと称し、短縮された状態値1パタンに対応するテストパタンは、短縮状態値1パタンと称する。また、マッチング処理は、短縮状態値0パタンと短縮状態値1パタン間で、シフト動作により、マッチングを図る処理である。
ステップS80(図8)において、周期iの初期値が設定される。図8の例では、周期iの初期値として2が設定される。次にステップS81において、周期iでの状態値0パタンと状態値1パタン(状態値0/1パタンと記載)の周期探索の処理が実行される。次にステップS82において、周期探索に成功したか否かの判定が行われる。ステップS82において、周期探索に成功したと判定された場合、ステップS83において、短縮状態値0パタンと短縮状態値1パタンとの間で、シフト動作を伴うマッチング処理を実施する(図8では、短縮状態値0/1パタンのマッチング処理を実施と記載)。ステップS83に続いて、ステップS84において、マッチングが成功したか否かの判定が行われる。マッチングに成功している場合、ステップS86が実行される。ステップS86においては、マッチング後のパタンを、短周期テストパタンとして、テストパタン記憶装置3000(図3)へ提供する。この場合、マッチング後のテストパタンは、STILにより記述され、テストパタン記憶装置3000へ提供されることになる。
ステップS82において周期探索に成功しなかった場合またはステップS84においてマッチングに成功しなかった場合には、ステップS85が実行される。ステップS85においては、周期iが更新される。すなわち、周期iがi+1とされ、周期が増やされる。その後、ステップS81に戻り、周期が増やされた状態で、周期探索から再開されることになる。
次に、この実施の形態3に係わる周期探索処理およびマッチング処理を、一例を用いて説明する。先ず、説明で用いる制御対象ネット(故障候補ネット)Aを説明しておく。図9は、論理回路LGCと、論理回路LGCに接続されたスキャンチェインとを示すブロック図である。図9は、テストのときの状態を示しており、複数のフリップフロップ回路SFFが、直列的に接続され、スキャンチェインSCN(図2)が構成されている状態が示されている。図2では、複数のフリップフロップ回路SFF1〜SFFpが、直列的に接続され、1個のスキャンチェインSCNが構成された例を示したが、図9では複数のフリップフロップ回路SFFが直列的に接続され、複数のスキャンチェインSCNが構成されている。すなわち、図9では、複数のフリップフロップ回路SFFが直列的に接続され、2個のスキャンチェインが構成されている例が示されている。ここでは、図9において、論理回路LGCを挟んで、左側に配置されたスキャンチェインが、チェイン(chain)1として示されており、右側に配置されたスキャンチェインが、チェイン(chain)2として示されている。
論理回路LGCは、実施の形態1と同様に複数の論理回路を備えているが、図9には、チェイン1およびチェイン2のそれぞれのフリップフロップ回路SFFからの出力を受ける論理回路LGC−Aのみが示されている。論理回路LGC−Aは、チェイン1およびチェイン2のそれぞれに配置されている10個のフリップフロップ回路SFFに接続されている。ここでは、論理回路LGC−Aの入力側に配置されているチェイン1およびチェイン2における10個のフリップフロップ回路が、ビット1(bit1)〜ビット10(bit10)として描かれている。論理回路LGC−Aは、ビット1〜ビット10の論理値に従って、複数の出力を形成するが、図9には1個の出力のみがネットAとして示されている。このネットAが、制御対象ネット(故障候補ネット)である。ここでは、制御対象ネットAの状態は、チェイン1におけるビット2、ビット4、ビット7およびチェイン2におけるビット3、ビット6、ビット8の論理値(テスト値)に従って定まるものとして説明する。なお、図4と同様に、スキャンテスト時には、矢印で示したシフト方向にテスト値は、順次シフトする。
図10は、図9に示した制御対象ネットAを状態値0または状態値1とするときの状態値0/1パタンを示す図である。すなわち、図10は、図9に示した論理回路LGC−Aによって、制御対象ネットAの状態が、チェイン1におけるビット2、ビット4、ビット7と、チェイン2におけるビット3、ビット6、ビット8とに基づいて定められている状態が示されている。ここで、図10(A)および(B)には、状態値0パタンに対応するテストパタン(チェイン1におけるビット2、ビット4、ビット7と、チェイン2におけるビット3、ビット6、ビット8)が示されている。すなわち、制御対象ネットAが状態値(論理値)0となるときの、テストパタンが示されている。同様に、図10(C)および(D)には、状態値1パタンに対応するテストパタン(チェイン1におけるビット2、ビット4、ビット7と、チェイン2におけるビット3、ビット6、ビット8)が示されている。すなわち、制御対象ネットAが状態値(論理値)1となるときの、テストパタンが示されている。
状態値0パタンおよび状態値1パタンのそれぞれは、複数存在するが、図10では、例として、それぞれ2個のパタンが示されている。すなわち、図10(A)には、状態値0パタンに対応する第1パタンが、パタン番号1として示され、図10(B)には、状態値0パタンに対応する第2パタンが、パタン番号2として示されている。同様に、図10(C)には、状態値1パタンに対応する第1パタンが、パタン番号1として示され、図10(D)には、状態値1パタンに対応する第2パタンが、パタン番号2として示されている。
図10(A)は、チェイン1のビット2、4および7が、論理値(0、1、1)で、チェイン2のビット3、8が、論理値(1、1)のとき、制御対象ネットAは、状態値0となることを示している。また、図10(B)は、チェイン1のビット2および7が、論理値(0、1)で、チェイン2のビット3、6および8が、論理値(1、0、1)のとき、制御対象ネットAは、状態値0となることを示している。同様に、図10(C)は、チェイン1のビット2、4および7が、論理値(1、0、0)で、チェイン2のビット3、8が、論理値(0、0)のとき、制御対象ネットAは、状態値1となることを示している。また、図10(D)は、チェイン1のビット2、4および7が、論理値(1、1、0)で、チェイン2のビット3、6および8が、論理値(1、0、1)のとき、制御対象ネットAは、状態値1となることを示している。
<周期探索処理>
実施の形態1または実施の形態2に従って、状態値0/1パタン生成部3011から、図10に示した状態値0パタンおよび状態値1パタンが、短周期テストパタン合成部3012へ提供される。短周期テストパタン合成部3012では、図8に示したステップS80において、周期iが初期値2に設定される。これにより、周期i=2で、周期探索処理が開始される。周期探索処理は、チェイン(chain)本数×モジュロ(modulo)の空間上あるいは配列に、図10に示した状態値0パタンと状態値1パタンを割り当てる処理である。ここで、モジュロ(modulo)は、周期iと同じである。
実施の形態1または実施の形態2に従って、状態値0/1パタン生成部3011から、図10に示した状態値0パタンおよび状態値1パタンが、短周期テストパタン合成部3012へ提供される。短周期テストパタン合成部3012では、図8に示したステップS80において、周期iが初期値2に設定される。これにより、周期i=2で、周期探索処理が開始される。周期探索処理は、チェイン(chain)本数×モジュロ(modulo)の空間上あるいは配列に、図10に示した状態値0パタンと状態値1パタンを割り当てる処理である。ここで、モジュロ(modulo)は、周期iと同じである。
具体的には、図10に示した状態値0パタンおよび状態値1パタンに対して、モジュロ(modulo)=mod(ビット番号、周期i)を求め、対応するモジュロ(modulo)に状態値を割り当てる。ここで、modは、剰余を示す。そのため、モジュロ(modulo)は、ビット番号(bit1〜bit10)を周期iで割ったときの剰余に相当する。
図11は、実施の形態3に係わる周期探索処理を説明するための図である。図11(A)は、図10(A)に示した状態値0パタンでパタン番号1を周期探索したときの結果(短縮状態値0パタン番号1)を示しており、図11(B)は、図10(B)に示した状態値0パタンでパタン番号2を周期探索したときの結果(短縮状態値0パタン番号2)を示している。また、図11(C)は、図10(C)に示した状態値1パタンでパタン番号1を周期探索したときの結果(短縮状態値1パタン番号1)を示しており、図11(D)は、図10(D)に示した状態値1パタンでパタン番号2を周期探索したときの結果(短縮状態値1パタン番号2)を示している。
図11(E)は、図10(B)に示したパタン番号2(状態値0パタン)と同じであるが、図11(E)と図11(B)との間には、周期探索の処理例が示されている。この図11(E)と図11(B)を用いて、周期探索の処理を説明する。図11(E)において、チェイン(chain)1のビット2(bit2)は、論理値(状態値)が0である。一方、このビット2のモジュロ(modulo)は、mod(2、2)=0となる。そのため、図11(B)において、モジュロ(modulo)=0で、チェイン(chain)1の領域には、ビット2の論理値0が割り当てられる(矢印破線(1))。また、チェイン(chain)1のビット7(bit7)は、論理値(状態値)が1である。一方、このビット7のモジュロ(modulo)は、mod(7、2)=1となる。そのため、図11(B)において、モジュロ(modulo)=1で、チェイン(chain)1の領域には、ビット7の論理値1が割り当てられる(矢印破線(2))。これにより、パタン番号2のチェイン1については、2周期に、短縮することが可能であると判明する。
一方、チェイン(chain)2のビット3は、そのモジュロ(modulo)が(3、2)=1となる。これにより、モジュロ(modulo)=1で、チェイン2の領域には、ビット3の論理値1が割り当てられる(矢印破線(3))。同様に、チェイン(chain)2のビット6および8のそれぞれのモジュロ(modulo)を算出(mod(6、2)、mod(8、2))すると、モジュロ(modulo)=0となる。しかしながら、ビット6は、論理値が0であり、ビット8は、論理値が1である。そのため、モジュロ(modulo)=0に、ビット6とビット8とを割り当てようとすると、矛盾が発生する。これにより、図11(B)において、モジュロ(modulo)=0で、チェイン2の領域には、NGが割り当てられている(矢印破線(4)、(5))。これにより、パタン番号2のチェイン2については、2周期に、短縮することは不可能であることが判明する。
すなわち、状態値0パタンであるパタン番号2(図11(E)および図10(B))を、2周期に短縮することは不可能であり、周期探索に失敗したことを意味する。
同様な処理を、図10(A)に示した状態値0パタンのパタン番号1に行った結果が、図11(A)に示され、図10(C)に示した状態値1のパタン番号1に対して行った結果が、図11(C)に示され、図10(D)に示した状態値1のパタン番号2に対して行った結果が、図11(D)に示されている。図11(A)、図11(C)および図11(D)のいずれにおいても、図11(B)と同様に、矛盾を示す符号NGが割り当てられた領域が存在する。そのため、いずれのパタン番号を用いても、周期i=2、すなわち2周期に、短縮することは不可能であり、周期探索は失敗することを意味している。
上記した処理が、図8のステップS81において実行され、ステップS82において、周期探索は成功しなかったと判定される。その結果、次に、ステップS85が実行される。ステップS85において、周期i=3(i+1)となり、再びステップS81が実行される。
図12は、実施の形態3に係わる周期探索処理およびマッチング処理を説明する図である。ここで、図12(A)〜12(D)は、ステップS85において、周期iが3へ更新された状態での周期探索処理の結果が示されている。図12(A)は、図10(A)に示した状態値0パタンでパタン番号1を周期探索したときの結果を示しており、図12(B)は、図10(B)に示した状態値0パタンでパタン番号2を周期探索したときの結果を示している。また、図12(C)は、図10(C)に示した状態値1パタンでパタン番号1を周期探索したときの結果を示しており、図12(D)は、図10(D)に示した状態値1パタンでパタン番号2を周期探索したときの結果を示している。
図12(E)は、図10(A)に示したパタン番号1と同じであるが、図12(A)と図12(E)との間には、周期探索の処理例が示されている。この図12(A)と図12(E)を用いて、更新された周期i=3での周期探索の処理を説明する。
図12(E)において、チェイン(chain)1のビット2(bit2)は、論理値(状態値)が0である。一方、このビット2のモジュロ(modulo)は、mod(2、3)=2となる。そのため、図12(A)において、モジュロ(modulo)=2で、チェイン(chain)1の領域には、ビット2の論理値0が割り当てられる(矢印破線(1))。また、チェイン(chain)1のビット4(bit4)は、論理値(状態値)が1である。一方、このビット4のモジュロ(modulo)は、mod(4、3)=1となる。そのため、図12(A)において、モジュロ(modulo)=1で、チェイン(chain)1の領域には、ビット4の論理値1が割り当てられる(矢印破線(2))。
さらに、チェイン(chain)1のビット7(bit7)は、論理値(状態値)が1である。一方、このビット7のモジュロ(modulo)は、mod(7、3)=1となる。ビット4とビット7が、同じモジュロ(modulo)=1を示すが、ビット4とビット7の論理値は、ともに1である。そのため、図12(A)において、モジュロ(modulo)=1で、チェイン(chain)1の領域には、ビット4の論理値1とビット7の論理値1を割り当てても、矛盾は発生せず、論理値1が割り当てられる(矢印破線(3))。
これにより、パタン番号1のチェイン1については、3周期に、短縮することが可能であると判明する。
図12(E)において、チェイン(chain)2のビット3(bit3)は、論理値(状態値)が1である。一方、このビット3のモジュロ(modulo)は、mod(3、3)=0となる。そのため、図12(A)において、モジュロ(modulo)=0で、チェイン(chain)2の領域には、ビット3の論理値1が割り当てられる(矢印破線(4))。また、チェイン(chain)2のビット8(bit8)は、論理値(状態値)が1である。一方、このビット8のモジュロ(modulo)は、mod(8、3)=2となる。そのため、図12(A)において、モジュロ(modulo)=2で、チェイン(chain)2の領域には、ビット8の論理値1が割り当てられる(矢印破線(5))。
これにより、パタン番号1のチェイン2についても、3周期に、短縮することが可能であると判明する。その結果、状態値0のパタン番号1については、3周期に短縮することが可能であり、周期探索に成功したことになる。
同様な処理が行われ、図10(B)に示した状態値0パタンのパタン番号2に行った結果が、図12(B)に示され、図10(C)に示した状態値1のパタン番号1に対して行った結果が、図12(C)に示され、図10(D)に示した状態値1のパタン番号2に対して行った結果が、図12(D)に示されている。図12(B)および図12(D)には、矛盾を示す符号NGが割り当てられた領域が存在する。しかしながら、図12(A)および図12(C)には、矛盾を示す符号NGが存在しない。すなわち、状態値0パタンのパタン番号1および状態値1パタンのパタン番号1については、3周期に短縮することが可能であると判定される。これにより、図8のステップS82においては、周期探索に成功したと判定され、次にステップS83においてマッチング処理が実行される。
マッチング処理は、周期探索に成功した短縮状態値0パタン番号のテストパタンと、短縮状態値1パタン番号のテストパタンに対して実行される。すなわち、図12(A)に示す短縮された短縮状態値0パタンと、図12(C)に示す短縮状態値1パタンとの間で、マッチング処理が行われる。図12(F)は、マッチング処理の結果を示す図である。マッチング処理においては、短縮状態値0パタンと短縮状態値1パタンとを上下にシフトさせた上で、重ね合わせる。重ね合わせたときに、論理値(状態値)に矛盾が生じない組合せを探す。上下にシフトする際のシフト量は、任意である。例えば、1ビットシフトして、矛盾が生じる場合には、シフト量を増やして、重ね合わせる。シフト量を増やしても、矛盾が生じる場合には、マッチングは失敗であると、ステップS84において判定する。また、シフトは、リング状に行う。すなわち、シフトにより溢れた領域の論理値は、シフトにより空いた領域に埋める。
図12(F)は、図12(C)に示す短縮状態値1パタンを、上側に1ビットシフトして、図12(A)に示す短縮状態値0パタンに重ねた場合を示している。図12(C)を、上側に1ビットシフトしているため、図12(C)において、モジュロ(modulo)=0で、チェイン2の領域が溢れることになるが、この領域の論理値(状態値)は、1ビットシフトにより空いた領域であるモジュロ(modulo)=2で、チェイン2の領域に埋め込まれる。すなわち、図12(C)において、モジュロ(modulo)=0の行におけるチェイン1およびチェイン2のそれぞれの論理値が、1ビットシフトにより、図12(F)では、モジュロ(modulo)=2に埋め込まれる。また、図12(C)において、モジュロ(modulo)=1の行におけるチェイン1およびチェイン2のそれぞれの論理値が、1ビットシフトにより、図12(F)では、モジュロ(modulo)=0に埋め込まれる。さらに、図12(C)において、モジュロ(modulo)=2の行におけるチェイン1およびチェイン2のそれぞれの論理値が、1ビットシフトにより、図12(F)では、モジュロ(modulo)=1に埋め込まれる。
このようにシフトした場合、図12(F)において、モジュロ(modulo)=2で、チェイン2の領域には、図12(A)に示した論理値1と、シフトによって埋め込まれる論理値0とが出現することになり、論理値の矛盾が発生し、NGとなる。シフト量を増加しても、論理値の矛盾が発生するため、周期3では、マッチングに失敗したことになる。マッチングに失敗すると、図8に示したステップS85が実行される。このとき、周期iは、更新されて3となっているため、さらに更新(i+1)され、周期iは4となる。
図13は、実施の形態3に係わる周期探索処理およびマッチング処理を説明する図である。図13(A)は、図10(A)に示した状態値0パタンでパタン番号1を周期探索したときの結果を示しており、図13(B)は、図10(B)に示した状態値0パタンでパタン番号2を周期探索したときの結果を示している。また、図13(C)は、図10(C)に示した状態値1パタンでパタン番号1を周期探索したときの結果を示しており、図13(D)は、図10(D)に示した状態値1パタンでパタン番号2を周期探索したときの結果を示している。図13(A)〜図13(D)のいずれも、周期i=4で、周期探索を実施した結果が示されている。
図13(E)は、図13(C)に示す短縮状態値1パタン番号1を、上側に2ビットシフトして、図13(B)に示す短縮状態値0パタン番号2に重ねた場合を示している。図13(C)を、上側に2ビットシフトしているため、図13(C)において、モジュロ(modulo)=0の行におけるチェイン1およびチェイン2の論理値(0、0)は、図13(E)では、モジュロ(modulo)=2の行に埋め込まれる。図13(C)において、モジュロ(modulo)=2の行におけるチェイン1の論理値(1)は、2ビットシフトにより、図13(E)では、モジュロ(modulo)=0に埋め込まれる。また、図13(C)において、モジュロ(modulo)=3の行におけるチェイン1およびチェイン2の論理値(0、0)は、2ビットシフトにより、図13(E)では、モジュロ(modulo)=1に埋め込まれる。
図13(C)に示した短縮状態値1パタンを2ビットシフトして、図13(B)に示した短縮状態値0パタンに重ね合わせたとき、それぞれの領域において、論理値は矛盾しない。そのため、矛盾を示すNGは、図13(E)には存在しない。これにより、ステップS84において、マッチングは成功したと判定される。図13(E)に示した重ね合わせた結果(マッチング処理結果)が、制御対象ネットA(図9)に対する短周期テストパタンとなる。このマッチング処理結果は、STILで記述され、テストパタン記憶装置3000(図3)へ提供され、短周期テストパタン合成部3012の処理が終了する(図8のステップS86)。テストパタン記憶装置3000に格納されたマッチング処理結果は、テスト装置3001によって、短周期テストパタンとして、周期的に繰り返しチェイン1およびチェイン2に印加される。
制御対象ネットAに対する短周期テストパタンは、図13(E)に示すように、モジュロ(modulo)が0〜3であるため、4周期で構成される。この4周期において、チェイン(chain)1には、図13(E)のチェイン(chain)1列に記載した論理値(1、0、0、1)が、テスト値として印加され、チェイン(chain)2には、図13(E)のチェイン(chain)2列に記載した論理値(1、0、0、1)が、テスト値として印加される。それぞれ4周期で構成された短周期テストパタンは、繰り返し、チェイン(chain)1およびチェイン(chain)2に印加される。例えば、チェイン(chain)1では、論理値(1、0、0、1)のテスト値が印加された直後に、同じ論理値(1、0、0、1)がテスト値として印加される。以降所定の回数、論理値(1、0、0、1)が繰り返し印加される。これは、チェイン(chain)2についても同様である。これにより、制御対象ネットAは、短周期で、状態が周期的に遷移することになる。
なお、図11〜図13に示したモジュロ(modulo)は、スキャンチェインにおいて、テスト値がシフトする周期を示している。スキャンチェインは、複数のフリップフロップ回路により構成されたシフトレジスタと見なすことができるため、テスト値をシフトする周期は、シフトクロック信号SCLK(図2)の周期と見なすことができる。そのため、4周期は、シフトクロック信号SCLKの4周期に相当すると見なすことができる。
制御対象ネットが、1個の例を説明したが、これに限定されるものではない。制御対象ネットA以外に、制御対象ネットB(図示しない)が存在する場合、この制御対象ネットBについても、制御対象ネットAと同様にして、短縮状態値0パタンと短縮状態値1パタンを有する短周期テストパタンを求め、求めた短周期テストパタンを、周期的にチェイン1およびチェイン2に印加する。この場合、制御対象ネットAに対する短周期テストパタンと、制御対象ネットBに対する短周期テストパタンを、交互に印加するようにしてもよいし、例えば制御対象ネットAに対する短周期テストパタンを所定回数、繰り返し印加した後、制御対象ネットBに対する短周期テストパタンを所定回数、繰り返し印加するようにしてもよい。
図13(B)と図13(C)を重ね合わせて、マッチング処理を行った例を説明したが、マッチング処理を行う短縮状態値0パタンと短縮状態値1パタンは、これに限定されない。また、複数の短縮状態値0パタンと複数の短縮状態値1パタンのそれぞれをマッチング処理することにより、複数のマッチング処理結果を得ることも可能である。この場合、複数の処理結果から1個のマッチング処理結果を選択し、選択したマッチング処理結果を基にして、短周期テストパタンを生成すればよい。
実施の形態1では、制御対象ネットAの入力側に接続されたフリップフロップ回路の全てが、同一のスキャンチェインに配置され、互いに隣接している例を説明した。これに対して、実施の形態3では、制御対象ネットAの入力側に接続されたフリップフロップ回路が、複数のスキャンチェイン(チェイン)に分散して配置されている。さらに、フリップフロップ回路は、スキャンチェイン(チェイン)上でも隣接せず、分散して配置されている。周期探索処理を行うことにより、このような場合であっても、短周期テストパタンを生成することが可能である。
実施の形態1〜3においては、複数のフリップフロップ回路により構成されスキャンチェインのチェイン長よりも短いテストパタン(短周期テストパタン)を生成し、周期的に繰り返しスキャンチェインに印加する例を説明した。テストパタンを短くすると言う観点で見た場合、例えばスキャンチェインのチェイン長と同じ長さのスキャンテストパタンを生成し、生成したテストパタンをスキャンチェインにおいてシフトしているとき、途中でシフトを止める、あるいは生成したテストパタンの前半(後半)を省略することにより、テストパタンを短くすることが可能である。しかしながら、このようにした場合には、制御対象ネットを正しく周期的に動作させることが困難になる。また、このようにした場合には、テストパタンのループ周期を十分に短くすることが困難になる。そのため、このようなテストパタンでは、発光解析での検出感度が低下してしまい、故障の検知および故障箇所の特定が困難である。
短周期テストパタンに含まれる状態値0パタンを第1テストパタンとし、状態値1パタンを第2テストパタンと見なした場合、図10(A)および図10(B)に示したパタン番号1およびパタン番号2は、第1テストパタンの候補となる第1テストパタン候補と見なし、図10A(C)および図10(D)に示したパタン番号1およびパタン番号2は、第2テストパタンの候補となる第2テストパタン候補と見なすことができる。この場合、周期探索処理は、複数の第1テストパタン候補に対して、周期数を短縮する処理と見なすことができる。また、マッチング処理は、周期数が短縮された第1テストパタン候補と第2テストパタン候補との間でマッチングを行う処理と見なすことができる。マッチング処理によって得られたテストパタンが、第1テストパタンと第2テストパタンを含む短周期テストパタンとなり、この短周期テストパタンが、周期的に繰り返し、スキャンチェインに印加されることになる。
(実施の形態4)
実施の形態4においては、実施の形態1〜3において生成した短周期テストパタンに対して、ダミーサイクルが挿入される。ダミーサイクルを挿入することにより、短周期テストパタンをスキャンチェインにおいて、繰り返し走行(ループ走行)させた際に、制御対象ネットにおける動作波形をデューティ比が50%となる方形波にする。すなわち、制御対象ネットの遷移により生じる動作波形を、デューティ比が50%の方形波となるようにするものである。
実施の形態4においては、実施の形態1〜3において生成した短周期テストパタンに対して、ダミーサイクルが挿入される。ダミーサイクルを挿入することにより、短周期テストパタンをスキャンチェインにおいて、繰り返し走行(ループ走行)させた際に、制御対象ネットにおける動作波形をデューティ比が50%となる方形波にする。すなわち、制御対象ネットの遷移により生じる動作波形を、デューティ比が50%の方形波となるようにするものである。
ここでは、実施の形態3を例にして、短周期テストパタンに対してダミーサイクルを挿入する場合を説明する。図14は、実施の形態3に係わる発光解析装置1の動作を示す波形図である。同図において、横軸は時間(ns)を示しており、縦軸は電圧を示している。ここで、図14(A)は、テスト装置3001(図3)から、スキャンチェインであるチェイン1およびチェイン2に供給されるシフトクロック信号SCLKを示している。図14(B)は、チェイン1を構成する複数のフリップフロップ回路SFF(図9)内の特定のフリップフロップ回路の出力波形を示している。同様に、図14(C)は、チェイン2を構成する複数のフリップフロップ回路SFF(図9)内の特定のフリップフロップ回路の出力波形を示している。以下、説明の都合上、図14(B)は、図9に示したチェイン(chain)1を構成する特定のフリップフロップ回路SFF−1の出力波形とし、図14(C)は、図9に示したチェイン(chain)2を構成する特定のフリップフロップ回路SFF−2の出力波形とする。また、図14(D)は、制御対象ネットAにおける遷移により生じる波形を示している。
チェイン1およびチェイン2のそれぞれを構成するフリップフロップ回路SFFは、直列的(シリーズ)に接続されている。それぞれのフリップフロップ回路SFFは、シフトクロック信号SCLKが変化することにより、前段のフリップフロップ回路の出力を取り込み、出力する。図14(A)に示した例では、シフトクロック信号SCLKの1周期は、30nsであり、それぞれのフリップフロップ回路SFFは、特に制限されないが、シフトクロック信号SCLKの立ち下がりに同期して、前段からの出力を取り込み、出力する。すなわち、前段の出力が変化していた場合、30nsを1サイクルとして、フリップフロップ回路SFFの出力が変化する。勿論、前段の出力が変化していなければ、フリップフロップ回路SFFの出力は変化しない。また、図9に示した論理回路LGC−Aは、シフトクロック信号SCLKの立ち上がりに同期して、制御対象ネットAを遷移させるものとする。
ここでは、説明の都合上、実施の形態3によって生成された短周期テストパタンは、その1周期が、90nsであるものとする。この場合、繰り返し印加される短周期テストパタンのそれぞれは、シフトクロック信号SCLKの3サイクル(3周期)を含むことになる。
図14において、時刻30nsで、シフトクロック信号SCLKが立ち下がると、特定のフリップフロップ回路SFF−1、SFF−2の出力が変化する。図14の例では、チェイン1の特定のフリップフロップ回路SFF−1の出力は、その前段の出力が変化していないため、図14(B)に示すようにハイレベルを維持している。これに対して、チェイン2の特定のフリップフロップ回路SFF−2の出力は、その前段の出力が変化しているため、図14(B)に示すようにロウレベルへ遷移している。論理回路LGC−Aは、フリップフロップ回路SFF−1、SFF−2を含む入力側のフリップフロップ回路の出力に従って、時刻30nsより後の時刻t10において、シフトフロック信号SCLKの立ち上がりに同期して、制御対象ネットAをロウレベルへ遷移させている。
以降、同様にして、シフトクロック信号SCLKの立ち下がりに同期して、フリップフロップ回路SFF−1、SFF−2の出力は遷移し、図14(B)および(C)に示す波形となる。一方、論理回路LGC−Aはシフトクロック信号SCLKの立ち上がりに同期して、制御対象ネットAを遷移させ、図14(D)に示す波形となる。
図14(D)から理解されるように、制御対象ネットAは、ハイレベルへ遷移している期間が、ほぼ30nsであり、ロウレベルへ遷移している期間が、ほぼ60nsとなる。そのため、制御対象ネットAにおける波形は、ハイレベルの期間とロウレベルの期間が、同じ時間、すなわちデューティ比が50%の方形波となっていない。一般的に、方形波の周波数スペクトルは、デューティ比が50%から離れるほど、高調波成分が増加する。発光解析においては、短周期テストパタンを繰り返し印加した時のループ周期に相当する周波数成分(基本波の周波数成分)に比べて、高調波成分が多くなると、この高調波成分がノイズとなり、基本波の周波数成分がノイズに埋もれてしまい、検出感度が低下することになる。
実施の形態4においては、制御対象ネットAにおける波形が、デューティ比50%の方形に近づくように、短周期テストパタンに対して、ダミーサイクルが挿入される。
図15は、実施の形態4に係わる発光解析装置1の動作を示す波形図である。図15において、横軸は時間(ns)を示し、縦軸は電圧を示している。ここで、図15(A)は、テスト装置3001から出力されるシフトクロック信号SCLKの波形を示している。図15(B)および(C)は、上記した特定のフリップフロップ回路SFF−1およびSFF−2の出力波形を示している。また、図15(D)は、図14(D)と同様に、制御対象ネットAにおける波形を示している。
特定のフリップフロップ回路SFF−1、SFF−2には、図14(B)および(C)のときと同じテスト値が、前段のフリップフロップ回路から出力されている。実施の形態4では、時刻30ns、120nsおよび210nsのそれぞれにおいて、ダミーサイクルが挿入されている。それぞれのダミーサイクルにおいては、シフトクロック信号SCLKを停止し、チェイン(chain)1およびチェイン(chain)2には、直前のサイクルの状態値(論理値)をテスト値として維持(踏襲)する。このダミーサイクルが、短周期テストパタンに挿入され、テスト装置3001に提供される。これにより、図15に示すような波形となる。
すなわち、時刻30ns、120nsおよび210nsで、ダミーサイクルを挿入しているため、これらの時刻において、シフトクロック信号SCLKは変化していない。時刻30nsを例にして述べると、時刻t10において、シフトクロック信号SCLKは立ち上がりが発生していない。シフトクロック信号SCLKの立ち上がりは、時刻60nsと時刻90nsとの間の時刻t20において発生する。このシフトクロック信号SCLKの立ち上がり(時刻t20)に同期して、制御対象ネットAは、ロウレベルへ遷移する。これにより、図15(D)に示すように、制御対象ネットAがハイレベルとなっている期間は、ほぼ60nsとなり、ロウレベルとなっている期間も、ほぼ60nsとなる。その結果、制御対象ネットAにおける波形は、ハイレベル期間とロウレベル期間が等しい、50%デューティ比の方形波となる。すなわち、ダミーサイクルは、制御対象ネットAに遷移動作を発生させず、制御対象ネットAは、直前の状態を維持することになる。これにより、制御対象ネットAの遷移動作によって発生する波形を、50%デューティ比の方形波に近づけることが可能となる。
なお、この場合、ダミーサイクルを短周期テストパタンに挿入したため、短周期テストパタンは、その1周期が、120nsとなり、短周期テストパタンは、ダミーサイクルを含めた4サイクル(30ns/1サイクル)を含むことになる。
実施の形態3を例にして説明したが、勿論、実施の形態1および2に係わる発光解析装置1にも適用することが可能である。
この実施の形態4によれば、制御対象ネットAにおける波形が、デューティ比50%の方形波になるため、高調波成分を低減することが可能となり、検出感度の向上を図ることが可能となる。
発光解析装置1による故障解析は、スキャンチェイン等の外部制御か容易で、周波数が高い回路以外には、適していないと考えられていたが、実施の形態1〜4によれば、論理回路へも適用することが可能となる。
故障箇所特定方法と言う観点で見た場合、スキャンチェインのチェイン長よりも短いテストパタンが、テストパタン生成工程において、テストパタン生成装置3003により生成される。また、生成された短いテストパタンは、テストパタン印加工程において、周期的に繰り返し、スキャンチェインに印加されることになる。このとき、半導体装置1000からの光(レーザ光)を基にして、故障箇所の特定が行われる。また、故障診断により、半導体装置1000の領域から、予め故障箇所に対応するネットに相当する故障候補ネットが求められる。さらに、短いテストパタンを生成する際には、テストパタン生成工程において、周期探索処理およびマッチング処理が行われる。さらに、短いテストパタンには、実施の形態4で述べたように、ダミーサイクルが挿入される。
実施の形態1〜4では、STILによって記述された短周期テストパタンを、テストパタン記憶装置3000(図3)に格納する例を説明したが、これに限定されるものではない。テストパタン記憶装置3000に格納される短周期テストパタンの形式は、テストパタン記憶装置3000から提供されたとき、テスト装置3001が解釈し、実行することが可能な他の形式であってもよい。例えば、短周期テストパタンは、WGL(Waveform Generation Language)によって記述した形式であってもよい。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
1 発光解析装置
1000 半導体装置
1003 レーザ光源
1005 スペクトルアナライザ
1006 コンピュータ
LGC、LGC−A 論理回路
SCN スキャンチェイン
SCLK シフトクロック信号
SFF、SFF1〜SFFp フリップフロップ回路
3000 テストパタン記憶装置
3001 テスト装置
3002 故障診断装置
3003 テストパタン生成装置
3004 故障解析装置
1000 半導体装置
1003 レーザ光源
1005 スペクトルアナライザ
1006 コンピュータ
LGC、LGC−A 論理回路
SCN スキャンチェイン
SCLK シフトクロック信号
SFF、SFF1〜SFFp フリップフロップ回路
3000 テストパタン記憶装置
3001 テスト装置
3002 故障診断装置
3003 テストパタン生成装置
3004 故障解析装置
Claims (15)
- 論理回路と、前記論理回路のテストのとき、テストパタンを前記論理回路に供給するように、直列的に接続され、スキャンチェインを構成する複数のフリップフロップ回路とを備えた半導体装置を解析する発光解析装置であって、
前記スキャンチェインの長さよりも短く、前記論理回路における所定ネットを遷移動作させることが可能なテストパタンを生成するテストパタン生成装置と、
前記テストパタン生成装置により生成されたテストパタンを、周期的に繰り返し、前記スキャンチェインに印加するテスト装置と、
を備え、
周期的に印加された、前記スキャンチェインの長さよりも短いテストパタンに応じた、前記半導体装置からの光を解析する、発光解析装置。 - 請求項1に記載の発光解析装置において、
前記所定ネットは、前記半導体装置に対する故障診断において、故障候補ネットとして特定されたネットである、発光解析装置。 - 請求項2に記載の発光解析装置において、
前記テストパタン生成装置は、前記短いテストパタンを生成するとき、テストパタンの簡略化処理を実行する、発光解析装置。 - 請求項3に記載の発光解析装置において、
前記簡略化処理は、互いに類似するテストパタンを、1のテストパタンに纏める処理を含む、発光解析装置。 - 請求項2に記載の発光解析装置において、
前記テストパタン生成装置は、前記短いテストパタンを生成するとき、テストパタンの周期探索処理を実行する、発光解析装置。 - 請求項5に記載の発光解析装置において、
前記周期探索処理により、前記短いテストパタンとして印加されるテストパタンの周期数が短縮される、発光解析装置。 - 請求項2に記載の発光解析装置において、
前記テストパタン生成装置は、前記短いテストパタンを生成するとき、テストパタンのマッチング処理を実行する、発光解析装置。 - 請求項2に記載の発光解析装置において、
前記短いテストパタンは、前記所定ネットに遷移動作を発生させないダミーサイクルを備えている、発光解析装置。 - 請求項2に記載の発光解析装置において、
前記短いテストパタンは、前記所定ネットにおける論理値を、第1論理値にする第1テストパタンと、前記第1論理値とは異なる第2論理値にする第2テストパタンを備え、
前記テストパタン生成装置は、前記第1テストパタンの候補である複数の第1テストパタン候補および前記第2テストパタンの候補である複数の第2テストパタン候補の周期数を短縮する周期探索処理を実行し、
前記テストパタン生成装置は、短縮された周期数の第1テストパタン候補と短縮された周期数の第2テストパタン候補との間で、マッチングを行うマッチング処理を実行する、発光解析装置。 - 論理回路と、前記論理回路のテストのとき、テストパタンを前記論理回路に供給するように、直列的に接続され、スキャンチェインを構成する複数のフリップフロップ回路とを備えた半導体装置における故障箇所を特定する故障箇所特定方法であって、
前記スキャンチェインの長さよりも短く、前記論理回路における所定ネットを遷移動作させることが可能なテストパタンを生成するテストパタン生成工程と、
前記テストパタン生成工程により生成されたテストパタンを、周期的に繰り返し、前記スキャンチェインに印加するテストパタン印加工程と、
を備え、
周期的に印加された、前記スキャンチェインの長さよりも短いテストパタンに応じた、前記半導体装置からの光に基づいて、前記所定ネットにおける故障を特定する故障箇所特定方法。 - 請求項10に記載の故障箇所特定方法において、
前記半導体装置には、故障診断が実行され、前記故障診断によって故障候補ネットとして特定されたネットが、前記所定ネットとされる、故障箇所特定方法。 - 請求項11に記載の故障箇所特定方法において、
前記短いテストパタンが生成されるとき、テストパタンの簡略化処理が実行される、故障箇所特定方法。 - 請求項11に記載の故障箇所特定方法において、
前記短いテストパタンが生成されるとき、テストパタンの周期探索処理が実行される、故障箇所特定方法。 - 請求項11に記載の故障箇所特定方法において、
前記短いテストパタンが生成されるとき、テストパタンのマッチング処理が実行される、故障箇所特定方法。 - 請求項11に記載の故障箇所特定方法において、
前記短いテストパタンには、前記所定ネットに遷移動作を発生させないダミーサイクルが挿入される、故障箇所特定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015201050A JP2017072542A (ja) | 2015-10-09 | 2015-10-09 | 発光解析装置および故障箇所特定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015201050A JP2017072542A (ja) | 2015-10-09 | 2015-10-09 | 発光解析装置および故障箇所特定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017072542A true JP2017072542A (ja) | 2017-04-13 |
Family
ID=58537467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015201050A Pending JP2017072542A (ja) | 2015-10-09 | 2015-10-09 | 発光解析装置および故障箇所特定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017072542A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019102683A1 (ja) * | 2017-11-27 | 2019-05-31 | 浜松ホトニクス株式会社 | 光計測方法、光計測装置、光計測プログラム、及び光計測プログラムを記録する記録媒体 |
CN111417860A (zh) * | 2017-11-27 | 2020-07-14 | 浜松光子学株式会社 | 解析方法、解析装置、解析程序以及记录解析程序的存储介质 |
CN114245285A (zh) * | 2022-01-20 | 2022-03-25 | 北京小雅星空科技有限公司 | 一种故障音箱定位方法及音箱管理系统 |
-
2015
- 2015-10-09 JP JP2015201050A patent/JP2017072542A/ja active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11181361B2 (en) | 2017-11-27 | 2021-11-23 | Hamamatsu Photonics K.K. | Optical measurement method, optical measurement device, optical measurement program, and recording medium for recording optical measurement program |
CN111417860A (zh) * | 2017-11-27 | 2020-07-14 | 浜松光子学株式会社 | 解析方法、解析装置、解析程序以及记录解析程序的存储介质 |
KR20200090735A (ko) * | 2017-11-27 | 2020-07-29 | 하마마츠 포토닉스 가부시키가이샤 | 해석 방법, 해석 장치, 해석 프로그램, 및 해석 프로그램을 기록하는 기록 매체 |
CN111512169A (zh) * | 2017-11-27 | 2020-08-07 | 浜松光子学株式会社 | 光测量方法、光测量装置、光测量程序以及存储光测量程序的存储介质 |
EP3719513A4 (en) * | 2017-11-27 | 2021-08-25 | Hamamatsu Photonics K.K. | ANALYSIS METHOD, ANALYSIS DEVICE, ANALYSIS PROGRAM AND RECORDING MEDIUM FOR RECORDING THE ANALYSIS PROGRAM |
EP3719512A4 (en) * | 2017-11-27 | 2021-08-25 | Hamamatsu Photonics K.K. | OPTICAL MEASUREMENT PROCESS, OPTICAL MEASURING DEVICE, OPTICAL MEASUREMENT PROGRAM AND RECORDING MEDIA FOR RECORDING AN OPTICAL MEASUREMENT PROGRAM |
WO2019102683A1 (ja) * | 2017-11-27 | 2019-05-31 | 浜松ホトニクス株式会社 | 光計測方法、光計測装置、光計測プログラム、及び光計測プログラムを記録する記録媒体 |
US11579184B2 (en) | 2017-11-27 | 2023-02-14 | Hamamatsu Photonics K.K. | Analysis method, analysis device, analysis program, and recording medium for recording analysis program |
TWI794300B (zh) * | 2017-11-27 | 2023-03-01 | 日商濱松赫德尼古斯股份有限公司 | 解析方法、解析裝置、解析程式以及記錄解析程式之記錄媒體 |
TWI805625B (zh) * | 2017-11-27 | 2023-06-21 | 日商濱松赫德尼古斯股份有限公司 | 光測量方法、光測量裝置、光測量程式以及記錄光測量程式之記錄媒體 |
KR102578485B1 (ko) * | 2017-11-27 | 2023-09-14 | 하마마츠 포토닉스 가부시키가이샤 | 해석 방법, 해석 장치, 해석 프로그램, 및 해석 프로그램을 기록하는 기록 매체 |
CN111512169B (zh) * | 2017-11-27 | 2023-11-14 | 浜松光子学株式会社 | 光测量方法、光测量装置、及存储光测量程序的存储介质 |
CN114245285A (zh) * | 2022-01-20 | 2022-03-25 | 北京小雅星空科技有限公司 | 一种故障音箱定位方法及音箱管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100859394B1 (ko) | 반도체 집적 회로의 테스트 방법 및 테스트 패턴 발생 회로 | |
CN107544017B (zh) | 基于向量压缩的低功耗加权伪随机测试方法及相关设备 | |
JP2017072542A (ja) | 発光解析装置および故障箇所特定方法 | |
WO2003104828B1 (en) | VARIABLY PULSE SCAN TEST CIRCUITS AND ASSOCIATED METHOD | |
Dilip et al. | Reseeding LFSR for test pattern generation | |
CN104345265A (zh) | 一种芯片测试方法和装置 | |
JP2018072290A (ja) | 故障箇所特定装置および故障箇所特定方法 | |
JP2023095914A (ja) | 半導体集積回路 | |
JPWO2008001818A1 (ja) | 変換装置、変換方法、変換方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体 | |
CN109145334B (zh) | 一种芯片设计处理的方法及装置 | |
CN113341296A (zh) | 一种基于ate的soc芯片测试方法 | |
JP2018010005A5 (ja) | スキャンテストデータ、スキャンテストデータ作成方法、及びスキャンテスト装置 | |
CN113391190B (zh) | 一种基于多块FPGA进行IC scan chain电路测试的方法 | |
US9310431B2 (en) | Diagnosis framework to shorten yield learning cycles of advanced processes | |
Kaczmarek et al. | LBIST for Automotive ICs with Enhanced Test Generation | |
TWI634341B (zh) | 克服自動測試設備的時序約束衝突之設備及方法 | |
JP2009002868A (ja) | テスト装置、パタン生成装置、テスト方法、及びパタン生成方法 | |
Pomeranz et al. | Scan-BIST based on transition probabilities for circuits with single and multiple scan chains | |
US10782343B2 (en) | Digital tests with radiation induced upsets | |
Pomeranz et al. | On the use of fully specified initial states for testing of synchronous sequential circuits | |
CN116013401B (zh) | 存储器调试方法、装置、设备及存储介质 | |
JP4839638B2 (ja) | テスタシミュレーション装置及びテストシミュレーション方法 | |
JP2010261863A (ja) | 試験装置および試験方法 | |
CN112748325A (zh) | 一种眼图测试方法、装置及设备 | |
JP2009093496A (ja) | 半導体集積回路の検証方法及び検証装置 |