(57)【要約】【課題】サイクルストレッチテストの結果が正しいことを検証できるようにする。【解決手段】フリップフロップ５１乃至５５を直列に接続し、フリップフロップ５３とフリップフロップ５４との間に、通常の素子３３と並列に、入力されたデータを所定の時間だけ遅延して出力する遅延回路４１を接続し、セレクタ４２によってフリップフロップ５４への入力を切り替える。通常の素子３３を使って動作周期のクロックで期待値通りの出力を検出できたら、遅延回路４１を使って、遅延回路４１に対応するクロックの周期を変化させて、サイクルストレッチテストを行う。この結果、期待値通りの出力を検出できれば、サイクルストレッチテストの結果が正しいことが検証できる。本発明は半導体の検査装置に適用することができる。【選択図】      図４
2004150910.tif 000002
【特許請求の範囲】
【請求項１】
直列に接続された複数のフリップフロップの間に検査素子を配置し、前記フリップフロップを介して前記検査素子にデータを転送して前記検査素子を検査する検査装置において、
第１のフリップフロップと、前記第１のフリップフロップの後段の第２のフリップフロップとの間に配置された前記検査素子と並列に配置され、前記第１のフリップフロップから入力された前記データを、所定時間だけ遅延して出力する遅延手段と、
前記検査素子を介して前記第１のフリップフロップから入力された前記データと、前記遅延手段を介して前記第１のフリップフロップから入力された前記データの一方を選択して前記第２のフリップフロップに出力する選択手段と
を備えることを特徴とする検査装置。
【請求項２】
前記フリップフロップを駆動するクロックを発生するクロック発生手段と、
最終段の前記フリップフロップから出力されたデータを検出するデータ検出手段と、
前記データ検出手段により検出された前記データを期待値に基づいて判定し、その判定結果に基づいて、前記発生手段が発生する前記クロックの周期を変化させる判定手段と
をさらに備えることを特徴とする請求項１に記載の検査装置。
【請求項３】
前記遅延手段は、複数の演算素子で構成され、
前記判定手段は、前記判定結果に基づいて、複数の前記演算素子の１個当たりの遅延時間を判定する
ことを特徴とする請求項２に記載の検査装置。
【請求項４】
前記遅延手段は、複数の演算素子で構成され、
前記判定手段は、第１のパターンの複数の前記演算素子で構成される第１の遅延手段の遅延時間と、第２のパターンの複数の前記演算素子で構成される第２の遅延手段の前記遅延時間を判定する
ことを特徴とする請求項２に記載の検査装置。
【請求項５】
直列に接続された複数のフリップフロップの間に検査素子を配置し、前記フリップフロップを介して前記検査素子にデータを転送して前記検査素子を検査する検査装置の検査方法において、
第１のフリップフロップと、前記第１のフリップフロップの後段の第２のフリップフロップとの間に前記検査素子を配置した場合における、最終段の前記フリップフロップが出力するデータを検出し、
前記第１のフリップフロップと前記第２のフリップフロップとの間に、所定の時間だけデータを遅延する遅延素子を配置した場合における、最終段の前記フリップフロップが出力するデータを検出する
ことを特徴とする検査方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は検査装置および方法に関し、特に、正常に動作していることを確認することができるようにした検査装置および方法に関する。
【０００２】
【従来の技術】
大規模集積回路において、クロックの周期を短くすると、処理が遅いためそのクロック周期で動作できない素子、いわゆるクリティカルパスを発見するための１つの方法として、サイクルストレッチテストがある。
【０００３】
図１および図２を参照してこのサイクルストレッチテストについて説明する。図１の回路には、フリップフロップ１乃至４が直列に接続され、フリップフロップ１とフリップフロップ２との間には、素子２１が接続され、フリップフロップ２とフリップフロップ３との間には、素子２２が接続され、フリップフロップ３とフリップフロップ４との間には、素子２３が接続されている。
【０００４】
素子２３はこの回路におけるクリティカルパスであり、図２Ａに示される周期Ｔａのクロックでは動作できるが、図２Ｂに示される周期Ｔａより短い周期Ｔｂのクロックでは動作できないものとする。
【０００５】
図１のデータバス１１上の位置ａからフリップフロップ１にデータが入力された状態で、図２Ａに示される周期ＴａのクロックＣ１がクロック線１２に入力されると、フリップフロップ１はデータを取り込み、出力する。素子２１はフリップフロップ１が出力するデータを処理し、データをデータバス１１の位置ｂに出力する。次に、クロックＣ２がクロック線１２に入力されると、フリップフロップ２はデータバス１１の位置ｂにあるデータを取り込み、出力する。素子２２はデータの処理を行って、データをデータバス１１の位置ｃに出力する。このようにして、データは、クロックが入力される度にデータバス１１上を位置ａ，ｂ，ｃ，ｄの順に移動し、クロックＣ４が入力されたとき、データはデータバス１１の位置ｅに出力される。
【０００６】
しかし、図２Ｂに示される周期ＴｂのクロックＣ１乃至Ｃ４を入力した場合、素子２３は周期Ｔｂのクロックでは動作できないため、クロックＣ４が入力されても、データバス１１の位置ｅにデータは出力されない。
【０００７】
このような場合、素子２１，２２，２３のうちどの素子がクリティカルパスであるのかを調べるために、クロックの周期を変化させる、サイクルストレッチテストが行われる。すなわち、図２Ｃ乃至Ｅに示されるように、クロックＣ１乃至Ｃ３のいずれか１つを短い周期にした３種類のパターンのクロックを順に入力し、クロックＣ４が入力されたときにデータバス１１の位置ｅにデータが出力されるか否かを検出する。
【０００８】
最初に図２Ｃに示されるように、第１番目のクロックＣ１の周期だけをＴｂとして、第２番目以降のクロックＣ２乃至Ｃ４の周期をＴａとしたクロックをクロック線１２に入力し、クロックＣ４が入力されたときにデータバス１１の位置ｅにデータが出力されるか否かが検出される。図１の例の場合、素子２１はクリティカルパスではないので、クロックＣ１が入力され、フリップフロップ１からデータが出力されると、素子２１は、フリップフロップ１から出力されたデータを処理して、クロックＣ２が入力される前に、データをデータバス１１の位置ｂに出力する。以後入力されるクロックＣ２，Ｃ３，Ｃ４の周期は全てＴａであるので、素子２３を含む全ての素子は入力されたデータを後段に出力することができる。したがって、位置ｅでデータが検出される。その結果、素子２１はクリティカルパスではないこと（周期Ｔｂのクロックで動作可能であること）が判る。
【０００９】
次に、図２Ｄに示されるように、第１番目のクロックＣ１の次の第２番目のクロックＣ２の周期だけをＴｂとして、クロックＣ１、Ｃ３、およびＣ４の周期をＴａとしたクロックをクロック線１２に入力させる。この場合も、クロックＣ４が入力されたときにデータバス１１の位置ｅにデータが出力される。この結果から素子２２はクリティカルパスではないことがわかる。
【００１０】
次に、図２Ｅに示されるように、第３番目のクロックＣ３の周期だけをＴｂとして、クロックＣ１、Ｃ２、およびＣ４の周期をＴａとしたクロックをクロック線１２に入力させる。この場合、クロックＣ４が入力されたときにデータバス１１の位置ｅにデータが出力されない。これは、第３番目のクロックＣ３が入力されたとき、素子２３はフリップフロップ３から出力されたデータを処理して、データバス１１の位置ｄに出力しようとするが、素子２３は処理速度が遅いため、次の第４番目のクロックＣ４が入力される前にデータをデータバス１１の位置ｄに出力することができないためである。
【００１１】
このようにして、周期が短いクロックの位置が異なる複数のパターンのクロックを供給した場合において、データが検出されないクロックパターンの周期が短いクロックの位置に対応する素子がクリティカルパスであることがわかる。
【００１２】
【発明が解決しようとする課題】
ところで、初めて使うテスタ、新規デバイス等を用いてサイクルストレッチテストを行う場合、サイクルストレッチテストの結果が正しいものなのか否かを検証することができず、テストの信頼性に疑問が残るという課題があった。
【００１３】
本発明はこのような状況に鑑みてなされたものであり、簡単な構成で、サイクルストレッチテストの信頼性を検証することができるようにするものである。
【００１４】
【課題を解決するための手段】
本発明の検査装置は、第１のフリップフロップと、第１のフリップフロップの後段の第２のフリップフロップとの間に配置された検査素子と並列に配置され、第１のフリップフロップから入力されたデータを、所定時間だけ遅延して出力する遅延手段と、検査素子を介して第１のフリップフロップから入力されたデータと、遅延手段を介して第１のフリップフロップから入力されたデータの一方を選択して第２のフリップフロップに出力する選択手段とを備えることを特徴とする。
【００１５】
前記フリップフロップを駆動するクロックを発生するクロック発生手段と、最終段のフリップフロップから出力されたデータを検出するデータ検出手段と、データ検出手段により検出されたデータを期待値に基づいて判定し、その判定結果に基づいて、発生手段が発生するクロックの周期を変化させる判定手段とをさらに備えるようにすることができる。
【００１６】
前記遅延手段は、複数の演算素子で構成され、判定手段は、判定結果に基づいて、複数の前記演算素子の１個当たりの遅延時間を判定することができる。
【００１７】
前記遅延手段は、複数の演算素子で構成され、判定手段は、第１のパターンの複数の演算素子で構成される第１の遅延手段の遅延時間と、第２のパターンの複数の演算素子で構成される第２の遅延手段の遅延時間を判定することができる。
【００１８】
本発明の検査方法は、第１のフリップフロップと、第１のフリップフロップの後段の第２のフリップフロップとの間に検査素子を配置した場合における、最終段の前記フリップフロップが出力するデータを検出し、第１のフリップフロップと第２のフリップフロップとの間に、所定の時間だけデータを遅延する遅延素子を配置した場合における、最終段のフリップフロップが出力するデータを検出することを特徴とする。
【００１９】
本発明の検査装置および方法においては、第１のフリップフロップの後段の第２のフリップフロップとの間に検査素子を配置した場合における、最終段の前記フリップフロップが出力するデータが検出されるとともに、第１のフリップフロップと第２のフリップフロップとの間に、所定の時間だけデータを遅延する遅延素子を配置した場合における、最終段のフリップフロップが出力するデータが検出される。
【００２０】
【発明の実施の形態】
以下に、本発明の実施の形態について図面を参照して説明する。図３および図４は、本発明を適用した検査装置の第１の実施形態の構成を示している。図３に示されるように、この装置においては、サイクルストレッチテストにより、クリティカルパスが検出される試験回路７１、試験回路７１の最初のフリップフロップ１にデータを供給するデータ発生部６１、試験回路７１の各フリップフロップにクロックを供給するクロック発生部６２、試験回路の最終段のフリップフロップ５の出力を検出するデータ検出部６５が設けられている。さらに、データ発生部６１、クロック発生部６２、およびデータ検出部６５を制御するマイクロコンピュータ６３、マイクロコンピュータ６３の出力を表示する表示部６４が設けられている。
【００２１】
試験回路７１においては、フリップフロップ１乃至５が直列に接続され、フリップフロップ１とフリップフロップ２との間には素子２１が接続され、フリップフロップ２とフリップフロップ３との間には素子２２が接続されている。フリップフロップ３とフリップフロップ４との間には、素子２３が接続され、フリップフロップ４とフリップフロップ５との間には素子２４が接続されている。
【００２２】
この試験回路７１において素子２３がクリティカルパスであり、周期Ｔｓのクロックでは動作できないものとする。
【００２３】
図４には、図３に示される装置において、試験回路７１に代わって検証回路８１が接続された状態の構成が示されている。
【００２４】
検証回路８１においては、フリップフロップ５１乃至５５が直列に接続され、フリップフロップ５１とフリップフロップ５２との間には素子３１が接続され、フリップフロップ５２とフリップフロップ５３との間には素子３２が接続されている。フリップフロップ５３とフリップフロップ５４との間には、素子３３と遅延回路４１とが並列に接続され、さらに、素子３３から出力されたデータと遅延回路４１から出力されたデータを選択してフリップフロップ５４に入力するセレクタ４２が接続されている。フリップフロップ５４とフリップフロップ５５との間には素子３４が接続されている。
【００２５】
検証回路８１の素子３１乃至３４は周期Ｔ１のクロックで動作できるように設計されている。一方、遅延回路４１は、周期Ｔ１よりも長い、時間Ｔ４だけデータを遅延して出力するように遅延時間が設計されている。
【００２６】
セレクタ４２はマイクロコンピュータ６３からの指示に基づいて、素子３３からの出力、または遅延回路４１からの出力のどちらか一方を選択し、フリップフロップ５４に入力する。
【００２７】
また、図３および図４のクロック発生部６２は、マイクロコンピュータ６３からの指示に基づいて、クロックの周期を変化させることができる。すなわち、所定のタイミングのクロックだけ、他のタイミングのクロックと異なる周期とさせることが可能とされる。
【００２８】
なお、図３および図４においては、フリップフロップを５個直列に接続して装置を構成しているが、必要に応じてフリップフロップの数を変化させることも可能であり、例えば、フリップフロップを１００個直列に接続することもできる。
【００２９】
また、図４において遅延回路４１は、第３番目のフリップフロップ５３と第４番目のフリップフロップ５４との間に接続されているが、例えば、フリップフロップを１００個直列に接続する場合、第２５番目、第５０番目、および第７５番目のフリップフロップの後に遅延回路を接続することもできる。
【００３０】
次に、図５のフローチャートを参照して検査装置のクロック信号テスト処理について説明する。ステップＳ１において、マイクロコンピュータ６３は、図３に示される試験回路７１が検査装置に装着された状態でサイクルストレッチテストを行う。そして、そのテストが終了した後、ステップＳ２において、マイクロコンピュータ６３は、図４に示される検証回路８１が検査装置に装着された状態でサイクルストレッチテストを行う。
【００３１】
次に、図６のフローチャートを参照して、試験回路７１のサイクルストレッチテスト処理について説明する。ステップＳ２１において、マイクロコンピュータ６３は、後述する動作周期検出処理（図８）を行い、試験回路７１のクリティカルパスが動作できないクロックの周期Ｔｓを検出する。そして、ステップＳ２２に進み、マイクロコンピュータ６３は、データ発生部６１からデータを発生させ、ステップＳ２３において、変数ｎの値を１に初期設定する。
【００３２】
ステップＳ２４において、マイクロコンピュータ６３は、第ｎ番目のクロックの周期をＴｓとし、それ以外のクロックの周期をＴｓより長いＴｍとするパターンのクロックを、クロック発生部６２から発生させ、そしてステップＳ２５に進み、データ検出部６５からの出力を取得する。
【００３３】
ステップＳ２６において、マイクロコンピュータ６３は、データ検出部６５からの出力が期待値と一致していることを表している信号（一致信号）であるか否か、すなわち、第５番目のクロックが入力されたときに、データ検出部６５によってデータが検出されたか否かを判定し、データ検出部６５からの出力が一致信号であると判定された場合、ステップＳ２７に進み、変数ｎの値をｎ＋１に設定する（１だけインクリメントする）。そして処理は、ステップＳ２４に戻り、それ以降の処理が繰り返し、実行される。
【００３４】
変数ｎの値が１のとき、図７Ａに示されるパターンのクロックが試験回路７１に入力される。図７Ａでは、第１番目のクロックＣ１のみが周期Ｔｓとされ、第２番目乃至第５番目のクロックＣ２乃至Ｃ５は周期Ｔｍとされている。
【００３５】
図３の試験回路７１では、素子２１はクリティカルパスではないので、クロックＣ１が入力され、フリップフロップ１からデータが出力されると、素子２１は、フリップフロップ１から出力されたデータを処理して、クロックＣ２が入力される前に、データをデータバス１１の位置ｂに出力する。以後入力されるクロックＣ２，Ｃ３，Ｃ４，Ｃ５の周期は全てＴｍであるので、素子２３を含む全ての素子は入力されたデータを後段に出力することができる。したがって、クロックＣ５が入力されたとき、位置ｆでデータが検出される。その結果、データ検出部６５からの出力は一致信号となる。
【００３６】
変数ｎの値が２のとき、図７Ｂに示されるパターンのクロックが試験回路７１に入力される。図７Ｂでは、第２番目のクロックＣ２のみが周期Ｔｓとされ、第１番目、第３番、第４番目、第５番目のクロックＣ１，Ｃ３，Ｃ４，Ｃ５は周期Ｔｍとされている。
【００３７】
図３の試験回路７１では、素子２１はクリティカルパスではないので、クロックＣ１が入力され、フリップフロップ１からデータが出力されると、素子２１は、フリップフロップ１から出力されたデータを処理して、クロックＣ２が入力される前に、データをデータバス１１の位置ｂに出力する。
【００３８】
素子２２もクリティカルパスではないので、クロックＣ２が入力され、フリップフロップ２からデータが出力されると、素子２２は、フリップフロップ２から出力されたデータを処理して、クロックＣ３が入力される前に、データをデータバス１１の位置ｃに出力する。以後入力されるクロックＣ３，Ｃ４，Ｃ５の周期は全てＴｍであるので、素子２３を含む全ての素子は入力されたデータを後段に出力することができる。したがって、クロックＣ５が入力されたとき、位置ｆでデータが検出される。その結果、データ検出部６５からの出力は一致信号となる。
【００３９】
変数ｎの値が３のとき、図７Ｃに示されるパターンのクロックが試験回路７１に入力される。図７Ｃでは、第３番目のクロックＣ３のみが周期Ｔｓとされ、第１番目、第２番、第４番目、第５番目のクロックＣ１，Ｃ２，Ｃ４，Ｃ５は周期Ｔｍとされている。
【００４０】
図３の試験回路７１では、クロックＣ１，Ｃ２が入力されたとき、素子２１と２２はクリティカルパスではないので、データバス１１の位置Ｃにデータが出力される。
【００４１】
素子２３はクリティカルパスなので、周期Ｔｓのクロックでは動作できない。すなわち、第３番目のクロックＣ３が入力されたとき、素子２３はフリップフロップ３から出力されたデータを処理して、データバス１１の位置ｄに出力しようとするが、素子２３は処理速度が遅いため、次の第４番目のクロックＣ４が入力される前にデータをデータバス１１の位置ｄに出力することができない。このため、クロックＣ４が入力されたとき、データは位置ｅに出力されず、クロックＣ５が入力されたとき、データは位置ｆに出力されない。したがって、クロックＣ５が入力されたとき、位置ｆでデータが検出されず、データ検出部６５からの出力は一致信号ではない（不一致信号である）ことになる。
【００４２】
ステップＳ２６において、データ検出部６５からの出力が一致信号ではないと判定された場合、マイクロコンピュータ６３は、ステップＳ２８に進み、第ｎ番目のクロックに対応する素子（図３の例の場合、素子２３）をクリティカルパスとして表示部６４に表示する。
【００４３】
このようにして、試験回路７１の中のクリティカルパス（素子２３）が検出される。
【００４４】
次に、図８のフローチャートを参照して、ステップＳ２１（図６）の動作周期検出処理について説明する。ステップＳ４１において、マイクロコンピュータ６３は、データ発生部６１からデータを発生させ、ステップＳ４２において、クロック発生部６２から一定の周期Ｔのクロックを順次発生させる。そして、ステップＳ４３に進み、マイクロコンピュータ６３は、データ検出部６５からの出力を検出する。
【００４５】
ステップＳ４４において、マイクロコンピュータ６３は、データ検出部６５からの出力が一致信号であるか否か、すなわち第５番目のクロックが入力されたとき、図３のデータバス１１の位置ｆでデータが検出されたか否かを判定し、データ検出部６５からの出力が一致信号であると判定された場合、ステップＳ４５に進みクロック周期ＴをＴ−ΔＴに設定する。すなわち、クロック周期が、現在の値より１ステップ分（ΔＴ）だけ短い値に更新される。そして、処理はステップＳ４２に戻り、以降の処理が繰り返し実行される。
【００４６】
このとき、クロック発生部６２から発生されるクロックを図９に示す。最初に図９Ａに示されるようなクロックがクロック発生部６２から発生される。クロックＣ１が図３のクロック線１２に入力されると、フリップフロップ１はデータを取り込み、出力する。素子２１はフリップフロップ１が出力するデータを処理し、データをデータバス１１の位置ｂに出力する。次に、クロックＣ２がクロック線１２に入力されると、フリップフロップ２はデータバス１１の位置ｂにあるデータを取り込み、出力する。素子２２はデータの処理を行って、データをデータバス１１の位置ｃに出力する。このようにして、データは、クロックが入力される度にデータバス１１上を位置ａ，ｂ，ｃ，ｄ，ｅの順に移動し、クロックＣ５が入力されたとき、データはデータバス１１の位置ｆに出力され、その出力がデータ検出部６５によって検出される。
【００４７】
一致信号が検出された場合、次に、図９Ａに示されるクロックより、周期がΔＴだけ短くなったクロック、すなわち図９Ｂに示されるようなクロックが、クロック発生部６２から発生される。この場合も、データは、クロックが入力される度にデータバス１１上を位置ａ，ｂ，ｃ，ｄ，ｅの順に移動し、クロックＣ５が入力されたとき、データはデータバス１１の位置ｆに出力され、その出力がデータ検出部６５によって検出される。
【００４８】
一致信号が検出された場合、さらに、図９Ｂに示されるクロックより、周期がΔＴだけ短くなったクロック、すなわち図９Ｃに示されるようなクロックがクロック発生部６２から出力される。このとき、クロックの周期はＴｓとなり、試験回路７１のクリティカルパス２３はこのクロックでは動作できない。
【００４９】
クロックＣ１、Ｃ２が入力されると、データは、図３のデータバス１１の位置ｂ，ｃに出力される。しかし、クロックＣ３が入力されたとき、素子２３はフリップフロップ３から出力されたデータを処理して、データバス１１の位置ｄに出力しようとするが、素子２３は処理速度が遅いため、次の第４番目のクロックＣ４が入力される前にデータをデータバス１１の位置ｄに出力することができない。このため、クロックＣ４が入力されたとき、データは位置ｅに出力されず、クロックＣ５が入力されたとき、データ位置ｆに出力されない。したがって、クロックＣ５が入力されたとき、位置ｆでデータが検出できず、データ検出部６５からの出力は不一致信号となる。
【００５０】
このようにして、試験回路７１のクリティカルパスが動作できないクロックの周期Ｔｓが検出される。
【００５１】
以上のようにして、試験回路７１のクリティカルパスが検出されたとき、検査装置が正しく動作しているか否かの検証処理が行われる。このため、検査装置において、試験回路７１に代えて、検証回路８１が装着される。
【００５２】
次に、図１０のフローチャートを参照して、検証回路８１のサイクルストレッチテスト処理について説明する。ステップＳ６１において、マイクロコンピュータ６１は、セレクタ４２を通常パスに設定する。すなわち、素子３３からの出力をフリップフロップ５４に入力するようにセレクタ４２の設定が制御される。そして、ステップＳ６２において、マイクロコンピュータ６３は、データ発生部６１からデータを発生させ、ステップＳ６３において周期Ｔ１のクロックを発生させる。この周期Ｔ１は、検証回路８１の素子３１乃至３４が動作可能であることが確認されている周期であり、かつ遅延回路４１の遅延時間Ｔｄより短い時間である。ステップＳ６４に進み、マイクロコンピュータ６３は、データ検出部６５からの出力を検出する。ステップＳ６５において、マイクロコンピュータ６３はデータ検出部６５からの出力は一致信号であるか否か、すなわち、第５番目のクロックが入力されたとき、図４のデータバス１１の位置ｆにデータが出力されたか否かを判定する。
【００５３】
図４のセレクタ４２を、素子３３からの出力をフリップフロップ５４に入力するように設定し、データバス１１上の位置ａからフリップフロップ５１にデータが入力された状態で、図１１Ａに示されるパターン（全ての周期がＴ１であるクロックのパターン）のクロックをクロック線１２に入力すると、素子３１乃至３４は、周期Ｔ１のクロックで動作できるので、クロックＣ５が入力されたときに、データバス１１上の位置ｆにデータが出力され、その出力がデータ検出部６５によって検出される。
【００５４】
すなわちクロックＣ１がクロック線１２に入力されると、フリップフロップ５１はデータを取り込み、出力する。素子３１はフリップフロップ５１が出力するデータを処理し、データをデータバス１１の位置ｂに出力する。次に、クロックＣ２がクロック線１２に入力されると、フリップフロップ５２はデータバス１１の位置ｂにあるデータを取り込み、出力する。素子３２はデータの処理を行って、データをデータバス１１の位置ｃに出力する。このようにして、データは、クロックが入力される度にデータバス１１上を位置ａ，ｂ，ｃ，ｄ，ｅの順に移動し、クロックＣ５が入力されたとき、データはデータバス１１の位置ｆに出力される。
【００５５】
ステップＳ６５において、データ検出部６５からの出力が一致信号ではないと判定された場合、装置の初期設定の誤りと考えられるので、マイクロコンピュータ６３は、ステップＳ７２に進み、表示部６４にエラーを表示する。
【００５６】
ステップＳ６５において、データ検出部６５からの出力は一致信号であると判定された場合、マイクロコンピュータ６３はステップＳ６６に進み、セレクタ４２を遅延回路４１側に切り替え、遅延回路４１からの出力をフリップフロップ５４に入力するように設定する。ステップＳ６７において、マイクロコンピュータ６３は、データ発生部６１からデータを発生させる。ステップＳ６８においてマイクロコンピュータ６３は、クロック発生部６２から、遅延回路４１の位置に対応するクロック（図４の例の場合、第３番目のクロックＣ３）だけ、周期Ｔ１より長い周期Ｔ２のクロックを発生させ、ステップＳ６９においてデータ検出部６５からの出力を取得する。
【００５７】
ステップＳ７０において、マイクロコンピュータ６３は、データ検出部６５からの出力は一致信号か否か、すなわち、所定の回数のクロックが入力されたとき、データ検出部６５においてデータが検出されたか否かを判定する。
【００５８】
ステップＳ７０において、データ検出部６５からの出力が一致信号ではないと判定された場合、マイクロコンピュータ６３はステップＳ６８の処理に戻り、それ以降の処理を繰り返し実行する。すなわち、遅延回路４１に対応するクロック（図４の例の場合第３番目のクロックＣ３）の周期を、さらに長い周期Ｔ３に変え、データ検出部６５からの出力は一致信号であるか否かを判定する。
【００５９】
このように、最初に、図１１Ｂに示されるように、第３番目のクロックＣ３だけが、周期Ｔ１より長い周期Ｔ２とされたクロックが発生される。しかし、周期Ｔ２は遅延時間Ｔｄより短く、周期Ｔ２では、遅延回路４１は動作できないため、データ検出部６５からの出力は不一致信号となる。すなわち、クロックＣ３が入力されたとき、図４の遅延回路４１はフリップフロップ５３から出力されたデータを処理して、データバス１１の位置ｄに出力しようとするが、遅延回路４１は処理速度が遅く、周期Ｔ２のクロックでは動作できないため、次のクロックＣ４が入力される前にデータをデータバス１１の位置ｄに出力することができず、クロックＣ４が入力されたときデータは、データバスの位置ｅに出力されず、次のクロックＣ５が入力されたときデータは、データバスの位置ｆに出力されない。
【００６０】
次に、図１１Ｃに示されるように、第３番目のクロックＣ３だけが、周期Ｔ２より長い周期Ｔ３とされたクロックを発生する。しかし、周期Ｔ３も遅延時間Ｔｄより短く、周期Ｔ３では、遅延回路４１は動作できないため、やはりデータ検出部６５からの出力は不一致信号となる。
【００６１】
このようにして、遅延回路４１に対応するクロックの周期を順次長くしていき、遅延回路４１に対応するクロックの周期が、遅延時間Ｔｄと等しいか、それよりも大きい周期Ｔ４になったとき、すなわち、図１１Ｄに示されるようなパターンのクロックが入力されたとき、データ検出部６５からの出力は一致信号となる。
【００６２】
このように、１つのパスの処理時間だけが他のパスに比べて長い場合、そのパスのクロックの周期だけを長くして出力データが検出できるということは、検査装置が正しく動作していることを意味する。そこで、ステップＳ７０において、データ検出部６５からの出力が一致信号であると判定された場合、マイクロコンピュータ６３は、ステップＳ７１に進み、正常終了したことを表示部６４に表示する。
【００６３】
このようにして、試験回路７１を用いて行ったサイクルストレッチテストの結果が正しいことを検証することができる。
【００６４】
図１２は、本発明を適用した検査装置の第２の実施形態の構成を示している。この構成は、直列に接続された複数の素子の１個あたりの遅延時間を計測するときに用いられる。この検査装置の試験回路９１においては、図４の検査装置の検証回路８１における遅延回路４１に代わって、ＡＮＤ演算を行う素子を、例えば１００個直列に接続したＡＮＤセル４１Ａが装着されている。それ以外の構成は図４の検査装置と同様である。。
【００６５】
素子３１乃至３４は周期Ｔ１のクロックで動作できるように設計されている。一方、ＡＮＤセル４１は、周期Ｔ１のクロックでは動作できず、周期Ｔ１よりも長い周期のクロックで動作できることが分かっている。
【００６６】
次に、図１３のフローチャートを参照して、図１２の検査装置の遅延時間検出処理について説明する。ステップＳ９１において、マイクロコンピュータ６３は、セレクタ４２を通常パスに設定し、素子３３からの出力をフリップフロップ５４に入力するように設定する。そして、ステップＳ９２において、マイクロコンピュータ６３は、データ発生部６１からデータを発生させ、ステップＳ９３において周期Ｔ１のクロックを発生させる。そして、ステップＳ９４に進み、マイクロコンピュータ６３は、データ検出部６５からの出力を検出する。ステップＳ９５において、マイクロコンピュータ６３はデータ検出部６５からの出力は一致信号であるか否か、すなわち、第５番目のクロックが入力されたとき、図１２のデータバス１１の位置ｆにデータが出力されたか否かを判定する。
【００６７】
図１２のセレクタ４２を、素子３３からの出力をフリップフロップ５４に入力するように設定し、データバス１１上の位置ａからフリップフロップ５１にデータが入力された状態で、周期Ｔ１のクロックをクロック線１２に入力すると、素子３１乃至３４は、周期Ｔ１のクロックで動作できるので、第５番目のクロックが入力されたときに、データバス１１上の位置ｆにデータが出力され、その出力がデータ検出部６５によって検出される。
【００６８】
ステップＳ９５において、データ検出部６５からの出力が一致信号ではないと判定された場合、装置の初期設定の誤りと考えられるので、マイクロコンピュータ６３は、ステップＳ１０３に進み、表示部６４にエラーを表示する。
【００６９】
ステップＳ９５において、データ検出部からの出力は一致信号であると判定された場合、マイクロコンピュータ６３はステップＳ９６に進み、セレクタ４２を切り替え、ＡＮＤセル４１Ａからの出力をフリップフロップ５４に入力するように設定する。ステップＳ９７において、マイクロコンピュータ６３は、データ発生部６１からデータを発生させる。ステップＳ９８においてマイクロコンピュータ６３は、クロック発生部６２から、ＡＮＤセル４１Ａに対応するクロック（図１２の例の場合、第３番目のクロック）だけ、長い周期のクロックを発生させ、ステップＳ９９においてデータ検出部６５からの出力を取得する。
【００７０】
ステップＳ１００において、マイクロコンピュータ６３は、データ検出部６５からの出力は一致信号であるか否か、すなわち、第５番目のクロックが入力されたときにデータ検出部６５においてデータが検出されたか否かを判定する。
【００７１】
ステップＳ１００において、データ検出部６５からの出力が一致信号ではないと判定された場合、マイクロコンピュータ６３はステップＳ９８の処理に戻り、それ以降の処理を繰り返し実行する。すなわち、ＡＮＤセル４１Ａに対応するクロック（図１２の例の場合第３番目のクロック）の周期をさらに長い周期に変え、データ検出部６５からの出力は一致信号であるか否かを判定する。
【００７２】
ＡＮＤセル４１Ａに対応するクロックの周期を順次長くしていき、そのクロック周期がＡＮＤセル４１Ａが動作できる周期になったとき、データ検出部６５からの出力は一致信号となる。このときのクロックの周期をＴ５とする。
【００７３】
ステップＳ１００において、データ検出部６５からの出力が一致信号であると判定された場合、マイクロコンピュータ６３は、ステップＳ１０１に進み、ＡＮＤセル４１Ａに対応するクロックの周期Ｔ５を内部のメモリに記憶し、Ｔ５をＡＮＤセルを構成する素子の数で割る。
【００７４】
周期Ｔ５はＡＮＤ演算を行う素子１００個分の遅延時間にほぼ等しいので、ＡＮＤ演算を行う素子１個あたりの遅延時間Ｄは、次のようにして求めることができる。
Ｄ＝Ｔ５／１００
【００７５】
そして、ステップＳ１０２に進み、マイクロコンピュータ６３は、ＡＮＤ演算を行う素子１個あたりの遅延時間Ｄを表示部６４に表示する。しかも、この時間は、ＡＮＤ素子の個々のバラツキを考慮した、その平均値となる。
【００７６】
このように、１個あたりの遅延時間が小さく、測定することが困難な素子を直列に接続した回路を作り、直列に接続された複数のフリップフロップの間にこの回路を配置して、サイクルストレッチテストを行い、その結果から素子１個あたりの遅延時間を求めることができる。
【００７７】
図１４と図１５は、本発明を適用した検査装置の第３の実施形態の構成を示している。この構成は、ある素子を所定の数だけ所定のパターンで構成した回路と、同じ素子を同じ数だけ、異なるパターンで構成した回路の遅延時間を比較することで、その性能を比較するときに用いられる。図１４の検査装置の試験回路１０１においては、図４の検査装置の検証回路８１における遅延回路４１に代わって、否定演算を行う素子（インバータ）を２０個、第１のパターンのレイアウト（レイアウト１）にしたがって配置したインバータセル４１Ｂが装着されている。それ以外の構成は図４の検査装置の検証回路８１と同様である。
【００７８】
また、図１５の検査装置の試験回路１１１においては、図１４の検査装置におけるインバータ４１Ｂに代わって、否定演算を行う素子（インバータ）を２０個、第２のパターンのレイアウト（レイアウト２）にしたがって配置したインバータセル４１Ｃが装着されている。それ以外の構成は図１４の検査装置の試験回路１０１と同様である。
【００７９】
素子３１乃至３４は周期Ｔ１のクロックで動作できるように設計されている。一方、インバータセル４１Ｂとインバータセル４１Ｃは、周期Ｔ１のクロックでは動作できず、周期Ｔ１よりも長い周期のクロックで動作できることが判っている。
【００８０】
次に、図１６のフローチャートを参照して、図１４と図１５の検査装置におけるレイアウト比較処理について説明する。ステップＳ１１１において、マイクロコンピュータ６３は、第１のレイアウトにしたがって配置されたインバータセル４１Ｂの遅延時間を計測し、ステップＳ１１２において、第２のレイアウトにしたがって配置されたインバータセル４１Ｃの遅延時間を計測する。ステップＳ１１１とＳ１１２における遅延時間計測処理については、図１７のフローチャートを参照して後述する。そして、ステップＳ１１３に進み、マイクロコンピュータ６３は、ステップＳ１１１とＳ１１２の処理で計測されたインバータセル４１Ｂとインバータセル４１Ｃの遅延時間を比較し、ステップ１１４において、比較結果を表示部６４に表示する。
【００８１】
このようにして、同じ素子を同じ数だけ、異なるレイアウトで配置した回路を作り、直列に接続された複数のフリップフロップの間にこの回路を配置して、サイクルストレッチテストを行い、その結果からレイアウトによる遅延時間の差を求め、その性能を比較することができる。
【００８２】
次に、図１７のフローチャートを参照して、ステップＳ１１１とＳ１１２における、遅延時間計測処理について説明する。最初に、ステップＳ１１１の図１４の検査装置における第１のレイアウトの遅延時間計測処理について説明する。ステップＳ１２１において、マイクロコンピュータ６３は、セレクタ４２を通常パスに設定し、素子３３からの出力をフリップフロップ５４に入力するように設定する。そして、ステップＳ１２２において、マイクロコンピュータ６３は、データ発生部６１からデータを発生させ、ステップＳ１２３において周期Ｔ１のクロックを発生させる。ステップＳ１２４に進み、マイクロコンピュータ６３は、データ検出部６５からの出力を検出する。ステップＳ１２５において、マイクロコンピュータ６３はデータ検出部６５からの出力は一致信号であるか否か、すなわち、第５番目のクロックが入力されたとき、図１４のデータバス１１の位置ｆにデータが出力されたか否かを判定する。
【００８３】
図１４のセレクタ４２を、素子３３からの出力をフリップフロップ５４に入力するように設定し、データバス１１上の位置ａからフリップフロップ５１にデータが入力された状態で、周期Ｔ１のクロックをクロック線１２に入力すると、素子３１乃至３４は、周期Ｔ１のクロックで動作できるので、第５番目のクロックが入力されたときに、データバス１１上の位置ｆにデータが出力され、その出力がデータ検出部６５によって検出される。
【００８４】
ステップＳ１２５において、データ検出部６５からの出力が一致信号ではないと判定された場合、装置の初期設定の誤りと考えられるので、マイクロコンピュータ６３は、ステップＳ１３２に進み、表示部６４にエラーを表示する。
【００８５】
ステップＳ１２５において、データ検出部６５からの出力は一致信号であると判定された場合、マイクロコンピュータ６３はステップＳ１２６に進み、セレクタ４２を切り替え、インバータセル４１Ｂからの出力をフリップフロップ５４に入力するように設定する。ステップＳ１２７において、マイクロコンピュータ６３は、データ発生部６１からデータを発生させる。ステップＳ１２８においてマイクロコンピュータ６３は、クロック発生部６２から、インバータセル４１Ｂに対応するクロック（図１４の例の場合、第３番目のクロック）だけ、長い周期のクロックを発生させ、ステップＳ１２９においてデータ検出部６５からの出力を取得する。
【００８６】
ステップＳ１３０において、マイクロコンピュータ６３は、データ検出部６５からの出力は一致信号であるか否か、すなわち、第５番目のクロックが入力されたときにデータ検出部６５においてデータが検出されたか否かを判定する。
【００８７】
ステップＳ１３０において、データ検出部６５からの出力が一致信号ではないと判定された場合、マイクロコンピュータ６３は、ステップＳ１２８の処理に戻り、それ以降の処理を繰り返し実行する。すなわち、インバータセル４１Ｂに対応するクロック（図１４の例の場合第３番目のクロック）の周期をさらに長い周期に変え、データ検出部６５からの出力は一致信号となったか否かを判定する。
【００８８】
インバータセル４１Ｂに対応するクロックの周期を次第に長くしていき、そのクロック周期が、インバータセル４１Ｂが動作できる周期になったとき、データ検出部６５からの出力は一致信号となる。このときのクロックの周期をＴ６とする。
【００８９】
ステップＳ１３０において、データ検出部６５からの出力が一致信号であると判定された場合、マイクロコンピュータ６３は、ステップＳ１３１に進み、インバータセル４１Ｂに対応するクロックの周期Ｔ６を内部のメモリに記憶する。
【００９０】
ステップＳ１１２の図１５の検査装置における第２のレイアウトの遅延時間計測処理も、ステップＳ１１１の図１４の検査装置における、第１のレイアウトの遅延時間計測処理と同様である。
【００９１】
このようにして、レイアウト１とレイアウト２の遅延時間が記憶される。
【００９２】
以上においては、試験回路７１，９１，１０１，１１１を検査装置に個別に装着するようにしたが、これらの試験回路をセルとして、一体の回路に組み込んだ構成とし、一度に試験するようにしてもよい。検証回路８１も、一体化することができる。
【００９３】
本発明は、ＬＳＩ，ＩＣ、その他の半導体の検査装置に適用することができる。
【００９４】
なお、本明細書において上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００９５】
【発明の効果】
以上の如く、本発明によれば、サイクルストレッチテストの信頼性を高めることが可能な装置を実現することができる。特に、構成が簡単で、安価で、小型の装置を実現することが可能となる。また、素子１個あたりの遅延時間を測定することができ、素子を配置するレイアウトによる遅延時間を比較することができる。
【図面の簡単な説明】
【図１】従来のサイクルストレッチテストを行う回路の構成例を示す図である。
【図２】図１の回路におけるサイクルストレッチテストのクロックを示す図である。
【図３】本発明を適用した検査装置の第１の実施形態の構成を示すブロック図である。
【図４】本発明を適用した検査装置の第１の実施形態の構成を示すブロック図である。
【図５】図３と図４の検査装置におけるクロック信号テスト処理を説明するフローチャートである。
【図６】試験回路のサイクルストレッチテスト処理を説明するフローチャートである。
【図７】試験回路のサイクルストレッチテストのクロックを示す図である。
【図８】動作周期検出処理を説明するフローチャートである。
【図９】動作周期検出処理のクロックを示す図である。
【図１０】検証回路のサイクルストレッチテスト処理を説明するフローチャートである。
【図１１】検証回路のサイクルストレッチテストのクロックを示す図である。
【図１２】本発明を適用した検査装置の第２の実施形態の構成を示すブロック図である。
【図１３】図１２の検査装置の遅延時間検出処理を説明するフローチャートである。
【図１４】本発明を適用した検査装置の第３の実施形態の構成を示すブロック図である。
【図１５】本発明を適用した検査装置の第３の実施形態の構成を示すブロック図である。
【図１６】図１４と図１５の検査装置のレイアウト比較処理を説明するフローチャートである。
【図１７】図１４と図１５の検査装置の遅延時間検出処理を説明するフローチャートである。
【符号の説明】
１乃至４  フリップフロップ，  ２１乃至２３  素子，  ４２  セレクタ，  ３１乃至３４  素子，  ４１  遅延回路，  ５１乃至５５  フリップフロップ，
６３  マイクロコンピュータ
【図１】
2004150910.tif 000003
【図２】
2004150910.tif 000004
【図３】
2004150910.tif 000005
【図４】
2004150910.tif 000006
【図５】
2004150910.tif 000007
【図６】
2004150910.tif 000008
【図７】
2004150910.tif 000009
【図８】
2004150910.tif 000010
【図９】
2004150910.tif 000011
【図１０】
2004150910.tif 000012
【図１１】
2004150910.tif 000013
【図１２】
2004150910.tif 000014
【図１３】
2004150910.tif 000015
【図１４】
2004150910.tif 000016
【図１５】
2004150910.tif 000017
【図１６】
2004150910.tif 000018
【図１７】
2004150910.tif 000019