JP5353679B2 - 故障診断支援プログラム、および故障診断支援装置 - Google Patents

故障診断支援プログラム、および故障診断支援装置 Download PDF

Info

Publication number
JP5353679B2
JP5353679B2 JP2009286877A JP2009286877A JP5353679B2 JP 5353679 B2 JP5353679 B2 JP 5353679B2 JP 2009286877 A JP2009286877 A JP 2009286877A JP 2009286877 A JP2009286877 A JP 2009286877A JP 5353679 B2 JP5353679 B2 JP 5353679B2
Authority
JP
Japan
Prior art keywords
path
test pattern
value
candidate
delay
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009286877A
Other languages
English (en)
Other versions
JP2011128023A (ja
Inventor
勉 石田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009286877A priority Critical patent/JP5353679B2/ja
Priority to US12/968,550 priority patent/US8448031B2/en
Publication of JP2011128023A publication Critical patent/JP2011128023A/ja
Application granted granted Critical
Publication of JP5353679B2 publication Critical patent/JP5353679B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • G01R31/31835Analysis of test coverage or failure detectability

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Testing Of Individual Semiconductor Devices (AREA)

Description

本発明は、半導体集積回路の故障診断を支援する故障診断支援プログラム、および故障診断支援装置に関する。
近年、プロセスの微細化により、ばらつき、クロストーク、IRドロップなどの影響が増大し、設計段階でのパス遅延(予測値)と製造されたチップ上でのパス遅延(真値)との間に大きなズレが生じている。パス遅延のズレが大きくなり、チップの検査工程において目標とする動作周波数(Spec)をチップが満たすことができない場合は、設計工程への手戻りが発生する。
検査工程では、遅延テストを行って、チップが目標とする動作周波数を満たすかどうかを確認する。遅延テストでは、チップにテストパターン(テストベクトル)を2発続けて流し、チップの動作を確認する。具体的には、遅延テストでは、テストパターンを続けて流す周期を短くしていき、チップが正常に動作しなくなる直前の周期を特定して、目標とする周期(周波数)を満たすかどうかを確認する。
また、チップが目標とする動作周波数を満たさない場合は、故障診断を行って、故障の場所や原因を特定し、設計工程に戻ることになる。故障診断は、チップ内の各パスのパス遅延を用いて行われる。従来の故障診断では、STA(静的遅延解析)やSSTA(統計的遅延解析)などで見積もられたパス遅延の予測値が大きいパスを故障原因となるパスとして推定する。
そして、従来の故障診断では、故障原因として推定されたパスにテストパターンの測定値を割り当ててスピードパス解析などを行い、詳細な故障原因を特定する。なお、テストパターンの測定値とは、Failする直前の遅延値、すなわち、チップにテストパターンを2発続けて流した際の出力値が期待値と一致するぎりぎりの間隔である。
特開2003−43115号公報 特開2005−83895号公報
しかしながら、上述した従来技術によれば、テストパターンをチップに流した際に、複数のパスが同時に活性化(信号が伝播)した場合、故障原因となるパスを正確に判断することが難しく、故障診断の信頼性の低下を招くという問題があった。
具体的には、パス遅延の予測値と真値との間には“ズレ”があるため、複数のパスが活性化した場合、必ずしも予測値が大きい(たとえば、最大)パスがテストパターンの測定値を決めるとは言い切れない。このため、単純にパス遅延の予測値からテストパターンの測定値を決めるパスを推定すると、故障診断の精度が低下するという問題がある。
本発明は、上述した従来技術による問題点を解消するため、テストパターンの測定値をパスに正しく割り当てることにより、故障診断の信頼性を向上させることができる故障診断支援プログラム、および故障診断支援装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、開示の故障診断支援プログラム、および故障診断支援装置は、診断対象となる回路の動作周波数を測定するためのテストパターンごとに、前記回路内の各パスの遅延の予測値に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパス候補を決定し、決定されたパス候補群のうち任意のパス候補が測定値を決めるテストパターンごとに、当該テストパターンで活性化した各パスの前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレへの影響度をパラメータとして、前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレを表現するモデル式を構築し、構築されたテストパターンごとのモデル式を用いて、当該各モデル式に含まれる前記パラメータの値を算出し、算出された算出結果に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパスを決定し、決定された決定結果を出力することを要件とする。
本故障診断支援プログラム、および故障診断支援装置によれば、テストパターンの測定値をパスに正しく割り当てることにより、故障診断の信頼性を向上させることができるという効果を奏する。
本故障診断支援手法の一実施例を示す説明図である。 故障診断支援装置のハードウェア構成の一例を示すブロック図である。 故障診断支援装置の機能的構成の一例を示すブロック図である。 遅延テスト結果の具体例を示す説明図である。 遅延解析結果の具体例を示す説明図である。 モデルデータテーブルの記憶内容の一例を示す説明図である。 診断結果テーブルの記憶内容の一例を示す説明図である。 故障診断支援装置の故障診断支援処理手順の一例を示すフローチャートである。 外れ値判定処理の具体的処理手順の一例を示すフローチャートである。 ズレ算出式構築処理の具体的処理手順の一例を示すフローチャートである。 パス決定処理の具体的処理手順の一例を示すフローチャート(その1)である。 パス決定処理の具体的処理手順の一例を示すフローチャート(その2)である。 故障診断結果の一例を示す説明図である。
以下に添付図面を参照して、この発明にかかる故障診断支援プログラム、および故障診断支援装置の好適な実施の形態を詳細に説明する。
(本故障診断支援手法の一実施例)
まず、本実施の形態にかかる故障診断支援手法の一実施例について説明する。図1は、本故障診断支援手法の一実施例を示す説明図である。なお、図1の説明では、診断対象となるチップ内のパス群を「パス群p1〜pK」と表記し、任意のパスを「パスpk」と表記する(k=1,2,…,K)。また、遅延テストでチップが目標とする動作周波数を満たさなかったテストパターンを「テストパターンt1〜tn」と表記し、任意のテストパターンを「テストパターンti」と表記する(i=1,2,…,n)。
(1)本手法では、各テストパターンt1〜tnをチップに流した際に同時に活性化したパス群の中から、各テストパターンt1〜tnの測定値を決める第1パス候補pxを推定する。具体的には、たとえば、本手法では、テストパターンtiで活性化したパス群のうち、遅延(パス遅延)の予測値が最大のパスを第1パス候補pxとして推定する。テストパターンt1の例では、同時に活性化したパス群p1,p2,p5のうち、遅延の予測値が最大のパスp1が第1パス候補pxとして推定されている。
(2)本手法では、第1パス候補pxが測定値を決めると推定されたテストパターンtiごとに、ズレ算出式を構築する。ズレ算出式とは、テストパターンtiで活性化した各パスpkの、テストパターンtiの測定値と第1候補パスpxの遅延の予測値とのズレへの影響度をパラメータw(pk)として、テストパターンtiの測定値と第1パス候補pxの遅延の予測値とのズレを表現するモデル式である。
ズレ算出式は、たとえば、下記式(1)を用いて表現することができる。ただし、Dev(px)は、テストパターンtiの測定値と第1パス候補pxの遅延の予測値とのズレ[ps]を表す。w(pk)は、各パスpkが活性化した際にDev(px)へ与える影響度[ps]を表す。A(pk)は、テストパターンtiで活性化した場合「1」、活性化していない場合「0」となる変数である。
Dev(px)=w(p1)×A(p1)+w(p2)×A(p2)+…
+w(pK)×A(pK) ・・・(1)
上記式(1)のうち、Dev(px)およびA(p1)〜A(pK)は、チップの遅延テストの結果から得られる値である。ここで、パスp1が複数のテストパターンt1,t3,t5,…,tzの測定値を決める第1パス候補pxとして推定されたとする。この場合、本手法では、テストパターンt1,t3,t5,…,tzごとに、ズレ算出式(E1)、(E3)、(E5)、…、(Ez)を構築する。
(3)本手法では、テストパターンtiごとに構築された複数のズレ算出式(たとえば、ズレ算出式(E1)、(E3)、(E5)、…、(Ez))を用いて回帰問題を解くことにより、各パスpkのDev(px)へ与える影響度を表すw(pk)を求める。
(4)本手法では、テストパターンtiのズレ算出式に含まれるw(p1)〜w(pK)のうち、最大のw(pk)に対応するパスpkを、第2パス候補pyとして推定する(ただし、x≠y)。ここで、最大のw(pk)に対応するパスpkは、活性化すると、第1候補パスpxの遅延の予測値とテストパターンtiの測定値との間に大きなズレを生むパスである。
このため、(i)最大のw(pk)に対応するパスpkは、遅延の真値が第1パス候補pxの遅延の真値を逆転している、すなわち、テストパターンtiの測定値を決めている可能性がある。また、(ii)最大のw(pk)に対応するパスpkは、第1パス候補pxとの間でノイズを発生するパスの可能性がある。そこで、本手法では、最大のw(pk)に対応するパスpkを、テストパターンtiの測定値を決める第2パス候補pyとして推定する。
(5)本手法では、遅延テストの結果を用いて、上記(i)または(ii)の可能性を見分ける。その結果、(i)遅延の真値の逆転の場合、本手法では、第2パス候補pyをテストパターンtiの測定値を決めるパスに決定し、該測定値を第2パス候補pyに割り当てる。一方、(ii)ノイズを発生させるパスの場合、本手法では、第1パス候補pxをテストパターンtiの測定値を決めるパスに決定し、該測定値を第1パス候補pxに割り当てる。
このように、本手法では、テストパターンtiの測定値を決めると推定される第1、第2パス候補px、py間の『遅延の真値の逆転』または『ノイズの発生』を見分け、該測定値を正しいパスに割り当てることにより、故障診断の信頼性を向上させる。
(故障診断支援装置200のハードウェア構成)
つぎに、本実施の形態にかかる故障診断支援装置200のハードウェア構成について説明する。図2は、故障診断支援装置のハードウェア構成の一例を示すブロック図である。図2において、故障診断支援装置200は、CPU(Central Processing Unit)201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、ディスプレイ208と、I/F(Interface)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス220によってそれぞれ接続されている。
ここで、CPU201は、故障診断支援装置200の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御にしたがって磁気ディスク205に対するデータのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。
光ディスクドライブ206は、CPU201の制御にしたがって光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F209は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク214に接続され、このネットワーク214を介して他の装置に接続される。そして、I/F209は、ネットワーク214と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ212は、画像を光学的に読み取り、故障診断支援装置200内に画像データを取り込む。なお、スキャナ212は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(故障診断支援装置200の機能的構成)
つぎに、故障診断支援装置200の機能的構成について説明する。図3は、故障診断支援装置の機能的構成の一例を示すブロック図である。図3において、故障診断支援装置200は、取得部301と、第1の決定部302と、第1の算出部303と、構築部304と、第2の算出部305と、外れ値判定部306と、第2の決定部307と、選択部308と、抽出部309と、出力部310と、を含む構成である。
各機能部(取得部301〜出力部310)は、具体的には、たとえば、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、I/F209により、その機能を実現する。また、各機能部の処理結果は、特に指定する場合を除いて、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶される。
図3において、取得部301は、診断対象となる回路の遅延テスト結果を取得する機能を有する。ここで、診断対象となる回路とは、診断対象に関する回路情報を用いて製造された回路であり、たとえば、同一ウェハ上のチップ群である。また、遅延テスト結果とは、チップの動作周波数を測定するためのテストパターンごとの遅延テストの結果である。
なお、以下の説明では、診断対象に関する回路情報を用いて製造された同一ウェハ上のチップ群を「チップ群C1〜Cm」と表記し、チップ群C1〜Cmのうち任意のチップを「チップCj」と表記する(j=1,2,…,m)。また、遅延テストにおいて、チップCjが目標とする動作周波数を満たさなかったテストパターンを「テストパターンt1〜tn」と表記し、任意のテストパターンを「テストパターンti」と表記する(i=1,2,…,n)。また、各チップCj内のパス群を「パス群p1〜pK」と表記し、パス群p1〜pKのうち任意のパスを「パスpk」と表記する(k=1,2,…,K)。
ここで、遅延テスト結果の具体例について説明する。図4は、遅延テスト結果の具体例を示す説明図である。図4において、遅延テスト結果ファイル400は、遅延テスト結果ID、チップID、テストパターンID、測定値および活性化パスIDの項目を有する。各項目に情報を設定することで、遅延テスト結果R11〜Rnmがレコードとして記憶されている。
遅延テスト結果IDとは、遅延テスト結果R11〜Rnmを識別する識別子である。チップIDとは、チップCjを識別する識別子である。テストパターンIDとは、テストパターンtiを識別する識別子である。測定値とは、テストパターンtiをチップCjに2発続けて流した際のFailする直前の遅延値[ps]である。
活性化パスIDとは、テストパターンtiをチップCjに流した際に活性化したパスpkを識別する識別子である。ここで、遅延テスト結果Rijを例に挙げると、テストパターンtiをチップCjに流した際の測定値は『Dij』、活性化したパスは『p[1],p[2],…,p[K]』である。ただし、テストパターンtiを流した際に活性化するパス群は全チップC1〜Cmで共通とする。
また、図3において、取得部301は、チップCj内の各パスpkの遅延の予測値dkを取得する機能を有する。ここで、遅延の予測値dkとは、設計段階においてSTA(静的遅延解析)やSSTA(統計的遅延解析)などで見積もられた各パスpkの遅延値[ps]である。ここで、各パスpkの遅延解析結果の具体例について説明する。
図5は、遅延解析結果の具体例を示す説明図である。図5において、遅延解析結果500は、パスIDおよび予測値の項目を有し、パスpkごとの遅延の予測値dkを有している。なお、パスpkの遅延の予測値dkは、全チップC1〜Cmにおいて共通である。
図3において、第1の決定部302は、チップCj内の各パスpkの遅延の予測値dkに基づいて、テストパターンtiで活性化したパス群p[1]〜p[K]の中からテストパターンtiの測定値Dijを決める第1パス候補pxを決定する機能を有する。ここで、第1パス候補pxは、たとえば、チップCjごとに各テストパターンtiについて決定される。
すなわち、第1の決定部302の決定処理は、m×n[回](=チップ数m×テストパターン数n)実行される。この際、あるパスpkが複数のテストパターンtiの測定値Dijを決定する第1パス候補pxとなる場合がある。また、本実施の形態では、統計的解析により、後述する構築部304によって構築されるズレ算出式を解くことになる。
そのため、多くのズレ算出式を構築して、統計的解析で扱うデータ量を増加させる必要がある。ここで、遅延の予測値dkが大きいパスpkは、測定値Dijを決めるテストパターン数が多い可能性が高い。そこで、第1の決定部302が、パス群p[1]〜p[K]のうち遅延の予測値dkが最大のパスpkを第1パス候補pxに決定することにしてもよい。
これにより、多くのズレ算出式を構築して、より正確な統計的解析を行うことができる。なお、第1の決定部302によって決定された決定結果は、図6に示すモデルデータテーブル600に記憶される。このモデルデータテーブル600は、たとえば、RAM203、磁気ディスク205、光ディスク207などの記憶装置により実現される。
図6は、モデルデータテーブルの記憶内容の一例を示す説明図である。図6において、モデルデータテーブル600は、遅延テスト結果ID、テストパターンID、第1パス候補ID、ズレおよび外れ値フラグの項目を有する。各項目に情報を設定することで、遅延テスト結果R11〜Rnmごとのモデルデータ600−11〜600−nmがレコードとして記憶されている。
遅延テスト結果IDとは、遅延テスト結果R11〜Rnmを識別する識別子である。テストパターンIDとは、テストパターンtiを識別する識別子である。第1パス候補IDとは、第1パス候補pxを識別する識別子である。ズレとは、チップCjでのテストパターンtiの測定値Dijと第1パス候補pxの遅延の予測値dxとのズレである。
外れ値フラグとは、遅延故障やランダムなばらつきなどの要素によるズレを含む遅延テスト結果R11〜Rnm(外れ値)を識別する識別子である。「外れ値フラグ」項目には、遅延テスト結果Rijが外れ値の場合「Y(Yes)」、外れ値ではない場合「N(No)」が設定される。なお、初期状態では外れ値フラグは「N」である。
図3において、第1の算出部303は、チップCjでのテストパターンtiの測定値Dijと第1パス候補pxの遅延の予測値dxとのズレを算出する機能を有する。ここで、測定値Dijは、遅延テスト結果ファイル400内の「測定値」項目に設定されている遅延テスト結果Rijの測定値である。また、予測値dxは、遅延解析結果500内の「予測値」項目に設定されているパスpxの予測値である。
具体的には、たとえば、第1の算出部303が、下記式(2)を用いて、チップCjでのテストパターンtiの測定値Dijと第1パス候補pxの遅延の予測値dxとのズレを算出することができる。ただし、Dev(px)ijはチップCjでのテストパターンtiの測定値Dijと第1パス候補pxの遅延の予測値dxとのズレである。
Dev(px)ij=Dij−dx ・・・(2)
なお、第1の算出部303によって算出された算出結果は、たとえば、モデルデータテーブル600に記憶される。具体的には、たとえば、測定値Dijと予測値dxとのズレDev(px)ijは、モデルデータテーブル600内の遅延テスト結果Rijの「ズレ」項目に設定される。
構築部304は、第1パス候補pxが測定値Dijを決めるテストパターンtiごとにズレ算出式E(px)ijを構築する機能を有する。ここで、ズレ算出式E(px)ijとは、テストパターンtiの測定値Dijと第1パス候補pxの遅延の予測値dxとのズレ「Dev(px)ij」を表現するモデル式である。
ここでは、ズレ「Dev(px)ij」を、チップCjにテストパターンtiを流した際に活性化した各パスp[1]〜p[K]の遅延の予測値と真値とのズレを変数とする多項式によって表現する。具体的には、たとえば、構築部304が、下記式(3)を用いてズレ算出式E(px)ijを構築することができる。
ただし、Dev(px)ijは、テストパターンtiの測定値Dijと第1パス候補pxの遅延の予測値dxとのズレ[ps]である。w(pk)は、各パスpkが活性化した際にDev(px)ijへ与える影響度[ps]を表す変数である(k=1,2,…,K)。A(pk)ijは、チップCjにテストパターンtiを流した際にパスpkが活性化した場合「1」、活性化しない場合「0」となる変数である。
Dev(px)ij=w(p1)×A(p1)ij+w(p2)×A(p2)ij+…
+w(pK)×A(pK)ij ・・・(3)
なお、ズレ算出式E(px)ijは、第1パス候補pxが測定値Dijを決めると決定されたテストパターン数構築される。ここで、チップC1〜Cmにテストパターンt1〜tnをそれぞれ流した際に、第1パス候補pxがX[個]のテストパターンtiの測定値Dijを決めるとすると、ズレ算出式E(px)ijの数はm×X[個]となる。
第2の算出部305は、第1パス候補pxごとに構築された複数のズレ算出式E(px)ijを用いて、各ズレ算出式E(px)ijに含まれるw(p1)〜w(pK)の値を算出する機能を有する。具体的には、たとえば、まず、第2の算出部305が、第1の算出部303によって算出された測定値Dijと予測値dxとのズレ「Dev(px)ij」を各ズレ算出式E(px)ijに代入する。
つぎに、第2の算出部305が、遅延テスト結果ファイル400内の遅延テスト結果Rijの「活性化パスID」項目を参照して、ズレ算出式E(px)ijに含まれるA(p1)ij〜A(pK)ijに「0」または「1」を代入する。具体的には、第2の算出部305が、パスpkが「活性化パスID」項目に設定されている場合、A(pk)ijに「1」を代入する。一方、第2の算出部305が、パスpkが「活性化パスID」項目に設定されていない場合、A(pk)ijに「0」を代入する。
この結果、テストパターンtiを流した際に活性化するパス群p[1]〜p[K]のw(p[1])〜w(p[K])を未知数とする方程式が、第1パス候補pxが測定値Dijを決めるテストパターン数(たとえば、m×X[個])作成される。
このあと、第2の算出部305が、複数のズレ算出式E(px)ijについて、回帰問題を解いて、各ズレ算出式E(px)ijに含まれるw(p[1])〜w(p[K])を求める。より具体的には、たとえば、第2の算出部305が、SVM(Support Vector Machine)回帰により、各ズレ算出式E(px)ijの左辺と右辺の誤差を最小化するw(p[1])〜w(p[K])を求める。
なお、上述した説明では、全チップC1〜Cmのズレ算出式E(px)ijを対象として回帰問題を解くことにしたが、これに限らない。たとえば、チップ単位のズレ算出式E(px)ijを対象として回帰問題を解いて、w(p[1])〜w(p[K])の平均値を求めることにしてもよい。
また、遅延テスト結果R11〜Rnmの中には、遅延故障やランダムばらつきなどの要素によるズレを含むものがある。このような余計なズレを含む遅延テスト結果Rijは、上記w(p1)〜w(pK)を求める上で適当ではない。そこで、遅延故障やランダムばらつきなどの要素によるズレを含む遅延テスト結果Rijを外れ値として、ズレ算出式E(px)ijの構築対象から除外することにしてもよい。
具体的には、たとえば、第1の算出部303が、全チップC1〜Cmでのテストパターンtiの測定値Dijの平均値Mを算出する。このあと、外れ値判定部306は、各チップCjでのテストパターンtiの測定値Dijと平均値Mとを比較して、それらの差分が所定の閾値H以上の場合、遅延テスト結果Rijを外れ値として判定する。
上記閾値Hは、任意に設定可能である。たとえば、外れ値判定部306が、テストパターンtiの平均値Mのα(たとえば、α=10)[%]を上記閾値Hに設定することにしてもよい。なお、判定された判定結果は、たとえば、モデルデータテーブル600に記憶される。具体的には、モデルデータテーブル600内の外れ値として判定された遅延テスト結果Rijの「外れ値フラグ」項目に「Y」が設定される。
この場合、上記構築部304は、モデルデータテーブル600内の「外れ値フラグ」項目に「Y」が設定されている遅延テスト結果Rijをズレ算出式E(px)ijの構築対象から除外する。これにより、余計なズレを含む遅延テスト結果Rijを排除して、上記w(p1)〜w(pK)をより正確に求めることができる。
なお、外れ値の判定手法は、上述した手法に限らない。たとえば、外れ値判定部306が、SMV回帰のε−insensitive関数のεを調節することで、遅延テスト結果R11〜Rnmの中から外れ値となる遅延テスト結果Rijを検出することにしてもよい。
第2の決定部307は、第2の算出部305によって算出された算出結果に基づいて、テストパターンtiで活性化したパス群p[1]〜p[K]の中から測定値Dijを決めるパスpkを決定する機能を有する。具体的には、たとえば、まず、第2の決定部307が、チップCjごとに、テストパターンtiの測定値Dijを決めるパスpkを決定する。
このあと、第2の決定部307が、チップCjごとに決定された決定結果を総合的に判断して、テストパターンtiの測定値Dijを決めるパスpkを決定することにしてもよい。なお、第2の決定部307の具体的な処理内容は後述する。また、第2の決定部307によって決定された決定結果は、たとえば、図7に示す診断結果テーブル700に記憶される。
図7は、診断結果テーブルの記憶内容の一例を示す説明図である。図7において、診断結果テーブル700は、テストパターンID、パスIDおよび対象パスIDの項目を有する。各項目に情報を設定することで、診断結果700−1〜700−nがレコードとして記憶されている。
ここで、テストパターンIDとは、テストパターンtiを識別する識別子である。パスIDとは、テストパターンtiの測定値Dijを決めるパスpkを識別する識別子である。対象パスIDとは、パスpkとの間でノイズの発生対象となるパスpl(k≠l、l=1,2,…,K)を識別する識別子である。なお、「対象パスID」項目は、ノイズの発生対象となるパスplが存在しない場合は「−(null)」となる。
出力部310は、第2の決定部307によって決定された決定結果を出力する機能を有する。具体的には、たとえば、診断結果テーブル700内の診断結果700−1〜700−nを出力することにしてもよい。出力形式としては、たとえば、ディスプレイ208への表示、プリンタ213への印刷出力、I/F209による外部装置への送信がある。また、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶することとしてもよい。
(第2の決定部307の処理内容)
つぎに、上記第2の決定部307の具体的な処理内容について説明する。ここでは、まず、任意のチップCjに着目して、テストパターンtiで活性化したパス群p[1]〜p[K]の中から、測定値Dijを決めるパスpkを決定する。
まず、選択部308は、テストパターンtiで活性化したパス群p[1]〜p[K]の中から、第1パス候補pxとは異なる第2パス候補py(x≠y)を選択する。具体的には、たとえば、選択部308が、算出されたw(p[1])〜w(p[K])のうち、値が最大のw(pk)のパスpkを第2パス候補pyとして選択する。
ここで、パスpkは、テストパターンtiの測定値Dijと第1パス候補pxの遅延の予測値dxとのズレ「Dev(px)ij」に大きな影響を与えるパスである。すなわち、w(pk)の値が大きいパスpkは、遅延の真値が第1パス候補pxの遅延の真値を逆転している、または、第1パス候補pxとの間でノイズを発生させている可能性が高い。
そこで、選択部308が、w(pk)の値が大きいパスpkを第2パス候補pyとして選択する。ただし、上述した説明では、値が最大のw(pk)のパスpkを第2パス候補pyとして選択することにしたが、これに限らない。たとえば、値が大きい上位3つのパスpkを第2パス候補pyとして選択することにしてもよい。この場合、以下に説明する抽出部309および第2の決定部307の処理を上位3つパスpkごとに実行する。
抽出部309は、テストパターンt1〜tnの中から、第1パス候補pxが測定値を決めると決定され、かつ、第2パス候補pyが活性化していないテストパターンtaを抽出する機能を有する。
具体的には、たとえば、まず、抽出部309が、モデルデータテーブル600の「第1パス候補ID」項目を参照して、第1パス候補pxが測定値Dijを決めているテストパターン群tAを絞り込む。このあと、抽出部309が、遅延テスト結果ファイル400の「活性化パスID」項目を参照して、テストパターン群tAの中から、第2パス候補pyが活性化していないテストパターンtaを抽出する。
また、抽出部309は、テストパターン群t1〜tnの中から、第2パス候補pyが測定値を決めると決定され、かつ、第1パス候補pxが活性化していないテストパターンtbを抽出する機能を有する。
具体的には、たとえば、まず、抽出部309が、モデルデータテーブル600の「第1パス候補ID」項目を参照して、第2パス候補pyが測定値Dijを決めているテストパターン群tBを絞り込む。このあと、抽出部309が、遅延テスト結果ファイル400の「活性化パスID」項目を参照して、絞り込まれたテストパターン群tBの中から、第1パス候補pxが活性化していないテストパターンtbを抽出する。
第2の決定部307は、テストパターンtaの測定値Dajとテストパターンtbの測定値Dbjとを比較して、第1パス候補pxまたは第2パス候補pyの少なくともいずれか一方を、テストパターンtiの測定値Dijを決めるパスpkに決定する機能を有する。
具体的には、たとえば、まず、第2の決定部307が、遅延テスト結果ファイル400内の遅延テスト結果Raj,Rbjの「測定値」項目を参照して、テストパターンtaの測定値Dajとテストパターンtbの測定値Dbjとを特定する。つぎに、第2の決定部307が、テストパターンtaの測定値Dajとテストパターンtbの測定値Dbjとを比較する。
ここで、測定値Dajが測定値Dbjよりも大きい場合、第2の決定部307が、第1パス候補pxをテストパターンtiの測定値Dijを決めるパスpkに決定する。この場合、さらに、第2の決定部307が、第1パス候補pxと第2パス候補pyとをノイズの発生原因となるパスペアに決定する。これにより、チップCj上でノイズ(クロストークなど)を発生させているパスペア(第1、第2パス候補px、py)を特定することができる。
一方、測定値Dbjが測定値Dajよりも大きい場合、第2の決定部307が、第2パス候補pyをテストパターンtiの測定値Dijを決めるパスpkに決定する。これにより、第1、第2パス候補px、py間の遅延の真値の逆転を判断して、テストパターンtiの測定値Dijを正しいパスpk(第2パス候補py)に割り当てることができる。
なお、第2の決定部307は、測定値Dajと測定値Dbjとが同一の場合、第1パス候補pxまたは第2パス候補pyのいずれか一方をテストパターンtiの測定値Dijを決めるパスpkに決定することにしてもよい。
また、上記抽出部309において、テストパターンta(tb)は複数抽出される可能性がある。この場合、第2の決定部307において比較対象となるテストパターンta(tb)の測定値Daj(Dbj)は、たとえば、複数抽出されたテストパターンta(tb)の測定値のうち、最も数が多かった値を測定値Daj(Dbj)として採用することにしてもよい。
あるいは、複数抽出されたテストパターンta(tb)の測定値のうち、外れ値を除外したあとの値の平均値を測定値Daj(Dbj)として採用することにしてもよい。なお、外れ値の検出手法としては、たとえば、既存のスミルノフ・グラブス検定などを利用することができる。
ただし、テストパターンta(tb)は、第1パス候補px(第2パス候補py)が測定値を決めると推定(決定)されている。このため、本当に第1パス候補pxが測定値を決めているならば、複数抽出されたテストパターンta(tb)の測定値は同じ値となるはずである。この場合、抽出された複数のテストパターンta(tb)で共通する値が測定値Daj(Dbj)となる。
また、上記第2の決定部307の決定処理は、チップC1〜Cmごとに実行することにしてもよい。この場合、各テストパターンtiについて、テストパターンtaの測定値Dajとテストパターンtbの測定値Dbjとの比較結果(Daj>DbjまたはDaj<DbjまたはDaj=Dbj)がm通り得られることになる。
ここで、「Daj≧Dbj」の比較結果が得られた回数を「ct1」とし、「Daj<Dbj」の比較結果が得られた回数を「ct2」とする(m=ct1+ct2)。
本実施の形態において、故障診断の対象としているのは、全チップC1〜Cmに共通するシステマティックな故障である。そのため、第2の決定部307は、m通りの比較結果のうち、最も多い比較結果にしたがって、テストパターンtiの測定値Dijを決めるパスpkを決定することにしてもよい。
具体的には、「ct1>ct2」の場合、第2の決定部307が、第1パス候補pxをテストパターンtiの測定値Dijを決めるパスpkに決定する。この場合、さらに、第2の決定部307が、第1パス候補pxと第2パス候補pyとをノイズの発生原因となるパスペアに決定する。
この結果、診断結果テーブル700に、テストパターンtiに関する診断結果700−iが新たなレコードとして記憶される。具体的には、テストパターンtiの「パスID」項目に第1パス候補pxのパスIDが設定され、さらに、「対象パスID」項目に第2パス候補pyのパスIDが設定される。
また、「ct1<ct2」の場合、第2の決定部307が、第2パス候補pyをテストパターンtiの測定値Dijを決めるパスpkに決定する。この場合、診断結果700−iの「パスID」項目に第2パス候補pyのパスIDが設定される。
また、「ct1=ct2」の場合、第2の決定部307が、第1パス候補pxおよび第2パス候補pyをテストパターンtiの測定値Dijを決めるパスpkに決定する。この場合、診断結果700−iの「パスID」項目に第1パス候補pxおよび第2パス候補pyのパスIDが設定される。
なお、上記第2の決定部307の決定処理は、たとえば、全チップC1〜Cmでのテストパターンta(tb)の測定値Daj(Dbj)の平均値を用いることで、1回のみ実行することにしてもよい。この場合、上記「ct1」および「ct2」をカウントして、テストパターンtiの測定値Dijを決めるパスpkを決定する必要がない。
(故障診断支援装置200の故障診断支援処理手順)
つぎに、故障診断支援装置200の故障診断支援処理手順について説明する。図8は、故障診断支援装置の故障診断支援処理手順の一例を示すフローチャートである。図8のフローチャートにおいて、まず、取得部301により、診断対象となるチップC1〜Cmの遅延テスト結果R11〜Rnmおよび遅延解析結果500を取得したか否かを判断する(ステップS801)。
ここで、遅延テスト結果R11〜Rnmおよび遅延解析結果500を取得するのを待って(ステップS801:No)、取得した場合(ステップS801:Yes)、第1の決定部302により、「j」を「j=1」で初期化し(ステップS802)、「i」を「i=1」で初期化する(ステップS803)。
そして、第1の決定部302により、チップCj内の各パスpkの遅延の予測値dkに基づいて、テストパターンtiで活性化したパス群p[1]〜p[K]の中からテストパターンtiの測定値Dijを決める第1パス候補pxを決定する(ステップS804)。なお、決定された決定結果は、遅延テスト結果IDおよびテストパターンIDとともにモデルデータテーブル600内の各項目に設定されて、新たなレコードとして記憶される。
このあと、第1の算出部303により、テストパターンtiの測定値Dijと第1パス候補pxの遅延の予測値dxとのズレを算出する(ステップS805)。なお、算出された算出結果は、モデルデータテーブル600内の該当レコードの「ズレ」項目に設定される。
つぎに、第1の決定部302により、「i」をインクリメントして(ステップS806)、「i」が「n」より大きいか否かを判断する(ステップS807)。ここで、「i」が「n」以下の場合(ステップS807:No)、ステップS804に戻る。一方、「i」が「n」より大きい場合(ステップS807:Yes)、第1の決定部302により、「j」をインクリメントして(ステップS808)、「j」が「m」より大きいか否かを判断する(ステップS809)。
ここで、「j」が「m」以下の場合(ステップS809:No)、ステップS803に戻る。一方、「j」が「m」より大きい場合(ステップS809:Yes)、外れ値判定部306により、遅延テスト結果R11〜Rnmの中から外れ値を判定する外れ値判定処理を実行する(ステップS810)。
つぎに、構築部304により、モデルデータテーブル600を参照して、ステップS804において決定された第1パス候補群の中から任意の第1パス候補pxを選択する(ステップS811)。このあと、構築部304により、第1パス候補pxが測定値Dijを決めるテストパターンtiのズレ算出式E(px)ijを構築するズレ算出式構築処理を実行する(ステップS812)。
そして、第2の決定部307により、テストパターンtiで活性化したパス群p[1]〜p[K]の中から測定値Dijを決めるパスpkを決定するパス決定処理を実行する(ステップS813)。つぎに、第2の決定部307により、第1パス候補群の中から選択されていない未選択の第1パス候補pxがあるか否かを判断する(ステップS814)。
ここで、未選択の第1パス候補pxがある場合(ステップS814:Yes)、ステップS811に戻る。一方、未選択の第1パス候補pxがない場合(ステップS814:No)、出力部310により、診断結果テーブル700に記憶されている診断結果700−1〜700−nを出力して(ステップS815)、本フローチャートによる一連の処理を終了する。
これにより、診断対象となるチップCjの遅延テストで得られるテストパターンtiの測定値Dijをパスpkに正しく割り当てることができる。
<外れ値判定処理手順>
つぎに、図8に示したステップS810の外れ値判定処理の具体的処理手順について説明する。図9は、外れ値判定処理の具体的処理手順の一例を示すフローチャートである。図9のフローチャートにおいて、まず、第1の算出部303により、「i」を「i=1」で初期化する(ステップS901)。
このあと、第1の算出部303により、全チップC1〜Cmでのテストパターンtiの測定値Dijの平均値Mを算出する(ステップS902)。そして、第1の算出部303により、テストパターンtiの平均値Mのα[%]を求めることで閾値Hを算出する(ステップS903)。
つぎに、外れ値判定部306により、「j」を「j=1」で初期化して(ステップS904)、テストパターンtiの測定値Dijと平均値Mとの差分を算出する(ステップS905)。そして、外れ値判定部306により、算出された差分が閾値H以上か否かを判断する(ステップS906)。
ここで、閾値H未満の場合(ステップS906:No)、ステップS908に移行する。一方、閾値H以上の場合(ステップS906:Yes)、外れ値判定部306により、モデルデータテーブル600内の該当レコードの「外れ値フラグ」項目に「Y」を設定する(ステップS907)。
このあと、外れ値判定部306により、「j」をインクリメントして(ステップS908)、「j」が「m」より大きいか否かを判断する(ステップS909)。ここで、「j」が「m」以下の場合(ステップS909:No)、ステップS905に戻る。
一方、「j」が「m」より大きい場合(ステップS909:Yes)、外れ値判定部306により、「i」をインクリメントして(ステップS910)、「i」が「n」より大きいか否かを判断する(ステップS911)。
ここで、「i」が「n」以下の場合(ステップS911:No)、ステップS902に戻る。一方、「i」が「n」より大きい場合(ステップS911:Yes)、図8に示したステップS811に移行する。
これにより、遅延故障やランダムばらつきなどの要素によるズレを含む遅延テスト結果Rijを外れ値として、ズレ算出式E(px)ijの構築対象から除外することができる。
<ズレ算出式構築処理手順>
つぎに、図8に示したステップS812のズレ算出式構築処理の具体的処理手順について説明する。図10は、ズレ算出式構築処理の具体的処理手順の一例を示すフローチャートである。図10のフローチャートにおいて、まず、構築部304により、「j」を「j=1」で初期化する(ステップS1001)。
そして、構築部304により、テストパターン群t1〜tnの中から、第1パス候補pxが測定値Dijを決めるテストパターンtiを選択する(ステップS1002)。このあと、構築部304により、モデルデータテーブル600内の遅延テスト結果Rijの「外れ値フラグ」項目に「Y」が設定されているか否かを判断する(ステップS1003)。
ここで、「外れ値フラグ」項目に「Y」が設定されている場合(ステップS1003:Yes)、ステップS1005に移行する。一方、「外れ値フラグ」項目に「N」が設定されている場合(ステップS1003:No)、構築部304により、テストパターンtiのズレ算出式E(px)ijを構築する(ステップS1004)。
そして、構築部304により、ステップS1002において選択されていない第1パス候補pxが測定値Dijを決める未選択のテストパターンtiがあるか否かを判断する(ステップS1005)。ここで、未選択のテストパターンtiがある場合(ステップS1005:Yes)、ステップS1002に戻る。
一方、未選択のテストパターンtiがない場合(ステップS1005:No)、構築部304により、「j」をインクリメントして(ステップS1006)、「j」が「m」より大きいか否かを判断する(ステップS1007)。ここで、「j」が「m」以下の場合(ステップS1007:No)、ステップS1002に戻る。
一方、「j」が「m」より大きい場合(ステップS1007:Yes)、第2の算出部305により、モデルデータテーブル600を参照して、各ズレ算出式E(px)ijにDev(px)ijを代入する(ステップS1008)。このDev(px)ijは、図8に示したステップS805において算出されたズレである。
つぎに、第2の算出部305により、遅延テスト結果Rijの「活性化パスID」項目を参照して、各ズレ算出式E(px)ijに含まれるA(p1)ij〜A(pK)ijに「0」または「1」を代入する(ステップS1009)。
そして、第2の算出部305により、複数のズレ算出式E(px)ijを用いて回帰問題を解くことにより、各ズレ算出式E(px)ijに含まれるw(p1)〜w(pK)の値を算出して(ステップS1010)、図8に示したステップS813に移行する。
これにより、チップC1〜Cmの遅延テスト結果R11〜Rnmを用いて、テストパターンtiで同時に活性化した各パスp[1]〜p[K]のDev(px)ijへ与える影響度を統計的に求めることができる。
<パス決定処理手順>
つぎに、図8に示したステップS813のパス決定処理の具体的処理手順について説明する。図11および図12は、パス決定処理の具体的処理手順の一例を示すフローチャートである。図11のフローチャートにおいて、まず、選択部308により、テストパターン群t1〜tnの中から、第1パス候補pxが測定値Dijを決めるテストパターンtiを選択する(ステップS1101)。
このあと、選択部308により、「ct1」および「ct2」を「ct1=0、ct2=0」で初期化する(ステップS1102)。そして、選択部308により、「j」を「j=1」で初期化する(ステップS1103)。
つぎに、選択部308により、テストパターンtiで活性化したパス群p[1]〜p[K]の中から第2パス候補py(x≠y)を選択する(ステップS1104)。このあと、抽出部309により、テストパターン群t1〜tnの中から、第1パス候補pxが測定値を決めると決定され、かつ、第2パス候補pyが活性化していないテストパターンtaを抽出する(ステップS1105)。
さらに、抽出部309により、テストパターン群t1〜tnの中から、第2パス候補pyが測定値を決めると決定され、かつ、第1パス候補pxが活性化していないテストパターンtbを抽出する(ステップS1106)。そして、第2の決定部307により、テストパターンtaの測定値Dajとテストパターンtbの測定値Dbjとを比較する(ステップS1107)。
つぎに、第2の決定部307により、測定値Dajが測定値Dbj以上か否かを判断する(ステップS1108)。ここで、測定値Dajが測定値Dbj以上の場合(ステップS1108:Yes)、第2の決定部307により、「ct1」をインクリメントして(ステップS1109)、ステップS1110に移行する。
一方、測定値Dajが測定値Dbj未満の場合(ステップS1108:No)、第2の決定部307により、「ct2」をインクリメントする(ステップS1111)。そして、第2の決定部307により、「j」をインクリメントして(ステップS1110)、「j」が「m」より大きいか否かを判断する(ステップS1112)。
ここで、「j」が「m」以下の場合(ステップS1112:No)、ステップS1107に戻る。一方、「j」が「m」より大きい場合(ステップS1112:Yes)、図12に示すステップS1113に移行する。
図12のフローチャートにおいて、まず、第2の決定部307により、「ct1」が「ct2」より大きいか否かを判断する(ステップS1113)。ここで、「ct1」が「ct2」より大きい場合(ステップS1113:Yes)、第2の決定部307により、第1パス候補pxをテストパターンtiの測定値Dijを決めるパスpkに決定する(ステップS1114)。
さらに、第2の決定部307により、第1パス候補pxと第2パス候補pyをノイズの発生原因となるパスペアに決定して(ステップS1115)、ステップS1116に移行する。なお、決定された決定結果は、診断結果テーブル700に新たなレコードとして記憶される。
また、ステップS1113において、「ct1」が「ct2」以下の場合(ステップS1113:No)、第2の決定部307により、「ct2」が「ct1」より大きいか否かを判断する(ステップS1117)。
ここで、「ct2」が「ct1」より大きい場合(ステップS1117:Yes)、第2の決定部307により、第2パス候補pyをテストパターンtiの測定値Dijを決めるパスpkに決定して(ステップS1118)、ステップS1116に移行する。なお、決定された決定結果は、診断結果テーブル700に新たなレコードとして記憶される。
一方、「ct1」と「ct2」が等しい場合(ステップS1117:No)、第2の決定部307により、第1パス候補pxおよび第2パス候補pyをテストパターンtiの測定値Dijを決めるパスpkに決定する(ステップS1119)。
このあと、選択部308により、テストパターン群t1〜tnの中から選択されていない第1パス候補pxが測定値Dijを決めるテストパターンtiがあるか否かを判断する(ステップS1116)。
ここで、未選択のテストパターンtiがある場合(ステップS1116:Yes)、図11に示したステップS1101に戻る。一方、未選択のテストパターンtiがない場合(ステップS1116:No)、図8に示したステップS814に移行する。
これにより、第1パス候補pxとの間で遅延の真値が逆転している、または、第1パス候補pxとの間でノイズを発生させている第2パス候補pyを適切に選び出すことができる。また、テストパターンta、tbの測定値Daj、Dbjを用いて、第1および第2パス候補px、pyの間で『真値の逆転』または『ノイズ発生』のどちらが発生しているのかを判断して、テストパターンtiの測定値Dijを決めるパスpkを決定することができる。
以上説明したように、本実施の形態によれば、チップC1〜Cmの遅延テスト結果R11〜Rnmを用いて、テストパターンtiで同時に活性化した各パスp[1]〜p[K]の遅延の予測値と真値のズレを統計的に求めることができる。これにより、第1パス候補pxとの間で遅延の真値が逆転している、または、第1パス候補pxとの間でノイズを発生させている第2パス候補pyを適切に選び出すことができる。
また、本実施の形態によれば、テストパターンtiとは異なる他のテストパターンta、tbの測定値Daj、Dbjを用いて、第1および第2パス候補px、pyの間で『真値の逆転』または『ノイズ発生』のどちらが発生しているのかを判断することができる。これにより、テストパターンtiの測定値Dijを決めるパスpkを特定して、該測定値Dijを正しいパスpkに割り当てることができる。また、チップCj上でノイズを発生させているパスペア(第1、第2パス候補px、py)を特定して、チップCj上でのノイズの影響を抽出することができる。
また、本実施の形態において、テストパターンtiで活性化したパス群p[1]〜p[K]のうち遅延の予測値が最大のパスpkを、テストパターンtiの測定値Dijを決める第1パス候補pxに決定することにしてもよい。これにより、多くのテストパターンtiの測定値Dijを決めるパスpkを第1パス候補pxに決定して、統計的解析で扱うデータ量を増加させることができる。
また、本実施の形態において、テストパターンtiのズレ算出式E(px)ijに含まれるw(p1)〜w(pK)のうち、値が最大のw(pk)に対応するパスpkを第2パス候補pyとして選択することにしてもよい。これにより、遅延の真値が第1パス候補pxの真値を逆転している、または、第1パス候補pxとの間でノイズを発生させている可能性が高いパスpkを第2パス候補pyとすることができる。
また、本実施の形態において、遅延故障やランダムばらつきなどの要素によるズレを含む遅延テスト結果Rijを外れ値として、ズレ算出式E(px)ijの構築対象から除外することにしてもよい。これにより、余計なズレを含む遅延テスト結果Rijを排除して、パスpkの遅延の予測値dkと真値のズレをより正確に求めることができる。
これらのことから、本実施の形態によれば、テストパターンtiの測定値Dijをパスpkに正しく割り当てて、故障診断の信頼性を向上させることができる。
つぎに、故障診断支援装置200から得られる診断結果(たとえば、診断結果700−1〜700−n)を用いたスピードパス解析について説明する。なお、スピードパス解析は、故障診断支援装置200で実行することにしてもよく、また、他のコンピュータ装置で実行することにしてもよい。
スピードパス解析では、より厳密な故障診断を行って、テストパターンtiの測定値DijとパスPの遅延の予測値dPとのズレ「Dev(P)ij」を生む故障原因を特定する。ここで、パスPは、テストパターンtiの測定値Dijを決めるパスである。
スピードパス解析では、パスPの集合、テストパターンtiの測定値Dij、各パスPの予測値dPを入力データとして故障診断支援装置200に与えることで、各パスPの故障原因候補群の中から故障原因を特定する。故障原因候補としては、たとえば、パスPに含まれるリーク削減タイプのゲート数、チップ上でのパスPの位置、パスPが存在する領域内でのスイッチング動作数などがある。
ここで、テストパターンtiの測定値Dijを決めるパスPが第1パス候補pxから第2パス候補pyに変わると、スピードパス解析で扱うパスPの予測値dPと、故障原因候補群が変わる。すなわち、スピードパス解析による故障診断の結果が変わることになる。
以下、スピードパス解析手順を説明する。まず、スピードパス解析では、各パスPをベクトル表現する。具体的には、たとえば、パスPは、下記式(4)を用いてベクトル表現することができる。なお、テストパターンtiの測定値Dijを決めるパスPが第1パス候補pxから第2パス候補pyに変わると、パスPのベクトル成分が変わることになる。
ただし、g[P]は、パスPに含まれるリーク削減タイプのゲート数である。また、loc1[P]〜locN[P]は、パスPがloc1〜locNと定義したチップC上の領域内に存在する場合「1」、存在しない場合「0」となる変数である。また、Sw(P)は、パスPが含まれる領域内でゲートがスイッチングする回数である。
Figure 0005353679
このあと、スピードパス解析では、下記式(5)を用いて、ベクトル表現された各パスPのモデル式を構築する。
ただし、Dev(P)は、テストパターンtiの測定値DijとパスPの遅延の予測値dPとのズレ[ps]である。w[P]、w[P]〜w[P]、w[P]は、テストパターンtiの測定値DijとパスPの遅延の予測値dPとのズレに対する重みを表す変数である。Cは定数である。
Dev(P)=w[P]×g[P]+w[P]×loc1[P]+w[P]×loc2[P]+…+w[P]×locN[P]+w[P]×Sw(P)+C
・・・(5)
そして、スピードパス解析では、上記式(5)を用いて構築される複数のモデル式を用いて回帰問題を解くことにより、w[P]、w[P]〜w[P]、w[P]およびCを求める。最後に、スピードパス解析では、w[P]、w[P]〜w[P]のうち値が大きい(たとえば、最大)、すなわち、ズレに対する重みが大きいものに対応するベクトル成分を故障原因として特定する。
以上説明した実施例によれば、テストパターンtiの測定値Dijを正しいパスPに割り当てた診断結果を用いてスピードパス解析を実行するため、高精度な故障診断を行うことができる。
図13は、故障診断結果の一例を示す説明図である。図13において、診断対象となるチップの故障診断結果を表す棒グラフ1300が表示されている。なお、縦軸は、w[P]、w[P]〜w[P]、w[P]で表す重みの値を示している。ただし、縦軸は、最大の重みを100として正規化されている。また、横軸は、各重みを示している。
棒グラフ1300によれば、たとえば、重みw[P]、w[P]〜w[P]]、w[P]のうち、w[P]およびw[P]の値が大きいことがわかる。このため、チップのリーク削減タイプのゲート数およびスイッチング動作数が遅延故障の原因であることを特定することができる。
なお、本実施の形態で説明した故障診断支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本故障診断支援プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本故障診断支援プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
診断対象となる回路の動作周波数を測定するためのテストパターンごとに、前記回路内の各パスの遅延の予測値に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパス候補を決定する第1の決定手順、
前記第1の決定手順によって決定されたパス候補群のうち任意のパス候補が測定値を決めるテストパターンごとに、当該テストパターンで活性化した各パスの前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレへの影響度をパラメータとして、前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレを表現するモデル式を構築する構築手順、
前記構築手順によって構築されたテストパターンごとのモデル式を用いて、当該各モデル式に含まれる前記パラメータの値を算出する算出手順、
前記算出手順によって算出された算出結果に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパスを決定する第2の決定手順、
前記第2の決定手順によって決定された決定結果を出力する出力手順、
を実行させることを特徴とする故障診断支援プログラム。
(付記2)前記コンピュータに、
前記テストパターンのモデル式に含まれる前記パラメータの値に基づいて、前記任意のパス候補とは異なる他のパス候補を前記パス群の中から選択する選択手順、
前記回路の動作周波数を測定するためのテストパターン群の中から、前記第1の決定手順によって前記任意のパス候補が測定値を決めると決定され、かつ、前記他のパス候補が活性化していない第1のテストパターンを抽出する第1の抽出手順、
前記テストパターン群の中から、前記第1の決定手順によって前記他のパス候補が測定値を決めると決定され、かつ、前記任意のパス候補が活性化していない第2のテストパターンを抽出する第2の抽出手順を実行させ、
前記第2の決定手順は、前記第1および第2の抽出手順によって抽出された第1および第2のテストパターンの測定値を比較することにより、前記任意のパス候補または前記他のパス候補のいずれか一方を、前記テストパターンの測定値を決めるパスに決定することを特徴とする付記1に記載の故障診断支援プログラム。
(付記3)前記選択手順は、前記テストパターンのモデル式に含まれる前記パラメータ群のうち、少なくとも他のパラメータよりも値が大きい一のパラメータに対応するパスを前記他のパス候補として選択することを特徴とする付記2に記載の故障診断支援プログラム。
(付記4)前記第2の決定手順は、前記第1のテストパターンの測定値が前記第2のテストパターンの測定値よりも大きい場合、前記任意のパス候補を前記テストパターンの測定値を決めるパスに決定するとともに、前記任意のパス候補と前記他のパス候補とをノイズの発生原因となるパスペアに決定することを特徴とする付記2または3に記載の故障診断支援プログラム。
(付記5)前記第2の決定手順は、前記第2のテストパターンの測定値が前記第1のテストパターンの測定値よりも大きい場合、前記他のパス候補を前記テストパターンの測定値を決めるパスに決定することを特徴とする付記2〜4のいずれか一つに記載の故障診断支援プログラム。
(付記6)前記構築手順は、前記診断対象に関する回路情報を用いて製造された回路ごとに、前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレを表現するモデル式を構築することを特徴とする付記1〜5のいずれか一つに記載の故障診断支援プログラム。
(付記7)前記コンピュータに、
前記テストパターンごとに、当該テストパターンを前記診断対象に関する回路情報を用いて製造された回路に与えて得られる当該回路ごとの測定値の平均値を算出する平均値算出手順、
前記平均値算出手順によって算出されたテストパターンごとの平均値に基づいて、前記テストパターンの前記回路ごとの測定値の中から外れ値を判定する外れ値判定手順を実行させ、
前記構築手順は、前記任意のパス候補が測定値を決めると決定された複数のテストパターンのうち、前記外れ値判定手順によって外れ値として判定された測定値のテストパターンを、前記モデル式の構築対象から除外することを特徴とする付記1〜6のいずれか一つに記載の故障診断支援プログラム。
(付記8)前記第1の決定手順は、前記テストパターンで活性化したパス群のうち遅延の予測値が最大のパスを、当該テストパターンの測定値を決めるパス候補に決定することを特徴とする付記1〜7のいずれか一つに記載の故障診断支援プログラム。
(付記9)診断対象となる回路の動作周波数を測定するためのテストパターンごとに、前記回路内の各パスの遅延の予測値に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパス候補を決定する第1の決定手段と、
前記第1の決定手段によって決定されたパス候補群のうち任意のパス候補が測定値を決めるテストパターンごとに、当該テストパターンで活性化した各パスの前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレへの影響度をパラメータとして、前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレを表現するモデル式を構築する構築手段と、
前記構築手段によって構築されたテストパターンごとのモデル式を用いて、当該各モデル式に含まれる前記パラメータの値を算出する算出手段と、
前記算出手段によって算出された算出結果に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパスを決定する第2の決定手段と、
前記第2の決定手段によって決定された決定結果を出力する出力手段と、
を備えることを特徴とする故障診断支援装置。
200 故障診断支援装置
301 取得部
302 第1の決定部
303 第1の算出部
304 構築部
305 第2の算出部
306 外れ値判定部
307 第2の決定部
308 選択部
309 抽出部
310 出力部
400 遅延テスト結果ファイル
500 遅延解析結果
600 モデルデータテーブル

Claims (6)

  1. コンピュータに、
    診断対象となる回路の動作周波数を測定するためのテストパターンごとに、前記回路内の各パスの遅延の予測値に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパス候補を決定する第1の決定手順、
    前記第1の決定手順によって決定されたパス候補群のうち任意のパス候補が測定値を決めるテストパターンごとに、当該テストパターンで活性化した各パスの前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレへの影響度をパラメータとして、前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレを表現するモデル式を構築する構築手順、
    前記構築手順によって構築されたテストパターンごとのモデル式を用いて、当該各モデル式に含まれる前記パラメータの値を算出する算出手順、
    前記算出手順によって算出された算出結果に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパスを決定する第2の決定手順、
    前記第2の決定手順によって決定された決定結果を出力する出力手順、
    を実行させることを特徴とする故障診断支援プログラム。
  2. 前記コンピュータに、
    前記テストパターンのモデル式に含まれる前記パラメータの値に基づいて、前記任意のパス候補とは異なる他のパス候補を前記パス群の中から選択する選択手順、
    前記回路の動作周波数を測定するためのテストパターン群の中から、前記第1の決定手順によって前記任意のパス候補が測定値を決めると決定され、かつ、前記他のパス候補が活性化していない第1のテストパターンを抽出する第1の抽出手順、
    前記テストパターン群の中から、前記第1の決定手順によって前記他のパス候補が測定値を決めると決定され、かつ、前記任意のパス候補が活性化していない第2のテストパターンを抽出する第2の抽出手順を実行させ、
    前記第2の決定手順は、
    前記第1および第2の抽出手順によって抽出された第1および第2のテストパターンの測定値を比較することにより、前記任意のパス候補または前記他のパス候補のいずれか一方を、前記テストパターンの測定値を決めるパスに決定することを特徴とする請求項1に記載の故障診断支援プログラム。
  3. 前記選択手順は、
    前記テストパターンのモデル式に含まれる前記パラメータ群のうち、少なくとも他のパラメータよりも値が大きい一のパラメータに対応するパスを前記他のパス候補として選択することを特徴とする請求項2に記載の故障診断支援プログラム。
  4. 前記第2の決定手順は、
    前記第1のテストパターンの測定値が前記第2のテストパターンの測定値よりも大きい場合、前記任意のパス候補を前記テストパターンの測定値を決めるパスに決定するとともに、前記任意のパス候補と前記他のパス候補とをノイズの発生原因となるパスペアに決定することを特徴とする請求項2または3に記載の故障診断支援プログラム。
  5. 前記第2の決定手順は、
    前記第2のテストパターンの測定値が前記第1のテストパターンの測定値よりも大きい場合、前記他のパス候補を前記テストパターンの測定値を決めるパスに決定することを特徴とする請求項2〜4のいずれか一つに記載の故障診断支援プログラム。
  6. 診断対象となる回路の動作周波数を測定するためのテストパターンごとに、前記回路内の各パスの遅延の予測値に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパス候補を決定する第1の決定手段と、
    前記第1の決定手段によって決定されたパス候補群のうち任意のパス候補が測定値を決めるテストパターンごとに、当該テストパターンで活性化した各パスの前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレへの影響度をパラメータとして、前記テストパターンの測定値と前記任意のパス候補の遅延の予測値とのズレを表現するモデル式を構築する構築手段と、
    前記構築手段によって構築されたテストパターンごとのモデル式を用いて、当該各モデル式に含まれる前記パラメータの値を算出する算出手段と、
    前記算出手段によって算出された算出結果に基づいて、前記テストパターンで活性化したパス群の中から当該テストパターンの測定値を決めるパスを決定する第2の決定手段と、
    前記第2の決定手段によって決定された決定結果を出力する出力手段と、
    を備えることを特徴とする故障診断支援装置。
JP2009286877A 2009-12-17 2009-12-17 故障診断支援プログラム、および故障診断支援装置 Expired - Fee Related JP5353679B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009286877A JP5353679B2 (ja) 2009-12-17 2009-12-17 故障診断支援プログラム、および故障診断支援装置
US12/968,550 US8448031B2 (en) 2009-12-17 2010-12-15 Computer product and apparatus for failure diagnosis support

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009286877A JP5353679B2 (ja) 2009-12-17 2009-12-17 故障診断支援プログラム、および故障診断支援装置

Publications (2)

Publication Number Publication Date
JP2011128023A JP2011128023A (ja) 2011-06-30
JP5353679B2 true JP5353679B2 (ja) 2013-11-27

Family

ID=44152885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009286877A Expired - Fee Related JP5353679B2 (ja) 2009-12-17 2009-12-17 故障診断支援プログラム、および故障診断支援装置

Country Status (2)

Country Link
US (1) US8448031B2 (ja)
JP (1) JP5353679B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6056174B2 (ja) * 2012-03-30 2017-01-11 富士通株式会社 故障診断方法、故障診断装置及びプログラム
US8904329B2 (en) 2013-01-07 2014-12-02 International Business Machines Corporation Systems and methods for single cell product path delay analysis
JP6070337B2 (ja) * 2013-03-25 2017-02-01 富士通株式会社 物理故障解析プログラム、物理故障解析方法および物理故障解析装置
JP2019036199A (ja) * 2017-08-18 2019-03-07 富士通株式会社 情報処理装置、タイミングエラー解析プログラム及びタイミングエラー解析方法
JP7269896B2 (ja) * 2020-02-17 2023-05-09 ルネサスエレクトロニクス株式会社 故障診断装置および故障診断方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5422891A (en) * 1993-07-23 1995-06-06 Rutgers University Robust delay fault built-in self-testing method and apparatus
JP2000194738A (ja) * 1998-12-28 2000-07-14 Matsushita Electric Ind Co Ltd 論理回路のタイミング解析装置
JP3667665B2 (ja) 2001-08-01 2005-07-06 松下電器産業株式会社 集積回路の特性評価方法及びその設計方法
US6708139B2 (en) * 2002-04-30 2004-03-16 Agilent Technologies, Inc. Method and apparatus for measuring the quality of delay test patterns
US7082558B2 (en) * 2002-11-25 2006-07-25 Texas Instruments Incorporated Increasing possible test patterns which can be used with sequential scanning techniques to perform speed analysis
JP2005083895A (ja) 2003-09-09 2005-03-31 Matsushita Electric Ind Co Ltd 半導体装置のテスト方法
US7428716B2 (en) * 2003-09-19 2008-09-23 International Business Machines Corporation System and method for statistical timing analysis of digital circuits
US20050246599A1 (en) * 2004-04-30 2005-11-03 Texas Instruments Incorporated System and method for testing input and output characterization on an integrated circuit device
JP5262985B2 (ja) * 2009-05-19 2013-08-14 富士通株式会社 遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法

Also Published As

Publication number Publication date
US8448031B2 (en) 2013-05-21
JP2011128023A (ja) 2011-06-30
US20110154139A1 (en) 2011-06-23

Similar Documents

Publication Publication Date Title
JP5353679B2 (ja) 故障診断支援プログラム、および故障診断支援装置
JP5471432B2 (ja) 検証支援プログラム、および検証支援装置
Keim et al. A rapid yield learning flow based on production integrated layout-aware diagnosis
US7437694B1 (en) System and method for determining and identifying signals that are relevantly determined by a selected signal in a circuit design
US20040205681A1 (en) Calculation system of fault coverage and calculation method of the same
JP6877735B2 (ja) 製造不良原因の探索支援方法及び情報処理装置
CN105468517B (zh) 一种基于黑盒测试用例约简的统计错误定位方法
JP2010286383A (ja) 故障箇所推定装置、故障箇所推定方法及びプログラム
JP4636989B2 (ja) 遅延解析装置、遅延解析方法、遅延解析プログラム、および記録媒体
JP5262985B2 (ja) 遅延故障検査プログラム、遅延故障検査装置、および遅延故障検査方法
JP6036134B2 (ja) 設計支援装置、設計支援方法、および設計支援プログラム
US20100194436A1 (en) Verification support system and method
Yu et al. An effective and flexible multiple defect diagnosis methodology using error propagation analysis
Mittal et al. Test chip design for optimal cell-aware diagnosability
JP6070337B2 (ja) 物理故障解析プログラム、物理故障解析方法および物理故障解析装置
JP5370256B2 (ja) 解析支援プログラム、解析支援装置および解析支援方法
CN104715095A (zh) 一种图形化时钟质量检测分析的方法
Nakamura et al. Evaluation of understandability of uml class diagrams by using word similarity
US8468409B2 (en) Speed-path debug using at-speed scan test patterns
JP4747036B2 (ja) Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法
Chen et al. On diagnosis of timing failures in scan architecture
CN111241766A (zh) 测试方法与测试系统
Chafouk et al. Soft computing algorithm to data validation in aerospace systems using parity space approach
Jindal et al. Elura: A methodology for post-silicon gate-level error localization using regression analysis
JP2012073148A (ja) 故障診断装置、故障診断方法、及び故障診断プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130812

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees