(57)【要約】【課題】半導体集積回路の故障診断の信頼性を向上させること。【解決手段】本手法では、各テストパターンｔｉをチップＣに流した際に同時に活性化したパス群の中から、各テストパターンｔｉの測定値を決める第１パス候補ｐｘを推定する。そして、第１パス候補ｐｘが測定値を決めると推定されたテストパターンｔｉごとにズレ算出式を構築して、回帰問題を解くことで、各パスｐｋの、テストパターンｔｉの測定値と第１パス候補ｐｘの予測値のズレへの影響度を求める。このあと、その影響度が大きいパスｐｋを、第２パス候補ｐｙとして、第１および第２パス候補ｐｘ、ｐｙ間での『遅延の真値の逆転』または『ノイズの発生』を見分けて、テストパターンｔｉの測定値を正しいパスｐｋに割り当てる。【選択図】図１
2011128023.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
診断対象となる回路の動作周波数を測定するためのテストパターンごとに、前記回路内の各パスの遅延の予測値に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパス候補を決定する第１の決定手順、
前記第１の決定手順によって決定されたパス候補群のうち任意のパス候補が測定値を決めるテストパターンごとに、当該テストパターンで活性化した各パスの前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレへの影響度をパラメータとして、前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレを表現するモデル式を構築する構築手順、
前記構築手順によって構築されたテストパターンごとのモデル式を用いて、当該各モデル式に含まれる前記パラメータの値を算出する算出手順、
前記算出手順によって算出された算出結果に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパスを決定する第２の決定手順、
前記第２の決定手順によって決定された決定結果を出力する出力手順、
を実行させることを特徴とする故障診断支援プログラム。
【請求項２】
前記コンピュータに、
前記テストパターンのモデル式に含まれる前記パラメータの値に基づいて、前記任意のパス候補とは異なる他のパス候補を前記パス群の中から選択する選択手順、
前記回路の動作周波数を測定するためのテストパターン群の中から、前記第１の決定手順によって前記任意のパス候補が測定値を決めると決定され、かつ、前記他のパス候補が活性化していない第１のテストパターンを抽出する第１の抽出手順、
前記テストパターン群の中から、前記第１の決定手順によって前記他のパス候補が測定値を決めると決定され、かつ、前記任意のパス候補が活性化していない第２のテストパターンを抽出する第２の抽出手順を実行させ、
前記第２の決定手順は、
前記第１および第２の抽出手順によって抽出された第１および第２のテストパターンの測定値を比較することにより、前記任意のパス候補または前記他のパス候補のいずれか一方を、前記テストパターンの測定値を決めるパスに決定することを特徴とする請求項１に記載の故障診断支援プログラム。
【請求項３】
前記選択手順は、
前記テストパターンのモデル式に含まれる前記パラメータ群のうち、少なくとも他のパラメータよりも値が大きい一のパラメータに対応するパスを前記他のパス候補として選択することを特徴とする請求項２に記載の故障診断支援プログラム。
【請求項４】
前記第２の決定手順は、
前記第１のテストパターンの測定値が前記第２のテストパターンの測定値よりも大きい場合、前記任意のパス候補を前記テストパターンの測定値を決めるパスに決定するとともに、前記任意のパス候補と前記他のパス候補とをノイズの発生原因となるパスペアに決定することを特徴とする請求項２または３に記載の故障診断支援プログラム。
【請求項５】
前記第２の決定手順は、
前記第２のテストパターンの測定値が前記第１のテストパターンの測定値よりも大きい場合、前記他のパス候補を前記テストパターンの測定値を決めるパスに決定することを特徴とする請求項２〜４のいずれか一つに記載の故障診断支援プログラム。
【請求項６】
診断対象となる回路の動作周波数を測定するためのテストパターンごとに、前記回路内の各パスの遅延の予測値に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパス候補を決定する第１の決定手段と、
前記第１の決定手段によって決定されたパス候補群のうち任意のパス候補が測定値を決めるテストパターンごとに、当該テストパターンで活性化した各パスの前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレへの影響度をパラメータとして、前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレを表現するモデル式を構築する構築手段と、
前記構築手段によって構築されたテストパターンごとのモデル式を用いて、当該各モデル式に含まれる前記パラメータの値を算出する算出手段と、
前記算出手段によって算出された算出結果に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパスを決定する第２の決定手段と、
前記第２の決定手段によって決定された決定結果を出力する出力手段と、
を備えることを特徴とする故障診断支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の故障診断を支援する故障診断支援プログラム、および故障診断支援装置に関する。
【背景技術】
【０００２】
近年、プロセスの微細化により、ばらつき、クロストーク、ＩＲドロップなどの影響が増大し、設計段階でのパス遅延（予測値）と製造されたチップ上でのパス遅延（真値）との間に大きなズレが生じている。パス遅延のズレが大きくなり、チップの検査工程において目標とする動作周波数（Ｓｐｅｃ）をチップが満たすことができない場合は、設計工程への手戻りが発生する。
【０００３】
検査工程では、遅延テストを行って、チップが目標とする動作周波数を満たすかどうかを確認する。遅延テストでは、チップにテストパターン（テストベクトル）を２発続けて流し、チップの動作を確認する。具体的には、遅延テストでは、テストパターンを続けて流す周期を短くしていき、チップが正常に動作しなくなる直前の周期を特定して、目標とする周期（周波数）を満たすかどうかを確認する。
【０００４】
また、チップが目標とする動作周波数を満たさない場合は、故障診断を行って、故障の場所や原因を特定し、設計工程に戻ることになる。故障診断は、チップ内の各パスのパス遅延を用いて行われる。従来の故障診断では、ＳＴＡ（静的遅延解析）やＳＳＴＡ（統計的遅延解析）などで見積もられたパス遅延の予測値が大きいパスを故障原因となるパスとして推定する。
【０００５】
そして、従来の故障診断では、故障原因として推定されたパスにテストパターンの測定値を割り当ててスピードパス解析などを行い、詳細な故障原因を特定する。なお、テストパターンの測定値とは、Ｆａｉｌする直前の遅延値、すなわち、チップにテストパターンを２発続けて流した際の出力値が期待値と一致するぎりぎりの間隔である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−４３１１５号公報
【特許文献２】特開２００５−８３８９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術によれば、テストパターンをチップに流した際に、複数のパスが同時に活性化（信号が伝播）した場合、故障原因となるパスを正確に判断することが難しく、故障診断の信頼性の低下を招くという問題があった。
【０００８】
具体的には、パス遅延の予測値と真値との間には“ズレ”があるため、複数のパスが活性化した場合、必ずしも予測値が大きい（たとえば、最大）パスがテストパターンの測定値を決めるとは言い切れない。このため、単純にパス遅延の予測値からテストパターンの測定値を決めるパスを推定すると、故障診断の精度が低下するという問題がある。
【０００９】
本発明は、上述した従来技術による問題点を解消するため、テストパターンの測定値をパスに正しく割り当てることにより、故障診断の信頼性を向上させることができる故障診断支援プログラム、および故障診断支援装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、開示の故障診断支援プログラム、および故障診断支援装置は、診断対象となる回路の動作周波数を測定するためのテストパターンごとに、前記回路内の各パスの遅延の予測値に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパス候補を決定し、決定されたパス候補群のうち任意のパス候補が測定値を決めるテストパターンごとに、当該テストパターンで活性化した各パスの前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレへの影響度をパラメータとして、前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレを表現するモデル式を構築し、構築されたテストパターンごとのモデル式を用いて、当該各モデル式に含まれる前記パラメータの値を算出し、算出された算出結果に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパスを決定し、決定された決定結果を出力することを要件とする。
【発明の効果】
【００１１】
本故障診断支援プログラム、および故障診断支援装置によれば、テストパターンの測定値をパスに正しく割り当てることにより、故障診断の信頼性を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】本故障診断支援手法の一実施例を示す説明図である。
【図２】故障診断支援装置のハードウェア構成の一例を示すブロック図である。
【図３】故障診断支援装置の機能的構成の一例を示すブロック図である。
【図４】遅延テスト結果の具体例を示す説明図である。
【図５】遅延解析結果の具体例を示す説明図である。
【図６】モデルデータテーブルの記憶内容の一例を示す説明図である。
【図７】診断結果テーブルの記憶内容の一例を示す説明図である。
【図８】故障診断支援装置の故障診断支援処理手順の一例を示すフローチャートである。
【図９】外れ値判定処理の具体的処理手順の一例を示すフローチャートである。
【図１０】ズレ算出式構築処理の具体的処理手順の一例を示すフローチャートである。
【図１１】パス決定処理の具体的処理手順の一例を示すフローチャート（その１）である。
【図１２】パス決定処理の具体的処理手順の一例を示すフローチャート（その２）である。
【図１３】故障診断結果の一例を示す説明図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、この発明にかかる故障診断支援プログラム、および故障診断支援装置の好適な実施の形態を詳細に説明する。
【００１４】
（本故障診断支援手法の一実施例）
まず、本実施の形態にかかる故障診断支援手法の一実施例について説明する。図１は、本故障診断支援手法の一実施例を示す説明図である。なお、図１の説明では、診断対象となるチップ内のパス群を「パス群ｐ１〜ｐＫ」と表記し、任意のパスを「パスｐｋ」と表記する（ｋ＝１，２，…，Ｋ）。また、遅延テストでチップが目標とする動作周波数を満たさなかったテストパターンを「テストパターンｔ１〜ｔｎ」と表記し、任意のテストパターンを「テストパターンｔｉ」と表記する（ｉ＝１，２，…，ｎ）。
【００１５】
（１）本手法では、各テストパターンｔ１〜ｔｎをチップに流した際に同時に活性化したパス群の中から、各テストパターンｔ１〜ｔｎの測定値を決める第１パス候補ｐｘを推定する。具体的には、たとえば、本手法では、テストパターンｔｉで活性化したパス群のうち、遅延（パス遅延）の予測値が最大のパスを第１パス候補ｐｘとして推定する。テストパターンｔ１の例では、同時に活性化したパス群ｐ１，ｐ２，ｐ５のうち、遅延の予測値が最大のパスｐ１が第１パス候補ｐｘとして推定されている。
【００１６】
（２）本手法では、第１パス候補ｐｘが測定値を決めると推定されたテストパターンｔｉごとに、ズレ算出式を構築する。ズレ算出式とは、テストパターンｔｉで活性化した各パスｐｋの、テストパターンｔｉの測定値と第１候補パスｐｘの遅延の予測値とのズレへの影響度をパラメータｗ（ｐｋ）として、テストパターンｔｉの測定値と第１パス候補ｐｘの遅延の予測値とのズレを表現するモデル式である。
【００１７】
ズレ算出式は、たとえば、下記式（１）を用いて表現することができる。ただし、Ｄｅｖ（ｐｘ）ｉは、テストパターンｔｉの測定値と第１パス候補ｐｘの遅延の予測値とのズレ［ｐｓ］を表す。ｗ（ｐｋ）は、各パスｐｋが活性化した際にＤｅｖ（ｐｘ）ｉへ与える影響度［ｐｓ］を表す。Ａ（ｐｋ）ｉは、テストパターンｔｉで活性化した場合「１」、活性化していない場合「０」となる変数である。
【００１８】
Ｄｅｖ（ｐｘ）ｉ＝ｗ（ｐ１）×Ａ（ｐ１）ｉ＋ｗ（ｐ２）×Ａ（ｐ２）ｉ＋…
＋ｗ（ｐＫ）×Ａ（ｐＫ）ｉ            ・・・（１）
【００１９】
上記式（１）のうち、Ｄｅｖ（ｐｘ）ｉおよびＡ（ｐ１）ｉ〜Ａ（ｐＫ）ｉは、チップの遅延テストの結果から得られる値である。ここで、パスｐ１が複数のテストパターンｔ１，ｔ３，ｔ５，…，ｔｚの測定値を決める第１パス候補ｐｘとして推定されたとする。この場合、本手法では、テストパターンｔ１，ｔ３，ｔ５，…，ｔｚごとに、ズレ算出式（Ｅ１）、（Ｅ３）、（Ｅ５）、…、（Ｅｚ）を構築する。
【００２０】
（３）本手法では、テストパターンｔｉごとに構築された複数のズレ算出式（たとえば、ズレ算出式（Ｅ１）、（Ｅ３）、（Ｅ５）、…、（Ｅｚ））を用いて回帰問題を解くことにより、各パスｐｋのＤｅｖ（ｐｘ）ｉへ与える影響度を表すｗ（ｐｋ）を求める。
【００２１】
（４）本手法では、テストパターンｔｉのズレ算出式に含まれるｗ（ｐ１）〜ｗ（ｐＫ）のうち、最大のｗ（ｐｋ）に対応するパスｐｋを、第２パス候補ｐｙとして推定する（ただし、ｘ≠ｙ）。ここで、最大のｗ（ｐｋ）に対応するパスｐｋは、活性化すると、第１候補パスｐｘの遅延の予測値とテストパターンｔｉの測定値との間に大きなズレを生むパスである。
【００２２】
このため、（ｉ）最大のｗ（ｐｋ）に対応するパスｐｋは、遅延の真値が第１パス候補ｐｘの遅延の真値を逆転している、すなわち、テストパターンｔｉの測定値を決めている可能性がある。また、（ｉｉ）最大のｗ（ｐｋ）に対応するパスｐｋは、第１パス候補ｐｘとの間でノイズを発生するパスの可能性がある。そこで、本手法では、最大のｗ（ｐｋ）に対応するパスｐｋを、テストパターンｔｉの測定値を決める第２パス候補ｐｙとして推定する。
【００２３】
（５）本手法では、遅延テストの結果を用いて、上記（ｉ）または（ｉｉ）の可能性を見分ける。その結果、（ｉ）遅延の真値の逆転の場合、本手法では、第２パス候補ｐｙをテストパターンｔｉの測定値を決めるパスに決定し、該測定値を第２パス候補ｐｙに割り当てる。一方、（ｉｉ）ノイズを発生させるパスの場合、本手法では、第１パス候補ｐｘをテストパターンｔｉの測定値を決めるパスに決定し、該測定値を第１パス候補ｐｘに割り当てる。
【００２４】
このように、本手法では、テストパターンｔｉの測定値を決めると推定される第１、第２パス候補ｐｘ、ｐｙ間の『遅延の真値の逆転』または『ノイズの発生』を見分け、該測定値を正しいパスに割り当てることにより、故障診断の信頼性を向上させる。
【００２５】
（故障診断支援装置２００のハードウェア構成）
つぎに、本実施の形態にかかる故障診断支援装置２００のハードウェア構成について説明する。図２は、故障診断支援装置のハードウェア構成の一例を示すブロック図である。図２において、故障診断支援装置２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、磁気ディスクドライブ２０４と、磁気ディスク２０５と、光ディスクドライブ２０６と、光ディスク２０７と、ディスプレイ２０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３と、を備えている。また、各構成部はバス２２０によってそれぞれ接続されている。
【００２６】
ここで、ＣＰＵ２０１は、故障診断支援装置２００の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがって磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。
【００２７】
光ディスクドライブ２０６は、ＣＰＵ２０１の制御にしたがって光ディスク２０７に対するデータのリード／ライトを制御する。光ディスク２０７は、光ディスクドライブ２０６の制御で書き込まれたデータを記憶したり、光ディスク２０７に記憶されたデータをコンピュータに読み取らせたりする。
【００２８】
ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２９】
Ｉ／Ｆ２０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２１４に接続され、このネットワーク２１４を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク２１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００３０】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３１】
スキャナ２１２は、画像を光学的に読み取り、故障診断支援装置２００内に画像データを取り込む。なお、スキャナ２１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ２１３は、画像データや文書データを印刷する。プリンタ２１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００３２】
（故障診断支援装置２００の機能的構成）
つぎに、故障診断支援装置２００の機能的構成について説明する。図３は、故障診断支援装置の機能的構成の一例を示すブロック図である。図３において、故障診断支援装置２００は、取得部３０１と、第１の決定部３０２と、第１の算出部３０３と、構築部３０４と、第２の算出部３０５と、外れ値判定部３０６と、第２の決定部３０７と、選択部３０８と、抽出部３０９と、出力部３１０と、を含む構成である。
【００３３】
各機能部（取得部３０１〜出力部３１０）は、具体的には、たとえば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、Ｉ／Ｆ２０９により、その機能を実現する。また、各機能部の処理結果は、特に指定する場合を除いて、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶される。
【００３４】
図３において、取得部３０１は、診断対象となる回路の遅延テスト結果を取得する機能を有する。ここで、診断対象となる回路とは、診断対象に関する回路情報を用いて製造された回路であり、たとえば、同一ウェハ上のチップ群である。また、遅延テスト結果とは、チップの動作周波数を測定するためのテストパターンごとの遅延テストの結果である。
【００３５】
なお、以下の説明では、診断対象に関する回路情報を用いて製造された同一ウェハ上のチップ群を「チップ群Ｃ１〜Ｃｍ」と表記し、チップ群Ｃ１〜Ｃｍのうち任意のチップを「チップＣｊ」と表記する（ｊ＝１，２，…，ｍ）。また、遅延テストにおいて、チップＣｊが目標とする動作周波数を満たさなかったテストパターンを「テストパターンｔ１〜ｔｎ」と表記し、任意のテストパターンを「テストパターンｔｉ」と表記する（ｉ＝１，２，…，ｎ）。また、各チップＣｊ内のパス群を「パス群ｐ１〜ｐＫ」と表記し、パス群ｐ１〜ｐＫのうち任意のパスを「パスｐｋ」と表記する（ｋ＝１，２，…，Ｋ）。
【００３６】
ここで、遅延テスト結果の具体例について説明する。図４は、遅延テスト結果の具体例を示す説明図である。図４において、遅延テスト結果ファイル４００は、遅延テスト結果ＩＤ、チップＩＤ、テストパターンＩＤ、測定値および活性化パスＩＤの項目を有する。各項目に情報を設定することで、遅延テスト結果Ｒ１１〜Ｒｎｍがレコードとして記憶されている。
【００３７】
遅延テスト結果ＩＤとは、遅延テスト結果Ｒ１１〜Ｒｎｍを識別する識別子である。チップＩＤとは、チップＣｊを識別する識別子である。テストパターンＩＤとは、テストパターンｔｉを識別する識別子である。測定値とは、テストパターンｔｉをチップＣｊに２発続けて流した際のＦａｉｌする直前の遅延値［ｐｓ］である。
【００３８】
活性化パスＩＤとは、テストパターンｔｉをチップＣｊに流した際に活性化したパスｐｋを識別する識別子である。ここで、遅延テスト結果Ｒｉｊを例に挙げると、テストパターンｔｉをチップＣｊに流した際の測定値は『Ｄｉｊ』、活性化したパスは『ｐｉ［１］，ｐｉ［２］，…，ｐｉ［Ｋ］』である。ただし、テストパターンｔｉを流した際に活性化するパス群は全チップＣ１〜Ｃｍで共通とする。
【００３９】
また、図３において、取得部３０１は、チップＣｊ内の各パスｐｋの遅延の予測値ｄｋを取得する機能を有する。ここで、遅延の予測値ｄｋとは、設計段階においてＳＴＡ（静的遅延解析）やＳＳＴＡ（統計的遅延解析）などで見積もられた各パスｐｋの遅延値［ｐｓ］である。ここで、各パスｐｋの遅延解析結果の具体例について説明する。
【００４０】
図５は、遅延解析結果の具体例を示す説明図である。図５において、遅延解析結果５００は、パスＩＤおよび予測値の項目を有し、パスｐｋごとの遅延の予測値ｄｋを有している。なお、パスｐｋの遅延の予測値ｄｋは、全チップＣ１〜Ｃｍにおいて共通である。
【００４１】
図３において、第１の決定部３０２は、チップＣｊ内の各パスｐｋの遅延の予測値ｄｋに基づいて、テストパターンｔｉで活性化したパス群ｐｉ［１］〜ｐｉ［Ｋ］の中からテストパターンｔｉの測定値Ｄｉｊを決める第１パス候補ｐｘを決定する機能を有する。ここで、第１パス候補ｐｘは、たとえば、チップＣｊごとに各テストパターンｔｉについて決定される。
【００４２】
すなわち、第１の決定部３０２の決定処理は、ｍ×ｎ［回］（＝チップ数ｍ×テストパターン数ｎ）実行される。この際、あるパスｐｋが複数のテストパターンｔｉの測定値Ｄｉｊを決定する第１パス候補ｐｘとなる場合がある。また、本実施の形態では、統計的解析により、後述する構築部３０４によって構築されるズレ算出式を解くことになる。
【００４３】
そのため、多くのズレ算出式を構築して、統計的解析で扱うデータ量を増加させる必要がある。ここで、遅延の予測値ｄｋが大きいパスｐｋは、測定値Ｄｉｊを決めるテストパターン数が多い可能性が高い。そこで、第１の決定部３０２が、パス群ｐｉ［１］〜ｐｉ［Ｋ］のうち遅延の予測値ｄｋが最大のパスｐｋを第１パス候補ｐｘに決定することにしてもよい。
【００４４】
これにより、多くのズレ算出式を構築して、より正確な統計的解析を行うことができる。なお、第１の決定部３０２によって決定された決定結果は、図６に示すモデルデータテーブル６００に記憶される。このモデルデータテーブル６００は、たとえば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置により実現される。
【００４５】
図６は、モデルデータテーブルの記憶内容の一例を示す説明図である。図６において、モデルデータテーブル６００は、遅延テスト結果ＩＤ、テストパターンＩＤ、第１パス候補ＩＤ、ズレおよび外れ値フラグの項目を有する。各項目に情報を設定することで、遅延テスト結果Ｒ１１〜Ｒｎｍごとのモデルデータ６００−１１〜６００−ｎｍがレコードとして記憶されている。
【００４６】
遅延テスト結果ＩＤとは、遅延テスト結果Ｒ１１〜Ｒｎｍを識別する識別子である。テストパターンＩＤとは、テストパターンｔｉを識別する識別子である。第１パス候補ＩＤとは、第１パス候補ｐｘを識別する識別子である。ズレとは、チップＣｊでのテストパターンｔｉの測定値Ｄｉｊと第１パス候補ｐｘの遅延の予測値ｄｘとのズレである。
【００４７】
外れ値フラグとは、遅延故障やランダムなばらつきなどの要素によるズレを含む遅延テスト結果Ｒ１１〜Ｒｎｍ（外れ値）を識別する識別子である。「外れ値フラグ」項目には、遅延テスト結果Ｒｉｊが外れ値の場合「Ｙ（Ｙｅｓ）」、外れ値ではない場合「Ｎ（Ｎｏ）」が設定される。なお、初期状態では外れ値フラグは「Ｎ」である。
【００４８】
図３において、第１の算出部３０３は、チップＣｊでのテストパターンｔｉの測定値Ｄｉｊと第１パス候補ｐｘの遅延の予測値ｄｘとのズレを算出する機能を有する。ここで、測定値Ｄｉｊは、遅延テスト結果ファイル４００内の「測定値」項目に設定されている遅延テスト結果Ｒｉｊの測定値である。また、予測値ｄｘは、遅延解析結果５００内の「予測値」項目に設定されているパスｐｘの予測値である。
【００４９】
具体的には、たとえば、第１の算出部３０３が、下記式（２）を用いて、チップＣｊでのテストパターンｔｉの測定値Ｄｉｊと第１パス候補ｐｘの遅延の予測値ｄｘとのズレを算出することができる。ただし、Ｄｅｖ（ｐｘ）ｉｊはチップＣｊでのテストパターンｔｉの測定値Ｄｉｊと第１パス候補ｐｘの遅延の予測値ｄｘとのズレである。
【００５０】
Ｄｅｖ（ｐｘ）ｉｊ＝Ｄｉｊ−ｄｘ        ・・・（２）
【００５１】
なお、第１の算出部３０３によって算出された算出結果は、たとえば、モデルデータテーブル６００に記憶される。具体的には、たとえば、測定値Ｄｉｊと予測値ｄｘとのズレＤｅｖ（ｐｘ）ｉｊは、モデルデータテーブル６００内の遅延テスト結果Ｒｉｊの「ズレ」項目に設定される。
【００５２】
構築部３０４は、第１パス候補ｐｘが測定値Ｄｉｊを決めるテストパターンｔｉごとにズレ算出式Ｅ（ｐｘ）ｉｊを構築する機能を有する。ここで、ズレ算出式Ｅ（ｐｘ）ｉｊとは、テストパターンｔｉの測定値Ｄｉｊと第１パス候補ｐｘの遅延の予測値ｄｘとのズレ「Ｄｅｖ（ｐｘ）ｉｊ」を表現するモデル式である。
【００５３】
ここでは、ズレ「Ｄｅｖ（ｐｘ）ｉｊ」を、チップＣｊにテストパターンｔｉを流した際に活性化した各パスｐｉ［１］〜ｐｉ［Ｋ］の遅延の予測値と真値とのズレを変数とする多項式によって表現する。具体的には、たとえば、構築部３０４が、下記式（３）を用いてズレ算出式Ｅ（ｐｘ）ｉｊを構築することができる。
【００５４】
ただし、Ｄｅｖ（ｐｘ）ｉｊは、テストパターンｔｉの測定値Ｄｉｊと第１パス候補ｐｘの遅延の予測値ｄｘとのズレ［ｐｓ］である。ｗ（ｐｋ）は、各パスｐｋが活性化した際にＤｅｖ（ｐｘ）ｉｊへ与える影響度［ｐｓ］を表す変数である（ｋ＝１，２，…，Ｋ）。Ａ（ｐｋ）ｉｊは、チップＣｊにテストパターンｔｉを流した際にパスｐｋが活性化した場合「１」、活性化しない場合「０」となる変数である。
【００５５】
Ｄｅｖ（ｐｘ）ｉｊ＝ｗ（ｐ１）×Ａ（ｐ１）ｉｊ＋ｗ（ｐ２）×Ａ（ｐ２）ｉｊ＋…
＋ｗ（ｐＫ）×Ａ（ｐＫ）ｉｊ            ・・・（３）
【００５６】
なお、ズレ算出式Ｅ（ｐｘ）ｉｊは、第１パス候補ｐｘが測定値Ｄｉｊを決めると決定されたテストパターン数構築される。ここで、チップＣ１〜Ｃｍにテストパターンｔ１〜ｔｎをそれぞれ流した際に、第１パス候補ｐｘがＸ［個］のテストパターンｔｉの測定値Ｄｉｊを決めるとすると、ズレ算出式Ｅ（ｐｘ）ｉｊの数はｍ×Ｘ［個］となる。
【００５７】
第２の算出部３０５は、第１パス候補ｐｘごとに構築された複数のズレ算出式Ｅ（ｐｘ）ｉｊを用いて、各ズレ算出式Ｅ（ｐｘ）ｉｊに含まれるｗ（ｐ１）〜ｗ（ｐＫ）の値を算出する機能を有する。具体的には、たとえば、まず、第２の算出部３０５が、第１の算出部３０３によって算出された測定値Ｄｉｊと予測値ｄｘとのズレ「Ｄｅｖ（ｐｘ）ｉｊ」を各ズレ算出式Ｅ（ｐｘ）ｉｊに代入する。
【００５８】
つぎに、第２の算出部３０５が、遅延テスト結果ファイル４００内の遅延テスト結果Ｒｉｊの「活性化パスＩＤ」項目を参照して、ズレ算出式Ｅ（ｐｘ）ｉｊに含まれるＡ（ｐ１）ｉｊ〜Ａ（ｐＫ）ｉｊに「０」または「１」を代入する。具体的には、第２の算出部３０５が、パスｐｋが「活性化パスＩＤ」項目に設定されている場合、Ａ（ｐｋ）ｉｊに「１」を代入する。一方、第２の算出部３０５が、パスｐｋが「活性化パスＩＤ」項目に設定されていない場合、Ａ（ｐｋ）ｉｊに「０」を代入する。
【００５９】
この結果、テストパターンｔｉを流した際に活性化するパス群ｐｉ［１］〜ｐｉ［Ｋ］のｗ（ｐｉ［１］）〜ｗ（ｐｉ［Ｋ］）を未知数とする方程式が、第１パス候補ｐｘが測定値Ｄｉｊを決めるテストパターン数（たとえば、ｍ×Ｘ［個］）作成される。
【００６０】
このあと、第２の算出部３０５が、複数のズレ算出式Ｅ（ｐｘ）ｉｊについて、回帰問題を解いて、各ズレ算出式Ｅ（ｐｘ）ｉｊに含まれるｗ（ｐｉ［１］）〜ｗ（ｐｉ［Ｋ］）を求める。より具体的には、たとえば、第２の算出部３０５が、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）回帰により、各ズレ算出式Ｅ（ｐｘ）ｉｊの左辺と右辺の誤差を最小化するｗ（ｐｉ［１］）〜ｗ（ｐｉ［Ｋ］）を求める。
【００６１】
なお、上述した説明では、全チップＣ１〜Ｃｍのズレ算出式Ｅ（ｐｘ）ｉｊを対象として回帰問題を解くことにしたが、これに限らない。たとえば、チップ単位のズレ算出式Ｅ（ｐｘ）ｉｊを対象として回帰問題を解いて、ｗ（ｐｉ［１］）〜ｗ（ｐｉ［Ｋ］）の平均値を求めることにしてもよい。
【００６２】
また、遅延テスト結果Ｒ１１〜Ｒｎｍの中には、遅延故障やランダムばらつきなどの要素によるズレを含むものがある。このような余計なズレを含む遅延テスト結果Ｒｉｊは、上記ｗ（ｐ１）〜ｗ（ｐＫ）を求める上で適当ではない。そこで、遅延故障やランダムばらつきなどの要素によるズレを含む遅延テスト結果Ｒｉｊを外れ値として、ズレ算出式Ｅ（ｐｘ）ｉｊの構築対象から除外することにしてもよい。
【００６３】
具体的には、たとえば、第１の算出部３０３が、全チップＣ１〜Ｃｍでのテストパターンｔｉの測定値Ｄｉｊの平均値Ｍｉを算出する。このあと、外れ値判定部３０６は、各チップＣｊでのテストパターンｔｉの測定値Ｄｉｊと平均値Ｍｉとを比較して、それらの差分が所定の閾値Ｈｉ以上の場合、遅延テスト結果Ｒｉｊを外れ値として判定する。
【００６４】
上記閾値Ｈｉは、任意に設定可能である。たとえば、外れ値判定部３０６が、テストパターンｔｉの平均値Ｍｉのα（たとえば、α＝１０）［％］を上記閾値Ｈｉに設定することにしてもよい。なお、判定された判定結果は、たとえば、モデルデータテーブル６００に記憶される。具体的には、モデルデータテーブル６００内の外れ値として判定された遅延テスト結果Ｒｉｊの「外れ値フラグ」項目に「Ｙ」が設定される。
【００６５】
この場合、上記構築部３０４は、モデルデータテーブル６００内の「外れ値フラグ」項目に「Ｙ」が設定されている遅延テスト結果Ｒｉｊをズレ算出式Ｅ（ｐｘ）ｉｊの構築対象から除外する。これにより、余計なズレを含む遅延テスト結果Ｒｉｊを排除して、上記ｗ（ｐ１）〜ｗ（ｐＫ）をより正確に求めることができる。
【００６６】
なお、外れ値の判定手法は、上述した手法に限らない。たとえば、外れ値判定部３０６が、ＳＭＶ回帰のε−ｉｎｓｅｎｓｉｔｉｖｅ関数のεを調節することで、遅延テスト結果Ｒ１１〜Ｒｎｍの中から外れ値となる遅延テスト結果Ｒｉｊを検出することにしてもよい。
【００６７】
第２の決定部３０７は、第２の算出部３０５によって算出された算出結果に基づいて、テストパターンｔｉで活性化したパス群ｐｉ［１］〜ｐｉ［Ｋ］の中から測定値Ｄｉｊを決めるパスｐｋを決定する機能を有する。具体的には、たとえば、まず、第２の決定部３０７が、チップＣｊごとに、テストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋを決定する。
【００６８】
このあと、第２の決定部３０７が、チップＣｊごとに決定された決定結果を総合的に判断して、テストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋを決定することにしてもよい。なお、第２の決定部３０７の具体的な処理内容は後述する。また、第２の決定部３０７によって決定された決定結果は、たとえば、図７に示す診断結果テーブル７００に記憶される。
【００６９】
図７は、診断結果テーブルの記憶内容の一例を示す説明図である。図７において、診断結果テーブル７００は、テストパターンＩＤ、パスＩＤおよび対象パスＩＤの項目を有する。各項目に情報を設定することで、診断結果７００−１〜７００−ｎがレコードとして記憶されている。
【００７０】
ここで、テストパターンＩＤとは、テストパターンｔｉを識別する識別子である。パスＩＤとは、テストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋを識別する識別子である。対象パスＩＤとは、パスｐｋとの間でノイズの発生対象となるパスｐｌ（ｋ≠ｌ、ｌ＝１，２，…，Ｋ）を識別する識別子である。なお、「対象パスＩＤ」項目は、ノイズの発生対象となるパスｐｌが存在しない場合は「−（ｎｕｌｌ）」となる。
【００７１】
出力部３１０は、第２の決定部３０７によって決定された決定結果を出力する機能を有する。具体的には、たとえば、診断結果テーブル７００内の診断結果７００−１〜７００−ｎを出力することにしてもよい。出力形式としては、たとえば、ディスプレイ２０８への表示、プリンタ２１３への印刷出力、Ｉ／Ｆ２０９による外部装置への送信がある。また、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶することとしてもよい。
【００７２】
（第２の決定部３０７の処理内容）
つぎに、上記第２の決定部３０７の具体的な処理内容について説明する。ここでは、まず、任意のチップＣｊに着目して、テストパターンｔｉで活性化したパス群ｐｉ［１］〜ｐｉ［Ｋ］の中から、測定値Ｄｉｊを決めるパスｐｋを決定する。
【００７３】
まず、選択部３０８は、テストパターンｔｉで活性化したパス群ｐｉ［１］〜ｐｉ［Ｋ］の中から、第１パス候補ｐｘとは異なる第２パス候補ｐｙ（ｘ≠ｙ）を選択する。具体的には、たとえば、選択部３０８が、算出されたｗ（ｐｉ［１］）〜ｗ（ｐｉ［Ｋ］）のうち、値が最大のｗ（ｐｋ）のパスｐｋを第２パス候補ｐｙとして選択する。
【００７４】
ここで、パスｐｋは、テストパターンｔｉの測定値Ｄｉｊと第１パス候補ｐｘの遅延の予測値ｄｘとのズレ「Ｄｅｖ（ｐｘ）ｉｊ」に大きな影響を与えるパスである。すなわち、ｗ（ｐｋ）の値が大きいパスｐｋは、遅延の真値が第１パス候補ｐｘの遅延の真値を逆転している、または、第１パス候補ｐｘとの間でノイズを発生させている可能性が高い。
【００７５】
そこで、選択部３０８が、ｗ（ｐｋ）の値が大きいパスｐｋを第２パス候補ｐｙとして選択する。ただし、上述した説明では、値が最大のｗ（ｐｋ）のパスｐｋを第２パス候補ｐｙとして選択することにしたが、これに限らない。たとえば、値が大きい上位３つのパスｐｋを第２パス候補ｐｙとして選択することにしてもよい。この場合、以下に説明する抽出部３０９および第２の決定部３０７の処理を上位３つパスｐｋごとに実行する。
【００７６】
抽出部３０９は、テストパターンｔ１〜ｔｎの中から、第１パス候補ｐｘが測定値を決めると決定され、かつ、第２パス候補ｐｙが活性化していないテストパターンｔａを抽出する機能を有する。
【００７７】
具体的には、たとえば、まず、抽出部３０９が、モデルデータテーブル６００の「第１パス候補ＩＤ」項目を参照して、第１パス候補ｐｘが測定値Ｄｉｊを決めているテストパターン群ｔＡを絞り込む。このあと、抽出部３０９が、遅延テスト結果ファイル４００の「活性化パスＩＤ」項目を参照して、テストパターン群ｔＡの中から、第２パス候補ｐｙが活性化していないテストパターンｔａを抽出する。
【００７８】
また、抽出部３０９は、テストパターン群ｔ１〜ｔｎの中から、第２パス候補ｐｙが測定値を決めると決定され、かつ、第１パス候補ｐｘが活性化していないテストパターンｔｂを抽出する機能を有する。
【００７９】
具体的には、たとえば、まず、抽出部３０９が、モデルデータテーブル６００の「第１パス候補ＩＤ」項目を参照して、第２パス候補ｐｙが測定値Ｄｉｊを決めているテストパターン群ｔＢを絞り込む。このあと、抽出部３０９が、遅延テスト結果ファイル４００の「活性化パスＩＤ」項目を参照して、絞り込まれたテストパターン群ｔＢの中から、第１パス候補ｐｘが活性化していないテストパターンｔｂを抽出する。
【００８０】
第２の決定部３０７は、テストパターンｔａの測定値Ｄａｊとテストパターンｔｂの測定値Ｄｂｊとを比較して、第１パス候補ｐｘまたは第２パス候補ｐｙの少なくともいずれか一方を、テストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋに決定する機能を有する。
【００８１】
具体的には、たとえば、まず、第２の決定部３０７が、遅延テスト結果ファイル４００内の遅延テスト結果Ｒａｊ，Ｒｂｊの「測定値」項目を参照して、テストパターンｔａの測定値Ｄａｊとテストパターンｔｂの測定値Ｄｂｊとを特定する。つぎに、第２の決定部３０７が、テストパターンｔａの測定値Ｄａｊとテストパターンｔｂの測定値Ｄｂｊとを比較する。
【００８２】
ここで、測定値Ｄａｊが測定値Ｄｂｊよりも大きい場合、第２の決定部３０７が、第１パス候補ｐｘをテストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋに決定する。この場合、さらに、第２の決定部３０７が、第１パス候補ｐｘと第２パス候補ｐｙとをノイズの発生原因となるパスペアに決定する。これにより、チップＣｊ上でノイズ（クロストークなど）を発生させているパスペア（第１、第２パス候補ｐｘ、ｐｙ）を特定することができる。
【００８３】
一方、測定値Ｄｂｊが測定値Ｄａｊよりも大きい場合、第２の決定部３０７が、第２パス候補ｐｙをテストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋに決定する。これにより、第１、第２パス候補ｐｘ、ｐｙ間の遅延の真値の逆転を判断して、テストパターンｔｉの測定値Ｄｉｊを正しいパスｐｋ（第２パス候補ｐｙ）に割り当てることができる。
【００８４】
なお、第２の決定部３０７は、測定値Ｄａｊと測定値Ｄｂｊとが同一の場合、第１パス候補ｐｘまたは第２パス候補ｐｙのいずれか一方をテストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋに決定することにしてもよい。
【００８５】
また、上記抽出部３０９において、テストパターンｔａ（ｔｂ）は複数抽出される可能性がある。この場合、第２の決定部３０７において比較対象となるテストパターンｔａ（ｔｂ）の測定値Ｄａｊ（Ｄｂｊ）は、たとえば、複数抽出されたテストパターンｔａ（ｔｂ）の測定値のうち、最も数が多かった値を測定値Ｄａｊ（Ｄｂｊ）として採用することにしてもよい。
【００８６】
あるいは、複数抽出されたテストパターンｔａ（ｔｂ）の測定値のうち、外れ値を除外したあとの値の平均値を測定値Ｄａｊ（Ｄｂｊ）として採用することにしてもよい。なお、外れ値の検出手法としては、たとえば、既存のスミルノフ・グラブス検定などを利用することができる。
【００８７】
ただし、テストパターンｔａ（ｔｂ）は、第１パス候補ｐｘ（第２パス候補ｐｙ）が測定値を決めると推定（決定）されている。このため、本当に第１パス候補ｐｘが測定値を決めているならば、複数抽出されたテストパターンｔａ（ｔｂ）の測定値は同じ値となるはずである。この場合、抽出された複数のテストパターンｔａ（ｔｂ）で共通する値が測定値Ｄａｊ（Ｄｂｊ）となる。
【００８８】
また、上記第２の決定部３０７の決定処理は、チップＣ１〜Ｃｍごとに実行することにしてもよい。この場合、各テストパターンｔｉについて、テストパターンｔａの測定値Ｄａｊとテストパターンｔｂの測定値Ｄｂｊとの比較結果（Ｄａｊ＞ＤｂｊまたはＤａｊ＜ＤｂｊまたはＤａｊ＝Ｄｂｊ）がｍ通り得られることになる。
【００８９】
ここで、「Ｄａｊ≧Ｄｂｊ」の比較結果が得られた回数を「ｃｔ１」とし、「Ｄａｊ＜Ｄｂｊ」の比較結果が得られた回数を「ｃｔ２」とする（ｍ＝ｃｔ１＋ｃｔ２）。
【００９０】
本実施の形態において、故障診断の対象としているのは、全チップＣ１〜Ｃｍに共通するシステマティックな故障である。そのため、第２の決定部３０７は、ｍ通りの比較結果のうち、最も多い比較結果にしたがって、テストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋを決定することにしてもよい。
【００９１】
具体的には、「ｃｔ１＞ｃｔ２」の場合、第２の決定部３０７が、第１パス候補ｐｘをテストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋに決定する。この場合、さらに、第２の決定部３０７が、第１パス候補ｐｘと第２パス候補ｐｙとをノイズの発生原因となるパスペアに決定する。
【００９２】
この結果、診断結果テーブル７００に、テストパターンｔｉに関する診断結果７００−ｉが新たなレコードとして記憶される。具体的には、テストパターンｔｉの「パスＩＤ」項目に第１パス候補ｐｘのパスＩＤが設定され、さらに、「対象パスＩＤ」項目に第２パス候補ｐｙのパスＩＤが設定される。
【００９３】
また、「ｃｔ１＜ｃｔ２」の場合、第２の決定部３０７が、第２パス候補ｐｙをテストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋに決定する。この場合、診断結果７００−ｉの「パスＩＤ」項目に第２パス候補ｐｙのパスＩＤが設定される。
【００９４】
また、「ｃｔ１＝ｃｔ２」の場合、第２の決定部３０７が、第１パス候補ｐｘおよび第２パス候補ｐｙをテストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋに決定する。この場合、診断結果７００−ｉの「パスＩＤ」項目に第１パス候補ｐｘおよび第２パス候補ｐｙのパスＩＤが設定される。
【００９５】
なお、上記第２の決定部３０７の決定処理は、たとえば、全チップＣ１〜Ｃｍでのテストパターンｔａ（ｔｂ）の測定値Ｄａｊ（Ｄｂｊ）の平均値を用いることで、１回のみ実行することにしてもよい。この場合、上記「ｃｔ１」および「ｃｔ２」をカウントして、テストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋを決定する必要がない。
【００９６】
（故障診断支援装置２００の故障診断支援処理手順）
つぎに、故障診断支援装置２００の故障診断支援処理手順について説明する。図８は、故障診断支援装置の故障診断支援処理手順の一例を示すフローチャートである。図８のフローチャートにおいて、まず、取得部３０１により、診断対象となるチップＣ１〜Ｃｍの遅延テスト結果Ｒ１１〜Ｒｎｍおよび遅延解析結果５００を取得したか否かを判断する（ステップＳ８０１）。
【００９７】
ここで、遅延テスト結果Ｒ１１〜Ｒｎｍおよび遅延解析結果５００を取得するのを待って（ステップＳ８０１：Ｎｏ）、取得した場合（ステップＳ８０１：Ｙｅｓ）、第１の決定部３０２により、「ｊ」を「ｊ＝１」で初期化し（ステップＳ８０２）、「ｉ」を「ｉ＝１」で初期化する（ステップＳ８０３）。
【００９８】
そして、第１の決定部３０２により、チップＣｊ内の各パスｐｋの遅延の予測値ｄｋに基づいて、テストパターンｔｉで活性化したパス群ｐｉ［１］〜ｐｉ［Ｋ］の中からテストパターンｔｉの測定値Ｄｉｊを決める第１パス候補ｐｘを決定する（ステップＳ８０４）。なお、決定された決定結果は、遅延テスト結果ＩＤおよびテストパターンＩＤとともにモデルデータテーブル６００内の各項目に設定されて、新たなレコードとして記憶される。
【００９９】
このあと、第１の算出部３０３により、テストパターンｔｉの測定値Ｄｉｊと第１パス候補ｐｘの遅延の予測値ｄｘとのズレを算出する（ステップＳ８０５）。なお、算出された算出結果は、モデルデータテーブル６００内の該当レコードの「ズレ」項目に設定される。
【０１００】
つぎに、第１の決定部３０２により、「ｉ」をインクリメントして（ステップＳ８０６）、「ｉ」が「ｎ」より大きいか否かを判断する（ステップＳ８０７）。ここで、「ｉ」が「ｎ」以下の場合（ステップＳ８０７：Ｎｏ）、ステップＳ８０４に戻る。一方、「ｉ」が「ｎ」より大きい場合（ステップＳ８０７：Ｙｅｓ）、第１の決定部３０２により、「ｊ」をインクリメントして（ステップＳ８０８）、「ｊ」が「ｍ」より大きいか否かを判断する（ステップＳ８０９）。
【０１０１】
ここで、「ｊ」が「ｍ」以下の場合（ステップＳ８０９：Ｎｏ）、ステップＳ８０３に戻る。一方、「ｊ」が「ｍ」より大きい場合（ステップＳ８０９：Ｙｅｓ）、外れ値判定部３０６により、遅延テスト結果Ｒ１１〜Ｒｎｍの中から外れ値を判定する外れ値判定処理を実行する（ステップＳ８１０）。
【０１０２】
つぎに、構築部３０４により、モデルデータテーブル６００を参照して、ステップＳ８０４において決定された第１パス候補群の中から任意の第１パス候補ｐｘを選択する（ステップＳ８１１）。このあと、構築部３０４により、第１パス候補ｐｘが測定値Ｄｉｊを決めるテストパターンｔｉのズレ算出式Ｅ（ｐｘ）ｉｊを構築するズレ算出式構築処理を実行する（ステップＳ８１２）。
【０１０３】
そして、第２の決定部３０７により、テストパターンｔｉで活性化したパス群ｐｉ［１］〜ｐｉ［Ｋ］の中から測定値Ｄｉｊを決めるパスｐｋを決定するパス決定処理を実行する（ステップＳ８１３）。つぎに、第２の決定部３０７により、第１パス候補群の中から選択されていない未選択の第１パス候補ｐｘがあるか否かを判断する（ステップＳ８１４）。
【０１０４】
ここで、未選択の第１パス候補ｐｘがある場合（ステップＳ８１４：Ｙｅｓ）、ステップＳ８１１に戻る。一方、未選択の第１パス候補ｐｘがない場合（ステップＳ８１４：Ｎｏ）、出力部３１０により、診断結果テーブル７００に記憶されている診断結果７００−１〜７００−ｎを出力して（ステップＳ８１５）、本フローチャートによる一連の処理を終了する。
【０１０５】
これにより、診断対象となるチップＣｊの遅延テストで得られるテストパターンｔｉの測定値Ｄｉｊをパスｐｋに正しく割り当てることができる。
【０１０６】
＜外れ値判定処理手順＞
つぎに、図８に示したステップＳ８１０の外れ値判定処理の具体的処理手順について説明する。図９は、外れ値判定処理の具体的処理手順の一例を示すフローチャートである。図９のフローチャートにおいて、まず、第１の算出部３０３により、「ｉ」を「ｉ＝１」で初期化する（ステップＳ９０１）。
【０１０７】
このあと、第１の算出部３０３により、全チップＣ１〜Ｃｍでのテストパターンｔｉの測定値Ｄｉｊの平均値Ｍｉを算出する（ステップＳ９０２）。そして、第１の算出部３０３により、テストパターンｔｉの平均値Ｍｉのα［％］を求めることで閾値Ｈｉを算出する（ステップＳ９０３）。
【０１０８】
つぎに、外れ値判定部３０６により、「ｊ」を「ｊ＝１」で初期化して（ステップＳ９０４）、テストパターンｔｉの測定値Ｄｉｊと平均値Ｍｉとの差分を算出する（ステップＳ９０５）。そして、外れ値判定部３０６により、算出された差分が閾値Ｈｉ以上か否かを判断する（ステップＳ９０６）。
【０１０９】
ここで、閾値Ｈｉ未満の場合（ステップＳ９０６：Ｎｏ）、ステップＳ９０８に移行する。一方、閾値Ｈｉ以上の場合（ステップＳ９０６：Ｙｅｓ）、外れ値判定部３０６により、モデルデータテーブル６００内の該当レコードの「外れ値フラグ」項目に「Ｙ」を設定する（ステップＳ９０７）。
【０１１０】
このあと、外れ値判定部３０６により、「ｊ」をインクリメントして（ステップＳ９０８）、「ｊ」が「ｍ」より大きいか否かを判断する（ステップＳ９０９）。ここで、「ｊ」が「ｍ」以下の場合（ステップＳ９０９：Ｎｏ）、ステップＳ９０５に戻る。
【０１１１】
一方、「ｊ」が「ｍ」より大きい場合（ステップＳ９０９：Ｙｅｓ）、外れ値判定部３０６により、「ｉ」をインクリメントして（ステップＳ９１０）、「ｉ」が「ｎ」より大きいか否かを判断する（ステップＳ９１１）。
【０１１２】
ここで、「ｉ」が「ｎ」以下の場合（ステップＳ９１１：Ｎｏ）、ステップＳ９０２に戻る。一方、「ｉ」が「ｎ」より大きい場合（ステップＳ９１１：Ｙｅｓ）、図８に示したステップＳ８１１に移行する。
【０１１３】
これにより、遅延故障やランダムばらつきなどの要素によるズレを含む遅延テスト結果Ｒｉｊを外れ値として、ズレ算出式Ｅ（ｐｘ）ｉｊの構築対象から除外することができる。
【０１１４】
＜ズレ算出式構築処理手順＞
つぎに、図８に示したステップＳ８１２のズレ算出式構築処理の具体的処理手順について説明する。図１０は、ズレ算出式構築処理の具体的処理手順の一例を示すフローチャートである。図１０のフローチャートにおいて、まず、構築部３０４により、「ｊ」を「ｊ＝１」で初期化する（ステップＳ１００１）。
【０１１５】
そして、構築部３０４により、テストパターン群ｔ１〜ｔｎの中から、第１パス候補ｐｘが測定値Ｄｉｊを決めるテストパターンｔｉを選択する（ステップＳ１００２）。このあと、構築部３０４により、モデルデータテーブル６００内の遅延テスト結果Ｒｉｊの「外れ値フラグ」項目に「Ｙ」が設定されているか否かを判断する（ステップＳ１００３）。
【０１１６】
ここで、「外れ値フラグ」項目に「Ｙ」が設定されている場合（ステップＳ１００３：Ｙｅｓ）、ステップＳ１００５に移行する。一方、「外れ値フラグ」項目に「Ｎ」が設定されている場合（ステップＳ１００３：Ｎｏ）、構築部３０４により、テストパターンｔｉのズレ算出式Ｅ（ｐｘ）ｉｊを構築する（ステップＳ１００４）。
【０１１７】
そして、構築部３０４により、ステップＳ１００２において選択されていない第１パス候補ｐｘが測定値Ｄｉｊを決める未選択のテストパターンｔｉがあるか否かを判断する（ステップＳ１００５）。ここで、未選択のテストパターンｔｉがある場合（ステップＳ１００５：Ｙｅｓ）、ステップＳ１００２に戻る。
【０１１８】
一方、未選択のテストパターンｔｉがない場合（ステップＳ１００５：Ｎｏ）、構築部３０４により、「ｊ」をインクリメントして（ステップＳ１００６）、「ｊ」が「ｍ」より大きいか否かを判断する（ステップＳ１００７）。ここで、「ｊ」が「ｍ」以下の場合（ステップＳ１００７：Ｎｏ）、ステップＳ１００２に戻る。
【０１１９】
一方、「ｊ」が「ｍ」より大きい場合（ステップＳ１００７：Ｙｅｓ）、第２の算出部３０５により、モデルデータテーブル６００を参照して、各ズレ算出式Ｅ（ｐｘ）ｉｊにＤｅｖ（ｐｘ）ｉｊを代入する（ステップＳ１００８）。このＤｅｖ（ｐｘ）ｉｊは、図８に示したステップＳ８０５において算出されたズレである。
【０１２０】
つぎに、第２の算出部３０５により、遅延テスト結果Ｒｉｊの「活性化パスＩＤ」項目を参照して、各ズレ算出式Ｅ（ｐｘ）ｉｊに含まれるＡ（ｐ１）ｉｊ〜Ａ（ｐＫ）ｉｊに「０」または「１」を代入する（ステップＳ１００９）。
【０１２１】
そして、第２の算出部３０５により、複数のズレ算出式Ｅ（ｐｘ）ｉｊを用いて回帰問題を解くことにより、各ズレ算出式Ｅ（ｐｘ）ｉｊに含まれるｗ（ｐ１）〜ｗ（ｐＫ）の値を算出して（ステップＳ１０１０）、図８に示したステップＳ８１３に移行する。
【０１２２】
これにより、チップＣ１〜Ｃｍの遅延テスト結果Ｒ１１〜Ｒｎｍを用いて、テストパターンｔｉで同時に活性化した各パスｐｉ［１］〜ｐｉ［Ｋ］のＤｅｖ（ｐｘ）ｉｊへ与える影響度を統計的に求めることができる。
【０１２３】
＜パス決定処理手順＞
つぎに、図８に示したステップＳ８１３のパス決定処理の具体的処理手順について説明する。図１１および図１２は、パス決定処理の具体的処理手順の一例を示すフローチャートである。図１１のフローチャートにおいて、まず、選択部３０８により、テストパターン群ｔ１〜ｔｎの中から、第１パス候補ｐｘが測定値Ｄｉｊを決めるテストパターンｔｉを選択する（ステップＳ１１０１）。
【０１２４】
このあと、選択部３０８により、「ｃｔ１」および「ｃｔ２」を「ｃｔ１＝０、ｃｔ２＝０」で初期化する（ステップＳ１１０２）。そして、選択部３０８により、「ｊ」を「ｊ＝１」で初期化する（ステップＳ１１０３）。
【０１２５】
つぎに、選択部３０８により、テストパターンｔｉで活性化したパス群ｐｉ［１］〜ｐｉ［Ｋ］の中から第２パス候補ｐｙ（ｘ≠ｙ）を選択する（ステップＳ１１０４）。このあと、抽出部３０９により、テストパターン群ｔ１〜ｔｎの中から、第１パス候補ｐｘが測定値を決めると決定され、かつ、第２パス候補ｐｙが活性化していないテストパターンｔａを抽出する（ステップＳ１１０５）。
【０１２６】
さらに、抽出部３０９により、テストパターン群ｔ１〜ｔｎの中から、第２パス候補ｐｙが測定値を決めると決定され、かつ、第１パス候補ｐｘが活性化していないテストパターンｔｂを抽出する（ステップＳ１１０６）。そして、第２の決定部３０７により、テストパターンｔａの測定値Ｄａｊとテストパターンｔｂの測定値Ｄｂｊとを比較する（ステップＳ１１０７）。
【０１２７】
つぎに、第２の決定部３０７により、測定値Ｄａｊが測定値Ｄｂｊ以上か否かを判断する（ステップＳ１１０８）。ここで、測定値Ｄａｊが測定値Ｄｂｊ以上の場合（ステップＳ１１０８：Ｙｅｓ）、第２の決定部３０７により、「ｃｔ１」をインクリメントして（ステップＳ１１０９）、ステップＳ１１１０に移行する。
【０１２８】
一方、測定値Ｄａｊが測定値Ｄｂｊ未満の場合（ステップＳ１１０８：Ｎｏ）、第２の決定部３０７により、「ｃｔ２」をインクリメントする（ステップＳ１１１１）。そして、第２の決定部３０７により、「ｊ」をインクリメントして（ステップＳ１１１０）、「ｊ」が「ｍ」より大きいか否かを判断する（ステップＳ１１１２）。
【０１２９】
ここで、「ｊ」が「ｍ」以下の場合（ステップＳ１１１２：Ｎｏ）、ステップＳ１１０７に戻る。一方、「ｊ」が「ｍ」より大きい場合（ステップＳ１１１２：Ｙｅｓ）、図１２に示すステップＳ１１１３に移行する。
【０１３０】
図１２のフローチャートにおいて、まず、第２の決定部３０７により、「ｃｔ１」が「ｃｔ２」より大きいか否かを判断する（ステップＳ１１１３）。ここで、「ｃｔ１」が「ｃｔ２」より大きい場合（ステップＳ１１１３：Ｙｅｓ）、第２の決定部３０７により、第１パス候補ｐｘをテストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋに決定する（ステップＳ１１１４）。
【０１３１】
さらに、第２の決定部３０７により、第１パス候補ｐｘと第２パス候補ｐｙをノイズの発生原因となるパスペアに決定して（ステップＳ１１１５）、ステップＳ１１１６に移行する。なお、決定された決定結果は、診断結果テーブル７００に新たなレコードとして記憶される。
【０１３２】
また、ステップＳ１１１３において、「ｃｔ１」が「ｃｔ２」以下の場合（ステップＳ１１１３：Ｎｏ）、第２の決定部３０７により、「ｃｔ２」が「ｃｔ１」より大きいか否かを判断する（ステップＳ１１１７）。
【０１３３】
ここで、「ｃｔ２」が「ｃｔ１」より大きい場合（ステップＳ１１１７：Ｙｅｓ）、第２の決定部３０７により、第２パス候補ｐｙをテストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋに決定して（ステップＳ１１１８）、ステップＳ１１１６に移行する。なお、決定された決定結果は、診断結果テーブル７００に新たなレコードとして記憶される。
【０１３４】
一方、「ｃｔ１」と「ｃｔ２」が等しい場合（ステップＳ１１１７：Ｎｏ）、第２の決定部３０７により、第１パス候補ｐｘおよび第２パス候補ｐｙをテストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋに決定する（ステップＳ１１１９）。
【０１３５】
このあと、選択部３０８により、テストパターン群ｔ１〜ｔｎの中から選択されていない第１パス候補ｐｘが測定値Ｄｉｊを決めるテストパターンｔｉがあるか否かを判断する（ステップＳ１１１６）。
【０１３６】
ここで、未選択のテストパターンｔｉがある場合（ステップＳ１１１６：Ｙｅｓ）、図１１に示したステップＳ１１０１に戻る。一方、未選択のテストパターンｔｉがない場合（ステップＳ１１１６：Ｎｏ）、図８に示したステップＳ８１４に移行する。
【０１３７】
これにより、第１パス候補ｐｘとの間で遅延の真値が逆転している、または、第１パス候補ｐｘとの間でノイズを発生させている第２パス候補ｐｙを適切に選び出すことができる。また、テストパターンｔａ、ｔｂの測定値Ｄａｊ、Ｄｂｊを用いて、第１および第２パス候補ｐｘ、ｐｙの間で『真値の逆転』または『ノイズ発生』のどちらが発生しているのかを判断して、テストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋを決定することができる。
【０１３８】
以上説明したように、本実施の形態によれば、チップＣ１〜Ｃｍの遅延テスト結果Ｒ１１〜Ｒｎｍを用いて、テストパターンｔｉで同時に活性化した各パスｐｉ［１］〜ｐｉ［Ｋ］の遅延の予測値と真値のズレを統計的に求めることができる。これにより、第１パス候補ｐｘとの間で遅延の真値が逆転している、または、第１パス候補ｐｘとの間でノイズを発生させている第２パス候補ｐｙを適切に選び出すことができる。
【０１３９】
また、本実施の形態によれば、テストパターンｔｉとは異なる他のテストパターンｔａ、ｔｂの測定値Ｄａｊ、Ｄｂｊを用いて、第１および第２パス候補ｐｘ、ｐｙの間で『真値の逆転』または『ノイズ発生』のどちらが発生しているのかを判断することができる。これにより、テストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋを特定して、該測定値Ｄｉｊを正しいパスｐｋに割り当てることができる。また、チップＣｊ上でノイズを発生させているパスペア（第１、第２パス候補ｐｘ、ｐｙ）を特定して、チップＣｊ上でのノイズの影響を抽出することができる。
【０１４０】
また、本実施の形態において、テストパターンｔｉで活性化したパス群ｐｉ［１］〜ｐｉ［Ｋ］のうち遅延の予測値が最大のパスｐｋを、テストパターンｔｉの測定値Ｄｉｊを決める第１パス候補ｐｘに決定することにしてもよい。これにより、多くのテストパターンｔｉの測定値Ｄｉｊを決めるパスｐｋを第１パス候補ｐｘに決定して、統計的解析で扱うデータ量を増加させることができる。
【０１４１】
また、本実施の形態において、テストパターンｔｉのズレ算出式Ｅ（ｐｘ）ｉｊに含まれるｗ（ｐ１）〜ｗ（ｐＫ）のうち、値が最大のｗ（ｐｋ）に対応するパスｐｋを第２パス候補ｐｙとして選択することにしてもよい。これにより、遅延の真値が第１パス候補ｐｘの真値を逆転している、または、第１パス候補ｐｘとの間でノイズを発生させている可能性が高いパスｐｋを第２パス候補ｐｙとすることができる。
【０１４２】
また、本実施の形態において、遅延故障やランダムばらつきなどの要素によるズレを含む遅延テスト結果Ｒｉｊを外れ値として、ズレ算出式Ｅ（ｐｘ）ｉｊの構築対象から除外することにしてもよい。これにより、余計なズレを含む遅延テスト結果Ｒｉｊを排除して、パスｐｋの遅延の予測値ｄｋと真値のズレをより正確に求めることができる。
【０１４３】
これらのことから、本実施の形態によれば、テストパターンｔｉの測定値Ｄｉｊをパスｐｋに正しく割り当てて、故障診断の信頼性を向上させることができる。
【実施例】
【０１４４】
つぎに、故障診断支援装置２００から得られる診断結果（たとえば、診断結果７００−１〜７００−ｎ）を用いたスピードパス解析について説明する。なお、スピードパス解析は、故障診断支援装置２００で実行することにしてもよく、また、他のコンピュータ装置で実行することにしてもよい。
【０１４５】
スピードパス解析では、より厳密な故障診断を行って、テストパターンｔｉの測定値ＤｉｊとパスＰの遅延の予測値ｄＰとのズレ「Ｄｅｖ（Ｐ）ｉｊ」を生む故障原因を特定する。ここで、パスＰは、テストパターンｔｉの測定値Ｄｉｊを決めるパスである。
【０１４６】
スピードパス解析では、パスＰの集合、テストパターンｔｉの測定値Ｄｉｊ、各パスＰの予測値ｄＰを入力データとして故障診断支援装置２００に与えることで、各パスＰの故障原因候補群の中から故障原因を特定する。故障原因候補としては、たとえば、パスＰに含まれるリーク削減タイプのゲート数、チップ上でのパスＰの位置、パスＰが存在する領域内でのスイッチング動作数などがある。
【０１４７】
ここで、テストパターンｔｉの測定値Ｄｉｊを決めるパスＰが第１パス候補ｐｘから第２パス候補ｐｙに変わると、スピードパス解析で扱うパスＰの予測値ｄＰと、故障原因候補群が変わる。すなわち、スピードパス解析による故障診断の結果が変わることになる。
【０１４８】
以下、スピードパス解析手順を説明する。まず、スピードパス解析では、各パスＰをベクトル表現する。具体的には、たとえば、パスＰは、下記式（４）を用いてベクトル表現することができる。なお、テストパターンｔｉの測定値Ｄｉｊを決めるパスＰが第１パス候補ｐｘから第２パス候補ｐｙに変わると、パスＰのベクトル成分が変わることになる。
【０１４９】
ただし、ｇＬ［Ｐ］は、パスＰに含まれるリーク削減タイプのゲート数である。また、ｌｏｃ１［Ｐ］〜ｌｏｃＮ［Ｐ］は、パスＰがｌｏｃ１〜ｌｏｃＮと定義したチップＣ上の領域内に存在する場合「１」、存在しない場合「０」となる変数である。また、Ｓｗ（Ｐ）は、パスＰが含まれる領域内でゲートがスイッチングする回数である。
【０１５０】
【数１】
2011128023.tif 000003
【０１５１】
このあと、スピードパス解析では、下記式（５）を用いて、ベクトル表現された各パスＰのモデル式を構築する。
【０１５２】
ただし、Ｄｅｖ（Ｐ）は、テストパターンｔｉの測定値ＤｉｊとパスＰの遅延の予測値ｄＰとのズレ［ｐｓ］である。ｗｇ［Ｐ］、ｗ１［Ｐ］〜ｗＮ［Ｐ］、ｗＳ［Ｐ］は、テストパターンｔｉの測定値ＤｉｊとパスＰの遅延の予測値ｄＰとのズレに対する重みを表す変数である。Ｃは定数である。
【０１５３】
Ｄｅｖ（Ｐ）＝ｗｇ［Ｐ］×ｇＬ［Ｐ］＋ｗ１［Ｐ］×ｌｏｃ１［Ｐ］＋ｗ２［Ｐ］×ｌｏｃ２［Ｐ］＋…＋ｗＮ［Ｐ］×ｌｏｃＮ［Ｐ］＋ｗＳ［Ｐ］×Ｓｗ（Ｐ）＋Ｃ
・・・（５）
【０１５４】
そして、スピードパス解析では、上記式（５）を用いて構築される複数のモデル式を用いて回帰問題を解くことにより、ｗｇ［Ｐ］、ｗ１［Ｐ］〜ｗＮ［Ｐ］、ｗＳ［Ｐ］およびＣを求める。最後に、スピードパス解析では、ｗｇ［Ｐ］、ｗ１［Ｐ］〜ｗＮ［Ｐ］のうち値が大きい（たとえば、最大）、すなわち、ズレに対する重みが大きいものに対応するベクトル成分を故障原因として特定する。
【０１５５】
以上説明した実施例によれば、テストパターンｔｉの測定値Ｄｉｊを正しいパスＰに割り当てた診断結果を用いてスピードパス解析を実行するため、高精度な故障診断を行うことができる。
【０１５６】
図１３は、故障診断結果の一例を示す説明図である。図１３において、診断対象となるチップの故障診断結果を表す棒グラフ１３００が表示されている。なお、縦軸は、ｗｇ［Ｐ］、ｗ１［Ｐ］〜ｗＮ［Ｐ］、ｗＳ［Ｐ］で表す重みの値を示している。ただし、縦軸は、最大の重みを１００として正規化されている。また、横軸は、各重みを示している。
【０１５７】
棒グラフ１３００によれば、たとえば、重みｗｇ［Ｐ］、ｗ１［Ｐ］〜ｗＮ［Ｐ］］、ｗＳ［Ｐ］のうち、ｗｇ［Ｐ］およびｗＳ［Ｐ］の値が大きいことがわかる。このため、チップのリーク削減タイプのゲート数およびスイッチング動作数が遅延故障の原因であることを特定することができる。
【０１５８】
なお、本実施の形態で説明した故障診断支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本故障診断支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本故障診断支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１５９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１６０】
（付記１）コンピュータに、
診断対象となる回路の動作周波数を測定するためのテストパターンごとに、前記回路内の各パスの遅延の予測値に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパス候補を決定する第１の決定手順、
前記第１の決定手順によって決定されたパス候補群のうち任意のパス候補が測定値を決めるテストパターンごとに、当該テストパターンで活性化した各パスの前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレへの影響度をパラメータとして、前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレを表現するモデル式を構築する構築手順、
前記構築手順によって構築されたテストパターンごとのモデル式を用いて、当該各モデル式に含まれる前記パラメータの値を算出する算出手順、
前記算出手順によって算出された算出結果に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパスを決定する第２の決定手順、
前記第２の決定手順によって決定された決定結果を出力する出力手順、
を実行させることを特徴とする故障診断支援プログラム。
【０１６１】
（付記２）前記コンピュータに、
前記テストパターンのモデル式に含まれる前記パラメータの値に基づいて、前記任意のパス候補とは異なる他のパス候補を前記パス群の中から選択する選択手順、
前記回路の動作周波数を測定するためのテストパターン群の中から、前記第１の決定手順によって前記任意のパス候補が測定値を決めると決定され、かつ、前記他のパス候補が活性化していない第１のテストパターンを抽出する第１の抽出手順、
前記テストパターン群の中から、前記第１の決定手順によって前記他のパス候補が測定値を決めると決定され、かつ、前記任意のパス候補が活性化していない第２のテストパターンを抽出する第２の抽出手順を実行させ、
前記第２の決定手順は、前記第１および第２の抽出手順によって抽出された第１および第２のテストパターンの測定値を比較することにより、前記任意のパス候補または前記他のパス候補のいずれか一方を、前記テストパターンの測定値を決めるパスに決定することを特徴とする付記１に記載の故障診断支援プログラム。
【０１６２】
（付記３）前記選択手順は、前記テストパターンのモデル式に含まれる前記パラメータ群のうち、少なくとも他のパラメータよりも値が大きい一のパラメータに対応するパスを前記他のパス候補として選択することを特徴とする付記２に記載の故障診断支援プログラム。
【０１６３】
（付記４）前記第２の決定手順は、前記第１のテストパターンの測定値が前記第２のテストパターンの測定値よりも大きい場合、前記任意のパス候補を前記テストパターンの測定値を決めるパスに決定するとともに、前記任意のパス候補と前記他のパス候補とをノイズの発生原因となるパスペアに決定することを特徴とする付記２または３に記載の故障診断支援プログラム。
【０１６４】
（付記５）前記第２の決定手順は、前記第２のテストパターンの測定値が前記第１のテストパターンの測定値よりも大きい場合、前記他のパス候補を前記テストパターンの測定値を決めるパスに決定することを特徴とする付記２〜４のいずれか一つに記載の故障診断支援プログラム。
【０１６５】
（付記６）前記構築手順は、前記診断対象に関する回路情報を用いて製造された回路ごとに、前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレを表現するモデル式を構築することを特徴とする付記１〜５のいずれか一つに記載の故障診断支援プログラム。
【０１６６】
（付記７）前記コンピュータに、
前記テストパターンごとに、当該テストパターンを前記診断対象に関する回路情報を用いて製造された回路に与えて得られる当該回路ごとの測定値の平均値を算出する平均値算出手順、
前記平均値算出手順によって算出されたテストパターンごとの平均値に基づいて、前記テストパターンの前記回路ごとの測定値の中から外れ値を判定する外れ値判定手順を実行させ、
前記構築手順は、前記任意のパス候補が測定値を決めると決定された複数のテストパターンのうち、前記外れ値判定手順によって外れ値として判定された測定値のテストパターンを、前記モデル式の構築対象から除外することを特徴とする付記１〜６のいずれか一つに記載の故障診断支援プログラム。
【０１６７】
（付記８）前記第１の決定手順は、前記テストパターンで活性化したパス群のうち遅延の予測値が最大のパスを、当該テストパターンの測定値を決めるパス候補に決定することを特徴とする付記１〜７のいずれか一つに記載の故障診断支援プログラム。
【０１６８】
（付記９）診断対象となる回路の動作周波数を測定するためのテストパターンごとに、前記回路内の各パスの遅延の予測値に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパス候補を決定する第１の決定手段と、
前記第１の決定手段によって決定されたパス候補群のうち任意のパス候補が測定値を決めるテストパターンごとに、当該テストパターンで活性化した各パスの前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレへの影響度をパラメータとして、前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレを表現するモデル式を構築する構築手段と、
前記構築手段によって構築されたテストパターンごとのモデル式を用いて、当該各モデル式に含まれる前記パラメータの値を算出する算出手段と、
前記算出手段によって算出された算出結果に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパスを決定する第２の決定手段と、
前記第２の決定手段によって決定された決定結果を出力する出力手段と、
を備えることを特徴とする故障診断支援装置。
【符号の説明】
【０１６９】
２００  故障診断支援装置
３０１  取得部
３０２  第１の決定部
３０３  第１の算出部
３０４  構築部
３０５  第２の算出部
３０６  外れ値判定部
３０７  第２の決定部
３０８  選択部
３０９  抽出部
３１０  出力部
４００  遅延テスト結果ファイル
５００  遅延解析結果
６００  モデルデータテーブル
【図１】
2011128023.tif 000004
【図２】
2011128023.tif 000005
【図３】
2011128023.tif 000006
【図４】
2011128023.tif 000007
【図５】
2011128023.tif 000008
【図６】
2011128023.tif 000009
【図７】
2011128023.tif 000010
【図８】
2011128023.tif 000011
【図９】
2011128023.tif 000012
【図１０】
2011128023.tif 000013
【図１１】
2011128023.tif 000014
【図１２】
2011128023.tif 000015
【図１３】
2011128023.tif 000016