(57)【特許請求の範囲】
【請求項１】
半導体装置に所定のデータが入力されてからこれに対応するデータが出力されるまでの動作クロック数をｎとして、前記半導体装置が正常動作するか否かの境界であって、正常動作しない前記動作クロックの周期Ｔ１と、正常動作する前記動作クロックの周期Ｔ２とを検出し、ｎ個の前記動作クロックの中のいずれかの周期をＴ２に設定し、それ以外の周期をＴ１に設定したときに前記半導体装置から正常なデータが出力される周期Ｔ２を有する１つあるいは複数の前記動作クロックの位置を求めることによりクリティカルパスの探索を行うことを特徴とするクリティカルパス探索方式。
【請求項２】
請求項１において、
前記周期Ｔ１とＴ２の動作クロックを発生する動作クロック発生手段と、
前記半導体装置の動作が正常であるか否かを調べるために前記半導体装置に所定のデータを入力する試験データ入力手段と、
前記試験データ入力手段によって入力される所定のデータに対応して前記半導体装置からデータが出力されたときに、この出力データが期待されたデータに一致するか否かを判定する出力データ判定手段と、
前記動作クロック発生手段から前記半導体装置に入力される前記ｎ個の動作クロックの中で、所定位置の動作クロックの周期を前記Ｔ２に、それ以外の周期を前記Ｔ１に設定して前記半導体装置を動作させ、ｎ番目の動作クロックに同期して前記半導体装置から出力されるデータに対する前記出力データ判定手段の判定結果に応じて、周期がＴ２である動作クロック位置に対応するクリティカルパスの有無を調べる探索制御手段と、
を備えることを特徴とするクリティカルパス探索方式。
【請求項３】
請求項２において、
前記探索制御手段は、ｎ番目の動作クロックから（ｎ−ｉ）番目の動作クロックの各周期を前記Ｔ２に、それ以外の周期を前記Ｔ１にそれぞれ設定して前記半導体装置の正常動作の有無を調べ、前記半導体装置が正常動作をする最も大きな（ｎ−ｉ）の値をクリティカルパス発生開始位置として特定することを特徴とするクリティカルパス探索方式。
【請求項４】
請求項３において、
前記探索制御手段は、前記クリティカルパス発生開始位置を先頭位置として所定範囲に含まれる前記動作クロックの周期を前記Ｔ２に、それ以外の周期を前記Ｔ１にそれぞれ設定して前記半導体装置の正常動作の有無を調べ、前記半導体装置が正常動作をする最も狭い前記所定範囲をクリティカルパス発生区間として特定することを特徴とするクリティカルパス探索方式。
【請求項５】
請求項１〜４において、
前記半導体装置は、外部から入力される動作クロックに同期して別の内部クロックを生成するＰＬＬ回路を有することを特徴とするクリティカルパス探索方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各種の大規模集積回路（ＬＳＩ）のクリティカルパスの特定を行うクリティカルパス探索方式に関する。なお、本明細書において、「半導体装置」とは、ロジック回路、メモリ回路、アナログ回路、またはそれらを組み合わせた半導体デバイス全体を示すものとする。
【０００２】
【従来の技術】
今日、ＬＳＩに集積されるトランジスタの数は飛躍的に増加しており、特にマイクロプロセッサに代表されるロジックＬＳＩ、メモリ、アナログＬＳＩ、システムＬＳＩは回路の複雑度が増している。このような大規模で複雑、しかも高速動作をするＬＳＩの不良解析をし、設計にフィードバックを行う場合、ＬＳＩ内のクリティカルパスを探し出す作業が頻繁に行われている。このクリティカルパスとは、ＬＳＩ内の信号伝搬路の内で全体の回路動作速度を制約する特定の経路をいい、ＬＳＩ設計においてはそれらの経路の伝播時間を所定値以下に抑えることが必要となる。
【０００３】
従来、ＬＳＩ内のクリティカルパスの探索は、設計データに基づくシミュレーションによって行っていた。ＬＳＩを構成する各回路は、その設計データにより、信号の入力から出力までの間の様々な演算回路、記憶回路等を通った伝播時間をシミュレーションによって算出することができる。したがって、所定のテストベクトル（テストパターン）を入力したときにＬＳＩ内部でどのように動作するかを計算によって求めることができ、クリティカルパスの探索が可能となる。
【０００４】
【発明が解決しようとする課題】
ところで、上述したようにＬＳＩ内のクリティカルパスをシミュレーションによって求める従来方式においては、
▲１▼全ての論理信号のクリティカルパスを検証するシミュレーションを行うプログラムを作成することは非常に時間がかかる、
▲２▼実際の回路（半導体装置）を動作させていないため、負荷の設定などのシミュレーションでは表現できない場合や、表現が難しくてその設定に多大な時間がかかる場合がある、
▲３▼膨大な数値データ処理を行うため、探索に非常に時間がかかる、
等の問題があった。
【０００５】
本発明は、このような点に鑑みて創作されたものであり、その目的は、実際の半導体装置を用いて高速かつ確実にクリティカルパスの検出が可能なクリティカルパス探索方式を提供することにある。
【０００６】
【課題を解決するための手段】
上述した課題を解決するために、本発明のクリティカルパス探索方式では、動作クロックの周期を短くしていって周期Ｔ１に達して正常動作しなくなったときに、クリティカルパスの位置に対応する動作クロックの周期を若干長いＴ２に変更することにより、半導体装置を正常動作させることができることに着目し、データが入力されてから出力されるまでのｎ個の動作クロック中の何番目の動作クロックの周期をＴ１からＴ２に変更すれば半導体装置が正常に動作するかを調べることによりクリティカルパスの探索を行っている。
【０００７】
具体的には、動作クロック発生手段によって半導体装置に入力するｎ個の動作クロックの周期をＴ１あるいはＴ２に設定し、試験データ入力手段によって入力されたデータに対応して上述したｎ個の動作クロックに同期して動作した後に半導体装置から出力されるデータの正誤を出力データ判定手段によって調べ、この出力データが正しいとき、すなわち半導体装置が正常に動作している場合に、探索制御手段は、周期がＴ２である動作クロック位置にクリティカルパスが存在するものと判断してクリティカルパスの探索処理を行っている。
【０００８】
このように、本発明によれば、半導体装置を実際に動作させることによりクリティカルパスの探索を行っており、シミュレーションによってクリティカルパスを探索する場合に比べると、高速かつ確実にクリティカルパスを検出することができる。また、負荷設定等を行って半導体装置を動作させることが可能であり、実際の使用状態を考慮した探索処理が可能となる。
【０００９】
また、上述した探索制御手段によって、ｎ番目の動作クロックから（ｎ−ｉ）番目の区間の動作クロックの各周期をＴ２に、それ以外の周期をＴ１にそれぞれ設定して半導体装置の正常動作の有無を調べ、正常動作をする（ｎ−ｉ）の値をクリティカルパス発生開始位置として特定することが最初の目標である。また、探索制御手段によって、クリティカルパス発生開始位置を先頭位置として所定範囲に含まれる動作クロックの周期をＴ２に、それ以外の周期をＴ１にそれぞれ設定して半導体装置の正常動作の有無を調べ、正常動作をする最も狭い範囲をクリティカルパス発生区間として特定することが２番目の目標である。このように、クリティカルパスの発生開始位置と発生区間を特定することにより、クリティカルパスの発生位置を正確に探索することができ、設計変更等の対策を容易にたてることができる。
【００１０】
また、本発明は、外部から入力される動作クロックに同期して別の内部クロックを生成するＰＬＬ回路を有する半導体装置のクリティカルパスの探索に適している。本発明のクリティカルパス探索方式では、半導体装置が正常動作をするかしないかの境界近傍の動作クロック周期Ｔ１およびＴ２で半導体装置を動作させることもできるため、外部から入力される動作クロックの周期をＴ１とＴ２との間で変更したときに内部のＰＬＬ回路によって生成される内部クロックがこの動作クロックに追随しやすく、上述した動作クロックの周期を変えてクリティカルパスの探索を行う本発明の探索方式の適用が容易となる。
【００１１】
【発明の実施の形態】
本発明のクリティカルパス探索方式を適用した実施形態の半導体試験装置は、クリティカルパスの探索対象としての半導体装置に対して所定のパターンデータを入力するとともに、各テストサイクルの動作クロック周期をパス（正常動作）とフェイル（不良動作）の境界の値に設定して半導体装置を動作させることにより、クリティカルパスの探索を行うことに特徴がある。以下、本発明を適用した一実施形態の半導体試験装置の詳細について、図面を参照しながら説明する。
【００１２】
図１は、本実施形態の半導体試験装置の構成を示す図である。同図に示す半導体試験装置は、クリティカルパスの探索対象としての半導体装置１００に対して探索動作に必要な各種の信号を入出力するために、テスタプロセッサ１０、タイミングジェネレータ２０、パターンジェネレータ３０、データセレクタ４０、フォーマットコントロール部５０、ピンカード６０、デジタルコンペア部７０を含んで構成されている。
【００１３】
上述したテスタプロセッサ１０は、オペレーティングシステム（ＯＳ）によって所定のテストプログラムを実行して半導体装置１００内のクリティカルパスを探索するために半導体試験装置の全体を制御する。タイミングジェネレータ２０は、探索動作に必要な基本周期を設定するとともに、この設定した基本周期内に含まれる各種のタイミングエッジを生成する。パターンジェネレータ３０は、半導体装置１００のクロック端子を含む各端子に入力するパターンデータを発生する。データセレクタ４０は、パターンジェネレータ３０から出力される各種のパターンデータと、これを入力する半導体装置１００の各端子とを対応させる。フォーマットコントロール部５０は、パターンジェネレータ３０によって発生されデータセレクタ４０によって選択されたパターンデータと、タイミングジェネレータ２０によって生成されたタイミングエッジとに基づいて、半導体装置１００に対する波形制御を行う。
【００１４】
また、ピンカード６０は、半導体装置１００との間の物理的なインタフェースをとるためのものである。例えば、ピンカード６０には、半導体装置１００の対応する端子に所定のパターン波形を印加するドライバと、各端子に現れる電圧波形と所定のローレベル電圧およびハイレベル電圧との比較を行うコンパレータとが含まれている。デジタルコンペア部７０は、半導体装置１００の各端子の出力データに対して、データセレクタ４０で選択された各端子毎の期待値データとの比較を行う。
【００１５】
タイミングジェネレータ２０によって半導体装置１００に供給するクロック信号やその他のタイミング信号が生成され、半導体装置１００に入力する各種データがパターンジェネレータ３０によって生成される。また、半導体装置１００に所定の試験データを入力して所定のテストサイクル数分だけ動作させた後の半導体装置１００の出力データが正常であるか否かがデジタルコンペア部７０によって判断される。
【００１６】
上述したタイミングジェネレータ２０が動作クロック発生手段に、パターンジェネレータ３０およびデータセレクタ４０が試験データ入力手段に、デジタルコンペア部７０が出力データ判定手段に、テスタプロセッサ１０が探索制御手段にそれぞれ対応する。
【００１７】
本実施形態の半導体試験装置はこのような構成を有しており、次に、これを用いて半導体装置１００内部のクリティカルパスの探索を行う場合の詳細な動作を説明する。
【００１８】
図２は、本実施形態の半導体試験装置によって行われるクリティカルパス探索の原理を説明するための図である。図２（Ａ）、（Ｂ）において、アドレス（１）、（２）等はテストサイクル数、すなわち入力される動作クロックの個数に対応している。例えば、アドレス（６）は、テストパターンが入力されて６個目の動作クロックに同期して動作する位置（回路）を示している。
【００１９】
図２（Ａ）に示すように、動作クロックの周期を次第に短くしていって、出力パターンが不良となる周期をＴ１とする。このとき、いずれのアドレスに対応する回路の動作が正常に行われなかったために出力パターンが不良となったかを知ることができれば、その不良箇所がクリティカルパス発生箇所として探索される。
【００２０】
例えば、図２（Ａ）に示すように、アドレス（４）に対応する位置で動作の異常が発生して出力パターンが不良になった場合には、図２（Ｂ）に示すように、アドレス（４）に対応する４個目の動作クロックの周期をＴ１より若干長いＴ２に変更することにより、正常な出力パターンを得ることができる。
【００２１】
このように、全テストサイクルの動作周期をフェイルするＴ１に設定した状態で、どのアドレスに対応する動作周期を長くすることにより正常に動作するかを調べることにより、クリティカルパスの発生アドレスを探し出すことができる。本実施形態では、クリティカルパスの発生開始アドレスと発生区間の両方を検出することによりクリティカルパスの探索処理を行うようにする。
【００２２】
図３は、半導体装置１００の入出力パターンと動作クロックの周期との関係を示す図である。例えば、半導体装置１００の入力ピン１に所定の試験データ（図３のアドレス（１）では“０”）を入力してから７個の動作クロックを入力したときに、この試験データに対応する出力データが出力ピン１に現れるものとすると、この７クロック目の出力データが期待した値に一致しているか否かを調べることにより、調べようとするアドレスに対応する回路の動作が正常であるか否かを知ることができる。
【００２３】
例えば、図２（Ｂ）に示すようなアドレス（４）に対応する動作周期のみをＴ２、それ以外をＴ１とする場合には、図３に示すｔ１〜ｔ３とｔ５〜ｔ７のそれぞれをＴ１に設定し、ｔ４のみをＴ２に設定する。このように４番目の動作クロックの周期のみをＴ２に設定して、半導体装置１００を７クロック分動作させ、その動作後に出力ピン１に現れる出力データが期待した値と一致するか否かを調べる。
【００２４】
次に、クリティカルパスの探索動作をクリティカルパスの発生開始アドレスの探索動作と発生区間の探索動作に場合を分けて説明する。例えば、図３に示したように、入力ピン１に試験データを入力してから７クロック分動作させたときに出力ピン１に対応するデータが出力されるものとする。また、アドレス（４）〜（６）に対応する位置にクリティカルパスが存在するものとして説明を行う。
【００２５】
図４は、クリティカルパスの発生開始アドレス探索の動作手順を示す図である。まず、テスタプロセッサ１０は、半導体装置１００に供給する動作クロックの周期を変化させて、動作がフェイルおよびパスの境界となる動作周期を探す（ステップａ１）。この動作周期の変更はタイミングジェネレータ２０に指示を送ることにより行われ、それぞれの周期の動作クロックを用いたときに半導体装置１００が正常動作をするか否かの判断は、図３に示したように、全アドレスに対応する動作周期をある値に設定して、７クロック目に同期して得られる出力ピン１の出力データを調べることにより行われる。このようにして、上述した境界であって、フェイルする動作クロックの周期Ｔ１とパスする動作クロックの周期Ｔ２とが検出される。
【００２６】
次に、テスタプロセッサ１０は、タイミングジェネレータ２０に指示を送って、全アドレスの動作周期をフェイルする周期Ｔ１に設定する（ステップａ２）。図３に示す全ての動作周期ｔ１〜ｔ７がＴ１に設定される。
【００２７】
このようにして全動作周期をフェイルする周期Ｔ１に設定した後、テスタプロセッサ１０は、クリティカルパスの発生開始アドレス（以下、単に「発生開始アドレス」と称する）を半導体装置１００がフェイルするアドレス（以下、「フェイルアドレス」と称する）（７）に設定し（ステップａ３）、この発生開始アドレス以降の各アドレスの動作周期をパスする周期Ｔ２に設定する（ステップａ４）。そして、半導体装置１００に対して所定の動作試験を行い（ステップａ５）、出力ピン１に現れる出力データが正常値（期待通りの値）であるか否かを判定する（ステップａ６）。
【００２８】
図５は、発生開始アドレスとこれを確かめるために設定される各アドレスの動作周期との関係を示す図である。図５（Ａ）に示すように、上述したステップａ３において発生開始アドレスを（７）に設定した場合には、ｎ個の動作クロックの内のｎ番目（実施形態ではｎ＝７であるため７番目）のアドレス（７）の動作周期のみをＴ２に変更して動作試験が行われる。
【００２９】
このようにして実施される動作試験の結果、出力ピン１に現れる出力データが期待通りの正常なものである場合には、その時点で設定されている発生開始アドレスをクリティカルパスの発生開始アドレスに決定して（ステップａ７）、クリティカルパスの発生開始アドレスの探索処理を終了する。
【００３０】
また、動作試験の結果、出力ピン１に現れる出力データが正常でない場合には、次にテスタプロセッサ１０は、その時点で設定されている発生開始アドレスが先頭アドレス（１）であるか否かを判定する（ステップａ８）。最初は、上述したステップａ３において発生開始アドレスがフェイルアドレス（７）に設定されているため否定判断され、テスタプロセッサ１０は、発生開始アドレスを１つ先頭方向へ進めてアドレス（６）に設定（ステップａ９）した後、上述したステップａ４の動作周期の設定以降の処理を繰り返す。
【００３１】
図５（Ｂ）に示すように、発生開始アドレスを１つ進めてアドレス（６）に設定した場合には、このアドレス（６）以降、すなわちアドレス（６）と（７）がパスする周期Ｔ２に設定され、動作試験が実施される。
【００３２】
また、アドレス（６）と（７）の動作周期をパスする周期Ｔ２に設定して動作試験を実施しても、出力ピン１に正常な出力データが現れない場合には、図５（Ｃ）に示すように、発生開始アドレスをさらに１つ進めてアドレス（５）に設定した後、上述したステップａ４の動作周期の設定以降の処理が繰り返される。
【００３３】
このようにして、発生開始アドレスを１つずつ先頭側に進めていってその発生開始アドレス以降の各アドレスの動作周期をパスする周期Ｔ２に設定し、その都度動作試験を行うことにより、出力ピン１に正常な出力データが現れるまでこの手順が繰り返される。例えば、図５（Ｄ）に示すように、発生開始アドレスを（４）に設定し、アドレス（４）〜（７）の動作周期をパスする周期Ｔ２に設定して動作試験を実施したときに出力ピン１に正常な出力データが現れた場合には、上述したようにステップａ６（出力データが正常か否かの判定処理）において肯定判断され、その時点における発生開始アドレス（４）をクリティカルパスの発生開始アドレスに決定して（ステップａ７）、クリティカルパスの探索処理を終了する。
【００３４】
なお、発生開始アドレスを先頭アドレス（１）に設定して動作試験を行っても出力ピン１に正常な出力データが現れない場合には、クリティカルパスの探索に失敗したものとして探索処理を終了する（ステップａ１０）。
【００３５】
このようにしてクリティカルパスの発生開始アドレスの特定が終了した後、発生区間の特定が行われる。図６は、クリティカルパスの発生区間探索の動作手順を示す図である。まず、テスタプロセッサ１０は、タイミングジェネレータ２０に指示を送って、全アドレスの動作周期をフェイルする周期Ｔ１に設定する（ステップｂ１）。全動作周期をフェイルする周期Ｔ１に設定した後、テスタプロセッサ１０は、クリティカルパスの発生終了アドレス（以下、単に「発生終了アドレス」と称する）を発生開始アドレスに設定し（ステップｂ２）、すなわちクリティカルパス発生区間（以下、単に「発生区間」と称する）を発生開始アドレスのみに限定して、この発生区間に対応するアドレスの動作周期をパスする周期Ｔ２に設定する（ステップｂ３）。そして、半導体装置１００に対して所定の動作試験を行い（ステップｂ４）、出力ピン１に現れる出力データが正常値であるか否かを判定する（ステップｂ５）。
【００３６】
図７は、発生区間とこれを確かめるために設定される各アドレスの動作周期との関係を示す図である。図７（Ａ）に示すように、上述したステップｂ２において発生終了アドレスを発生開始アドレス（４）に設定した場合には、発生区間としてのアドレス（４）のみの動作周期をパスする周期Ｔ２に変更して動作試験が行われる。
【００３７】
このようにして実施される動作試験の結果、出力ピン１に現れる出力データが期待通りの正常なものである場合には、その時点で設定されている発生区間をクリティカルパスの発生区間として決定して（ステップｂ６）、クリティカパス発生区間の探索処理を終了する。
【００３８】
また、動作試験の結果、出力ピン１に現れる出力データが正常でない場合には、次にテスタプロセッサ１０は、その時点で設定されている発生終了アドレスがテストサイクルのフェイルアドレス（７）であるか否かを判定する（ステップｂ７）。最初は、上述したステップｂ２において発生開始アドレス（４）が発生最終アドレスだけに設定されているため否定判断され、テスタプロセッサ１０は、発生終了アドレスを１つ後ろに進めてアドレス（５）に設定（ステップｂ８）し、上述したステップｂ３の動作周期の設定以降の処理を繰り返す。
【００３９】
図７（Ｂ）に示したように、発生終了アドレスを１つ後ろに進めてアドレス（５）に設定した場合には、発生開始アドレス（４）から発生終了アドレス（５）までが発生区間として設定され、これら２つのアドレス（４）、（５）の動作周期がパスする周期Ｔ２に設定され、動作試験が実施される。
【００４０】
また、アドレス（４）と（５）の動作周期をパスする周期Ｔ２に設定して動作試験を実施しても出力ピン１に正常な出力データが現れない場合には、図７（Ｃ）に示すように、発生終了アドレスをさらに１つ進めてアドレス（６）に設定し、発生区間をアドレス（４）〜（６）とした後、上述したステップｂ３の動作周期の設定以降の処理が繰り返される。
【００４１】
このようにして、発生終了アドレスを１つずつ後ろに進めていって発生開始アドレスから発生終了アドレスまでの発生区間に含まれる各アドレスの動作周期をパスする周期Ｔ２に設定し、その都度動作試験を行うことにより、出力ピン１に正常な出力データが現れるまでこの手順が繰り返される。例えば、図７（Ｃ）に示すように、発生終了アドレスを（６）に設定して、発生区間としてのアドレス（４）〜（６）の各動作周期をパスする周期Ｔ２に設定して動作試験を実施したときに出力ピン１に正常な出力データが現れた場合には、上述したようにステップｂ５（出力データが正常か否かの判定処理）において肯定判断され、その時点における発生区間をクリティカルパスの発生区間に決定して（ステップｂ６）、クリティカルパス発生区間の探索処理を終了する。
【００４２】
なお、発生終了アドレスをテストサイクルのフェイルアドレス（７）に設定して動作試験を行っても出力ピン１に正常な出力データが現れない場合、すなわち、発生終了アドレスをテストサイクルのフェイルアドレス（７）に設定すると図５（Ｄ）に示した状態が再現されるため必ず出力ピン１には正常な出力データが現れるはずであるが、正常な出力データが現れない場合とは図４に示した一連の動作手順に従って行われたクリティカルパスの先頭アドレスの探索動作が誤りであった可能性があるため、この場合にはクリティカルパスの探索に失敗したものとして探索処理を終了する（ステップｂ９）。
【００４３】
本実施形態の半導体試験装置によれば、半導体装置１００に所定の試験データを入力してこれに対応する出力データが得られるまでの各動作クロックを各アドレスに対応させており、最初に全アドレスの動作周期をフェイルとパスの境界であってフェイルする周期Ｔ１に設定した後、順に出力ピン１近傍のアドレスの動作周期をパスする周期Ｔ２に変更していって、どのアドレスまで動作周期をＴ２に変更したときに出力データが正常値になるかを調べており、動作周期の部分的な変更とそのときの出力データの正誤判定を行うことにより、クリティカルパスの発生開始アドレスを探索することができる。
【００４４】
また、クリティカルパスの発生開始アドレスを検出した後に、この開始アドレスを固定してこれより後にある発生終了アドレスを順にずらして発生区間を長くしていって、どのアドレスまで発生区間を長くしたときに出力データが正常値になるかを調べており、動作周期の部分的な変更とそのときの出力データの正誤判定を行うことにより、クリティカルパスの発生範囲を探索することができる。このように、クリティカルパスの発生開始アドレスと発生区間がわかれば、設計データ等と照らし合わせることにより、実際の半導体装置１００内の不良の原因となった該当箇所を特定することができるため、高速動作における伝播遅延時間を改善する等の対策が可能となる。
【００４５】
このように、本実施形態の半導体試験装置を用いて、実際の半導体装置１００を動作させることによりクリティカルパスの探索を行っており、シミュレーションによってクリティカルパスを探索する場合に比べて、探索プログラムを作成する手間を大幅に低減することができ、しかも負荷の設定等を実際の使用に近い状態で再現することができる。また、実際に半導体装置１００を動作させてクリティカルパスを探索するため、構成要素のそれぞれの動作をシミュレーションで再現する場合に比べると、探索に要する時間を大幅に短縮することができる。
【００４６】
ところで、クリティカルパスの探索対象となる半導体装置１００の中には、内部にＰＬＬ回路を有し、外部から入力されるクロック信号（以下、「外部クロック」と称する）に同期して内部のＰＬＬ回路によってデューティ比を補正したクロック信号（以下、「内部クロック」と称する）を生成し、この生成した内部クロックに同期して動作するものもある。従来は、このような半導体装置１００については、図８に示すように、外部クロックの周期を大きく変動させると、ＰＬＬ回路によって生成される内部クロックの周期が大幅に乱れるため、半導体装置１００の正常動作が保障されず、実際の半導体装置１００を用いてクリティカルパスを探索することは困難であると考えられていた。
【００４７】
しかし、上述した本実施形態の半導体試験装置は、図４に示すステップａ１において、フェイルとパスの境界を調べて、その近傍のわずかに異なる動作周期Ｔ１とＴ２とを用いてクリティカルパスの探索を行うこともできる。したがって、各アドレスの動作周期を部分的に周期Ｔ１から周期Ｔ２に変えた場合であっても、半導体装置１００内部のＰＬＬ回路によって生成される内部クロックへの影響が少なく、半導体装置１００を正常に動作させて、図４および図６に示した一連の手順に従ってクリティカルパスの探索を行うことができる。
【００４８】
図９は、半導体装置１００の外部クロックを部分的にパスする動作周期Ｔ２に設定した場合の外部クロックと内部クロックの関係を示す図である。例えば、アドレス（４）の動作周期のみをＴ２に変更すると、半導体装置１００に内蔵されるＰＬＬ回路によって内部クロックの動作周期もＴ２に変更されるが、その直後に外部クロックの動作周期を周期Ｔ１に戻しても、内部クロックは数アドレス分影響を受けた後に周期Ｔ１に収束する。
【００４９】
例えば、全テストサイクルの動作周期を２１ｎｓｅｃに設定したときに得られる出力データが正常でないフェイル状態であり、動作周期を２２ｎｓｅｃに設定したときに得られる出力データが正常であるパス状態であり、動作周期をその間の２１．５ｎｓｅｃに設定したときに得られる出力データがフェイル状態とパス状態とが交互に現れるような不安定状態であった場合には、フェイルする動作周期を２１ｎｓｅｃに、パスする動作周期を２２ｎｓｅｃにそれぞれ設定する。この場合には、これらの周期の差は、２２−２１＝１ｎｓｅｃであり、周期の５％程度であるため、ＰＬＬ回路による補正の影響を大きく受けることはない。
【００５０】
このように、図２に示したように調べたいアドレスの動作周期のみをパスする周期Ｔ２に、それ以外をフェイルする周期Ｔ１に正確に設定することはできないが、特定のアドレスを含む所定範囲の動作周期をＴ２あるいはこれに近い値に設定することができる。したがって、図４および図６に示した一連の手順に従って、ＰＬＬ回路を内蔵した半導体装置１００についてもほぼ正確にクリティカルパスの発生開始アドレスおよび発生区間を特定することができ、実際の半導体装置１００を動作させてクリティカルパスの探索を行うことができる。
【００５１】
なお、本発明は上記実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。例えば、上述した実施形態では、図５に示すように発生開始アドレスを最後尾のアドレスから順に１つずつ前方にずらしていってクリティカルパスの発生開始アドレスを探索するようにしたが、発生開始アドレスを２以上のアドレスを単位にずらしていってそのときの出力ピン１に現れる出力データを調べるようにしてもよい（ｎ−ｉのｉの値を２以上に設定した場合に対応する）。
【００５２】
あるいは、２分探索法を用い、まず最初に後半のアドレス全部の動作周期をパスする周期Ｔ２に変更してそのときの出力データを調べ、発生開始アドレスが前半分に存在するのか後ろ半分に存在するのかを判定し、その後発生開始アドレスが含まれる範囲を２分して後半部分のアドレスの動作周期をパスする周期Ｔ２に設定して出力データを調べる。このようにして、発生開始アドレスが含まれる区間を次第に狭くしていって最終的に１つのアドレスを特定するようにしてもよい。半導体装置１００の回路規模が大きい場合であって、クリティカルパスの発生アドレスがフェイルアドレスよりかなり遠くに存在する場合には、テストサイクルの最終アドレスから１つずつ遡って調べていくと膨大な時間がかかるが、この手法を用いれば探索に要する時間を短縮することができる。
【００５３】
また、上述した実施形態では、半導体装置１００の各種の機能試験を実施する半導体試験装置を用いて半導体装置１００のクリティカルパスの探索を行うようにしたが、クロック周期を任意に設定可能なものであれば、特に汎用的な半導体試験装置を用いる必要はなく他のハードウエアを用いて実現するようにしてもよい。
【００５４】
また、上述した実施形態では、図４および図６に示す動作手順をテスタプロセッサ１０によって実行することにより、クリティカルパスの発生開始アドレスと発生区間を特定するようにしたが、テスタプロセッサ１０が実行する一連の手順をロジック回路等のハードウエアによって実現し、クリティカルパスの探索に必要な全ての処理をハードウエアのみで実現するようにしてもよい。
【００５５】
また、上述した実施形態では、クリティカルパスの発生区間を特定する際に、発生区間の発生開始アドレスと発生終了アドレスを１点ずつ検出して区間の特定を行うようにしたが、クリティカルパスが隔たった２箇所以上で発生している場合もあるため、これら複数箇所のクリティカルパスを個別に探索することも可能である。例えば図６に示した動作手順に従って、クリティカルパスの発生区間を特定したとする。図７の（Ｃ）の場合は、アドレス（４）〜（６）にクリティカルパス発生区間が存在している。このとき、本当にクリティカルパスが発生しているのは、アドレス（４）と（６）の２ヶ所であり、アドレス（５）は、関係がないとする。この場合は、図６のアルゴリズムの逆の応用を行い、クリティカルパス発生区間であったアドレスのパスする動作周期Ｔ２区間をフェイルする周期Ｔ１に置き換えて、半導体装置の出力データが正常に動作するかを見ることにより、クリティカルパスの発生とは関係ないアドレスを探索することができる。これにより、結果的に複数箇所の原因によるクリティカルパスの発生区間を特定することができる。
【００５６】
【発明の効果】
上述したように、本発明によれば、半導体装置を実際に動作させることによりクリティカルパスの探索を行っており、シミュレーションによってクリティカルパスを探索する場合に比べると、高速かつ確実にクリティカルパスを検出することができる。また、負荷設定等を行って半導体装置を動作させることが可能であり、実際の使用状態を考慮した探索処理が可能となる。
【００５７】
また、本発明は、外部から入力される動作クロックに同期して別の内部クロックを生成するＰＬＬ回路を有する半導体装置のクリティカルパスの探索に適している。本発明では、半導体装置が正常動作をするかしないかの境界近傍の動作クロック周期Ｔ１およびＴ２で半導体装置を動作させることもできるため、外部から入力される動作クロックの周期をＴ１とＴ２との間で変更したときに内部のＰＬＬ回路によって生成される内部クロックがこの動作クロックに追随しやすく、動作クロックの周期を変えてクリティカルパスの探索を行う本発明の探索方式の適用が容易となる。
【図面の簡単な説明】
【図１】本実施形態の半導体試験装置の構成を示す図である。
【図２】本実施形態の半導体試験装置によって行われるクリティカルパス探索の原理を説明するための図である。
【図３】半導体装置の入出力パターンと動作クロック周期との関係を示す図である。
【図４】クリティカルパスの発生開始アドレス探索の動作手順を示す図である。
【図５】発生開始アドレスとこれを確かめるために設定される各アドレスの動作周期との関係を示す図である。
【図６】クリティカルパスの発生区間探索の動作手順を示す図である。
【図７】発生区間とこれを確かめるために設定される各アドレスの動作周期との関係を示す図である。
【図８】内部にＰＬＬ回路を有する半導体装置に入力される外部クロックと内部クロックの関係を示す図である。
【図９】内部にＰＬＬ回路を有する半導体装置に入力される外部クロックと内部クロックの関係を示す図である。
【符号の説明】
１０  テスタプロセッサ
２０  タイミングジェネレータ
３０  パターンジェネレータ
４０  データセレクタ
５０  フォーマットコントロール部
６０  ピンカード
７０  デジタルコンペア部
１００  半導体装置
【図１】
0003605506.tif 000002
【図２】
0003605506.tif 000003
【図３】
0003605506.tif 000004
【図４】
0003605506.tif 000005
【図５】
0003605506.tif 000006
【図６】
0003605506.tif 000007
【図７】
0003605506.tif 000008
【図８】
0003605506.tif 000009
【図９】
0003605506.tif 000010