(57)【要約】【課題】本発明は、集積回路のディレイ不良を解析するときに、周波数性能のネックになっている回路部分を迅速かつ一意に特定できるようにする技術の提供を目的とする。【解決手段】集積回路に与える動作クロックの周波数を徐々に上げていくときに発生するエラーを検出したチェック回路の属するリージョンコード（ＲＣ）の中から最大発生頻度のＲＣを得ると、ＲＣとラッチとの対応関係について記述する対応表を参照することで、最大発生頻度のＲＣでエラーが発生するラッチ情報を取得して、その取得した各ラッチを起点として、そのラッチに接続される回路部分を対応表に記述されるラッチまで網羅的にバックトレースすることで、最大発生頻度のＲＣでエラーが捕らえられる回路部分を抽出し、その回路部分に含まれる各論理素子の各入出力ピンに対してディレイ故障を付与して、そのディレイ故障を検出するためのテストパターンを生成しディレイテストを行う。【選択図】図１
2008076121.tif 000002
【特許請求の範囲】
【請求項１】
集積回路のディレイ不良を解析するディレイ不良解析方法であって、
ディレイ不良の解析対象となる集積回路のそれぞれについて、動作クロックの周波数を徐々に上げていって、最初にエラーを発生するときのリージョンコードを収集する過程と、
前記収集したリージョンコードを集計して、最大発生頻度のリージョンコードを特定する過程とを備えることを、
特徴とするディレイ不良解析方法。
【請求項２】
請求項１に記載のディレイ不良解析方法において、
リージョンコードとそのリージョンコード配下のラッチとの対応関係について記述する対応表を参照することで、前記最大発生頻度のリージョンコードでエラーが発生するラッチがどれであるのかという情報を取得する過程と、
前記取得した各ラッチを起点として、そのラッチに接続される回路部分を前記対応表に記述されるリージョンコード配下のラッチまで網羅的にバックトレースすることで、前記最大発生頻度のリージョンコードでエラーが捕らえられる回路部分を抽出する過程とを備えることを、
特徴とするディレイ不良解析方法。
【請求項３】
請求項２に記載のディレイ不良解析方法において、
前記抽出した回路部分に含まれる各論理素子の各入出力ピンに対してディレイ故障を付与して、その付与したディレイ故障を検出するためのディレイ故障検出用テストパターンを生成する過程を備えることを、
特徴とするディレイ不良解析方法。
【請求項４】
請求項３に記載のディレイ不良解析方法において、
前記ディレイ故障検出用テストパターンを生成する過程では、ディレイ不良の解析対象となる集積回路の回路特徴に基づき、前記ディレイ故障を検出可能とするディレイ故障検出用テストパターンの中から、その回路特徴を持った経路を実現するディレイ故障検出用テストパターンを選択することで、前記ディレイ故障を検出するためのディレイ故障検出用テストパターンを生成することを、
特徴とするディレイ不良解析方法。
【請求項５】
請求項３又は４に記載のディレイ不良解析方法において、
前記生成したディレイ故障検出用テストパターンを使って、前記最大発生頻度のリージョンコードでエラーを発生した集積回路をテスト対象としてディレイテストを実行して、期待値と異なる故障を発生したディレイ故障検出用テストパターンを選出する過程と、
前記選出したディレイ故障検出用テストパターンに基づいて、ディレイ不良の原因を解析する過程とを備えることを、
特徴とするディレイ不良解析方法。
【請求項６】
請求項５に記載のディレイ不良解析方法において、
前記ディレイ不良の原因を解析する過程では、前記選出したディレイ故障検出用テストパターンの実現する経路を比較して、共通に通過している箇所があるのか否かを判定することで、ディレイ不良の原因を解析することを、
特徴とするディレイ不良解析方法。
【請求項７】
請求項５に記載のディレイ不良解析方法において、
前記ディレイ不良の原因を解析する過程では、前記選出したディレイ故障検出用テストパターンの実現する経路の持つ回路特徴を比較して、共通の回路特徴があるのか否かを判定することで、ディレイ不良の原因を解析することを、
特徴とするディレイ不良解析方法。
【請求項８】
ディレイ不良の解析対象となる集積回路の中から選択された最大発生頻度のリージョンコードでエラーを発生した集積回路をテスト対象として、それらの集積回路に対してディレイテストを実行してディレイ不良の原因を解析するディレイ不良解析装置であって、
リージョンコードとそのリージョンコード配下のラッチとの対応関係について記述する対応表を参照することで、前記最大発生頻度のリージョンコードでエラーが発生するラッチがどれであるのかという情報を取得する取得手段と、
前記取得手段の取得した各ラッチを起点として、そのラッチに接続される回路部分を前記対応表に記述されるリージョンコード配下のラッチまで網羅的にバックトレースすることで、前記最大発生頻度のリージョンコードでエラーが捕らえられる回路部分を抽出する抽出手段と、
前記抽出手段の抽出した回路部分に含まれる各論理素子の各入出力ピンに対してディレイ故障を付与して、その付与したディレイ故障を検出するためのディレイ故障検出用テストパターンを生成する生成手段とを備えることを、
特徴とするディレイ不良解析装置。
【請求項９】
請求項８に記載のディレイ不良解析装置において、
前記生成手段の生成したディレイ故障検出用テストパターンを使って、前記テスト対象の集積回路に対してディレイテストを実行して、期待値と異なる故障を発生したディレイ故障検出用テストパターンを選出する選出手段と、
前記選出手段の選出したディレイ故障検出用テストパターンに基づいて、ディレイ不良の原因を解析する解析手段とを備えることを、
特徴とするディレイ不良解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路のディレイ不良を解析するディレイ不良解析方法およびその装置に関し、特に、周波数性能のネックになっている回路部分を迅速かつ一意に特定できるようにするディレイ不良解析方法およびその装置に関する。
【背景技術】
【０００２】
ＬＳＩに与える動作クロックの周波数を徐々に上げていくと、ＬＳＩが動作しなくなるが、このとき、周波数を制限している回路部分が分かれば、その原因を究明することができる。
【０００３】
この原因の究明により、最終的には、その問題箇所を修正することで、より性能の高い設計へと仕上げていくことができるし、より周波数歩留りの高い設計へと仕上げていくことができる。
【０００４】
また、製造したＬＳＩを出荷する場合には、そのＬＳＩが仕様上の周波数性能を備えているのかを検査する必要がある。
【０００５】
このようなことを背景にして、製造したＬＳＩに対して、それが持つ周波数性能をテストすることが行われている。
【０００６】
このテストの一つとしてスキャンテスト方式がある。スキャンテスト方式では、図８に示すように、ＬＳＩ内部の全てのフリップフロップを外部ピンから直接制御し観測するための経路（スキャンチェーン）を設け、このスキャンチェーンを使ってＬＳＩ内部のフリップフロップにテストパターンを設定して、それに対してＬＳＩがどのように動作するのかをこのスキャンチェーンを使って観測することで、製造したＬＳＩが所望の性能（論理性能や周波数性能）を有しているのか否かをテストする。
【０００７】
これから、従来技術では、このスキャンテスト方式に従って、ＬＳＩのどの回路部分が周波数性能のネックになっているのかを調べるために、ＬＳＩ内部の各論理素子の各入出力ピンについて、その値を０から１に変化させるテストパターン（slow-to-riseのディレイ故障を実現するテストパターン）や、その値を１から０に変化させるテストパターン（slow-to-fallのディレイ故障を実現するテストパターン）を生成して、それらのテストパターンを使って、ＬＳＩのどの回路部分が周波数性能のネックになっているのかを調べるようにしている。
【０００８】
すなわち、図９に示すように、送信側のラッチと受信側のラッチとの間に位置するある論理素子の出力ピンにslow-to-riseのディレイ故障を付与する場合には、テストパターンを使い、１発目のパルスに従って、送信側のラッチを介して、その論理素子の出力ピンの値を０から１に変化させ、テスト周波数のパルス間隔で設定される２発目のパルスに従って、受信側のラッチを介して、その論理素子の出力ピンの値が０から１に変化したのか否かを調べることで、その論理素子にslow-to-riseのディレイ故障が発生しているのか否かを調べるようにしている。
【０００９】
しかしながら、このような従来技術に従っていると、ＬＳＩ内部の各論理素子の各入出力ピンに対して、slow-to-riseとslow-to-fallのディレイ故障を付与することから、膨大なテストパターンを生成しなければならず、周波数性能のネックになっている回路部分を迅速に特定できないという問題がある。
【００１０】
ここで、slow-to-riseとslow-to-fallのディレイ故障を検出するディレイテストについては、下記の非特許文献１に記載される segment delayテストが知られている。
【００１１】
一方、信頼性を高めたＬＳＩでは、パリティエラーなどのチェック回路が多数組み込まれており、さらに、パリティエラーなどの発生した箇所がＬＳＩ上のどこであるのかを判別できるようにするために、それらのチェック回路に対してリージョンコード（ＲＣ：Region Code)という識別子が付与されている。
【００１２】
ＬＳＩに与える動作クロックの周波数を徐々に上げていくと、ＬＳＩが動作しなくなるが、パリティエラーのチェック回路が組み込まれている場合には、このときパリティエラーが発生して、そのパリティエラーを検出したチェック回路の属するリージョンコードを取得することができる。
【００１３】
これから、このようにして取得したリージョンコードに従って、周波数性能のネックになっている回路部分がどこであるのかを推定することが可能である。
【００１４】
ここで、下記に示す特許文献１〜３では、本発明に関連する技術について開示している。
【００１５】
すなわち、下記に示す特許文献１には、ディレイ不良解析を容易するためにハードウェア回路を付加するという発明が記載されている。
【００１６】
ただし、本発明では、ディレイ不良解析を行うにあたって、ハードウェア回路を付加するという構成を採ってはいない。
【００１７】
また、下記に示す特許文献２には、ＬＳＩに所定のデータが入力されてからこれに対応するデータが出力されるまでの動作クロック数をｎとする場合に、ＬＳＩが正常に動作しない動作クロックの周期Ｔ１と、ＬＳＩが正常に動作する動作クロックの周期Ｔ２とを検出して、ｎ個の動作クロックの中のいずれかの周期をＴ２に設定し、それ以外の周期をＴ１に設定するようにして、ｎ個の動作クロックの何番目をＴ２に設定したときに正常なデータが出力されるのかを調べることで、クリティカルパスの探索を行うという発明が記載されている。
【００１８】
ただし、本発明では、テストパターンを使ってＬＳＩのディレイ不良箇所を特定するという構成を採っており、特許文献２に記載されるような発明とは基本的に構成が異なっている。
【００１９】
また、下記に示す特許文献３には、クリティカルパスを考慮した最適なパイプライン制御についての発明が記載されている。
【非特許文献１】K.Heragu, J.H.Patel, et al, "Segment Delay Faults: A New Fault Model", Proc. VLSI Test Symposium, 1996.
【特許文献１】特開２００５−２１４７３２号公報
【特許文献２】特許第３６０５５０６号公報
【特許文献３】特許第３４５０８１４号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
前述したように、従来技術では、ＬＳＩのどの回路部分が周波数性能のネックになっているのかを調べるために、ＬＳＩ内部の各論理素子の各入出力ピンについて、その値を０から１に変化させるテストパターンや、その値を１から０に変化させるテストパターンを生成して、それらのテストパターンを使って、ＬＳＩのどの回路部分が周波数性能のネックになっているのかを調べるようにしている。
【００２１】
しかしながら、このような従来技術に従っていると、ＬＳＩ内部の各論理素子の各入出力ピンに対して、slow-to-riseとslow-to-fallのディレイ故障を付与することから、膨大なテストパターンを生成しなければならず、周波数性能のネックになっている回路部分を迅速に特定できないという問題がある。
【００２２】
一方、ＬＳＩに与える動作クロックの周波数を徐々に上げていくときに発生するパリティエラーを検出したチェック回路の属するリージョンコードを使って、周波数性能のネックになっている回路部分がどこであるのかを推定することも可能である。
【００２３】
しかしながら、１つのリージョンコードがカバーしている回路には、記憶素子であるラッチ（フリップフロップ）が数十から数百くらい含まれている。
【００２４】
これから、リージョンコードを使って周波数性能のネックになっている回路部分がどこであるのかを推定するという方法を用いていると、周波数性能のネックになっている回路部分を一意に特定できないという問題がある。
【００２５】
本発明はかかる事情に鑑みてなされたものであって、集積回路のディレイ不良を解析するときに、周波数性能のネックになっている回路部分を迅速かつ一意に特定できるようにする新たなディレイ不良解析技術の提供を目的とする。
【課題を解決するための手段】
【００２６】
この目的を達成するために、本発明のディレイ不良解析装置は、ディレイ不良の解析対象となる集積回路の中から選択された最大発生頻度のリージョンコードでエラーを発生した集積回路をテスト対象として、それらの集積回路に対してディレイテストを実行してディレイ不良の原因を解析することを実現するために、（１）リージョンコードとそのリージョンコード配下のラッチとの対応関係について記述する対応表を参照することで、最大発生頻度のリージョンコードでエラーが発生するラッチがどれであるのかという情報を取得する取得手段と、（２）取得手段の取得した各ラッチを起点として、そのラッチに接続される回路部分を対応表に記述されるリージョンコード配下のラッチまで網羅的にバックトレースすることで、最大発生頻度のリージョンコードでエラーが捕らえられる回路部分を抽出する抽出手段と、（３）抽出手段の抽出した回路部分に含まれる各論理素子の各入出力ピンに対してディレイ故障を付与して、その付与したディレイ故障を検出するためのディレイ故障検出用テストパターンを生成する生成手段と、（４）生成手段の生成したディレイ故障検出用テストパターンを使って、テスト対象の集積回路に対してディレイテストを実行して、期待値と異なる故障を発生したディレイ故障検出用テストパターンを選出する選出手段と、（５）選出手段の選出したディレイ故障検出用テストパターンに基づいて、ディレイ不良の原因を解析する解析手段とを備えるように構成する。
【００２７】
以上の各処理手段はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。
【００２８】
このように構成される本発明のディレイ不良解析装置では、自装置または別に設けられる装置が、ディレイ不良の解析対象となる集積回路のそれぞれについて、動作クロックの周波数を徐々に上げていって、最初にエラーを発生するときのリージョンコードを収集し、その収集したリージョンコードを集計して、最大発生頻度のリージョンコードを特定することで、テスト対象となる集積回路（最大発生頻度のリージョンコードでエラーを発生した集積回路）を選択すると、それらの集積回路に対して、次のようなディレイテストを実行して集積回路のディレイ不良の原因を解析する。
【００２９】
すなわち、このように構成される本発明のディレイ不良解析装置では、先ず最初に、あらかじめ作成されたリージョンコードとそのリージョンコード配下のラッチとの対応関係について記述する対応表を参照することで、最大発生頻度のリージョンコードでエラーが発生するラッチがどれであるのかという情報を取得する。
【００３０】
続いて、その取得した各ラッチを起点として、そのラッチに接続される回路部分を対応表に記述されるリージョンコード配下のラッチまで網羅的にバックトレースすることで、最大発生頻度のリージョンコードでエラーが捕らえられる回路部分を抽出する。
【００３１】
続いて、その抽出した回路部分に含まれる各論理素子の各入出力ピンに対してディレイ故障を付与して、その付与したディレイ故障を検出するためのディレイ故障検出用テストパターンを生成する。
【００３２】
このとき、ディレイ不良の解析対象となる集積回路の回路特徴に基づき、ディレイ故障を検出可能とするディレイ故障検出用テストパターンの中から、その回路特徴を持った経路を実現するディレイ故障検出用テストパターンを選択することで、ディレイ故障を検出するディレイ故障検出用テストパターンを生成することがある。
【００３３】
続いて、生成したディレイ故障検出用テストパターンを使って、テスト対象となる集積回路に対してディレイテストを実行して、期待値と異なる故障を発生したディレイ故障検出用テストパターンを選出する。
【００３４】
続いて、その選出したディレイ故障検出用テストパターンに基づいて、ディレイ不良の原因を解析する。
【００３５】
例えば、選出したディレイ故障検出用テストパターンの実現する経路を比較して、共通に通過している箇所があるのか否かを判定することで、ディレイ不良の原因を解析したり、選出したディレイ故障検出用テストパターンの実現する経路の持つ回路特徴を比較して、共通の回路特徴があるのか否かを判定することで、ディレイ不良の原因を解析する。
【発明の効果】
【００３６】
このようにして、本発明では、集積回路に与える動作クロックの周波数を徐々に上げていくときに発生するパリティエラーなどのエラーを検出したチェック回路の属するリージョンコードの中から最大発生頻度のリージョンコードを得ると、リージョンコードとそのリージョンコード配下のラッチとの対応関係について記述する対応表を参照することで、最大発生頻度のリージョンコードでエラーが発生するラッチがどれであるのかという情報を取得する。
【００３７】
そして、その取得した各ラッチを起点として、そのラッチに接続される回路部分を対応表に記述されるリージョンコード配下のラッチまで網羅的にバックトレースすることで、最大発生頻度のリージョンコードでエラーが捕らえられる回路部分を抽出する。
【００３８】
そして、その抽出した回路部分に含まれる各論理素子の各入出力ピンに対してディレイ故障を付与して、その付与したディレイ故障を検出するためのディレイ故障検出用テストパターンを生成し、その生成したディレイ故障検出用テストパターンを使って、最大発生頻度のリージョンコードを出力した集積回路に対してディレイテストを実行するという構成を採る。
【００３９】
この構成に従って、本発明によれば、周波数性能のネックとなっている回路部分を絞り込んで、その回路部分についてのディレイ故障検出用テストパターンを生成することで、その回路部分のどの回路部分が周波数性能のネックとなっているのかを特定できるようにすることから、集積回路のディレイ不良を解析するときに、周波数性能のネックになっている回路部分を迅速かつ一意に特定できるようになる。
【発明を実施するための最良の形態】
【００４０】
以下、実施の形態に従って本発明を詳細に説明する。
【００４１】
図１に、本発明の一実施の形態を図示する。
【００４２】
図１に示す本実施形態は、第１のテスタ１０と第２のテスタ２０とで構成される。
【００４３】
第１のテスタ１０は、周波数テスト実行部１１と、ＲＣ収集分析部１２とを備え、第２のテスタ２０は、ＲＣ−ラッチ対応表２１と、テスト対象回路部分抽出部２２と、テストパターン生成部２３と、ディレイテスト実行部２４と、ディレイ不良解析部２５とを備える。
【００４４】
次に、これらの各処理部について説明することで、このように構成される本実施形態の実行する処理について説明する。
【００４５】
〔１〕第１のテスタ１０の構成
周波数テスト実行部１１は、ＬＳＩテスタで構成されて、ディレイ不良の解析対象となるＬＳＩをテスト対象として、各ＬＳＩ毎に、動作クロックを徐々に上げていくことで動作テストを実行して、最初にパリティエラーを発生するときのリージョンコード（ＲＣ）を出力する。
【００４６】
ＲＣ収集分析部１２は、周波数テスト実行部１１の出力するリージョンコードを収集して、発生頻度の高い順にソートし、最大発生頻度のリージョンコードを特定する。
【００４７】
このようにして、第１のテスタ１０は、ディレイ不良の解析対象となるＬＳＩをテスト対象として、各ＬＳＩ毎に、動作クロックを徐々に上げていくことで動作テストを実行して、パリティエラー発生に伴って出力されるリージョンコードの中から最大発生頻度のリージョンコードを特定するとともに、その最大発生頻度のリージョンコードを発生したＬＳＩを特定するように処理する。
【００４８】
発生頻度の少ないリージョンコードについては、製造のばらつきに起因して発生したものと考えられるが、発生頻度の高いリージョンコードについては、本来のクリティカルパスに起因して発生したものと考えられるので、第１のテスタ１０は、本来のクリティカルパスの概略の位置を特定すべく、最大発生頻度のリージョンコードを特定するように処理するのである。
【００４９】
〔２〕第２のテスタ２０の構成
〔２−１〕ＲＣ−ラッチ対応表２１
ＲＣ−ラッチ対応表２１は、図２に示すように、各リージョンコード（図中に示すＲＣ１〜ＲＣｎ）に対応付けて、そのリージョンコードでパリティエラーが発生するラッチとしてどのようなものがあるのかという情報を記録する。なお、このＲＣ−ラッチ対応表２１については、ＬＳＩの設計者が事前に作成することになる。
【００５０】
〔２−２〕テスト対象回路部分抽出部２２
テスト対象回路部分抽出部２２は、第１のテスタ１０から最大発生頻度のリージョンコードが通知されると、先ず最初に、そのリージョンコードをキーにしてＲＣ−ラッチ対応表２１を参照することで、そのリージョンコードでパリティエラーが発生するラッチとしてどのようなものがあるのかという情報を取得する。続いて、その取得した各ラッチを起点として、そのラッチに接続される回路部分をＲＣ−ラッチ対応表２１に記述されるラッチまで網羅的にバックトレースすることで、最大発生頻度のリージョンコードでパリティエラーが捕らえられる回路部分を抽出する。
【００５１】
最大発生頻度のリージョンコードでパリティエラーを発生したＬＳＩについては、そのリージョンコードが最初にエラー発生したときのリージョンコードであることから、それ以外のリージョンコードではパリティエラーを発生していないので、このバックトレースの到達先となるラッチではパリティエラーが発生していないことが保証される。
【００５２】
したがって、このバックトレースにより、最大発生頻度のリージョンコードでパリティエラーが捕らえられる回路部分を正確に抽出することができることになる。
【００５３】
これから、テスト対象回路部分抽出部２２は、例えば、図３に示すような深さ優先探索法（depth first search）を使い、図４に示すアルゴリズムに従って、最大発生頻度のリージョンコードでエラーが発生する各ラッチを起点として、そのラッチに接続される回路部分をＲＣ−ラッチ対応表２１に記述されるラッチまで網羅的にバックトレースすることで、最大発生頻度のリージョンコードでエラーが捕らえられる回路部分を抽出するのである。
【００５４】
ここで、図４に示すアルゴリズムでは、バックトレースの起点となるラッチに対して、トレース開始マークを付与するとともに、バックトレースの到達先となるラッチに対して、到達ラッチマークを付与し、さらに、バックトレースで通過する回路に対して、通過マークを付与するようにしている。
【００５５】
この図４に示すアルゴリズムによる回路部分の抽出処理に従って、図５に示すように、最大発生頻度のリージョンコードに対応付けられるＲＣ−ラッチ対応表２１に登録されるラッチ群と、そのリージョンコード以外のリージョンコードに対応付けられるＲＣ−ラッチ対応表２１に登録されるラッチ群との間に位置する通過マークの付与された回路部分が、最大発生頻度のリージョンコードでエラーが捕らえられる回路部分として抽出されることになる。
【００５６】
ここで、全てのラッチについてパリティエラーのチェック回路が用意されている訳ではないので、このとき抽出される回路部分には、論理素子の他に、ＲＣ−ラッチ対応表２１には登録されていないラッチが含まれることになる。
【００５７】
〔２−３〕テストパターン生成部２３
テストパターン生成部２３は、通過マークの付与された各論理素子（ＮＡＮＤやインバータなど）の各入出力ピンに対して、slow-to-riseとslow-to-fallのディレイ故障を付与して、そのディレイ故障を検出するためのディレイ故障検出用テストパターンを生成する。
【００５８】
このディレイ故障の付与先となる論理素子は、トレース開始マークの付与されたラッチと通過マークの付与されたラッチとの間に位置するか、通過マークの付与されたラッチ同士の間に位置するか、通過マークの付与されたラッチと到達ラッチマークの付与されたラッチとの間に位置する。
【００５９】
これから、このとき生成するディレイ故障検出用テストパターンでは、トレース開始マークの付与されたラッチと、通過マークの付与されたラッチと、到達ラッチマークの付与されたラッチのみがスキャンラッチとなる。すなわち、これらのラッチについてのみ有効な値の設定や読み出しを行い、それ以外のラッチについては固定的な値の設定や読み出しを行うディレイ故障検出用テストパターンを生成することになる。
【００６０】
ディレイ故障検出用テストパターンの生成については、前述した非特許文献１に記載される segment delayテストを用いることが可能である。
【００６１】
この segment delayテストは、検出対象となるslow-to-riseやslow-to-fallのディレイ故障が定義されたピンにおいて、そこでのディレイ故障を検出するために、このピンを含む部分パス（これを segmentと呼んでいる）のディレイが指定された値Ｌ以上になるような試験パス（ディレイ故障検出用テストパターンにより活性化されることになる回路部分）を伝搬させてディレイ故障を検出するという手法である。
【００６２】
ここで、このＬは、ディレイ不良解析の対象となるＬＳＩが最大発生頻度のリージョンコードでエラーとなった周波数から求められるディレイ値に設定される。例えば、２ＧＨｚでエラーが発生した場合には、Ｌとして５００ｐｓの値が設定される。なお、ディレイが指定された値Ｌ以上にならない場合には、最長の試験パスを選ぶ。
【００６３】
すなわち、ディレイ故障の付与されたピンにおいて、そのディレイ故障を実現するための試験パスは１つということはなく非常に沢山存在する。それらの試験パスの中にはディレイがエラー発生した値よりも小さいものもあり、そのようなものを用いてディレイテストを行っても意味がない。これから、エラー発生したディレイよりも大きなディレイを示す試験パスを実現するディレイ故障検出用テストパターンを最終的に生成するのである。なお、試験パスのディレイの大きさの評価については、設計段階で作成されたディレイの見積り値を用いることになる。
【００６４】
非特許文献１に記載される segment delayテストでは用いていないが、ディレイ不良解析の対象となるＬＳＩの回路特徴を持った試験パスを実現するディレイ故障検出用テストパターンを生成するという手法を用いることが好ましい。
【００６５】
すなわち、ディレイ故障の付与されたピンにおいて、そのディレイ故障を実現するための試験パスは１つということはなく非常に沢山存在する。それらの試験パスの中にはディレイ不良解析の対象となるＬＳＩの回路特徴を持つものもあれば、そのような回路特徴を持たないものもある。これから、ディレイ不良解析の対象となるＬＳＩの回路特徴を持った試験パスを実現するディレイ故障検出用テストパターンを最終的に選択することで、有効なディレイテストの実現を図るのである。
【００６６】
これを実現するために、あらかじめディレイ不良解析の対象となるＬＳＩの回路特徴の情報を抽出する。例えば、セル（論理素子）の種類、ネットの平均配線距離（セルとセルとの間の平均配線距離）、ゲート段数の平均値（ラッチとラッチとの間のセル数の平均値）、特殊なセルの有無、各セルの使用率などの情報を抽出する。
【００６７】
この情報に従って、ディレイ不良解析の対象となるＬＳＩについて、例えば、長距離配線はほとんどなくゲート段数が多いＬＳＩであるとか、ゲート段数は少なく長距離配線が多いＬＳＩであるとか、ある特殊なセルを多く使っているＬＳＩであるとかいうような回路特徴を得ることができる。
【００６８】
この回路特徴を使い、論理素子の入出力ピンに付与されたディレイ故障を検出するための複数の試験パスの中から、その回路特徴を持った試験パスを実現するディレイ故障検出用テストパターンを選択する。
【００６９】
例えば、論理素子の入出力ピンに付与されたディレイ故障を検出可能とするディレイ故障検出用テストパターンのそれぞれが実現する試験パスのそれぞれについて回路特徴を抽出して、それらの回路特徴とディレイ不良解析の対象となるＬＳＩの対応する回路特徴とを比較し、ａという回路特徴についてはこの試験パスが最も類似し、ｂという回路特徴についてはこの試験パスが最も類似するというような評価を行って点数を与えて、最も点数の高い試験パスを実現するディレイ故障検出用テストパターンを選択することで、ディレイ不良解析の対象となるＬＳＩの回路特徴を持った試験パスを実現するディレイ故障検出用テストパターンを選択することが可能である。
【００７０】
テストパターン生成部２３は、このようにして、通過マークの付与された各論理素子の各入出力ピンに対して、slow-to-riseとslow-to-fallのディレイ故障を付与して、そのディレイ故障を検出するためのディレイ故障検出用テストパターンを生成することになるが、ディレイ不良解析部２５の行う不良解析処理を支援するために、この生成したディレイ故障検出用テストパターンについて、それが実現する試験パスのディレイ値、その試験パスの経路情報、その試験パスの持つ回路特徴情報などの情報をメモリに記録するようにしている。
【００７１】
〔２−４〕ディレイテスト実行部２４
ディレイテスト実行部２４は、ＬＳＩテスタで構成されて、テストパターン生成部２３の生成したディレイ故障検出用テストパターンを使って、最大発生頻度のリージョンコードを出力したＬＳＩをディレイ不良解析の対象となるＬＳＩとして、それらのＬＳＩに対してディレイテストを実行する。
【００７２】
このディレイテストで適用する周波数については、各ＬＳＩについて、そのＬＳＩが最大発生頻度のリージョンコードでエラーとなったときの周波数を用いる。
【００７３】
ディレイテスト実行部２４は、このディレイテストを実行した結果、期待値と異なる値が発生したディレイ故障検出用テストパターンについては、そのパターン番号をメモリに記録する。
【００７４】
〔２−５〕ディレイ不良解析部２５
ディレイ不良解析部２５は、ディレイテスト実行部２４の記録したディレイ故障検出用テストパターン番号をもとに、ディレイ不良の根本原因箇所を特定する。
【００７５】
例えば、テストパターン生成部２３の記録した各試験パスの経路情報に基づいて、ディレイテスト実行部２４の記録した全てのディレイ故障検出用テストパターン番号の指すディレイ故障検出用テストパターンが実現する試験パスの経路を比較して、共通して通過している箇所があるのかどうかを判定し、共通して通過している箇所がある場合には、その箇所をディレイ不良の原因箇所と特定する。
【００７６】
また、テストパターン生成部２３の記録した各試験パスの持つ回路特徴情報に基づいて、ディレイテスト実行部２４の記録した全てのディレイ故障検出用テストパターン番号の指すディレイ故障検出用テストパターンが実現する試験パスの持つ回路特徴を比較して、同じ回路特徴を持っているかどうかを判定し、同じ回路特徴を持っていないのであれば、この回路特徴に起因してディレイが遅くなっているのではないと判定し、逆に、同じ回路特徴を持っているのであれば、この回路特徴に起因してディレイが遅くなっている可能性が高いと判定する。
【００７７】
〔２−６〕第２のテスタ２０の全体処理
このようにして、第２のテスタ２０は、第１のテスタ１０から、最大発生頻度のリージョンコードを得ると、ＲＣ−ラッチ対応表２１を参照することで、最大発生頻度のリージョンコードでエラーが発生するラッチがどれであるのかという情報を取得して、その取得した各ラッチを起点として、そのラッチに接続される回路部分をＲＣ−ラッチ対応表２１に記述されるリージョンコード配下のラッチまで網羅的にバックトレースすることで、最大発生頻度のリージョンコードでエラーが捕らえられる回路部分を抽出する。
【００７８】
そして、その抽出した回路部分に含まれる各論理素子の各入出力ピンに対してディレイ故障を付与して、その付与したディレイ故障を検出するためのディレイ故障検出用テストパターンを生成し、その生成したディレイ故障検出用テストパターンを使って、最大発生頻度のリージョンコードを出力したＬＳＩに対してディレイテストを実行して、その実行結果に基づいて、ディレイ不良の根本原因箇所を特定するように処理する。
【実施例】
【００７９】
次に、実施例に従って、本発明を詳細に説明する。
【００８０】
図６に、本発明によるＬＳＩディレイ不良解析処理の動作フローの一実施例を図示する。ここで、図中に示す２１は図１に示したＲＣ−ラッチ対応表である。
【００８１】
次に、この動作フローに従って、本実施例に従うＬＳＩディレイ不良解析処理について詳細に説明する。
【００８２】
本実施例に従うＬＳＩディレイ不良解析処理では、先ず最初に、ステップＳ１０で、周波数選別処理を行い、ディレイ不良の解析対象となるＬＳＩをテスト対象として、各ＬＳＩ毎に、動作クロックを徐々に上げていくことで動作テストを実行して、パリティエラー発生に伴って出力されるリージョンコードをデータベースＤＢ１に格納する。
【００８３】
続いて、ステップＳ１１で、リージョンコード分析処理を行い、データベースＤＢ１に格納されているリージョンコードを集計して、発生頻度の高い順にソートする。
【００８４】
続いて、ステップＳ１２で、最大発生頻度リージョンコード特定処理を行い、リージョンコード分析処理によるソート結果に基づいて、最大発生頻度のリージョンコードを特定する。
【００８５】
続いて、ステップＳ１３で、テスト対象回路部分抽出処理を行い、ＲＣ−ラッチ対応表２１を参照することで、最大発生頻度のリージョンコードでエラーが発生するラッチがどれであるのかという情報を取得して、その取得した各ラッチを起点として、そのラッチに接続される回路部分をＲＣ−ラッチ対応表２１に記述されるリージョンコード配下のラッチまで網羅的にバックトレースすることで、最大発生頻度のリージョンコードでエラーが捕らえられる回路部分を抽出する。
【００８６】
続いて、ステップＳ１４で、テストパターン生成処理を行い、テスト対象回路部分抽出処理により抽出された回路部分に含まれる各論理素子の各入出力ピンに対してディレイ故障を付与して、その付与したディレイ故障を検出するためのディレイ故障検出用テストパターンを生成して、データベースＤＢ２に格納する。
【００８７】
このとき、ディレイ不良解析の対象となるＬＳＩ全体の回路特徴情報を格納するデータベースＤＢ３に格納されている回路特徴情報を参照して、ディレイ不良解析の対象となるＬＳＩの回路特徴を持った試験パスを実現するディレイ故障検出用テストパターンを生成する。
【００８８】
続いて、ステップＳ１５で、テストパターン属性情報抽出処理を行って、テストパターン生成処理により生成されたディレイ故障検出用テストパターンについて、それが実現する試験パスのディレイ値、その試験パスの経路情報、その試験パスの持つ回路特徴情報などの情報を抽出してデータベースＤＢ４に格納する。
【００８９】
続いて、ステップＳ１６で、ディレイテスト実行処理を行って、テストパターン生成処理により生成されたディレイ故障検出用テストパターンを使って、最大発生頻度のリージョンコードを出力したＬＳＩに対してディレイテストを実行して、期待値と異なる値が発生したディレイ故障検出用テストパターンのテストパターン番号をデータベースＤＢ５に格納する。
【００９０】
最後に、ステップＳ１７で、ディレイ不良解析処理を行って、データベースＤＢ５に格納されているディレイ故障検出用テストパターン番号の指すディレイ故障検出用テストパターンと、データベースＤＢ４に格納されているそのディレイ故障検出用テストパターンの持つ属性情報とに基づいて、ディレイ不良の根本原因箇所を特定する。
【００９１】
図７に、本発明によるＬＳＩディレイ不良解析処理を実現する機能構成の一実施例を図示する。
【００９２】
図中、データベースＤＢ１〜５は、図６に示したデータベースＤＢ１〜５と同じものを示し、データベースＤＢ６は、ディレイ不良の解析対象となるＬＳＩのネットリスト（回路接続情報）を格納するデータベースであり、データベースＤＢ７は、ディレイ不良の解析対象となるＬＳＩの持つセル及びネットのディレイ情報（設計段階で求めたディレイ情報）を格納するデータベースである。
【００９３】
また、２１は図１に示したＲＣ−ラッチ対応表、１００はＲＣデータ読込部、１０１はＲＣ頻度計算部、１０２はネットリスト読込部、１０３はディレイ情報読込部、１０４はモデル生成部、１０５はテスト対象回路部分抽出部、１０６はテストパターン生成部、１０７はテストパターン属性情報抽出部、１０８はＬＳＩテスタ、１０９はＦail ログデータ読込部、１１０はディレイ不良解析部、１１１はディレイ不良箇所一覧表である。
【００９４】
ＲＣ頻度計算部１０１は、ＲＣデータ読込部１００がデータベースＤＢ１から読み込んだリージョンコードを集計して、発生頻度の高い順にソートし、最大発生頻度のリージョンコードを特定するという処理を行う。
【００９５】
モデル生成部１０４は、ネットリスト読込部１０２がデータベースＤＢ６から読み込んだネットリストと、ディレイ情報読込部１０３がデータベースＤＢ７から読み込んだセル及びネットのディレイ情報とに基づいて、ディレイ不良の解析対象となるＬＳＩの回路モデルを生成するという処理を行う。
【００９６】
テスト対象回路部分抽出部１０５は、ＲＣ−ラッチ対応表２１を参照することで、最大発生頻度のリージョンコードでエラーが発生するラッチがどれであるのかという情報を取得して、その取得した各ラッチを起点として、そのラッチに接続される回路部分をＲＣ−ラッチ対応表２１に記述されるリージョンコード配下のラッチまで網羅的にバックトレースすることで、最大発生頻度のリージョンコードでエラーが捕らえられる回路部分を抽出するという処理を行う。
【００９７】
テストパターン生成部１０６は、テスト対象回路部分抽出部１０５の抽出した回路部分に含まれる各論理素子の各入出力ピンに対してディレイ故障を付与して、その付与したディレイ故障を検出するためのディレイ故障検出用テストパターンを生成して、データベースＤＢ２に格納するという処理を行う。このとき、データベースＤＢ３に格納される回路特徴情報を参照して、ディレイ不良解析の対象となるＬＳＩの回路特徴を持った試験パスを実現するディレイ故障検出用テストパターンを生成する。
【００９８】
テストパターン属性情報抽出部１０７は、テストパターン生成部１０６の生成したディレイ故障検出用テストパターンについて、それが実現する試験パスのディレイ値、その試験パスの経路情報、その試験パスの持つ回路特徴情報などの情報を抽出して、データベースＤＢ４に格納するという処理を行う。
【００９９】
ＬＳＩテスタ１０８は、テストパターン生成部１０６の生成したディレイ故障検出用テストパターンを使って、最大発生頻度のリージョンコードを出力したＬＳＩに対してディレイテストを実行して、期待値と異なる値が発生したディレイ故障検出用テストパターンのテストパターン番号をデータベースＤＢ５に格納するという処理を行う。
【０１００】
ディレイ不良解析部１１０は、Ｆail ログデータ読込部１０９がデータベースＤＢ５から読み込んだディレイ故障検出用テストパターン番号と、データベースＤＢ４に格納されているディレイ故障検出用テストパターンの持つ属性情報とに基づいて、ディレイ不良の根本原因箇所を特定して、そのディレイ不良箇所について記述するディレイ不良箇所一覧表１１１を出力するという処理を行う。
【０１０１】
このようにして、本実施例によるＬＳＩディレイ不良解析処理によれば、ＬＳＩのディレイ不良を解析するときに、周波数性能のネックとなっている回路部分を絞り込んで、その回路部分についてのディレイ故障検出用テストパターンを生成することで、その回路部分のどの回路部分が周波数性能のネックとなっているのかを特定できることから、周波数性能のネックになっている回路部分を迅速かつ一意に特定できるようになる。
【産業上の利用可能性】
【０１０２】
本発明は、マイクロプロセッサなどのハードウェアで構成される集積回路のディレイ不良解析に適用できるものであり、周波数性能のネックになっている回路部分を迅速かつ一意に特定することを実現する。
【０１０３】
（付記１）集積回路のディレイ不良を解析するディレイ不良解析方法であって、
ディレイ不良の解析対象となる集積回路のそれぞれについて、動作クロックの周波数を徐々に上げていって、最初にエラーを発生するときのリージョンコードを収集する過程と、前記収集したリージョンコードを集計して、最大発生頻度のリージョンコードを特定する過程とを備えることを、特徴とするディレイ不良解析方法。
【０１０４】
（付記２）付記１に記載のディレイ不良解析方法において、リージョンコードとそのリージョンコード配下のラッチとの対応関係について記述する対応表を参照することで、前記最大発生頻度のリージョンコードでエラーが発生するラッチがどれであるのかという情報を取得する過程と、前記取得した各ラッチを起点として、そのラッチに接続される回路部分を前記対応表に記述されるリージョンコード配下のラッチまで網羅的にバックトレースすることで、前記最大発生頻度のリージョンコードでエラーが捕らえられる回路部分を抽出する過程とを備えることを、特徴とするディレイ不良解析方法。
【０１０５】
（付記３）付記２に記載のディレイ不良解析方法において、前記抽出した回路部分に含まれる各論理素子の各入出力ピンに対してディレイ故障を付与して、その付与したディレイ故障を検出するためのディレイ故障検出用テストパターンを生成する過程を備えることを、特徴とするディレイ不良解析方法。
【０１０６】
（付記４）付記３に記載のディレイ不良解析方法において、前記ディレイ故障検出用テストパターンを生成する過程では、ディレイ不良の解析対象となる集積回路の回路特徴に基づき、前記ディレイ故障を検出可能とするディレイ故障検出用テストパターンの中から、その回路特徴を持った経路を実現するディレイ故障検出用テストパターンを選択することで、前記ディレイ故障を検出するためのディレイ故障検出用テストパターンを生成することを、特徴とするディレイ不良解析方法。
【０１０７】
（付記５）付記３又は４に記載のディレイ不良解析方法において、前記生成したディレイ故障検出用テストパターンを使って、前記最大発生頻度のリージョンコードでエラーを発生した集積回路をテスト対象としてディレイテストを実行して、期待値と異なる故障を発生したディレイ故障検出用テストパターンを選出する過程と、前記選出したディレイ故障検出用テストパターンに基づいて、ディレイ不良の原因を解析する過程とを備えることを、特徴とするディレイ不良解析方法。
【０１０８】
（付記６）付記５に記載のディレイ不良解析方法において、前記ディレイ不良の原因を解析する過程では、前記選出したディレイ故障検出用テストパターンの実現する経路を比較して、共通に通過している箇所があるのか否かを判定することで、ディレイ不良の原因を解析することを、特徴とするディレイ不良解析方法。
【０１０９】
（付記７）付記５に記載のディレイ不良解析方法において、前記ディレイ不良の原因を解析する過程では、前記選出したディレイ故障検出用テストパターンの実現する経路の持つ回路特徴を比較して、共通の回路特徴があるのか否かを判定することで、ディレイ不良の原因を解析することを、特徴とするディレイ不良解析方法。
【０１１０】
（付記８）ディレイ不良の解析対象となる集積回路の中から選択された最大発生頻度のリージョンコードでエラーを発生した集積回路をテスト対象として、それらの集積回路に対してディレイテストを実行してディレイ不良の原因を解析するディレイ不良解析装置であって、リージョンコードとそのリージョンコード配下のラッチとの対応関係について記述する対応表を参照することで、前記最大発生頻度のリージョンコードでエラーが発生するラッチがどれであるのかという情報を取得する取得手段と、前記取得手段の取得した各ラッチを起点として、そのラッチに接続される回路部分を前記対応表に記述されるリージョンコード配下のラッチまで網羅的にバックトレースすることで、前記最大発生頻度のリージョンコードでエラーが捕らえられる回路部分を抽出する抽出手段と、前記抽出手段の抽出した回路部分に含まれる各論理素子の各入出力ピンに対してディレイ故障を付与して、その付与したディレイ故障を検出するためのディレイ故障検出用テストパターンを生成する生成手段とを備えることを、特徴とするディレイ不良解析装置。
【０１１１】
（付記９）付記８に記載のディレイ不良解析装置において、前記生成手段の生成したディレイ故障検出用テストパターンを使って、前記テスト対象の集積回路に対してディレイテストを実行して、期待値と異なる故障を発生したディレイ故障検出用テストパターンを選出する選出手段と、前記選出手段の選出したディレイ故障検出用テストパターンに基づいて、ディレイ不良の原因を解析する解析手段とを備えることを、特徴とするディレイ不良解析装置。
【０１１２】
（付記１０）ディレイ不良の解析対象となる集積回路の中から選択された最大発生頻度のリージョンコードでエラーを発生した集積回路をテスト対象として、それらの集積回路に対してディレイテストを実行してディレイ不良の原因を解析するディレイ不良解析装置の実現に用いられるディレイ不良解析プログラムであって、コンピュータを、リージョンコードとそのリージョンコード配下のラッチとの対応関係について記述する対応表を参照することで、前記最大発生頻度のリージョンコードでエラーが発生するラッチがどれであるのかという情報を取得する取得手段と、前記取得手段の取得した各ラッチを起点として、そのラッチに接続される回路部分を前記対応表に記述されるリージョンコード配下のラッチまで網羅的にバックトレースすることで、前記最大発生頻度のリージョンコードでエラーが捕らえられる回路部分を抽出する抽出手段と、前記抽出手段の抽出した回路部分に含まれる各論理素子の各入出力ピンに対してディレイ故障を付与して、その付与したディレイ故障を検出するためのディレイ故障検出用テストパターンを生成する生成手段として機能させるためのディレイ不良解析プログラム。
【０１１３】
（付記１１）付記１０に記載のディレイ不良解析プログラムにおいて、コンピュータを、さらに、前記生成手段の生成したディレイ故障検出用テストパターンを使って、前記テスト対象の集積回路に対してディレイテストを実行して、期待値と異なる故障を発生したディレイ故障検出用テストパターンを選出する選出手段と、前記選出手段の選出したディレイ故障検出用テストパターンに基づいて、ディレイ不良の原因を解析する解析手段として機能させるためのディレイ不良解析プログラム。
【図面の簡単な説明】
【０１１４】
【図１】本発明の一実施の形態を示す図である。
【図２】ＲＣ−ラッチ対応表の説明図である。
【図３】深さ優先探索法の説明図である。
【図４】テスト対象回路部分抽出部の実行するアルゴリズムである。
【図５】テスト対象回路部分抽出部の実行する処理の説明図である。
【図６】本発明を実現する動作フローの一実施例である。
【図７】本発明を実現する機能構成の一実施例である。
【図８】スキャンテスト方式の説明図である。
【図９】周波数性能のテスト処理の説明図である。
【符号の説明】
【０１１５】
１０  第１のテスタ
１１  周波数テスト実行部
１２  ＲＣ収集分析部
２０  第２のテスタ
２１  ＲＣ−ラッチ対応表
２２  テスト対象回路部分抽出部
２３  テストパターン生成部
２４  ディレイテスト実行部
２５  ディレイ不良解析部
【図１】
2008076121.tif 000003
【図２】
2008076121.tif 000004
【図３】
2008076121.tif 000005
【図４】
2008076121.tif 000006
【図５】
2008076121.tif 000007
【図６】
2008076121.tif 000008
【図７】
2008076121.tif 000009
【図８】
2008076121.tif 000010
【図９】
2008076121.tif 000011