(57)【要約】【課題】チップごとに不規則に発生する遅延故障の特定にかかる作業負担の軽減化および作業時間の短縮化を図ること。【解決手段】本手法では、各チップＣ１〜ＣｍのパスＰiのポストシリコンパス遅延を用いて、システマティックな遅延エラーのみをモデル化してパスＰiの遅延値を表現する関数モデルを構築する。そして、構築された関数モデルを用いて、パスＰiの見積遅延値を算出する。このあと、各チップＣ１〜ＣｍのパスＰiのポストシリコン遅延値と、パスＰiの見積遅延値とを比較する。そして、パスＰiのポストシリコン遅延値とパスＰiの見積遅延値との差分が許容範囲を超えるパスを故障パス候補に決定する。これにより、各チップＣ１〜ＣｍのパスＰiの中から、システマティックな遅延エラーの影響のみを受けているパスを排除して、チップＣ１〜Ｃｍごとの不規則な遅延エラーが発生している可能性が高いパスを絞り込むことができる。【選択図】図１
2010271067.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
対象回路に関する回路情報を用いて製造された複数個のチップに含まれるパスの第１遅延値を前記チップごとに取得する取得手段、
前記取得手段によって取得されたチップごとのパスの第１遅延値と前記回路情報に基づいて、前記パスの遅延値を表現する関数モデルを構築する構築手段、
前記構築手段によって構築された関数モデルと前記回路情報を用いて、前記複数個のチップにそれぞれ含まれる同一構成のパスの第２遅延値を算出する算出手段、
前記チップごとに、前記算出手段によって算出されたパスの第２遅延値と、当該パスと同一構成のパスの第１遅延値とを比較する比較手段、
前記比較手段によって比較された比較結果に基づいて、前記同一構成のパスを、前記チップごとに不規則に発生する遅延エラーを含むパスに決定する決定手段、
前記決定手段によって決定された決定結果を出力する出力手段、
として機能させることを特徴とする遅延故障検査プログラム。
【請求項２】
前記コンピュータを、
前記回路情報に基づいて、前記決定手段によって決定されたパス（以下、「故障パス候補」という）のうち、前記複数個のチップの中から選ばれた任意のチップに含まれる第１および第２の故障パス候補に共通して含まれる素子を探索する探索手段として機能させ、
前記出力手段は、
前記探索手段によって探索された第１および第２の故障パス候補に共通して含まれる素子を出力することを特徴とする請求項１に記載の遅延故障検査プログラム。
【請求項３】
前記コンピュータを、
前記複数個のチップの中から選ばれた任意のチップに含まれる任意の故障パス候補と同一構成の故障パス候補が、前記任意のチップとは異なる他のチップに含まれるか否かを判定する判定手段として機能させ、
前記決定手段は、
前記判定手段によって判定された判定結果に基づいて、前記任意の故障パス候補を、前記チップごとに不規則に発生する遅延エラーを含むパスに決定することを特徴とする請求項１または２に記載の遅延故障検査プログラム。
【請求項４】
前記コンピュータを、
前記パス間の類似度を表現する関数モデルと前記回路情報を用いて、前記複数個のチップの中から選ばれた任意のチップに含まれる一の故障パス候補と、当該任意のチップに含まれる他の故障パス候補との間の類似度を算出する類似度算出手段として機能させ、
前記決定手段は、
前記類似度算出手段によって算出された類似度に基づいて、前記一の故障パス候補を、前記チップごとに不規則に発生する遅延エラーを含むパスに決定することを特徴とする請求項１または２に記載の遅延故障検査プログラム。
【請求項５】
前記構築手段は、
前記複数個のチップの中から選ばれた任意のチップに含まれるパスの第１遅延値と前記回路情報に基づいて、前記パスの遅延値を表現する関数モデルを構築し、
前記算出手段は、
前記構築手段によって構築された関数モデルと前記回路情報を用いて、前記任意のチップに含まれる故障パス候補の第２遅延値を算出し、
前記比較手段は、
前記算出手段によって算出された故障パス候補の第２遅延値と、当該故障パス候補と同一構成の故障パス候補の第１遅延値とを比較し、
前記決定手段は、
前記比較手段によって比較された比較結果に基づいて、前記同一構成の故障パス候補を、前記チップごとに不規則に発生する遅延エラーを含むパスに決定することを特徴とする請求項１または２に記載の遅延故障検査プログラム。
【請求項６】
対象回路に関する回路情報を用いて製造された複数個のチップに含まれるパスの第１遅延値を前記チップごとに取得する取得手段と、
前記取得手段によって取得されたチップごとのパスの第１遅延値と前記回路情報に基づいて、前記パスの遅延値を表現する関数モデルを構築する構築手段と、
前記構築手段によって構築された関数モデルと前記回路情報を用いて、前記複数個のチップにそれぞれ含まれる同一構成のパスの第２遅延値を算出する算出手段と、
前記チップごとに、前記算出手段によって算出されたパスの第２遅延値と、当該パスと同一構成のパスの第１遅延値とを比較する比較手段と、
前記比較手段によって比較された比較結果に基づいて、前記同一構成のパスを、前記チップごとに不規則に発生する遅延エラーを含むパスに決定する決定手段と、
前記決定手段によって決定された決定結果を出力する出力手段と、
を備えることを特徴とする遅延故障検査装置。
【請求項７】
制御手段および記憶手段を備えるコンピュータが、
前記制御手段により、対象回路に関する回路情報を用いて製造された複数個のチップに含まれるパスの第１遅延値を前記チップごとに取得して、前記記憶手段に記憶する取得工程と、
前記制御手段により、前記取得工程によって取得されたチップごとのパスの第１遅延値と前記回路情報に基づいて、前記パスの遅延値を表現する関数モデルを構築して、前記記憶手段に記憶する構築工程と、
前記制御手段により、前記構築工程によって構築された関数モデルと前記回路情報を用いて、前記複数個のチップにそれぞれ含まれる同一構成のパスの第２遅延値を算出して、前記記憶手段に記憶する算出工程と、
前記制御手段により、前記チップごとに、前記算出工程によって算出されたパスの第２遅延値と、当該パスと同一構成のパスの第１遅延値とを比較して、前記記憶手段に記憶する比較工程と、
前記制御手段により、前記比較工程によって比較された比較結果に基づいて、前記同一構成のパスを、前記チップごとに不規則に発生する遅延エラーを含むパスに決定して、前記記憶手段に記憶する決定工程と、
前記制御手段により、前記決定工程によって決定された決定結果を出力する出力工程と、
を実行することを特徴とする遅延故障検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示技術は、半導体集積回路の遅延故障を検査する遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法に関する。
【背景技術】
【０００２】
近年、プロセスの微細化により、チップ上でのポストシリコン（実測値）とプレシリコン（予測値）との間のパス遅延に大きなずれが生じている。パス遅延のずれの原因としては、チップに依存しないシステマティックなエラー（たとえば、セルライブラリの遅延見積ミス）と、チップごとに不規則なエラー（たとえば、遅延故障）とがある。
【０００３】
従来、チップごとに不規則なエラーの影響により、チップが目標とする周波数で動作しない場合において、エラーの原因である素子を特定するための手法が各種提供されている。具体的には、たとえば、様々なテストパターンを生成してチップに与え、不規則なエラーの原因となっている素子を探索する手法がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２５７６５４号公報
【特許文献２】特開２００７−１０８８６３号公報
【非特許文献】
【０００５】
【非特許文献１】Ｐｏｕｒｉａ  Ｂａｓｔａｎｉ，Ｎｉｃｈｏｌａｓ  Ｃａｌｌｅｇａｒｉ，Ｌｉ−Ｃ．Ｗａｎｇ，Ｍａｇｄｙ  Ｓ．Ａｂａｄｉｒ“Ｓｔａｔｉｓｔｉｃａｌ  Ｄｉａｇｎｏｓｉｓ  ｏｆ  Ｕｎｍｏｄｅｌｅｄ  Ｓｙｓｔｅｍａｔｉｃ  Ｔｉｍｉｎｇ  Ｅｆｆｅｃｔｓ”ＤＡＣ  ２００８，ｐ３５５−３６０
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では、様々なテストパターンを作成してチップに与え、パス遅延を複数回測定してエラーの原因となっている素子を探索することになる。このため、エラー（遅延故障）の特定にかかる作業負担および作業時間が増大し、ひいては設計期間の長期化を招くという問題があった。
【０００７】
本開示技術は、上述した従来技術による問題点を解消するため、チップごとに不規則に発生する遅延故障の特定にかかる作業負担の軽減化および作業時間の短縮化を図ることができる遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本開示技術は、対象回路に関する回路情報を用いて製造された複数個のチップに含まれるパスの第１遅延値を前記チップごとに取得し、取得されたチップごとのパスの第１遅延値と前記回路情報に基づいて、前記パスの遅延値を表現する関数モデルを構築し、構築された関数モデルと前記回路情報を用いて、前記複数個のチップにそれぞれ含まれる同一構成のパスの第２遅延値を算出し、前記チップごとに、算出されたパスの第２遅延値と、当該パスと同一構成のパスの第１遅延値とを比較し、比較された比較結果に基づいて、前記同一構成のパスを、前記チップごとに不規則に発生する遅延エラーを含むパスに決定し、決定された決定結果を出力することを特徴とする。
【発明の効果】
【０００９】
本開示技術によれば、チップごとに不規則に発生する遅延故障の特定にかかる作業負担の軽減化および作業時間の短縮化を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】遅延故障検査手法の一例を示す説明図である。
【図２】遅延故障検査装置のハードウェア構成を示すブロック図である。
【図３】ネットリストの一例を示す説明図である。
【図４】パス遅延テーブルの記憶内容の一例を示す説明図（その１）である。
【図５】実施の形態１にかかる遅延故障検査装置の機能的構成を示すブロック図である。
【図６】共通要素の探索例を示す説明図である。
【図７】探索結果テーブルの記憶内容の一例を示す説明図である。
【図８】実施の形態１にかかる遅延故障検査処理手順の一例を示すフローチャートである。
【図９】故障パス候補決定処理の具体的処理手順の一例を示すフローチャートである。
【図１０】共通要素探索処理の具体的処理手順の一例を示すフローチャートである。
【図１１】ポストシリコン遅延値の見積ミスの一例を示す説明図である。
【図１２】パス遅延テーブルの記憶内容の一例を示す説明図（その２）である。
【図１３】実施の形態２にかかる遅延故障検査装置の機能的構成を示すブロック図である。
【図１４】実施の形態２にかかる遅延故障検査処理手順の一例を示すフローチャートである。
【図１５】故障パス決定処理の具体的処理手順の一例を示すフローチャート（その１）である。
【図１６】実施の形態３にかかる遅延故障検査装置の機能的構成を示すブロック図である。
【図１７】故障パス決定処理の具体的処理手順の一例を示すフローチャート（その２）である。
【図１８】実施の形態４にかかる遅延故障検査装置の機能的構成を示すブロック図である。
【図１９】故障パス決定処理の具体的処理手順の一例を示すフローチャート（その３）である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本開示技術にかかる遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法の好適な実施の形態を詳細に説明する。
【００１２】
（実施の形態１）
まず、実施の形態１にかかる遅延故障検査手法の一例について説明する。図１は、遅延故障検査手法の一例を示す説明図である。図１において、ウェハ１００からダイシングされた同一構成のチップＣ１〜Ｃｍが示されている。なお、図面ではチップＣ１〜Ｃｍの一部を抜粋して表示している。
【００１３】
また、図１において、各チップＣ１〜Ｃｍに含まれるパスＰiのポストシリコン遅延値が示されている。ここで、ポストシリコン遅延値とは、ＡＴＰＧ（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｏｒ）で作成されたテストパターンを各チップＣ１〜Ｃｍに与えて得られるテスト結果を利用して求めたパス遅延である。
【００１４】
パスＰiのポストシリコン遅延値には、パスＰiの真の遅延値のほかに、全チップＣ１〜Ｃｍに共通して発生するシステマティックなエラーの遅延値やチップＣ１〜Ｃｍごとに不規則に発生するエラーの遅延値が含まれる場合がある。また、このポストシリコンパス遅延は、各パスＰiの実測遅延値の近似値として用いることができる。
【００１５】
ここで、システマティックなエラーとは、たとえば、セルライブラリの遅延見積ミスやレイアウトに依存するバラツキなどのチップＣ１〜Ｃｍに依存しない遅延エラーである。一方、不規則なエラーとは、たとえば、遅延故障、製造時のガウス雑音、製造時に混入するゴミなどが原因となって発生する各チップＣ１〜Ｃｍに依存する遅延エラーである。
【００１６】
本手法では、各チップＣ１〜ＣｍのパスＰiのポストシリコンパス遅延を用いて、システマティックな遅延エラーのみをモデル化してパスＰiの遅延値を表現する関数モデルを構築する。そして、本手法では、構築された関数モデルを用いて、パスＰiの遅延値（以下、「見積遅延値」という）を算出する。ここでは、パスＰiの見積遅延値を２５５０［ｐｓ］とする。
【００１７】
このあと、本手法では、各チップＣ１〜ＣｍのパスＰiのポストシリコン遅延値と、パスＰiの見積遅延値とを比較する。そして、パスＰiのポストシリコン遅延値とパスＰiの見積遅延値との差分が許容範囲を超えるパスを故障パス候補に決定する。ここで、故障パス候補とは、チップＣ１〜Ｃｍごとの不規則な遅延エラーが発生している可能性が高いパスであり、他のパスに比べてポストシリコン遅延値が大きいパスである。ここでは、チップＣ２のパスＰiが故障パス候補に決定されている。
【００１８】
このように、本手法では、各チップＣ１〜ＣｍのパスＰiの中から、システマティックな遅延エラーの影響のみを受けているパスを排除することで、チップＣ１〜Ｃｍごとの不規則な遅延エラーが発生している可能性が高いパスを絞り込む。
【００１９】
（遅延故障検査装置のハードウェア構成）
図２は、遅延故障検査装置のハードウェア構成を示すブロック図である。図２において、遅延故障検査装置２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、磁気ディスクドライブ２０４と、磁気ディスク２０５と、光ディスクドライブ２０６と、光ディスク２０７と、ディスプレイ２０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３と、を備えている。また、各構成部はバス２２０によってそれぞれ接続されている。
【００２０】
ここで、ＣＰＵ２０１は、遅延故障検査装置２００の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがって磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。
【００２１】
光ディスクドライブ２０６は、ＣＰＵ２０１の制御にしたがって光ディスク２０７に対するデータのリード／ライトを制御する。光ディスク２０７は、光ディスクドライブ２０６の制御で書き込まれたデータを記憶したり、光ディスク２０７に記憶されたデータをコンピュータに読み取らせたりする。
【００２２】
ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２３】
インターフェース（以下、「Ｉ／Ｆ」と略する。）２０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２１４に接続され、このネットワーク２１４を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク２１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２４】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２５】
スキャナ２１２は、画像を光学的に読み取り、遅延故障検査装置２００内に画像データを取り込む。なお、スキャナ２１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ２１３は、画像データや文書データを印刷する。プリンタ２１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００２６】
（ネットリストの一例）
図３は、ネットリストの一例を示す説明図である。図３において、ネットリスト３００は、パスＩＤ、ゲートＩＤおよび信号線ＩＤのフィールドを有する。各フィールドの情報を設定することで、対象回路内のパスＰ1〜Ｐnごとの接続情報３００−１〜３００−ｎがレコードとして記憶されている。
【００２７】
ここで、パスＩＤとは、対象回路内のパスの識別子である。パスは、対象回路において、たとえば、入力端子からＦＦ（フリップフロップ）までの経路、入出力端子間の経路、ＦＦ間の経路、ＦＦから出力端子までの経路などである。ゲートＩＤとは、パス内のゲートの識別子である。ゲートは、たとえば、ＡＮＤ、ＯＲ、ＮＯＴ、ＮＡＮＤなどの論理回路である。信号線ＩＤとは、パス内のゲート間をつなぐ信号線の識別子である。
【００２８】
パスＰiを例に挙げると、パスＰiはゲートｇi１，ｇi２，…，ｇiｐと信号線ｓi１，ｓi２，…，ｓiｑとを含む構成である。なお、ネットリスト３００は、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されている。
【００２９】
（パス遅延テーブルの記憶内容）
図４は、パス遅延テーブルの記憶内容の一例を示す説明図（その１）である。図４において、パス遅延テーブル４００は、チップＩＤ、パスＩＤ、ポストシリコン遅延値、見積遅延値および第１故障フラグのフィールドを有する。各フィールドに情報を設定することで、チップＣ１〜Ｃｍごとのパス遅延情報４００−１〜４００−ｍがレコードとして記憶されている。
【００３０】
ここで、チップＩＤは、図３に示したネットリスト３００を用いて製造された複数個のチップの識別子である。パスＩＤとは、チップ内のパスの識別子である。ポストシリコン遅延値とは、テストで活性化させられたパスの遅延値である。
【００３１】
見積遅延値とは、システマティックな遅延エラーのみをモデル化して算出されたパスの遅延値である。第１故障フラグとは、チップＣ１〜Ｃｍごとの不規則な遅延エラーが発生している可能性が高いパスを示すフラグである。ここでは、第１故障フラグが「ＯＮ」の場合に、不規則な遅延エラーが発生している可能性が高いパスを示す。なお、第１故障フラグは、初期状態では「ＯＦＦ」となっている。
【００３２】
パス遅延情報４００−１を例に挙げると、チップＣ１内のパスＰ11〜Ｐn1ごとのパス遅延情報４００−１−１〜４００−１−ｎが含まれている。パス遅延情報４００−１−ｉを例に挙げると、パスＰi1のポストシリコン遅延値は「ｄi1」、見積遅延値は「ｄ’i」、第１故障フラグは「ＯＦＦ」である。なお、パス遅延テーブル４００は、図２に示したＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されている。
【００３３】
また、パスのポストシリコン遅延値の算出手法については「Ｌｅｏｎａｒｄ  Ｌｅｅ，Ｌｉ−Ｃ．Ｗａｎｇ，Ｔ．Ｍ．Ｍａｋ，ａｎｄ  Ｋｗａｎｇ−Ｔｉｎｇ  Ｃｈｅｎｇ“Ａ  Ｐａｔｈ−Ｂａｓｅｄ  Ｍｅｔｈｏｄｏｌｏｇｙ  ｆｏｒ  Ｐｏｓｔ−Ｓｉｌｉｃｏｎ  Ｔｉｍｉｎｇ  Ｖａｌｉｄａｔｉｏｎ”２００４  ＩＥＥＥ，ｐ７１３−７２０」を参照できる。
【００３４】
（遅延故障検査装置の機能的構成）
つぎに、実施の形態１にかかる遅延故障検査装置２００の機能的構成について説明する。図５は、実施の形態１にかかる遅延故障検査装置の機能的構成を示すブロック図である。図５において、遅延故障検査装置２００は、取得部５０１と、構築部５０２と、算出部５０３と、比較部５０４と、決定部５０５と、選択部５０６と、探索部５０７と、出力部５０８と、を含む構成である。この制御部となる機能（取得部５０１〜出力部５０８）は、具体的には、たとえば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、Ｉ／Ｆ２０９により、その機能を実現する。
【００３５】
取得部５０１は、対象回路に関する回路情報を取得する機能を有する。ここで、対象回路とは、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）などの半導体集積回路である。回路情報とは、対象回路における端子間の接続情報であり、たとえば、図３に示したネットリスト３００である。
【００３６】
具体的には、たとえば、取得部５０１が、図２に示したキーボード２１０やマウス２１１を用いたユーザの操作入力により回路情報を取得する。また、取得部５０１が、不図示のデータベースやライブラリからの抽出により回路情報を取得してもよい。なお、取得された回路情報は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶される。
【００３７】
以下において本明細書では、対象回路に関する回路情報として、図３に示したネットリスト３００を例に挙げて説明する。
【００３８】
また、取得部５０１は、ネットリスト３００を用いて製造されたチップＣ１〜Ｃｍにそれぞれ含まれる同一構成のパスＰiの第１遅延値をチップＣ１〜Ｃｍごとに取得する機能を有する。ここで、第１遅延値とは、チップＣｊ上でのパスＰiの遅延値であり、たとえば、図４に示したポストシリコン遅延値である。
【００３９】
具体的には、たとえば、取得部５０１が、キーボード２１０やマウス２１１を用いたユーザの操作入力によりパスＰijの第１遅延値を取得する。また、取得部５０１が、不図示のデータベースやライブラリからの抽出によりパスＰijの第１遅延値を取得してもよい。なお、取得されたパスＰijの第１遅延値は、たとえば、図４に示したパス遅延テーブル４００に記憶される。
【００４０】
以下において本明細書では、チップＣｊ内のパスＰiの第１遅延値として、図４に示したパスＰijのポストシリコン遅延値ｄijを例に挙げて説明する。なお、チップＣ１〜Ｃｍの全パス集合には、動作テストに合格したパスと、不合格となったパスとが含まれている。ただし、全パス集合のうち、動作テストに不合格となったパスよりも合格したパスのほうが多い場合を想定する。
【００４１】
構築部５０２は、取得されたパスＰijのポストシリコン遅延値ｄijとネットリスト３００に基づいて、パスＰiの遅延値を表現する関数モデルを構築する機能を有する。ここで構築される関数モデルは、チップＣ１〜Ｃｍに共通して発生する遅延エラーをモデル化してパスＰiの遅延値を表現する多項式である。
【００４２】
具体的には、たとえば、構築部５０２が、ε−ＳＶＲ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｒｅｇｒｅｓｓｉｏｎ）や最小二乗法を利用して、パスＰiの遅延値を表現する関数モデルを構築する。ここで、ε−ＳＶＲは、ε−ｉｎｓｅｎｓｉｔｉｖｅ関数により、バラツキを考慮したパスＰiの遅延値を求めるための関数モデルを構築する手法である。
【００４３】
より具体的には、たとえば、構築部５０２が、ε−ＳＶＲを利用して、下記式（１）に含まれる係数Ｘ1〜Ｘp、Ｙ1〜Ｙqを求める。ただし、ｄ’iは、パスＰiの遅延値である。ｇ１〜ｇｐは、パスＰiがゲートｇ１〜ｇｐを含む場合は「１」となり、ゲートｇ１〜ｇｐを含まない場合は「０」となる変数である。ｓ１〜ｓｑは、パスＰiが信号線ｓ１〜ｓｑを含む場合は「１」となり、信号線ｓ１〜ｓｑを含まない場合は「０」となる変数である。
【００４４】
ｄ’i＝（Ｘ1・ｇ１＋Ｘ2・ｇ２＋…＋Ｘp・ｇｐ）
＋（Ｙ1・ｓ１＋Ｙ2・ｓ２＋…＋Ｙp・ｓｑ）      ・・・（１）
【００４５】
詳細に説明すると、構築部５０２が、上記式（１）の左辺に各パスＰijのポストシリコン遅延値ｄijをそれぞれ与える。そして、構築部５０２が、上記式（１）の右辺に各パスＰiの接続情報３００−ｉをそれぞれ与える。その結果、係数Ｘ1〜Ｘp、Ｙ1〜Ｙqを未知数とするｎ×ｍ個の方程式が作成される。
【００４６】
このあと、構築部５０２が、ε−ＳＶＲ（または、最小二乗法）により、各方程式の左辺と右辺の誤差を最小化する係数Ｘ1〜Ｘp、Ｙ1〜Ｙqを求める。構築された構築結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶される。
【００４７】
上述したように、全パス集合のうち動作テストに不合格となったパスよりも合格したパスのほうが多い。ここで、動作テストに合格したパスは、遅延故障を含まないパスである。したがって、関数モデルでは、結果的に、チップＣ１〜Ｃｍに共通して発生する遅延エラーのみがモデル化されて表現されることになる。
【００４８】
算出部５０３は、構築された関数モデルとネットリスト３００を用いて、パスＰiの第２遅延値を算出する機能を有する。ここで、パスＰiの第２遅延値とは、システマティックな遅延エラーをモデル化して表わすパスＰiの見積遅延値である。具体的には、たとえば、算出部５０３が、上記式（１）の右辺にパスＰiの接続情報３００−ｉを与えることで、パスＰiの見積遅延値ｄ’iを求めることができる。ただし、係数Ｘ1〜Ｘp、Ｙ1〜Ｙqは既知である。
【００４９】
なお、算出された算出結果は、たとえば、図４に示したパス遅延テーブル４００に記憶される。具体的には、算出部５０３が、パス遅延テーブル４００のパスＰi1〜Ｐimの見積遅延値のフィールドに、パスＰiの見積遅延値ｄ’iを設定する。
【００５０】
比較部５０４は、チップＣ１〜Ｃｍごとに、パスＰijのポストシリコン遅延値ｄijと算出されたパスＰiの見積遅延値ｄ’iとを比較する機能を有する。具体的には、たとえば、比較部５０４が、パス遅延テーブル４００を参照して、パスＰijのポストシリコン遅延値ｄijからパスＰiの見積遅延値ｄ’iを差し引くことで差分を算出する。なお、比較された比較結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶される。
【００５１】
決定部５０５は、比較された比較結果に基づいて、パスＰijを、チップＣ１〜Ｃｍごとに不規則に発生する遅延エラーを含むパスに決定する機能を有する。具体的には、たとえば、決定部５０５が、算出された差分が閾値以上となるパスＰijを、チップＣ１〜Ｃｍごとに不規則に発生する遅延エラーを含むパス（以下、「故障パス候補」という）に決定する。上記閾値は、任意に設定可能である。具体的には、たとえば、決定部５０５が、パスＰiの見積遅延値のｄ’iの１０％〜２０％を上記閾値に設定する。
【００５２】
なお、決定された決定結果は、たとえば、パス遅延テーブル４００に記憶される。具体的には、決定部５０５が、パス遅延テーブル４００の故障パス候補の第１故障フラグを「ＯＦＦ」から「ＯＮ」に設定する。以下、チップＣｊに含まれる故障パス候補を「故障パス候補Ｐ’ij」と表記し、故障パス候補Ｐ’ijのパス集合を「パス集合Ｓ’ij」と表記する（ｉ＝１，２，…，ｔ≦ｎ）。
【００５３】
出力部５０８は、決定された決定結果を出力する機能を有する。具体的には、たとえば、出力部５０８が、パス遅延テーブル４００を参照して、第１故障フラグが「ＯＮ」のパスＰijのパスＩＤを羅列したレポート情報を出力することにしてもよい。これにより、遅延故障を引き起こしている可能性が高い素子を含むパスをユーザに提示することができる。
【００５４】
なお、出力形式としては、たとえば、ディスプレイ２０８への表示、プリンタ２１３への印刷出力、Ｉ／Ｆ２０９による外部装置への送信がある。また、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶することとしてもよい。
【００５５】
選択部５０６は、チップＣ１〜Ｃｍの中からチップＣｊを選択する機能を有する。具体的には、たとえば、選択部５０６が、パス遅延テーブル４００を参照して、複数のチップＩＤ「Ｃ１〜Ｃｍ」の中から任意のチップＩＤ「Ｃｊ」を選択する。なお、選択された選択結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶される。
【００５６】
探索部５０７は、ネットリスト３００に基づいて、選択されたチップＣｊのパス集合Ｓ’ijのうち、第１および第２の故障パス候補に共通して含まれる共通要素を探索する機能を有する。具体的には、たとえば、探索部５０７が、第１および第２の故障パス候補に含まれるゲートや信号線を調べて、共通するゲートや信号線を探索する。
【００５７】
図６は、共通要素の探索例を示す説明図である。図６において、チップＣｊ内の組み合わせ回路のロジックコーン６００が表示されている。なお、ロジックコーンとは、あるＦＦと、当該ＦＦのファンインを辿って他のＦＦに到達するまでに経由するゲートと当該他のＦＦとから形成される素子集合である。
【００５８】
ここで、ロジックコーン６００内のパスＰajとパスＰbjは故障パス候補である。この場合、探索部５０７は、パスＰajとパスＰbjの両方に含まれているゲート６０１，６０３と信号線６０２，６０４を共通要素として探索することになる。探索された探索結果は、図７に示す探索結果テーブル７００に記憶される。
【００５９】
なお、共通素子の探索手法については「Ｚｈｉｙｕａｎ  Ｗａｎｇ，Ｍａｌｇｏｒｚａｔａ  Ｍ．Ｍａｒｅｋ−Ｓａｄｏｗｓｋａ，“Ｄｅｌａｙ−Ｆａｕｌｔ  Ｄｉａｇｎｏｓｉｓ  Ｕｓｉｎｇ  Ｔｉｍｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ”，ＣＯＭＰＵＴＥＲ−ＡＩＤＥＤ  ＤＥＳＩＧＮ  ＯＦ  ＩＮＴＥＧＲＡＴＥＤ  ＣＩＲＣＵＩＴＳ  ＡＮＤ  ＳＹＳＴＥＭＳ，ＶＯＬ．２４，Ｎｏ．９，ＳＥＰＴＥＭＢＥＲ  ２００５，ＩＶ．５」を参
照できる。
【００６０】
出力部５０８は、探索された探索結果を出力する機能を有する。具体的には、たとえば、出力部５０８が、図７に示す探索結果テーブル７００を出力することにしてもよい。図７は、探索結果テーブルの記憶内容の一例を示す説明図である。図７において、探索結果テーブル７００は、パスＩＤ、ゲートＩＤおよび信号線ＩＤのフィールドを有する。各フィールドに情報を設定することで、探索結果がレコードとして記憶されている。
【００６１】
ここで、パスＩＤとは、第１および第２の故障パス候補のパスＩＤである。ゲートＩＤとは、第１および第２の故障パス候補に共通して含まれるゲートである。信号線ＩＤとは、第１および第２の故障パス候補に共通して含まれる信号線である。
【００６２】
これにより、故障パス候補となるパスＰ11とパスＰ21に共通して含まれる共通要素「ゲートｇ３、信号線ｓ５」をユーザに提示することができる。なお、探索結果テーブル７００は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されている。
【００６３】
（遅延故障検査装置の遅延故障検査処理手順）
つぎに、実施の形態１にかかる遅延故障検査装置２００の遅延故障検査処理手順について説明する。図８は、実施の形態１にかかる遅延故障検査処理手順の一例を示すフローチャートである。図８のフローチャートにおいて、まず、取得部５０１により、対象回路に関するネットリスト３００とパスＰijのポストシリコン遅延値ｄijを取得したか否かを判断する（ステップＳ８０１）。
【００６４】
ここで、ネットリスト３００とポストシリコン遅延値ｄijを取得するのを待って（ステップＳ８０１：Ｎｏ）、取得した場合（ステップＳ８０１：Ｙｅｓ）、決定部５０５により、故障パス候補決定処理を実行する（ステップＳ８０２）。このあと、探索部５０７により、共通要素探索処理を実行して（ステップＳ８０３）、本フローチャートによる一連の処理を終了する。
【００６５】
＜故障パス候補決定処理手順＞
つぎに、図８に示したステップＳ８０２の故障パス候補決定処理の具体的な処理手順について説明する。図９は、故障パス候補決定処理の具体的処理手順の一例を示すフローチャートである。
【００６６】
図９のフローチャートにおいて、まず、構築部５０２により、チップＣ１〜Ｃｍに共通して発生する遅延エラーをモデル化してパスＰiの遅延値を表現する関数モデルを構築する（ステップＳ９０１）。具体的には、構築部５０２により、パスＰijのポストシリコン遅延値ｄijとパスＰiの接続情報３００−ｉを上記式（１）に与えて、係数Ｘ1〜Ｘp、Ｙ1〜Ｙqを求める。
【００６７】
このあと、「ｉ＝１」として（ステップＳ９０２）、算出部５０３により、構築された関数モデルとネットリスト３００を用いて、パスＰiの見積遅延値ｄ’iを算出する（ステップＳ９０３）。そして、決定部５０５により、パスＰiの見積遅延値のｄ’iを用いて閾値を算出する（ステップＳ９０４）。
【００６８】
つぎに、「ｊ＝１」として（ステップＳ９０５）、比較部５０４により、パスＰijのポストシリコン遅延値ｄijとパスＰiの見積遅延値ｄ’iとの差分を算出する（ステップＳ９０６）。そして、決定部５０５により、算出された差分が、ステップＳ９０４において算出された閾値以上か否かを判断する（ステップＳ９０７）。
【００６９】
ここで、閾値以上の場合（ステップＳ９０７：Ｙｅｓ）、決定部５０５により、パスＰijを故障パス候補に決定する（ステップＳ９０８）。そして、決定部５０５により、パス遅延テーブル４００の故障パス候補の第１故障フラグを「ＯＦＦ」から「ＯＮ」に設定する（ステップＳ９０９）。
【００７０】
このあと、ｊをインクリメントして（ステップＳ９１０）、「ｊ＞ｍ」か否かを判断する（ステップＳ９１１）。ここで、「ｊ≦ｍ」の場合（ステップＳ９１１：Ｎｏ）、ステップＳ９０６に戻る。一方、「ｊ＞ｍ」の場合（ステップＳ９１１：Ｙｅｓ）、ｉをインクリメントして（ステップＳ９１２）、「ｉ＞ｎ」か否かを判断する（ステップＳ９１３）。
【００７１】
ここで、「ｉ≦ｎ」の場合（ステップＳ９１３：Ｎｏ）、ステップＳ９０３に戻る。一方、「ｉ＞ｎ」の場合（ステップＳ９１３：Ｙｅｓ）、図８に示したステップＳ８０３に移行する。また、ステップＳ９０７において、閾値未満の場合（ステップＳ９０７：Ｎｏ）、ステップＳ９１０に移行する。
【００７２】
これにより、チップＣ１〜Ｃｍに含まれる全チップ集合の中から、チップＣ１〜Ｃｍごとに不規則に発生する遅延エラーを含む故障パス候補を絞り込むことができる。
【００７３】
＜共通要素探索処理手順＞
つぎに、図８に示したステップＳ８０３の共通要素探索処理の具体的な処理手順について説明する。図１０は、共通要素探索処理の具体的処理手順の一例を示すフローチャートである。図１０のフローチャートにおいて、まず、選択部５０６により、「ｊ＝１」として（ステップＳ１００１）、チップＣ１〜Ｃｍの中からチップＣｊを選択する（ステップＳ１００２）。
【００７４】
このあと、探索部５０７により、選択されたチップＣｊに含まれるパス集合Ｓ’ijに故障パス候補が２つ以上あるか否かを判断する（ステップＳ１００３）。ここで、故障パス候補が２つ以上ある場合（ステップＳ１００３：Ｙｅｓ）、探索部５０７により、パス集合Ｓ’ijから第１の故障パス候補を選択する（ステップＳ１００４）。
【００７５】
さらに、探索部５０７により、パス集合Ｓ’ijから第２の故障パス候補を選択する（ステップＳ１００５）。ただし、第１および第２の故障パス候補は異なるパスである。そして、探索部５０７により、第１および第２の故障パス候補の共通要素を探索する（ステップＳ１００６）。
【００７６】
このあと、探索部５０７により、共通要素が探索されたか否かを判断する（ステップＳ１００７）。ここで、共通要素が探索されなかった場合（ステップＳ１００７：Ｎｏ）、ステップＳ１００９に移行する。一方、共通要素が探索された場合（ステップＳ１００７：Ｙｅｓ）、探索部５０７により、探索された共通要素を探索結果テーブル７００に登録する（ステップＳ１００８）。
【００７７】
つぎに、探索部５０７により、ステップＳ１００５において選択されていない未選択の第２の故障パス候補があるか否かを判断する（ステップＳ１００９）。ここで、未選択の第２の故障パス候補がある場合（ステップＳ１００９：Ｙｅｓ）、ステップＳ１００５に戻る。
【００７８】
一方、未選択の第２の故障パス候補がない場合（ステップＳ１００９：Ｎｏ）、探索部５０７により、ステップＳ１００４において選択されていない未選択の第１の故障パス候補があるか否かを判断する（ステップＳ１０１０）。ここで、未選択の第１の故障パス候補がある場合（ステップＳ１０１０：Ｙｅｓ）、ステップＳ１００４に戻る。
【００７９】
一方、未選択の第１の故障パス候補がない場合（ステップＳ１０１０：Ｎｏ）、ｊをインクリメントして（ステップＳ１０１１）、探索部５０７により、「ｊ＞ｍ」か否かを判断する（ステップＳ１０１２）。ここで、「ｊ≦ｍ」の場合（ステップＳ１０１２：Ｎｏ）、ステップＳ１００２に戻る。
【００８０】
一方、「ｊ＞ｍ」の場合（ステップＳ１０１２：Ｙｅｓ）、出力部５０８により、探索結果テーブル７００を出力して（ステップＳ１０１３）、本フローチャートによる一連の処理を終了する。また、ステップＳ１００３において、故障パス候補が１つ以下の場合（ステップＳ１００３：Ｎｏ）、ステップＳ１０１１に移行する。
【００８１】
これにより、故障パス候補に含まれる素子群の中から、チップＣ１〜Ｃｍごとに不規則に発生する遅延エラーの原因となる素子を絞り込むことができる。
【００８２】
以上説明したように、実施の形態１によれば、パスＰijのポストシリコン遅延値ｄijとパスＰiの見積遅延値ｄ’iとの差分が許容範囲を超えるパスを故障パス候補に決定することができる。これにより、チップＣ１〜Ｃｍに含まれる全チップ集合の中から、システマティックな遅延エラーの影響のみを受けているパスを排除して、チップＣ１〜Ｃｍごとに不規則に発生する遅延エラーを含む故障パス候補を絞り込むことができる。
【００８３】
また、実施の形態１によれば、チップＣｊのパス集合Ｓ’ijのうち第１および第２の故障パス候補に共通して含まれる共通要素を探索して出力することができる。これにより、故障パス候補に含まれる素子群の中から、チップＣ１〜Ｃｍごとに不規則に発生する遅延エラーの原因となる素子を絞り込むことができる。
【００８４】
これらのことから、実施の形態１にかかる遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法によれば、チップＣ１〜Ｃｍごとに不規則に発生する遅延故障の特定にかかる作業負担の軽減化および作業時間の短縮化を図ることができる。具体的には、たとえば、チップ内の遅延故障を特定するために、新たなテストパターンを生成する必要がなく、テスタを用いた実験をおこなう必要もない。
【００８５】
（実施の形態２）
つぎに、実施の形態２にかかる遅延故障検査手法について説明する。実施の形態１では、チップＣ１〜Ｃｊに含まれる全パス集合からシステマティックな遅延エラーの影響のみを受けているパスを排除して、故障パス候補を絞り込む手法について説明した。ところが、パスＰijのポストシリコン遅延値ｄijには、見積ミスによる誤差が含まれている場合がある。
【００８６】
そのため、チップＣｊのパス集合Ｓ’ijには、ポストシリコン遅延値ｄijの見積ミスのパスが含まれている場合がある。すなわち、パスＰijのポストシリコン遅延値ｄijが見積ミスによって大きな値となり、故障パス候補に決定される場合がある。そこで、実施の形態２では、チップＣｊのパス集合Ｓ’ijの中から、ポストシリコン遅延値ｄijの見積ミスのパスを排除する手法について説明する。なお、実施の形態１で説明した箇所と同一の箇所については図示および説明を省略する。
【００８７】
ここで、パスＰijのポストシリコン遅延値ｄijの見積ミスの一例について説明する。図１１は、ポストシリコン遅延値の見積ミスの一例を示す説明図である。図１１において、チップＣｊ内の組み合わせ回路のロジックコーン１１００が表示されている。ここで、ロジックコーン１１００内のパスＰcjとパスＰdjは、あるテストパターンで活性化させられたパスである。また、パスＰcjのパス遅延は２８００［ｐｓ］であり、パスＰdjのパス遅延は１６００［ｐｓ］である。
【００８８】
この場合、チップＣｊのテスト結果としては、クロック周期２８００［ｐｓ］以上で正常に動作することになる。したがって、パスＰcjとパスＰdjのポストシリコンパス遅延値ｄcj，ｄdjはともに２８００［ｐｓ］となる。この結果、パスＰdjのポストシリコンパス遅延値ｄdjは１６００［ｐｓ］にも関わらず２８００［ｐｓ］となり、見積ミスが発生する。
【００８９】
実施の形態２では、個々のチップＣｊに着目して相互に相関関係を有するパスを絞り込むことで、チップＣｊのパス集合Ｓ’ijの中からポストシリコン遅延値ｄijの見積ミスのパスを排除する。ここで、図１３に示す遅延故障検査装置１３００が用いるパス遅延テーブル１２００について説明する。
【００９０】
（パス遅延テーブルの記憶内容）
図１２は、パス遅延テーブルの記憶内容の一例を示す説明図（その２）である。図１２において、パス遅延テーブル１２００は、チップＩＤ、パスＩＤ、ポストシリコン遅延値、見積遅延値、第１故障フラグおよび第２故障フラグのフィールドを有する。各フィールドに情報を設定することで、チップＣ１〜Ｃｍごとのパス遅延情報１２００−１〜１２００−ｍがレコードとして記憶されている。
【００９１】
ここで、第２故障フラグとは、チップＣｊのパス集合Ｓ’ijのうち、ポストシリコン遅延値ｄijの見積ミスのパスと、チップＣ１〜Ｃｍごとの不規則な遅延エラーが発生しているパスとを区別するためのフラグである。ここでは、第２故障フラグが「ＯＮ」の場合に、チップＣ１〜Ｃｍごとの不規則な遅延エラーが発生しているパスを示す。なお、第２故障フラグは、初期状態では「ＯＦＦ」となっている。
【００９２】
パス遅延情報１２００−１を例に挙げると、チップＣ１内のパスＰ11〜Ｐn1ごとのパス遅延情報１２００−１−１〜１２００−１−ｎが含まれている。パス遅延情報１２００−１−１を例に挙げると、パスＰ11のポストシリコン遅延値は「ｄ11」、見積遅延値は「ｄ’1」、第１故障フラグは「ＯＮ」、第２故障フラグは「ＯＦＦ」である。なお、パス遅延テーブル１２００は、図１３に示す遅延故障検査装置１３００のＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されている。
【００９３】
（遅延故障検査装置の機能的構成）
つぎに、実施の形態２にかかる遅延故障検査装置１３００の機能的構成について説明する。図１３は、実施の形態２にかかる遅延故障検査装置の機能的構成を示すブロック図である。図１３において、遅延故障検査装置１３００は、取得部５０１と、構築部５０２と、算出部５０３と、比較部５０４と、決定部５０５と、選択部５０６と、探索部５０７と、出力部５０８と、判定部１３０１と、を含む構成である。
【００９４】
判定部１３０１は、チップＣｊのパス集合Ｓ’ijから選ばれた故障パス候補Ｐ’ijと同一構成のパスが、チップＣｊとは異なる他のチップＣｋ（ｋ≠ｊ、ｋ＝１，２，…，ｍ）のパス集合Ｓ’ikに含まれるか否かを判定する機能を有する。
【００９５】
ここで、ポストシリコン遅延値ｄijの見積ミスは、全チップＣ１〜Ｃｍ（または、８〜９割のチップ）で共通して発生している可能性が高い。そこで、故障パス候補Ｐ’ijと同一構成のパスが他のチップＣｋのパス集合Ｓ’ikに含まれるかを判定することで、故障パス候補Ｐ’ijがポストシリコン遅延値ｄijの見積ミスのパスか否かを判断する。すなわち、チップＣｊだけでなく、他のチップＣｋでも故障パス候補となっているパスは、ポストシリコン遅延値ｄijの見積ミスのパスである可能性が高いと判断できる。
【００９６】
具体的には、たとえば、まず、判定部１３０１が、パス遅延テーブル１２００を参照して、チップＣ１〜Ｃｍの中からチップＣｊを選択する。そして、判定部１３０１が、パス遅延テーブル１２００を参照して、第１故障フラグが「ＯＮ」の故障パス候補Ｐ’ijを選択する。このあと、判定部１３０１が、パス遅延テーブル１２００を参照して、第１故障フラグが「ＯＮ」の故障パス候補Ｐ’ikを検索する。
【００９７】
決定部５０５は、判定された判定結果に基づいて、故障パス候補Ｐ’ijを、チップＣ１〜Ｃｊごとに不規則に発生する遅延エラーを含む故障パスに決定する。具体的には、たとえば、決定部５０５が、故障パス候補Ｐ’ijと同一構成のパスが、チップＣｋのパス集合Ｓ’ikに含まれていない場合に、故障パス候補Ｐ’ijを故障パスに決定する。
【００９８】
また、決定部５０５が、故障パス候補Ｐ’ijと同一構成のパスを含むチップＣｋの割合が全体の１０％程度であった場合に、故障パス候補Ｐ’ijを故障パスに決定することにしてもよい。すなわち、全チップＣ１〜Ｃｍの８〜９割程度のチップで、ポストシリコン遅延値ｄijの見積ミスのパスが共通していると仮定する。
【００９９】
（遅延故障検査装置の遅延故障検査処理手順）
つぎに、実施の形態２にかかる遅延故障検査装置１３００の遅延故障検査処理手順について説明する。図１４は、実施の形態２にかかる遅延故障検査処理手順の一例を示すフローチャートである。
【０１００】
図１４のフローチャートにおいて、まず、取得部５０１により、対象回路に関するネットリスト３００とパスＰijのポストシリコン遅延値ｄijを取得したか否かを判断する（ステップＳ１４０１）。
【０１０１】
ここで、ネットリスト３００とポストシリコン遅延値ｄijを取得するのを待って（ステップＳ１４０１：Ｎｏ）、取得した場合（ステップＳ１４０１：Ｙｅｓ）、決定部５０５により、故障パス候補決定処理を実行する（ステップＳ１４０２）。
【０１０２】
このあと、決定部５０５により、故障パス決定処理を実行する（ステップＳ１４０３）。そして、探索部５０７により、共通要素探索処理を実行して（ステップＳ１４０４）、本フローチャートによる一連の処理を終了する。
【０１０３】
＜故障パス決定処理手順＞
つぎに、図１４に示したステップＳ１４０３の故障パス決定処理の具体的な処理手順について説明する。ここでは、チップＣｊのパス集合Ｓ’ijから選ばれた任意の故障パス候補と同一構成のパスがチップＣｋのパス集合Ｓ’ikに含まれていない場合に、故障パス候補を故障パスに決定する場合について説明する。図１５は、故障パス決定処理の具体的処理手順の一例を示すフローチャート（その１）である。
【０１０４】
図１５のフローチャートにおいて、判定部１３０１により、「ｊ＝１」として（ステップＳ１５０１）、チップＣ１〜Ｃｍの中からチップＣｊを選択する（ステップＳ１５０２）。このあと、判定部１３０１により、チップＣｊのパス集合Ｓ’ijから任意の故障パス候補を選択（ステップＳ１５０３）。そして、判定部１３０１により、チップＣ１〜Ｃｍの中からチップＣｋ（ｋ≠ｊ）を選択する（ステップＳ１５０４）。
【０１０５】
つぎに、判定部１３０１により、チップＣｋのパス集合Ｓ’ikから、ステップＳ１５０３において選択された故障パス候補と同一構成の故障パス候補を検索する（ステップＳ１５０５）。そして、判定部１３０１により、故障パス候補が検索されたか否かを判定する（ステップＳ１５０６）。
【０１０６】
ここで、故障パス候補が検索された場合（ステップＳ１５０６：Ｙｅｓ）、ステップＳ１５１０に移行する。一方、故障パス候補が非検索の場合（ステップＳ１５０６：Ｎｏ）、判定部１３０１により、ステップＳ１５０４において選択されていない未選択のチップＣｋがあるか否かを判断する（ステップＳ１５０７）。
【０１０７】
ここで、未選択のチップＣｋがある場合（ステップＳ１５０７：Ｙｅｓ）、ステップＳ１５０４に戻る。一方、未選択のチップＣｋがない場合（ステップＳ１５０７：Ｎｏ）、決定部５０５により、任意の故障パス候補を故障パスに決定する（ステップＳ１５０８）。そして、決定部５０５により、パス遅延テーブル１２００の故障パス候補の第２故障フラグを「ＯＦＦ」から「ＯＮ」に設定する（ステップＳ１５０９）。
【０１０８】
このあと、判定部１３０１により、ステップＳ１５０３において選択されていない未選択の故障パス候補があるか否かを判断する（ステップＳ１５１０）。ここで、未選択の故障パス候補がある場合（ステップＳ１５１０：Ｙｅｓ）、ステップＳ１５０３に戻る。
【０１０９】
一方、未選択の故障パス候補がない場合（ステップＳ１５１０：Ｎｏ）、決定部５０５により、ｊをインクリメントして（ステップＳ１５１１）、「ｊ＞ｍ」か否かを判断する（ステップＳ１５１２）。ここで、「ｊ≦ｍ」の場合（ステップＳ１５１２：Ｎｏ）、ステップＳ１５０２に戻る。一方、「ｊ＞ｍ」の場合（ステップＳ１５１２：Ｙｅｓ）、図１４に示したステップＳ１４０４に移行する。
【０１１０】
これにより、チップＣｊのパス集合Ｓ’ijの中から、ポストシリコン遅延値ｄijの見積ミスのパスを排除することができる。
【０１１１】
なお、ステップＳ１４０２の故障パス候補決定処理手順は、図９に示した手順と同様のため説明を省略する。また、ステップＳ１４０４の共通要素探索処理手順は、図１０に示した手順と同様のため説明を省略する。ただし、ステップＳ１４０４の共通要素探索処理手順では、共通要素の探索対象が「故障パス候補」から「故障パス」となる。
【０１１２】
以上説明したように、実施の形態２によれば、チップＣｊのパス集合Ｓ’ijの中から、他のチップＣｋのパス集合Ｓ’ikに含まれる故障パス候補と同一構成のパスを排除することができる。これにより、チップＣｊのパス集合Ｓ’ijの中からポストシリコン遅延値ｄijの見積ミスのパスを排除して、チップＣ１〜Ｃｍごとに不規則に発生する遅延エラーを含むパスをより正確に絞り込むことができる。
【０１１３】
（実施の形態３）
つぎに、実施の形態３にかかる遅延故障検査手法について説明する。実施の形態３では、チップＣｊのパス集合Ｓ’ijに含まれるパス間の類似度を求める。そして、実施の形態３では、パス間の類似度を用いて、チップＣｊのパス集合Ｓ’ijの中から他の故障パス候補と類似していないパスを排除する。
【０１１４】
これにより、チップＣｊのパス集合Ｓ’ijの中からポストシリコン遅延値ｄijの見積ミスのパスを排除する。なお、実施の形態１，２で説明した箇所と同一の箇所については図示および説明を省略する。
【０１１５】
（遅延故障検査装置の機能的構成）
図１６は、実施の形態３にかかる遅延故障検査装置の機能的構成を示すブロック図である。図１６において、遅延故障検査装置１６００は、取得部５０１と、構築部５０２と、算出部５０３と、比較部５０４と、決定部５０５と、選択部５０６と、探索部５０７と、出力部５０８と、類似度算出部１６０１と、を含む構成である。
【０１１６】
類似度算出部１６０１は、チップＣｊのパス集合Ｓ’ijから選ばれた故障パス候補Ｐ’ijと、故障パス候補Ｐ’ijとは異なる他の故障パス候補Ｐ’sjとの類似度を算出する機能を有する（ｓ≠ｉ、ｓ＝１，２，…，ｔ≦ｎ）。
【０１１７】
具体的には、たとえば、まず、類似度算出部１６０１が、ｏｎｅ−ｃｌａｓｓ  ＳＶＲを利用して、パス間の類似度を算出するための関数モデルを構築する。ここで、故障パス候補Ｐ’ij、Ｐ’sjを下記式（２）および（３）のようにベクトル表記する。
【０１１８】
ただし、ｇi１〜ｇiｐ、ｇs１〜ｇsｐは、故障パス候補Ｐ’ij、Ｐ’sjがゲートｇ１〜ｇｐを含む場合は「１」となり、ゲートｇ１〜ｇｐを含まない場合は「０」となる変数である。ｓi１〜ｓiｑ、ｓs１〜ｓsｑは、故障パス候補Ｐ’ij、Ｐ’sjが信号線ｓ１〜ｓｑを含む場合は「１」となり、信号線ｓ１〜ｓｑを含まない場合は「０」となる変数である。
【０１１９】
Ｐ’ij＝（ｇi１，ｇi２，…，ｇiｐ，ｓi１，ｓi２，…，ｓiｑ）      …（２）
Ｐ’sj＝（ｇs１，ｇs２，…，ｇsｐ，ｓs１，ｓs２，…，ｓsｑ）      …（３）
【０１２０】
この場合、故障パス候補Ｐ’ijと故障パス候補Ｐ’sjとの類似度は、下記式（４）を用いて表現することができる。ただし、Ｐ’ij・Ｐ’sjは故障パス候補Ｐ’ijと故障パス候補Ｐ’sjとの類似度である。
【０１２１】
Ｐ’ij・Ｐ’sj＝ｇi１×ｇs１＋ｇi２×ｇs２＋…＋ｇiｐ×ｇsｐ＋ｓi１
×ｓs１＋ｓi２×ｓs２＋…＋ｓiｑ×ｓsｑ        …（４）
【０１２２】
より具体的には、たとえば、類似度算出部１６０１が、ネットリスト３００に基づいて、故障パス候補Ｐ’ijおよび故障パス候補Ｐ’sjの接続情報を上記式（４）に与えることにより類似度を算出することができる。
【０１２３】
決定部５０５は、算出された算出結果に基づいて、故障パス候補Ｐ’ijを、チップＣ１〜Ｃｊごとに不規則に発生する遅延エラーを含む故障パスに決定する。具体的には、たとえば、決定部５０５が、故障パス候補Ｐ’sjとの類似度が「１」以上となる故障パス候補Ｐ’ijを故障パスに決定することにしてもよい。すなわち、故障パス候補間の類似度が「１」以上となった場合は、遅延故障の原因となる素子をともに含んでいる可能性が高いと判断する。
【０１２４】
なお、上記式（４）では、ゲートおよび信号線の両方を考慮することにしたがこれに限らない。たとえば、遅延故障としてゲート遅延故障を想定した場合はゲートのみを考慮することにしてもよい。また、遅延故障として遷移遅延故障を想定した場合は信号線のみを考慮することにしてもよい。
【０１２５】
＜故障パス決定処理手順＞
つぎに、実施の形態３にかかる遅延故障検査装置１６００の故障パス決定処理手順について説明する。なお、この故障パス決定処理手順は、図１４に示したステップＳ１４０３の故障パス決定処理に相当する。図１７は、故障パス決定処理の具体的処理手順の一例を示すフローチャート（その２）である。
【０１２６】
図１７のフローチャートにおいて、まず、類似度算出部１６０１により、「ｊ＝１」として（ステップＳ１７０１）、チップＣ１〜Ｃｍの中からチップＣｊを選択する（ステップＳ１７０２）。このあと、類似度算出部１６０１により、チップＣｊのパス集合Ｓ’ijから第１の故障パス候補を選択する（ステップＳ１７０３）。
【０１２７】
さらに、類似度算出部１６０１により、チップＣｊのパス集合Ｓ’ijから第２の故障パス候補を選択する（ステップＳ１７０４）。ただし、第１および第２の故障パス候補は異なるパスである。そして、類似度算出部１６０１により、ネットリスト３００と上記式（４）とを用いて、第１および第２の故障パス候補の類似度を算出する（ステップＳ１７０５）。
【０１２８】
このあと、決定部５０５により、算出された類似度が「０」か否かを判断する（ステップＳ１７０６）。ここで、類似度が「０」の場合、決定部５０５により、ステップＳ１７０４において選択されていない未選択の第２の故障パス候補があるか否かを判断する（ステップＳ１７０７）。
【０１２９】
そして、未選択の第２の故障パス候補がある場合（ステップＳ１７０７：Ｙｅｓ）、ステップＳ１７０４に戻る。一方、未選択の第２の故障パス候補がない場合（ステップＳ１７０７：Ｎｏ）、ステップＳ１７１０に移行する。
【０１３０】
また、ステップＳ１７０６において、類似度が「０」ではない場合（ステップＳ１７０６：Ｎｏ）、決定部５０５により、第１の故障パス候補を故障パスに決定する（ステップＳ１７０８）。そして、決定部５０５により、パス遅延テーブル１２００の第１の故障パス候補の第２故障フラグを「ＯＦＦ」から「ＯＮ」に設定する（ステップＳ１７０９）。
【０１３１】
このあと、決定部５０５により、ステップＳ１７０３において選択されていない未選択の第１の故障パス候補があるか否かを判断する（ステップＳ１７１０）。ここで、未選択の第１の故障パス候補がある場合（ステップＳ１７１０：Ｙｅｓ）、ステップＳ１７０３に戻る。
【０１３２】
一方、未選択の第１の故障パス候補がない場合（ステップＳ１７１０：Ｎｏ）、決定部５０５により、ｊをインクリメントして（ステップＳ１７１１）、「ｊ＞ｍ」か否かを判断する（ステップＳ１７１２）。ここで、「ｊ≦ｍ」の場合（ステップＳ１７１２：Ｎｏ）、ステップＳ１７０２に戻る。一方、「ｊ＞ｍ」の場合（ステップＳ１７１２：Ｙｅｓ）、図１４に示したステップＳ１４０４に移行する。
【０１３３】
以上説明したように、実施の形態３によれば、チップＣｊのパス集合Ｓ’ijに含まれるパス間の類似度を求めて、パス集合Ｓ’ijの中から他の故障パス候補と類似していないパスを排除することができる。これにより、チップＣｊのパス集合Ｓ’ijの中からポストシリコン遅延値ｄijの見積ミスのパスを排除して、チップＣ１〜Ｃｍごとに不規則に発生する遅延エラーを含むパスをより正確に絞り込むことができる。
【０１３４】
（実施の形態４）
つぎに、実施の形態４にかかる遅延故障検査手法について説明する。実施の形態４では、チップＣｊのみに着目して、パスＰiの遅延値を表現する関数モデルを構築する。ただし、チップＣｊは、チップＣｊに含まれるパス集合に対する故障パス候補の割合が、予め設定された所定値以上のチップである。
【０１３５】
実施の形態４では、チップＣｊに含まれるパスＰijのポストシリコン遅延値ｄijを関数モデルに与えて、パスＰiの見積遅延値ｄ’iを求める。このあと、実施の形態４では、故障パス候補Ｐ’ijのポストシリコン遅延値とパスＰiの見積遅延値ｄ’iとの差分を求める。
【０１３６】
そして、実施の形態４では、該差分が許容範囲を超える故障パス候補をポストシリコン遅延値ｄijの見積ミスのパスとする。上述したように、チップＣｊは、パス集合に対する故障パス候補の割合が所定値以上のチップである。それ故に、チップＣｊにのみ着目して関数モデルを構築すると、パスＰiの見積遅延値ｄ’iに、システマティックな遅延エラーだけでなく、不規則な遅延エラーもモデル中に含まれることになる。
【０１３７】
その結果、該差分が許容範囲を超えるパスは、ポストシリコン遅延値ｄijの見積ミスのパスと判断できる。これにより、チップＣｊのパス集合Ｓ’ijの中からポストシリコン遅延値ｄijの見積ミスのパスを排除することができる。なお、実施の形態１〜３で説明した箇所と同一の箇所については図示および説明を省略する。
【０１３８】
（遅延故障検査装置の機能的構成）
図１８は、実施の形態４にかかる遅延故障検査装置の機能的構成を示すブロック図である。図１８において、遅延故障検査装置１８００は、取得部５０１と、構築部５０２と、算出部５０３と、比較部５０４と、決定部５０５と、選択部５０６と、探索部５０７と、出力部５０８と、モデル構築部１８０１と、遅延値算出部１８０２と、遅延値比較部１８０３と、を含む構成である。
【０１３９】
モデル構築部１８０１は、パスＰijのポストシリコン遅延値ｄijとネットリスト３００に基づいて、パスＰiの遅延値を表現する関数モデルを構築する。具体的には、たとえば、モデル構築部１８０１が、ε−ＳＶＲを利用して、上記式（１）に含まれる係数Ｘ1〜Ｘp、Ｙ1〜Ｙqを求める。
【０１４０】
より具体的には、モデル構築部１８０１が、上記式（１）の左辺にチップＣｊに含まれるパスＰijのポストシリコン遅延値ｄijを与えるとともに、上記式（１）の右辺にパスＰiの接続情報３００−ｉを与える。その結果、係数Ｘ1〜Ｘp、Ｙ1〜Ｙqを未知数とするｎ個の方程式が作成される。このあと、構築部５０２が、ε−ＳＶＲ（または、最小二乗法）により、各方程式の左辺と右辺の誤差を最小化する係数Ｘ1〜Ｘp、Ｙ1〜Ｙqを求める。
【０１４１】
遅延値算出部１８０２は、構築された関数モデルとネットリスト３００を用いて、パスＰiの見積遅延値ｄ’iを算出する。具体的には、たとえば、遅延値算出部１８０２が、上記式（１）の右辺にパスＰiの接続情報３００−ｉを与えることで、パスＰiの見積遅延値ｄ’iを求めることができる。ただし、係数Ｘ1〜Ｘp、Ｙ1〜Ｙqは既知である。パスＰiの見積遅延値ｄ’iには、システマティックな遅延エラーと不規則な遅延エラーとが含まれることになる。
【０１４２】
遅延値比較部１８０３は、故障パス候補Ｐ’ijのポストシリコン遅延値と、算出されたパスＰiの見積遅延値ｄ’iとを比較する。ただし、故障パス候補Ｐ’ijとパスＰiは同一構成のパスである。具体的には、たとえば、遅延値比較部１８０３が、パスＰiの見積遅延値ｄ’iから故障パス候補Ｐ’ijのポストシリコン遅延値を差し引くことで差分を算出する。
【０１４３】
そして、決定部５０５は、比較された比較結果に基づいて、チップＣｊに含まれるパスＰiのパス集合から、チップＣ１〜Ｃｍごとに不規則に発生する遅延エラーを含む故障パスを決定する。具体的には、たとえば、決定部５０５が、算出された差分が閾値以下となる故障パス候補Ｐ’ijを故障パスに決定する。なお、上記閾値は、任意に設定可能である。具体的には、たとえば、決定部５０５が、パスＰiの見積遅延値のｄ’iの１０％〜２０％を上記閾値に設定する。
【０１４４】
＜故障パス決定処理手順＞
つぎに、実施の形態４にかかる遅延故障検査装置１８００の故障パス決定処理手順について説明する。なお、この故障パス決定処理手順は、図１４に示したステップＳ１４０３の故障パス決定処理に相当する。
【０１４５】
図１９は、故障パス決定処理の具体的処理手順の一例を示すフローチャート（その３）である。図１９のフローチャートにおいて、まず、決定部５０５により、「ｊ＝１」として（ステップＳ１９０１）、チップＣ１〜Ｃｍの中からチップＣｊを選択する（ステップＳ１９０２）。
【０１４６】
そして、決定部５０５により、チップＣｊに含まれるパス集合に対する故障パス候補の割合が、予め設定された所定値以上か否かを判断する（ステップＳ１９０３）。なお、所定値は、ＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されている。
【０１４７】
ここで、所定値未満の場合（ステップＳ１９０３：Ｎｏ）、ステップＳ１９１３に移行する。一方、所定値以上の場合（ステップＳ１９０３：Ｙｅｓ）、モデル構築部１８０１により、パスＰiの遅延値を表現する関数モデルを構築する（ステップＳ１９０４）。
【０１４８】
そして、遅延値算出部１８０２により、チップＣｊのパス集合Ｓ’ijから任意の故障パス候補を選択する（ステップＳ１９０５）。つぎに、遅延値算出部１８０２により、構築された関数モデルとネットリスト３００を用いて、選択された故障パス候補と同一構成のパスＰiの見積遅延値ｄ’iを算出する（ステップＳ１９０６）。そして、決定部５０５により、パスＰiの見積遅延値のｄ’iを用いて閾値を算出する（ステップＳ１９０７）。
【０１４９】
このあと、遅延値比較部１８０３により、故障パス候補のポストシリコン遅延値とパスＰiの見積遅延値ｄ’iとの差分を算出する（ステップＳ１９０８）。そして、決定部５０５により、算出された差分が、ステップＳ１９０７において算出された閾値以下か否かを判断する（ステップＳ１９０９）。
【０１５０】
ここで、閾値より大きい場合（ステップＳ１９０９：Ｎｏ）、ステップＳ１９１２に移行する。一方、閾値以下の場合（ステップＳ１９０９：Ｙｅｓ）、ステップＳ１９０５において選択された故障パス候補を故障パスに決定する（ステップＳ１９１０）。そして、決定部５０５により、パス遅延テーブル１２００の故障パス候補の第２故障フラグを「ＯＦＦ」から「ＯＮ」に設定する（ステップＳ１９１１）。
【０１５１】
このあと、モデル構築部１８０１により、ステップＳ１９０５において選択されていない未選択の故障パス候補があるか否かを判断する（ステップＳ１９１２）。ここで、未選択の故障パス候補がある場合（ステップＳ１９１２：Ｙｅｓ）、ステップＳ１９０５に戻る。
【０１５２】
一方、未選択の故障パス候補がない場合（ステップＳ１９１２：Ｎｏ）、決定部５０５により、ｊをインクリメントして（ステップＳ１９１３）、「ｊ＞ｍ」か否かを判断する（ステップＳ１９１４）。ここで、「ｊ≦ｍ」の場合（ステップＳ１９１４：Ｎｏ）、ステップＳ１９０２に戻る。一方、「ｊ＞ｍ」の場合（ステップＳ１９１４：Ｙｅｓ）、図１４に示したステップＳ１４０４に移行する。
【０１５３】
以上説明したように、実施の形態４によれば、故障パス候補のポストシリコン遅延値とパスＰiの見積遅延値ｄ’iとの差分が許容範囲内のパスを故障パス候補に決定することができる。これにより、チップＣｊのパス集合Ｓ’ijの中からポストシリコン遅延値ｄijの見積ミスのパスを排除して、チップＣ１〜Ｃｍごとに不規則に発生する遅延エラーを含むパスをより正確に絞り込むことができる。
【０１５４】
なお、本実施の形態で説明した遅延故障検査方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本遅延故障検査プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本遅延故障検査プログラムは、インターネット等のネットワークを介して配布してもよい。
【符号の説明】
【０１５５】
２００，１３００，１６００，１８００  遅延故障検査装置
５０１  取得部
５０２  構築部
５０３  算出部
５０４  比較部
５０５  決定部
５０６  選択部
５０７  探索部
５０８  出力部
１３０１  判定部
１６０１  類似度算出部
１８０１  モデル構築部
１８０２  遅延値算出部
１８０３  遅延値比較部
【図１】
2010271067.tif 000003
【図２】
2010271067.tif 000004
【図３】
2010271067.tif 000005
【図４】
2010271067.tif 000006
【図５】
2010271067.tif 000007
【図６】
2010271067.tif 000008
【図７】
2010271067.tif 000009
【図８】
2010271067.tif 000010
【図９】
2010271067.tif 000011
【図１０】
2010271067.tif 000012
【図１１】
2010271067.tif 000013
【図１２】
2010271067.tif 000014
【図１３】
2010271067.tif 000015
【図１４】
2010271067.tif 000016
【図１５】
2010271067.tif 000017
【図１６】
2010271067.tif 000018
【図１７】
2010271067.tif 000019
【図１８】
2010271067.tif 000020
【図１９】
2010271067.tif 000021