JP4496006B2 - 故障候補特定システムおよび故障候補特定方法 - Google Patents

故障候補特定システムおよび故障候補特定方法 Download PDF

Info

Publication number
JP4496006B2
JP4496006B2 JP2004142091A JP2004142091A JP4496006B2 JP 4496006 B2 JP4496006 B2 JP 4496006B2 JP 2004142091 A JP2004142091 A JP 2004142091A JP 2004142091 A JP2004142091 A JP 2004142091A JP 4496006 B2 JP4496006 B2 JP 4496006B2
Authority
JP
Japan
Prior art keywords
failure
node
candidate
fail
search tree
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
JP2004142091A
Other languages
English (en)
Other versions
JP2005326161A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004142091A priority Critical patent/JP4496006B2/ja
Priority to US11/128,136 priority patent/US7464296B2/en
Publication of JP2005326161A publication Critical patent/JP2005326161A/ja
Application granted granted Critical
Publication of JP4496006B2 publication Critical patent/JP4496006B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • 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/318371Methodologies therefor, e.g. algorithms, procedures

Description

本発明は、半導体装置の故障解析における故障候補特定システムおよび故障候補特定方法に関する。
半導体集積回路の故障解析においては、故障原因を解明する物理解析等を実施するために、テスタでの測定結果をもとに膨大な回路ノード、回路素子の中からその故障原因となりうる故障候補を探さなければならない。同一の故障サンプルで複数箇所、複数原因に対して物理解析を複数回実施することはきわめて困難であるため、物理解析に先だって可能な限り故障候補を絞り込んでおく必要がある。この故障候補特定作業は、故障シミュレーションにより作成された故障辞書と、それらに対応する測定結果を比較することにより行われる。
しかし、故障候補の特定には多大な手間と時間がかるうえ、従来の方法では故障候補の数を絞りきれずに故障原因の解明に失敗する場合も多かった。
特に、近年、半導体製造技術の微細化が進展し、1チップに搭載される回路の大規模化、複雑化が飛躍的に進んでいる。これに伴って故障解析においても、故障候補特定にさらに膨大な手間と時間を要し、故障原因解明がより困難になってきている。一方、配線の多層化、回路の複雑化につれて、物理解析はさらに難しくなっており、故障候補の絞り込みはますます重要になっている。
このような故障解析の困難さを解決する1つの手段として、故障シミュレーションにおける出力期待値と、テスタでの実際の測定結果をテストパターンの各時刻で比較しながら、故障原因を絞り込んでいく方法が特許文献1に記載されている。
しかしながら、この方法では、故障解析のために高価なテスタを占有する必要があるという問題があった。また、不良原因が複数存在する場合などには、テストパターンの各時刻での次のテストパターンの選択をバックトラックしながらテスタ測定を繰り返す必要があり、故障解析の時間、つまり、テスタ占有の時間が飛躍的に長くなるという問題もあった。さらに、故障シミュレーションでの出力期待値との比較で故障候補を絞り込んでいくため、Iddq故障などへの応用が困難であるという問題もあった。
特開2000−155156号公報
本発明は、上記問題点を解決するためになされたもので、故障候補の特定にかかる時間を削減でき、故障解析の効率を向上させることができる故障候補特定システムおよび故障候補特定方法を提供することを目的とする。
本発明の一態様によれば、故障シミュレーションにより作成される故障辞書とテスタ測定によって得られるフェイルログを照合し、半導体装置の故障原因となり得る故障モードを故障候補として抽出する故障候補特定システムであって、前記故障辞書から選択された入力パターンがノードに設定された木構造を有し、前記ノードのルートノードからの経路中に前記入力パターンが重複して存在しない故障候補検索ツリーと、前記ノードが子ノードを有する場合には、前記ノードの前記入力パターンについてDetect故障となる故障モードまたはUndetect故障となる故障モードに注目し、前記ノードの前記入力パターンを除いて、前記注目している故障モードでのDetect故障数とUndetect故障数の差の絶対値が最も小さい入力パターンを前記故障辞書から選択し、前記ノードの前記子ノードとして設定する検索ツリー生成手段と、前記フェイルログ中の前記入力パターンに対する測定結果を示すフェイル情報に基づいて、前記ノードに対応する前記フェイル情報が"Fail"である場合には、前記Detect故障となる故障モードに注目して前記子ノードとして設定されたDノードを検索した後、前記Undetect故障となる故障モードに注目して前記子ノードとして設定されたUノードを検索し、前記ノードに対応する前記フェイル情報が"Pass"である場合には、前記Dノードを検索せずに前記Uノードを検索して前記故障候補を抽出する故障候補検索手段を備えたことを特徴とする故障候補特定システムが提供される。
本発明の別の一態様によれば、故障シミュレーションにより作成される故障辞書とテスタ測定によって得られるフェイルログを照合し、半導体装置の故障原因となり得る故障モードを故障候補として抽出する故障候補特定方法であって、前記故障辞書から選択された入力パターンが設定されているノードが子ノードを有する場合には、前記ノードの前記入力パターンについてDetect故障となる故障モードまたはUndetect故障となる故障モードに注目し、前記ノードの前記入力パターンを除いて、前記注目している故障モードでのDetect故障数とUndetect故障数の差の絶対値が最も小さい入力パターンを前記故障辞書から選択して前記ノードの前記子ノードとして設定し、木構造を有する故障候補検索ツリーを構築する検索ツリー構築ステップと、前記フェイルログ中の前記入力パターンに対する測定結果を示すフェイル情報に基づいて、前記ノードに対応する前記フェイル情報が"Fail"である場合には、前記Detect故障となる故障モードに注目して前記子ノードとして設定されたDノードを検索した後、前記Undetect故障となる故障モードに注目して前記子ノードとして設定されたUノードを検索し、前記ノードに対応する前記フェイル情報が"Pass"である場合には、前記Dノードを検索せずに前記Uノードを検索して前記故障候補を抽出する故障候補検索ステップを備えたことを特徴とする故障候補特定方法が提供される。
本発明によれば、故障候補検索ツリーを構築することで故障辞書と測定結果の比較を効率よく行うことができるので、故障候補の特定にかかる時間を削減でき、故障解析の効率を向上させることができる。
以下、図面を参照しながら、本発明の実施例を説明する。
図1は、本発明の実施例に係わる故障候補特定システムの構成を示すブロック図である。ここでは、主に、故障候補検索ツリー11の構築とそれを用いた故障候補12の絞り込みにかかわる部分を示した。
本発明の実施例に係わる故障候補特定システムは、故障辞書格納部13、検索ツリー生成部14、テストベクトル生成部15、故障候補検索部16、および表示部17を備えている。
故障辞書格納部13には、故障シミュレーション18によって作成された故障辞書19が記憶されている。故障辞書19は、入力パターンに対して各故障モードを仮定した故障シミュレーション18を行い、Detect故障(検出故障。以下、「D故障」という。)、Undetect故障(未検出故障。以下、「U故障」という。)をリストアップしたテーブルである。
検索ツリー生成部14は、故障辞書格納部13に記憶された故障辞書19を用いて、故障候補12を特定するための故障候補検索ツリー11を構築し、これをテストベクトル生成部15および故障候補検索部16へ出力する。
テストベクトル生成部15は、検索ツリー生成部14から受信した故障候補検索ツリー11に基づいて、解析対象である半導体装置(以下、「解析対象」という。)をテスタ20で測定するためのテストベクトルを生成し、これをテスタ20へ出力する。
故障候補検索部16は、テスタ20による測定結果であるフェイルログ21と、検索ツリー生成部14からの故障候補検索ツリー11を受信して、これらに基づいて、故障モードの絞り込みを行い、故障候補12として表示部17へ出力する。
表示部17は、故障候補検索部16から受信した故障候補12を端末機器などに出力する。
図2は、本発明の実施例に係わる故障候補特定システムで使用される故障辞書19を示すイメージ図である。
テストパターンは、解析対象への入力で、複数のアドレスから構成され、各アドレスは時間的な変化のない論理値の組み合わせである。
ここでは、一例として、5つのアドレス(以下、「アドレス1〜5」という。)からなる1つのテストパターン(以下、「テストパターン1」という。)を示した。
また、故障辞書19は、11個の故障モード(以下、「故障A〜K」という。)に対するシミュレーション結果(D故障またはU故障。図のテーブル中では“D”または“U”と表示する。以下、これらを総称して「故障データ」という。)と、故障モード数で構成されている。
故障モードは、故障箇所と故障状態の組み合せであり、故障状態には、例えば、0固定故障や1固定故障などがある。
D故障は、その入力パターン(図2では、各アドレス。)で、その故障モードを検出可能なことを意味し、もし、その故障モードが実際に解析対象に存在すれば、この入力パターンによるテスタ測定での結果は“Fail”になる。
逆に、U故障は、その入力パターン(図2では、各アドレス。)では、その故障モードを検出できないことを意味し、たとえその故障モードが実際に解析対象に存在しても、この入力パターンによるテスタ測定での結果は“Pass”になる。
例えば、テストパターン1のアドレス1(以下、「アドレス1−1」のように表す。)では、故障A〜DがD故障であり、故障E〜KがU故障である。
ここで、重要なことは、U故障がその故障モードの存在を否定するものではないことである。すなわち、ある入力パターンでU故障となる故障モードであっても、別の入力パターンでは、D故障になる可能性は残っている。
したがって、実際の故障シミュレーション18では、対象となる故障モードに対して、可能な限り多くのアドレスの組合せを実行しておくことが望ましい。
故障モード数には、図2に示したように、そのアドレスでD故障となる故障モードの数とU故障となる故障モードの数が記録されている。
また、図2右下の矢印は、アドレス1−4が故障候補検索ツリー11のルートノードとして選択されることを示している。
図3は、本発明の実施例に係わる故障候補特定システムの故障候補検索ツリー11を示すイメージ図である。ここでは、一例として、図2で示した故障辞書19に基づいて故障候補12を特定するための故障候補検索ツリー11を示した。
本発明の実施例に係わる故障候補特定システムの故障候補検索ツリー11は、深さ“0”のルートノード、深さ“1”の2つの子ノード、深さ“2”の4つの孫ノード、および深さ“3”の3つの曾孫ノードを持つ2分木構造を有している。
各ノードは、D故障である故障モード(以下、「D候補」という。)とU故障である故障モード(以下、「U候補」という。)に基づいてそれぞれ選択される2つの子ノードを持つ。以下、D候補に基づいて選択される子ノードを「Dノード」、U候補に基づいて選択される子ノードを「Uノード」という。
DノードのD候補とU候補(以下、これらを総称して[注目候補]という。)を合わせたものは、親ノードのD候補と同じであり、Uノードの注目候補は親ノードのU候補と同じになっている。
また、故障候補検索ツリー11は順序木でもあり、Dノードが「兄ノード」、Uノードが「弟ノード」である。図3では、Dノードを左側に、Uノードを右側に記してある。
各ノードの左上に示した“[]”で囲まれた数字はノード番号を表し、その横の“−”で結ばれた数字は、図2に示したアドレスを表している。
さらに、D候補またはU候補が1つであるノードは、対応する子ノードが存在しない。例えば、図3に示したように、ノード“[3] 1−1”は、D候補が故障CだけなのでDノードを持っていない。
さらに、図3では該当するノードはないが、注目候補が複数あっても、必ずしもその子ノードが存在するとは限らない。
次に、上述した構成を持つ故障候補特定システムの故障候補特定方法について説明する。図4は、本発明の実施例に係わる故障候補特定システムの動作を示す全体フロー図である。ここでは、主に、故障候補特定方法にかかわる部分を示した。
本発明の実施例に係わる故障候補特定方法は、故障辞書作成ステップ41、検索ツリー構築ステップ42、テストベクトル合成ステップ43、測定ステップ44、故障候補検索ステップ45、および表示ステップ46から構成されている。
故障辞書作成ステップ41では、まず、故障シミュレーション18により、検出すべき故障モードに対して可能な限り多くのアドレスの組み合せがシミュレーションされる。そして、それぞれのアドレスについて各故障モードがD故障であるかU故障であるかが判定され、図2に示したような故障辞書19が作成される。
D故障であるかU故障であるかの判定基準には、出力のいわゆる期待値比較ばかりでなく、解析対象の電流値変化(異常電流の検知)なども用いられる。
ここで作成された故障辞書19は、故障辞書格納部13に記憶される。
検索ツリー構築ステップ42では、検索ツリー生成部14が、故障辞書作成ステップ41で作成された故障辞書19を読み込み、後述するツリー構築方法に従って、図3に示したような2分木構造を持つ故障候補検索ツリー11を構築する。
そして、構築された故障候補検索ツリー11を内部データとしてテストベクトル生成部15および故障候補検索部16へ出力する。
テストベクトル合成ステップ43では、テストベクトル生成部15が、受信した故障候補検索ツリー11に基づいて、テスタ20で実際に測定するためのテストベクトル47を合成しテスタ20へ出力する。
実際に生成されるテストベクトル47は、故障候補検索ツリー11で使用されている全アドレスが重複なく時系列に並んだものである。例えば、図3の場合、アドレス1−1はツリーのノードとして3回出現しているが、テスタ20での測定は1回だけでよい。
他のノードについても同様で、すなわち、図3の故障候補検索ツリー11から合成されるテストベクトル47は、アドレスの順序を除いて、図2のテストパターン1と同じものになる。
測定ステップ44では、テストベクトル合成ステップ43で合成されたテストベクトル47を用いて、被検体である半導体装置がテスタ20により測定され、測定結果がフェイルログ21として出力される。
故障候補検索ステップ45では、故障候補検索部16が、フェイルログ21と故障候補検索ツリー11に基づいて、後述するツリー検索方法に従って故障モードの絞り込みを行う。
そして、ここで抽出された故障モードを故障候補12として表示部17へ出力する。
表示ステップ46では、表示部17が、受信した故障候補12をそれらの経路情報とともに故障候補リスト48として表示する。
経路情報は、その故障モードを特定するために故障候補検索ツリー11上で検索されたルートノードからの経路を示しており、故障候補リスト48には、ノード番号、アドレスおよびテスタ20での測定結果(以下、個々のアドレスに対する測定結果を「フェイル情報」という。)がツリーの深さ順に表示される。
図5は、本発明の実施例に係わる故障候補特定システムにおける故障候補の経路情報を示すテーブルである。ここでは、一例として、図2の故障A〜Kに対する図3の故障候補検索ツリー11における経路情報を示した。
例えば、故障Aは、アドレス1−4のフェイル情報が“Fail”で、かつ、アドレス1−5のフェイル情報が“Pass”で、かつ、アドレス1−1のフェイル情報が“Fail”の場合に、故障候補12として抽出され、表示される。
測定結果における“Pass”または“Fail”の判定基準は、故障辞書作成ステップ41における故障シミュレーション18でのD故障またはU故障の判定基準と同様である。
図5にはすべての故障モードについて経路情報が示されているが、故障候補リスト48では、測定ステップ44での測定結果(フェイルログ21)に基づいて、故障A〜Kの中から故障候補12が絞り込まれ、表示される。
次に、上述した検索ツリー構築ステップ42における故障候補検索ツリー11の構築方法について説明する。図6は、本発明の実施例に係わる故障候補特定方法における故障候補検索ツリー11の構築方法(以下、「ツリー構築方法」という。)を示すフロー図である。ここでは、ツリー構築方法を簡潔に表現するため、自己読み出しルーチンを用いた再帰的な動作フローを示した。
本発明の実施例に係わる故障候補特定方法におけるツリー構築方法は、図6(a)に示すように、初期化ステップ61、ルートノード設定ステップ62、および子ノード設定ステップ63から構成される。
初期化ステップ61では、検索ツリー生成部14は、まず、故障辞書19をルートテーブルにコピーする。ここで作成されたルートテーブルは、引数として子ノード設定ステップ63に渡される。
次に、ルートノード設定ステップ62で、検索ツリー生成部14は、ルートテーブルの故障モード数に基づいて、ルートテーブルの中からルートノードとして設定するアドレスを1つ選択し、故障候補検索ツリー11の根(深さ“0”)に設定する。このルートノードは、D故障数とU故障数の差の絶対値が最も小さいアドレスの中から任意に選択される。
例えば、図2の故障辞書19の場合、D故障数が“6”、U故障数が“5”のアドレス1−4(図中の矢印)が選択され、図3の故障候補検索ツリー11のルートノード(根)に設定される。
次に、子ノード設定ステップ63で、検索ツリー生成部14は、ルートノードの注目候補に基づいて、DノードおよびUノードを選択し、深さ“1”の子ノードに設定する。子ノード設定ステップ63は、再帰的なステップであり、そのフローの途中で自分自身を呼び出して、さらにその子ノードを設定する。このようにして、2分木構造の故障候補検索ツリー11が構築される。
故障候補検索ツリー11が完成すると、検索ツリー生成部14はこれをテストベクトル生成部15および故障候補検索部16へ出力し、検索ツリー構築ステップ42は終了する。
図6(b)は、子ノード設定ステップ63の詳細を示すフロー図である。子ノード設定ステップ63は、再帰的に自分自身を呼び出すDノード設定ステップ64とUノード設定ステップ65、候補テーブルコピーステップ66、Dテーブル更新ステップ67、D候補判定ステップ68、Uテーブル更新ステップ69、およびU候補判定ステップ70から構成されている。
まず、候補テーブルコピーステップ66で、検索ツリー生成部14は、引数として渡されたルートテーブルをコピーし、2つの候補テーブル、すなわち、D候補テーブルおよびU候補テーブルを作成する。D候補テーブルは、Dノード選択のために使用され、U候補テーブルは、Uノード選択のために使用される。
次に、Dテーブル更新ステップ67で、検索ツリー生成部14は、ルートノードのD候補に注目してD候補テーブルを更新する。例えば、図2の場合、アドレス1−4のD故障、つまり、故障A、故障C、故障E、故障G、故障I、および故障KがルートノードのD候補である。
D候補テーブルの更新は、まず、候補テーブルコピーステップ66で作成されたD候補テーブルからルートノードのデータを削除し、次に、ルートノードのD候補に対応する故障データだけを残すことによって実行される。
図7は、本発明の実施例に係わる故障候補特定方法における候補テーブルを示すイメージ図である。図7(a)は、図3の故障候補検索ツリー11におけるルートノードの更新されたD候補テーブルを示している。同様に、図7(b)はそのU候補テーブルを示している。
また、各テーブル左上の数字は、図3に対応して、ノード番号とアドレスを表している。
さらに、図7では、テーブル更新の様子を示すために、ルートテーブルから削除されたデータは“−”で表している。
例えば、図3のルートノードのD候補テーブルでは、図7(a)に示すように、アドレス1−4のすべてのデータと、U候補である故障B、故障D、故障F、故障H、および故障Jに対応する故障データが削除されている。
そして、D候補テーブルの故障モード数は、D候補に対応する故障データのD故障の数およびU故障の数に更新されている。すなわち、例えば、図7(a)におけるアドレス1−1の場合には、D故障の数=“2”、U故障の数=“4”である。
次に、D候補判定ステップ68で、検索ツリー生成部14は、Dテーブル更新ステップ67で更新されたD候補テーブルに基づいて、Dノードの有無を判定する。Dノードの選択基準は、ルートテーブルでのルートノードの選択の場合と同様である。
すなわち、D故障の数またはU故障の数が“0”であるアドレスを除いて、両者の差の絶対値が最も小さいアドレスの中から1つが選択される。
ただし、D候補テーブルに残っているアドレスすべてについて、D故障の数またはU故障の数が“0”である場合には、Dノードは選択されない。
Dノードが存在すれば(“Yes”)、検索ツリー生成部14は、D候補テーブルを引数として子ノード設定ステップ63を呼び出すDノード設定ステップ64に移行し、Dノードが存在しなければ(“No”)、Dノード設定ステップ64をスキップして、Uテーブル更新ステップ69へ移行する。
例えば、図7(a)の場合には、D故障数とU故障数が等しいアドレス1−5が選択され、図3に示したように、深さ“1”のDノード(ノード番号{1})として設定される。
Dノード設定ステップ64は、Dテーブル更新ステップ67で更新されたD候補テーブルを引数として自分自身(子ノード設定ステップ63)を呼び出す再帰的なステップであり、故障候補検索ツリー11の各ノードにおいてその子ノードであるDノードを設定する。
このような再帰的なフローを用いることで、ツリー構築の際のDノードの設定と親ノードへのバックトラックを自然な形で実現することができる。
具体的には、例えば、図3のノード[0]の場合には、図7(a)に示したD候補テーブルを引数として子ノード設定ステップ63を呼び出し、D候補判定ステップ68で選択したアドレス1−5をDノードとして設定する。
呼び出された子ノード設定ステップ63の中で、後述するUノード設定ステップ65での再帰呼び出しとともに、さらに子ノード設定ステップ63を再帰呼び出しすることで、ノード[1]以下の子孫ノード、すなわち、ノード[1]、[3]、[4]、[7]、および[8]を設定する。
Dノードの設定が終了すると、検索ツリー生成部14は、Uテーブル更新ステップ69で、ルートノードのU候補に注目してU候補テーブルを更新する。例えば、図2の場合、アドレス1−4のU故障、つまり、故障B、故障D、故障F、故障H、および故障JがルートノードのU候補である。
そして、U候補テーブルの更新は、前述したD候補テーブルの更新と同様に実行される。例えば、図3のルートノードにおけるU候補テーブルでは、図7(b)に示すように、アドレス1−4のすべてのデータと、D候補である故障A、故障C、故障E、故障G、故障I、および故障Kに対応する故障データが削除されている。
さらに、U候補テーブルの故障モード数は、U候補に対応する故障データのD故障の数およびU故障の数に更新されている。すなわち、例えば、図7(b)におけるアドレス1−1の場合には、D故障の数=“2”、U故障の数=“3”である。
次に、U候補判定ステップ70で、検索ツリー生成部14は、Uテーブル更新ステップ69で更新されたU候補テーブルに基づいて、Uノードの有無を判定する。Uノードの選択基準は、ルートテーブルでのルートノードの選択の場合と同様である。
すなわち、更新されたU候補テーブルで、D故障の数またはU故障の数が“0”であるアドレスを除いて、両者の差の絶対値が最も小さいアドレスの中から1つが選択される。
ただし、更新されたU候補テーブルに残っているアドレスすべてについて、D故障の数またはU故障の数が“0”である場合には、Uノードは選択されない。
Uノードが存在すれば(“Yes”)、検索ツリー生成部14は、U候補テーブルを引数として子ノード設定ステップ63を呼び出すUノード設定ステップ65に移行し、Uノードが存在しなければ(“No”)、Uノード設定ステップ65をスキップして、子ノード設定ステップ63を終了する。
例えば、図7(b)の場合には、D故障数とU故障数の差の絶対値が“1”であるアドレス1−1が選択され、図3に示したように、深さ“1”のUノード(ノード番号{2})として設定される。
Uノード設定ステップ65は、上述したDノード設定ステップ64と同様に、再帰的なステップであり、U候補テーブルを引数として子ノード設定ステップ63を呼び出し、故障候補検索ツリー11の各ノードにおいてその子ノードであるUノードを設定する。
具体的には、例えば、図3のノード[0]の場合には、図7(b)に示したU候補テーブルを引数として子ノード設定ステップ63を呼び出し、U候補判定ステップ70で選択したアドレス1−1をUノードとして設定する。
Uノード設定ステップ65では、Dノード設定ステップ64と同様に、子ノード設定ステップ63を再帰呼び出しすることで、ノード[2]以下の子孫ノード、すなわち、ノード[5]、[6]、および[9]が設定される。
表1は、上述したツリー構築フローに従って、図2の故障辞書19から図3の故障候補検索ツリー11を構築した例を構築されるノード順に示したものである。
Figure 0004496006
図8および図9は、本発明の実施例に係わる故障候補特定方法における候補テーブルの一例を示すイメージ図である。
図8は、ツリーの深さ“1”での各ノードの候補テーブルであり、図9は、ツリーの深さ“2”での各ノードの候補テーブルである。いずれも、図7の候補テーブルと同様に、Dテーブル更新ステップ67またはUテーブル更新ステップ69で更新され、D候補判定ステップ68またはU候補判定ステップ70で使用される。
ここで注意することは、同じアドレスについての候補テーブルであっても、ノード番号、つまり、ルートノードからの経路が異なると、注目候補が異なり、候補テーブルが異なっていることである。
例えば、図8(d)と図9(a)は、ともにアドレス1−1についてのU候補テーブルであるが、ノード番号が異なるため、異なるU候補テーブルになっている。
なお、図9および表1には、子ノードが設定されない場合の候補テーブルは示していない。
次に、上述した故障候補検索ステップ45における故障候補検索ツリー11の検索方法について説明する。図10は、本発明の実施例に係わる故障候補特定方法における故障候補検索ツリー11の検索方法(以下、「ツリー検索方法」という。)を示すフロー図である。ここでは、図6と同様に、再帰的な動作フローを示した。
本発明の実施例に係わる故障候補特定方法におけるツリー検索方法は、図10(a)に示すように、フェイルログ読み込みステップ81、ルートノード取得ステップ82、子ノード検索ステップ83、および故障候補出力ステップ84から構成されている。
まず、故障候補検索部16は、フェイルログ読み込みステップ81で、テスタ20が出力したフェイルログ21を読み込み、アドレスとそのフェイル情報からなるフェイルテーブルを作成する。
次に、ルートノード取得ステップ82で、故障候補検索部16は、検索ツリー生成部14が構築した故障候補検索ツリー11からルートノードを取得する。ここで取得したルートノードは、子ノード検索ステップ83の呼び出しの際に引数として渡される。
次に、子ノード検索ステップ83で、故障候補検索部16は、フェイルログ読み込みステップ81で作成したフェイルテーブルに基づいて、取得したルートノードを起点として故障候補検索ツリー11を検索し、故障候補12を絞り込んでいく。
子ノード検索ステップ83は、上述したツリー構築方法の子ノード設定ステップ63と同様に、再帰的なステップである。また、子ノード検索ステップ83が呼び出される際には、処理するノードが引数として渡される。
子ノード検索が終了すると故障候補出力ステップ84で、故障候補検索部16は、子ノード検索ステップ83で絞り込まれた故障候補12をその経路情報とともに表示部17へ出力し、故障候補検索ステップ45を終了する。
図10(b)は、子ノード検索ステップ83の詳細を示すフロー図である。子ノード検索ステップ83は、再帰的に子ノード検索ステップ83を呼び出すDノード検索ステップ85とUノード検索ステップ86、フェイル情報取得ステップ87、経路情報記憶ステップ88、P/S判定ステップ89、Dノード判定ステップ90、D候補記憶ステップ91、Uノード判定ステップ92、U候補記憶ステップ93、および経路情報除去ステップ94から構成されている。
まず、フェイル情報取得ステップ87で、故障候補検索部16は、フェイルログ読み込みステップ81で作成したフェイルテーブルから引数として渡されたノードのフェイル情報を取得する。
次に、経路情報記憶ステップ88で、故障候補検索部16は、ノード番号、アドレス、および取得したフェイル情報をスタックに積んで一時記憶する。
そして、P/S判定ステップ89で、故障候補検索部16は、そのノードのフェイル情報が“Pass”であるか“Fail”であるかを判定する。もし、“Fail”であれば、そのノードのD候補の中に故障候補12が存在することを意味しているので、故障候補検索部16は、Dノード判定ステップ90へ移行する。
また、もし、フェイル情報が“Pass”であれば、そのノードのD候補の中には故障候補12が存在しないことを意味するので、故障候補検索部16は、Dノードの検索は行わずにUノード判定ステップ92へ移行する。
ここで重要なことは、“Fail”が必ずしもU候補の中に故障候補12が存在しないことを意味してはいない、ということである。したがって、“Fail”の場合には、Dノードの検索が終了した後、さらに、Uノードの検索を行う必要がある。
Dノード判定ステップ90では、故障候補検索部16は、そのノードにDノードが存在するかを判定する。もし、Dノードが存在すれば(“Yes”)、そのDノードを引数として子ノード検索ステップ83を再帰的に呼び出すDノード検索ステップ85へ移行する。
Dノードが存在しない場合(“No”)には、そのD候補を故障候補12として記憶するために、故障候補検索部16はD候補記憶ステップ91へ移行する。
D候補記憶ステップ91では、故障候補検索部16は、故障候補出力ステップ84で故障候補12として表示部17へ出力するために、そのノードのD候補をスタックに積まれている経路情報とともに一時記憶する。
Dノード検索ステップ85またはD候補記憶ステップ91が終了すると、故障候補検索部16は、Uノードの検索を行うために、Uノード判定ステップ92へ移行する。
Uノード判定ステップ92では、故障候補検索部16は、そのノードにUノードが存在するかを判定する。もし、Uノードが存在すれば(“Yes”)、そのUノードを引数として子ノード検索ステップ83を再帰的に呼び出すUノード検索ステップ86へ移行する。
Uノードが存在しない場合(“No”)には、そのU候補を故障候補12として記憶するために、故障候補検索部16はU候補記憶ステップ93へ移行する。
ここで、上述したように、“Fail”が必ずしもU候補の中に故障候補12が存在しないことを意味してはいないので、子ノードを持たないノード(例えば、図3のノード番号[5]。)でフェイル情報が“Fail”の場合でも、そのU候補も故障候補12になりうる。
ただし、先祖ノードがすべてUノードの場合(例えば、図3のノード番号[9]におけるU候補。)には、そのU候補が故障原因であるとは必ずしもいえないので、注意する必要がある。
U候補記憶ステップ93で、故障候補検索部16は、故障候補出力ステップ84で故障候補12として表示部17へ出力するために、そのノードのU候補をスタックに積まれている経路情報とともに一時記憶する。
Uノード検索ステップ86またはU候補記憶ステップ93が終了すると、経路情報除去ステップ94で、故障候補検索部16は、スタックに積まれている現在のノードの経路情報をスタックから取り除き、この子ノード検索ステップ83を終了する。
以上説明したように、故障辞書19に基づき故障候補検索ツリー11を構築し、テスタ20の測定結果であるフェイルログ21を用いてこのツリーを検索することで、各アドレスに対する1回のテスタ測定で効率よく故障候補12を絞り込むことができる。
このため、上述した実施例によれば、故障候補絞り込みで高価なテスタ20を占有する必要がなく、効率よく故障解析を実行することができる。
また、上記実施例によれば、故障候補検索ツリー11の各ノードにおける子ノードをD故障数とU故障数の差の絶対値が小さいアドレスから選択することにより、特定対象となる故障辞書19に対して故障候補検索ツリー11の深さを最小にすることができるので、絞り込みに要する検索時間、ひいては故障解析に要する時間を大幅に短縮することができる。
さらに、上記実施例によれば、故障シミュレーション18およびテスタ測定で“Pass”または“Fail”が判定できる故障であれば同様に絞り込みを実行でき、従来より広い故障モードに柔軟に適用できる。これにより、故障解析の効率を飛躍的に向上させることができる。
上述の実施例では、故障候補検索ツリー11は、検索効率を考慮して2分木であるとしたが、本発明はこれに限られるものではない。例えば、注目候補に対応するD故障数またはU故障数が“0”でないアドレスの全部または一部を子ノードとして設定しても良い。
このような故障候補検索ツリー11は、1つの故障モードに対してツリー上で複数の経路が存在するため、ツリーの構築、検索にかかる時間は増加するが、経路中のアドレスの順序、つまり、入力パターンの履歴に依存する故障も絞り込みの対象とすることができる。
また、上記実施例では、アドレス単位で故障候補検索ツリー11を構築し、検索するとしたが、本発明はこれに限られるものではない。例えば、テストパターン単位で故障候補検索ツリー11を構築し、テスタ20での測定結果に基づいてテストパターンごとに検索することで、機能単位の故障箇所を大局的に特定することもできる。この場合も、実施例と同様に、1つのテストパターンについてのテスタ20での測定は1回でよい。
さらに、このような大局的な絞り込みと実施例で述べたアドレス単位の絞り込みを段階的に併用すれば、大規模な半導体装置の故障解析において、より効率的な故障候補12の特定が可能である。
さらに、上記実施例では、簡潔に表現するため、故障候補検索ツリー11の構築と検索の説明で再帰的な動作フローを用いているが、本発明はこれに限られるものではなく、単純なループと適切な終了条件で置き換えてこれらを実現することもできる。
本発明の実施例に係わる故障候補特定システムの構成を示すブロック図。 本発明の実施例に係わる故障候補特定システムで使用される故障辞書を示すイメージ図。 本発明の実施例に係わる故障候補特定システムの故障候補検索ツリーを示すイメージ図。 本発明の実施例に係わる故障候補特定方法を示すフロー図。 本発明の実施例に係わる故障候補特定システムにおける故障候補の経路情報を示すテーブル。 本発明の実施例に係わる故障候補特定方法における故障候補検索ツリーの構築方法を示すフロー図。 本発明の実施例に係わる故障候補特定方法におけるルートノードの候補テーブルを示すイメージ図。 本発明の実施例に係わる故障候補特定方法における深さ“1”のノードの候補テーブルを示すイメージ図。 本発明の実施例に係わる故障候補特定方法における深さ“2”のノードの候補テーブルを示すイメージ図。 本発明の実施例に係わる故障候補特定方法における故障候補検索ツリーの検索方法を示すフロー図。
符号の説明
11 故障候補検索ツリー
12 故障候補
13 故障辞書格納部
14 検索ツリー生成部
15 テストベクトル生成部
16 故障候補検索部
19 故障辞書
21 フェイルログ
41 故障辞書作成ステップ
42 検索ツリー構築ステップ
43 テストベクトル合成ステップ
44 測定ステップ
45 故障候補検索ステップ

Claims (5)

  1. 故障シミュレーションにより作成される故障辞書とテスタ測定によって得られるフェイルログを照合し、半導体装置の故障原因となり得る故障モードを故障候補として抽出する故障候補特定システムであって、
    前記故障辞書から選択された入力パターンがノードに設定された木構造を有し、前記ノードのルートノードからの経路中に前記入力パターンが重複して存在しない故障候補検索ツリーと、
    前記ノードが子ノードを有する場合には、前記ノードの前記入力パターンについてDetect故障となる故障モードまたはUndetect故障となる故障モードに注目し、前記ノードの前記入力パターンを除いて、前記注目している故障モードでのDetect故障数とUndetect故障数の差の絶対値が最も小さい入力パターンを前記故障辞書から選択し、前記ノードの前記子ノードとして設定する検索ツリー生成手段と、
    前記フェイルログ中の前記入力パターンに対する測定結果を示すフェイル情報に基づいて、前記ノードに対応する前記フェイル情報が"Fail"である場合には、前記Detect故障となる故障モードに注目して前記子ノードとして設定されたDノードを検索した後、前記Undetect故障となる故障モードに注目して前記子ノードとして設定されたUノードを検索し、前記ノードに対応する前記フェイル情報が"Pass"である場合には、前記Dノードを検索せずに前記Uノードを検索して前記故障候補を抽出する故障候補検索手段を備えたことを特徴とする故障候補特定システム。
  2. 前記故障候補検索ツリーに含まれる入力パターンを重複なく抽出し、前記テスタ測定の入力として合成するテストベクトル生成手段をさらに備えたことを特徴とする請求項1に記載の故障候補特定システム。
  3. 故障シミュレーションにより作成される故障辞書とテスタ測定によって得られるフェイルログを照合し、半導体装置の故障原因となり得る故障モードを故障候補として抽出する故障候補特定方法であって、
    前記故障辞書から選択された入力パターンが設定されているノードが子ノードを有する場合には、前記ノードの前記入力パターンについてDetect故障となる故障モードまたはUndetect故障となる故障モードに注目し、前記ノードの前記入力パターンを除いて、前記注目している故障モードでのDetect故障数とUndetect故障数の差の絶対値が最も小さい入力パターンを前記故障辞書から選択して前記ノードの前記子ノードとして設定し、木構造を有する故障候補検索ツリーを構築する検索ツリー構築ステップと、
    前記フェイルログ中の前記入力パターンに対する測定結果を示すフェイル情報に基づいて、前記ノードに対応する前記フェイル情報が"Fail"である場合には、前記Detect故障となる故障モードに注目して前記子ノードとして設定されたDノードを検索した後、前記Undetect故障となる故障モードに注目して前記子ノードとして設定されたUノードを検索し、前記ノードに対応する前記フェイル情報が"Pass"である場合には、前記Dノードを検索せずに前記Uノードを検索して前記故障候補を抽出する故障候補検索ステップを備えたことを特徴とする故障候補特定方法。
  4. 前記故障候補検索ツリーは、
    前記ノードの前記子ノードとして、1つの前記Dノードおよび/または1つの前記Uノードを有する2分木であることを特徴とする請求項3に記載の故障候補特定方法。
  5. 前記故障候補検索ツリーに含まれる入力パターンを重複なく抽出し、前記テスタ測定の入力として合成するテストベクトル合成ステップをさらに備えたことを特徴とする請求項3に記載の故障候補特定方法。
JP2004142091A 2004-05-12 2004-05-12 故障候補特定システムおよび故障候補特定方法 Expired - Fee Related JP4496006B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004142091A JP4496006B2 (ja) 2004-05-12 2004-05-12 故障候補特定システムおよび故障候補特定方法
US11/128,136 US7464296B2 (en) 2004-05-12 2005-05-11 System and method for identifying failure candidates in a semiconductor apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004142091A JP4496006B2 (ja) 2004-05-12 2004-05-12 故障候補特定システムおよび故障候補特定方法

Publications (2)

Publication Number Publication Date
JP2005326161A JP2005326161A (ja) 2005-11-24
JP4496006B2 true JP4496006B2 (ja) 2010-07-07

Family

ID=35310455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004142091A Expired - Fee Related JP4496006B2 (ja) 2004-05-12 2004-05-12 故障候補特定システムおよび故障候補特定方法

Country Status (2)

Country Link
US (1) US7464296B2 (ja)
JP (1) JP4496006B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080263489A1 (en) * 2007-04-23 2008-10-23 Canada Miles G Method to identify and generate critical timing path test vectors
US8234618B2 (en) * 2009-11-03 2012-07-31 Freescale Semiconductor, Inc. Trace reconstruction for silicon validation of asynchronous systems-on-chip
JP2016085152A (ja) * 2014-10-28 2016-05-19 富士通株式会社 診断装置、診断プログラム及び診断方法
CN104484551A (zh) * 2014-11-20 2015-04-01 哈尔滨工业大学 预应力混凝土梁板中无粘结筋极限应力增量的建模与计算方法
CN107291588B (zh) * 2016-04-13 2020-07-17 北京北方华创微电子装备有限公司 一种生成xml日志的方法和装置
US10845792B2 (en) * 2017-03-24 2020-11-24 Kabushiki Kaisha Toshiba Failure diagnosis apparatus, monitoring apparatus, failure diagnosis method and recording medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63298074A (ja) * 1987-05-29 1988-12-05 Nippon Telegr & Teleph Corp <Ntt> 論理集積回路の故障診断装置
JPH03120485A (ja) * 1989-10-03 1991-05-22 Hitachi Ltd 半導体集積回路の故障個所推定方式
JPH11160400A (ja) * 1997-09-24 1999-06-18 Nec Corp 順序回路の故障箇所推定方法及び故障箇所推定における候補抽出並びにその重み付け方法更にはその装置
JP2002267719A (ja) * 2001-03-07 2002-09-18 Toshiba Corp 半導体集積回路及びそのテスト方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6397362B1 (en) * 1997-09-24 2002-05-28 Nec Corporation Fault diagnosis method and system for a sequential circuit
JP3063706B2 (ja) * 1997-09-30 2000-07-12 日本電気株式会社 故障診断装置及びプログラムを記録した機械読み取り可能な記録媒体
JP2000155156A (ja) 1998-11-20 2000-06-06 Matsushita Electric Ind Co Ltd 半導体集積回路の故障診断装置
JP3742087B2 (ja) * 2003-11-07 2006-02-01 株式会社東芝 不良検出システム、不良検出方法及び不良検出プログラム
JP3822212B2 (ja) * 2004-04-07 2006-09-13 株式会社東芝 半導体装置の故障箇所特定システム及び故障箇所特定方法
US7129735B2 (en) * 2004-07-21 2006-10-31 Texas Instruments Incorporated Method for test data-driven statistical detection of outlier semiconductor devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63298074A (ja) * 1987-05-29 1988-12-05 Nippon Telegr & Teleph Corp <Ntt> 論理集積回路の故障診断装置
JPH03120485A (ja) * 1989-10-03 1991-05-22 Hitachi Ltd 半導体集積回路の故障個所推定方式
JPH11160400A (ja) * 1997-09-24 1999-06-18 Nec Corp 順序回路の故障箇所推定方法及び故障箇所推定における候補抽出並びにその重み付け方法更にはその装置
JP2002267719A (ja) * 2001-03-07 2002-09-18 Toshiba Corp 半導体集積回路及びそのテスト方法

Also Published As

Publication number Publication date
US20050256655A1 (en) 2005-11-17
JP2005326161A (ja) 2005-11-24
US7464296B2 (en) 2008-12-09

Similar Documents

Publication Publication Date Title
Petrenko et al. Testing from partial deterministic FSM specifications
Pomeranz et al. Generation of functional broadside tests for transition faults
JP2008089549A (ja) 論理回路における多重故障の故障箇所推定システム、故障箇所推定方法および故障箇所推定用プログラム
JP6245006B2 (ja) テストケース生成装置、方法、及びプログラム
JPH0816378A (ja) プログラム・リバース解析方法および装置
JP4496006B2 (ja) 故障候補特定システムおよび故障候補特定方法
JP6659955B2 (ja) プログラム分析方法、プログラム分析装置および分析プログラム
US20010049802A1 (en) Fault analyzing system, method for pursuing fault origin and information storage medium for storing computer program representative of the method
CN115098362B (zh) 页面测试方法、装置、电子设备以及存储介质
KR100713206B1 (ko) 다중고착 고장 진단을 위한 매칭 방법
JP5067317B2 (ja) 検証支援プログラム、検証支援装置、および検証支援方法
US6681347B1 (en) Method for testing keyboard complied with language code
CN112100972A (zh) 电路校正系统与增加扫描测试涵盖率的方法
CN112765041B (zh) 游戏自动化测试方法、装置及电子设备
JP6369269B2 (ja) 検証支援装置、検証支援方法およびコンピュータプログラム
JP2017041196A (ja) スタブ化対象判定装置、方法、及びプログラム
JP3157047B2 (ja) 電子機器の故障モジュール判別方法
CN116302994B (zh) 一种程序路径的层次化匹配方法、装置、设备及存储介质
JP5910410B2 (ja) 図式プログラムのテストデータ生成装置およびその方法、並びにプログラム
JPH03120485A (ja) 半導体集積回路の故障個所推定方式
JPH0894714A (ja) Lsiの故障箇所推定方法
JP2000155156A (ja) 半導体集積回路の故障診断装置
JP5482165B2 (ja) プログラム及び情報抽出装置
JP2008204187A (ja) 情報処理装置及び情報処理方法
JP2000057014A (ja) テスト装置、テストケース評価装置、およびテスト結果解析装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100222

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: 20100316

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100412

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees