TOP > 国内特許検索 > 半導体論理回路装置の故障診断方法及び故障診断プログラム > 明細書

明細書 :半導体論理回路装置の故障診断方法及び故障診断プログラム

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第4919237号 (P4919237)
公開番号 特開2010-217188 (P2010-217188A)
登録日 平成24年2月10日(2012.2.10)
発行日 平成24年4月18日(2012.4.18)
公開日 平成22年9月30日(2010.9.30)
発明の名称または考案の名称 半導体論理回路装置の故障診断方法及び故障診断プログラム
国際特許分類 G01R  31/28        (2006.01)
FI G01R 31/28 F
請求項の数または発明の数 8
全頁数 19
出願番号 特願2010-092911 (P2010-092911)
分割の表示 特願2004-305064 (P2004-305064)の分割、【原出願日】平成16年10月20日(2004.10.20)
出願日 平成22年4月14日(2010.4.14)
新規性喪失の例外の表示 特許法第30条第1項適用 平成16年7月21日から23日 社団法人情報処理学会主催の「DAシンポジウム2004-システムLSI設計技術とDA-」において文書をもって発表
審査請求日 平成22年5月6日(2010.5.6)
特許権者または実用新案権者 【識別番号】504174135
【氏名又は名称】国立大学法人九州工業大学
発明者または考案者 【氏名】温 暁青
【氏名】梶原 誠司
個別代理人の代理人 【識別番号】100100011、【弁理士】、【氏名又は名称】五十嵐 省三
審査官 【審査官】中村 和正
参考文献・文献 温暁青, 玉本英夫, 樹下行三,IDDQ計測による故障検出と故障診断,日本信頼性学会誌:信頼性,日本,日本信頼性学会,1997年 6月10日,Vol. 19, No. 4,pp. 309-317
X. Wen, H. Tamamoto, K. K. Saluja, K. Kinoshita,Fault diagnosis for physical defects of unknown behaviors,Test Symposium, 2003. ATS 2003. 12th Asian,米国,IEEE,2003年11月16日,pp. 236-241
X. Wen, H. Tamamoto, K. K. Saluja, K. Kinoshita,Fault diagnosis for static CMOS circuits,Test Symposium, 1997. (ATS '97) Proceedings., Sixth Asian,米国,IEEE,1997年11月17日,pp. 282-287
温暁青, 玉本英夫, 樹下行三,トランジスタ短絡故障のIDDQテストベクトルの選択について,電子情報通信学会論文誌. D-I, 情報・システム, I-コンピュータ,日本,社団法人電子情報通信学会,1996年12月25日,Vol. J79-D-I, No. 12,pp. 1113-1122
調査した分野 G01R 31/28
特許請求の範囲 【請求項1】
入力信号線(I,I,…)、出力信号線(O,O,…)及び前記入力信号線と前記出力信号線との間に接続された複数のゲート(G,G,…)を有する半導体論理回路装置(1)の故障診断方法において、
前記半導体論理回路装置の回路情報に従って、前記複数のゲートの1つのゲートのファンアウト信号線(b,b,…)に出現可能な故障論理値を表す記号(X,X,…)を挿入する記号挿入工程と、
テスト入力ベクトル(VEC)を前記半導体論理回路装置の入力信号線に入力して前記記号を前記ファンアウト信号線の番号情報と共に前記半導体論理回路装置の出力信号線に伝播させて該出力信号線に初期シミュレーション出力ベクトル(ISO)を得る信号伝播工程と、
前記挿入された記号のうち、前記初期シミュレーション出力ベクトルに含まれている前記ファンアウト信号線の番号に対応する記号に対して2値論理シミュレーションを行うことにより前記半導体論理回路装置の出力信号線に出力ベクトルを得、該出力ベクトルから前記半導体論理回路装置の期待出力ベクトル(EXO)を除いてシミュレーション出力ベクトル(P,P,…)を得る記号分解工程と、
前記半導体論理回路装置の入力信号線に前記テスト入力ベクトルを入力した際の該半導体論理回路装置の出力信号線に得られる観測出力ベクトル(OBO)と前記シミュレーション出力ベクトルとの比較結果に応じて前記半導体論理回路装置の故障存在被疑領域を特定化する故障診断工程と、
前記半導体論理回路装置の回路情報に従って、故障候補ゲートから到達可能な前記半導体論理回路装置の出力信号線を表す到達可能出力ベクトル(ARO)を演算する到達可能出力ベクトル演算工程と
を具備し、
前記故障診断工程は、
前記テスト入力ベクトルを入力した際の観測出力ベクトル(OBO)と前記テスト入力ベクトルを入力した際の期待出力ベクトル(EXO)とを比較する第1の比較工程と、
前記観測出力ベクトルが前記期待出力ベクトルと不一致のときのみ、前記テスト入力ベクトルを入力した際の前記故障候補ゲート(G)のシミュレーション出力ベクトルと前記観測出力ベクトルとを比較する第2の比較工程と、
前記テスト入力ベクトルを入力した際の前記故障候補ゲートの前記シミュレーション出力ベクトルと前記観測出力ベクトルとが一致したとき、第1のマッチング値を、前記故障候補ゲートの到達可能出力ベクトルによって定められる範囲内の前記観測出力ベクトルと前記期待出力ベクトルとのエラー率及び前記故障候補ゲートの前記半導体論理回路装置の出力信号線までの実質的距離に依存する故障レベルによって演算する第1のマッチング値演算工程と、
前記テスト入力ベクトルを入力した際の前記故障候補ゲートの前記シミュレーション出力ベクトルと前記観測出力ベクトルとが不一致のとき、第2のマッチング値を0とする第2のマッチング値演算工程と、
前記テスト入力ベクトルを入力した際の前記故障候補ゲートの前記シミュレーション出力ベクトルの数の前記第1、第2のマッチング値の平均値を第3のマッチング値として演算する第3のマッチング演算工程と
を具備する半導体論理回路装置の故障診断方法。
【請求項2】
前記第1のマッチング値は、
p(FVEC,G,j)
=(L(G)/Lmax)・(DEF∩ARO)/|ARO|
ただし、FVECはテスト入力ベクトル、
は故障候補ゲート、
jはシミュレーション出力ベクトルの番号(=1,2,…,k)、
DEFは観測出力ベクトルOBOと期待出力ベクトルEXOとの排他的論理オアによる差分ベクトル、
AROは到達可能出力ベクトル、
L(G)は、1)出力信号線の故障レベルをL=1とし、2)あるゲートの出力の故障レベルをLとすると、その入力の故障レベルをL+1とし、3)ゲートの信号線の故障レベルをL,L,…とすれば、そのゲートの出力(信号線の幹)の故障レベルはL,L,…の最大値とする、
ことによって導入される故障レベル、
maxは前記半導体論理回路装置内の最大故障レベル、
によって演算される請求項1に記載の半導体論理回路装置の故障診断方法。
【請求項3】
さらに、前記故障診断工程は、
前記テスト入力ベクトル及び前記故障候補ゲートを行及び列とする前記第3のマッチング値による故障診断値の原始故障診断値表を生成する原始故障診断値表生成工程と、
前記原始故障診断値表にある行及びある列において零でない故障診断値が唯一である必須故障がある存在する場合に、該必須故障を前記原始故障診断値表から削除して対象故障診断値表とし、該必須故障が存在しない場合に、前記原始故障診断値表を対象故障診断値表とする対象故障診断値表生成工程と、
前記対象故障診断値表から前記テスト入力ベクトルに対して零でない少なくとも1つの故障診断値を有する最小故障集合(被覆)より最小被覆を抽出する最小被覆抽出工程と、
前記必須故障がある場合に該必須故障を前記最小被覆に加えて最小故障集合(マルチプレット)とし、必須故障がない場合に、前記最小被覆を最小故障集合(マルチプレット)とする最小故障集合生成工程と
を具備する請求項1に記載の半導体論理回路装置の故障診断方法。
【請求項4】
さらに、前記故障診断工程は、前記最小故障集合を各故障候補ゲート毎の平均故障診断値を用いて順位付けする最小故障集合順位付け工程を具備する請求項3に記載の半導体論理回路装置の故障診断方法。
【請求項5】
入力信号線(I,I,…)、出力信号線(O,O,…)及び前記入力信号線と前記出力信号線との間に接続された複数のゲート(G,G,…)を有する半導体論理回路装置(1)の故障診断プログラムにおいて、
前記半導体論理回路装置の回路情報に従って、前記複数のゲートの1つのゲートのファンアウト信号線(b,b,…)に出現可能な故障論理値を表す記号(X,X,…)を挿入する記号挿入手順と、
テスト入力ベクトル(VEC)を前記半導体論理回路装置の入力信号線に入力して前記記号を前記ファンアウト信号線の番号と共に前記半導体論理回路装置の出力信号線に伝播させて該出力信号線に初期シミュレーション出力ベクトル(ISO)を得る信号伝播手順と、
前記挿入された記号のうち、前記初期シミュレーション出力ベクトルに含まれている前記信号線の番号に対応する記号に対して2値論理シミュレーションを行うことにより前記半導体論理回路装置の出力信号線に出力ベクトルを得、該出力ベクトルから前記半導体論理回路装置の期待出力ベクトル(EXO)を除いてシミュレーション出力ベクトル(P,P,…)を得る記号分解手順と、
前記半導体論理回路装置の入力信号線に前記テスト入力ベクトルを入力した際の該半導体論理回路装置の出力信号線に得られる観測出力ベクトル(OBO)と前記シミュレーション出力ベクトルとの比較結果に応じて前記半導体論理回路装置の故障存在被疑領域を特定化する故障診断手順と、
前記半導体論理回路装置の回路情報に従って、故障候補ゲートから到達可能な前記半導体論理回路装置の出力信号線を表す到達可能出力ベクトル(ARO)を演算する到達可能出力ベクトル演算手順と
を具備し、
前記故障診断手順は、
前記テスト入力ベクトルを入力した際の観測出力ベクトル(OBO)と前記テスト入力ベクトルを入力した際の期待出力ベクトル(EXO)とを比較する第1の比較手順と、
前記観測出力ベクトルが前記期待出力ベクトルと不一致のときのみ、前記テスト入力ベクトルを入力した際の前記故障候補ゲート(G)のシミュレーション出力ベクトルと前記観測出力ベクトルとを比較する第2の比較手順と、
前記テスト入力ベクトルを入力した際の前記故障候補ゲートの前記シミュレーション出力ベクトルと前記観測出力ベクトルとが一致したとき、第1のマッチング値を、前記故障候補ゲートの到達可能出力ベクトルによって定められる範囲内の前記観測出力ベクトルと前記期待出力ベクトルとのエラー率及び前記故障候補ゲートの前記半導体論理回路装置の出力信号線までの実質的距離に依存する故障レベルによって演算する第1のマッチング値演算手順と、
前記テスト入力ベクトルを入力した際の前記故障候補ゲートの前記シミュレーション出力ベクトルと前記観測出力ベクトルとが不一致のとき、第2のマッチング値を0とする第2のマッチング値演算手順と、
前記テスト入力ベクトルを入力した際の前記故障候補ゲートの前記シミュレーション出力ベクトルの数の前記第1、第2のマッチング値の平均値を第3のマッチング値として演算する第3のマッチング演算手順と
を具備することを特徴とする半導体論理回路装置の故障診断プログラム。


【請求項6】
前記第1のマッチング値は、
p(FVEC,G,j)
=(L(G)/Lmax)・(DEF∩ARO)/|ARO|
ただし、FVECはテスト入力ベクトル、
は故障候補ゲート、
jはシミュレーション出力ベクトルの番号(=1,2,…,k)、
DEFは観測出力ベクトルOBOと期待出力ベクトルEXOとの排他的論理オアによる差分ベクトル、
AROは到達可能出力ベクトル、
L(G)は、1)出力信号線の故障レベルをL=1とし、2)あるゲートの出力の故障レベルをLとすると、その入力の故障レベルをL+1とし、3)ゲートの信号線の故障レベルをL,L,…とすれば、そのゲートの出力(信号線の幹)の故障レベルはL,L,…の最大値とする、
ことによって導入される故障レベル、
maxは前記半導体論理回路装置内の最大故障レベル、
によって演算される請求項5に記載の半導体論理回路装置の故障診断プログラム。
【請求項7】
さらに、前記故障診断手順は、
前記テスト入力ベクトル及び前記故障候補ゲートを行及び列とする前記第3のマッチング値による故障診断値の原始故障診断値表を生成する原始故障診断値表生成手順と、
前記原始故障診断値表にある行及びある列において零でない故障診断値が唯一である必須故障がある存在する場合に、該必須故障を前記原始故障診断値表から削除して対象故障診断値表とし、該必須故障が存在しない場合に、前記原始故障診断値表を対象故障診断値表とする対象故障診断値表生成手順と、
前記対象故障診断値表から前記テスト入力ベクトルに対して零でない少なくとも1つの故障診断値を有する最小故障集合(被覆)より最小被覆を抽出する最小被覆抽出手順と、
前記必須故障がある場合に該必須故障を前記最小被覆に加えて最小故障集合(マルチプレット)とし、必須故障がない場合に、前記最小被覆を最小故障集合(マルチプレット)とする最小故障集合生成手順と
を具備する請求項5に記載の半導体論理回路装置の故障診断プログラム。
【請求項8】
さらに、前記故障診断手順は、前記最小故障集合の各最小故障を各故障候補ゲート毎の平均故障診断値を用いて順位付けする最小故障集合順位付け手順を具備する請求項7に記載の半導体論理回路装置の故障診断プログラム。
発明の詳細な説明 【技術分野】
【0001】
本発明は半導体論理回路装置の故障診断方法及び故障診断プログラムに関する。
【背景技術】
【0002】
一般に、半導体論理回路装置におけるシリコンデバッグ、歩留向上及び信頼性向上のために、故障半導体論理回路装置の不良解析を行う。この場合、図16に示すごとく、一般的には、ステップ1601において、故障診断方法により故障箇所が存在する可能性がある領域(以下、被疑領域)を特定する。次いで、ステップ1602において、非破壊的観測手段たとえば光学的手段によりステップ1601において特定化された被疑領域から故障箇所を特定化する。最後に、ステップ1603において、物理的手段たとえば破壊手段によりステップ1602において特定化された故障箇所の不良発生原因を解析する。
【0003】
本発明は図16の故障箇所の被疑領域特定化ステップ1601に関する。
【0004】
図16のステップ1601の故障診断方法には高い精確性及び高い効率性が要求される。
【0005】
精確性とは故障箇所がステップ1601によって特定された被疑領域に存在する可能性を意味する。すなわち、精確性が低い場合には、ステップ1602において故障箇所が特定化されず、従って、ステップ1603における不良解析が不可能となる。他方、精確性が高い場合には、ステップ1602において故障箇所の特定化の可能性が大きく、最高の精確性の場合には故障箇所が必ず特定化され、従って、ステップ1603における不良解析が可能となる。
【0006】
また、効率性とはステップ1601によって特定された被疑領域の大きさに依存する。すなわち、効率性が低い場合には、ステップ1601によって特定された被疑領域は大きく、従って、ステップ1602において故障箇所の特定化に要する時間が長くなる。他方、効率性が高い場合には、ステップ1601によって特定された被疑領域は小さく、従って、ステップ1602において故障箇所の特定化に要する時間が短くなる。
【0007】
半導体論理回路装置の故障は、3つの特性、つまり、単純か複雑かの複雑特性、静的か動的かの時間特性、単一か多重かの個性特性によって分類できる。このうち、単純、静的及び単一の故障はゲートの1つの信号線の論理値が0もしくは1に固定されるという単一縮退故障による故障診断方法により高い精確性及び効率性が容易に達成される。他方、複雑、動的及び多重の故障の故障診断方法の高い精確性及び効率性の達成は容易でない。特に、近年、半導体論理回路装置の高集積化及び微細化に伴い、故障の不良原因も多様化し、複雑、動的及び多重の故障が問題となり、この結果、故障診断方法の精確性及び効率性が急速に低下している。
【0008】
従来の複雑、動的及び多重の故障の故障診断方法として、単一縮退故障モデルを用いてパー・テスト(Per-Test)故障診断を行う方法である(参照:非特許文献1)。すなわち、情報収集ルーチンにおいて、ゲートに対して1箇所の故障に対応する単一縮退故障モデルを用いてテスト入力ベクトル毎に出力ベクトルのシミュレーション結果(シミュレーション出力ベクトル)を予め得ておく。次に、故障診断ルーチンにおいて、テスト入力ベクトル毎に観測出力ベクトルが期待出力ベクトルに一致するか否かを判別し、この結果、観測出力ベクトルが期待出力ベクトルと不一致のときのみ(この場合のテスト入力ベクトルをフェイルテスト入力ベクトルと言う)、上述のシミュレーション出力ベクトルと観測出力ベクトルとのマッチング演算を行って、マッチング値としての故障診断値よりなる故障診断値表を生成する。この場合、マッチング値は0あるいは1である。次いで、この故障診断値表からフェイルテスト入力ベクトルのすべてを被覆(cover)する最小故障集合(マルチプレット)を見つけることにより診断結果を抽出する。この場合、あるフェイルテスト入力ベクトルを説明できない故障であっても、その故障は破棄されず、その代り、次のフェイルテスト入力ベクトルによって再度確認される。従って、複雑、動的及び多重の故障を扱うことができる。
【先行技術文献】
【0009】

【非特許文献1】T. Bartenstein, D. Heaberlin, L. Huisman, and D. Sliwinski, “Diagnosing Combinational Logic Designs Using the Single Location At-a-Time (SLAT) Paradigm”, Proc. Intl. Test Conf., pp. 287-296, 2001.
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、上述の従来の単一縮退故障モデルを用いたパー・テスト故障診断方法は、図17の示す抵抗性短絡のような複数の論理的な振る舞いをするビザンチン(Byzantine)故障の場合、誤診断を引き起こす可能性があり、この結果、精確性が低くなるという課題がある。
【0011】
図17の(A)において、ゲートGのビザンチン故障Dによってその出力線Lの電圧が接地電圧GNDと電源電圧VDDとの間で変化したとする。ここで、出力線Lに接続されたファンアウト信号線L、Lのしきい値電圧、つまり、ファンアウト信号線L、Lに接続された次段の入力トランジスタ(図示せず)のしきい値電圧をVth1、Vth2(Vth1<Vth2)とする。この場合、図17の(B)に示すごとく、ファンアウト信号線L、Lは3つの論理組合せ(0,0)、(1,0)、(1,1)をとり得る。従って、物理故障Dはどの論理組合せに対応するのか不明であり、ビザンチン故障の場合、ファンアウト信号線L、Lが共に故障値を有する複雑な故障とも考えられる。
【0012】
図17の(C)に示すようなゲートG、G、G、Gよりなる半導体論理回路装置を考える。ゲートGにビザンチン故障Dがあり、フェイルテスト入力ベクトルを(1,1,1,0)とした場合に、ファンアウト信号線L、Lが故障値0となったとする。この場合、ファンアウト信号線L、Lは0、0となり、観測出力ベクトルは(0,0,0)となり、ファンアウト信号線Lの観測値は故障値0となり、診断結果はLの0縮退故障を得ることになる。この0縮退故障は実際のビザンチン故障とは関連していないので誤診断となる。
【0013】
また、上述の従来の単一縮退故障モデルを用いたパー・テスト故障診断方法における故障診断値表を生成する際のマッチング演算は狭義のマッチング、つまり唯一のシミュレーション出力ベクトルと観測出力ベクトルとの一致、不一致によるものであり、この結果、マッチング条件が厳格となり、効率性が向上するように考えられるが、実際には、マッチング条件が厳格となり過ぎ、精確性が低下するという課題がある。尚、この場合、マッチング演算の結果である故障診断値表の各値は1(一致)か0(不一致)である。
【0014】
従って、本発明の目的は、効率性を保持しつつ精確性を高くした半導体論理回路装置の故障診断方法及び故障診断プログラムを提供することにある。
【課題を解決するための手段】
【0015】
上述の目的を達成するために本発明は、入力信号線、出力信号線及び入力信号線と出力信号線との間に接続された複数のゲートを有する半導体論理回路装置の故障診断方法において、記号挿入工程は、半導体論理回路装置の回路情報に従って、1つのゲートのファンアウト信号線に出現可能な故障論理値を表す記号を挿入し、信号伝播工程は、テスト入力ベクトルを半導体論理回路装置の入力信号線に入力して記号をファンアウト信号線の番号情報と共に半導体論理回路装置の出力信号線に伝播させて出力信号線に初期シミュレーション出力ベクトルを得、記号分解工程は、挿入された記号のうち、初期シミュレーション出力ベクトルに含まれているファンアウト信号線の番号に対応する記号に対して2値論理シミュレーションを行うことにより半導体論理回路装置の出力信号線に出力ベクトルを得、出力ベクトルから半導体論理回路装置の期待出力ベクトルを除いてシミュレーション出力ベクトルを得、到達可能出力ベクトル演算工程は、半導体論理回路装置の回路情報に従って、故障候補ゲートから到達可能な出力信号線を表す到達可能出力ベクトルを演算し、故障診断工程は、入力信号線にテスト入力ベクトルを入力した際の出力信号線に得られる観測出力ベクトルとシミュレーション出力ベクトルとの比較結果に応じて半導体論理回路装置の故障存在被疑領域を特定化する。上述の記号は、複雑、動的及び多重の故障を表す。上述の故障診断工程は、テスト入力ベクトルを入力した際の観測出力ベクトルとテスト入力ベクトルを入力した際の期待出力ベクトルとを比較する第1の比較工程と、観測出力ベクトルが期待出力ベクトルと不一致のときのみ、テスト入力ベクトルを入力した際のある故障候補ゲートのシミュレーション出力ベクトルと観測出力ベクトルとを比較する第2の比較工程と、テスト入力ベクトルを入力した際の故障候補ゲートのシミュレーション出力ベクトルと観測出力ベクトルとが一致したとき、第1のマッチング値を、故障候補ゲートの到達可能出力ベクトルによって定められる範囲内の観測出力ベクトルと期待出力ベクトルとのエラー率及び故障可能ゲートの出力信号線までの実質的距離に依存する故障レベルによって演算する第1のマッチング値演算工程と、テスト入力ベクトルを入力した際の故障候補ゲートのシミュレーション出力ベクトルと観測出力ベクトルとが不一致のとき、第2のマッチング値を0とする第2のマッチング値演算工程と、テスト入力ベクトルを入力した際の故障候補ゲートのシミュレーション出力ベクトルの数の第1、第2のマッチング値の平均値を第3のマッチング値として演算する第3のマッチング演算工程とを具備する。



【0016】
さらに、上述の故障診断工程は、テスト入力ベクトル及び故障ゲートを行及び列とする第3のマッチング値による故障診断値の原始故障診断値表を生成する原始故障診断値表生成工程と、原始故障診断値表にある行及びある列において零でない故障診断値が唯一である必須故障がある存在する場合に、必須故障を原始故障診断値表から削除して対象故障診断値表とし、必須故障が存在しない場合に、原始故障診断値表を対象故障診断値表とする対象故障診断値表生成工程と、対象故障診断値表から入力ベクトルに対して零でない少なくとも1つの故障診断値を有する最小故障集合(被覆)より最小被覆を抽出する最小被覆抽出工程と、必須故障がある場合に必須故障を最小被覆に加えて最小故障集合(マルチプレット)とし、必須故障がない場合に、最小被覆を最小故障集合(マルチプレット)とする最小故障集合生成工程とを具備する。
【0017】
さらに、上述の故障診断工程は、最小故障集合の各最小故障を各故障候補ゲート毎の平均故障診断値を用いて順位付けする最小故障順位付け工程を具備する。
【発明の効果】
【0018】
本発明によれば、ゲートのファンアウト信号線に出現可能な故障論理値を表す記号を挿入し、この状態でシミュレーション出力ベクトルを得ているので、複雑、動的及び多重の故障がシミュレーション出力ベクトルに反映され、この結果、誤診断を防止でき、従って、効率性を保持しつつ精確性を向上できる。また、故障候補ゲートに対して1つもしくは複数のシミュレーション出力ベクトルを得ているので、マッチング条件を緩和できる。
【図面の簡単な説明】
【0019】
【図1】本発明に係る半導体論理回路装置の故障診断装置の一実施の形態を示すブロック回路図である。
【図2】図1の半導体論理回路装置の一例を示し、(A)は回路図、(B)はテスト入力ベクトルVECと期待出力ベクトルEXOとの対応表を示す図である。
【図3】図1のテスタの動作を示すフローチャートである。
【図4】図2の情報収集ステップの詳細を示すフローチャートである。
【図5】図4のX挿入ステップを説明する回路図である。
【図6】図4のX伝播ステップを説明する回路図である。
【図7】図4のX分割ステップを説明する回路図である。
【図8】図4の到達可能出力ベクトルを説明する回路図である。
【図9】図2の故障診断ステップの詳細を示すフローチャートである。
【図10】図9における有効エラー率及び故障レベルを説明する回路図である。
【図11】図9における故障レベルの一例を示す回路図である。
【図12】図3の原始故障診断値表生成ステップにおいて得られる原始故障診断値表の一例を示す図である。
【図13】図3の故障診断値表生成ステップにおいて得られる対象故障診断値表の一例を示す図である。
【図14】図3の最小被覆集合抽出ステップを説明する図である。
【図15】従来の単一縮退故障モデルを用いたパー・テスト故障診断方法の実験結果及び本発明に係るX故障モデルを用いたパー・テスト故障診断方法の実験結果の対比を説明する図である。
【図16】一般的な半導体論理回路装置の不良解析方法を示すフローチャートである。
【図17】従来の半導体論理回路装置の故障診断方法の課題を説明する図であって、(A)はビザンチン故障を説明する回路図、(B)は(A)の信号線の故障値を説明する図、(C)はビザンチン故障を有する半導体論理回路装置の例を示す回路図である。
【発明を実施するための形態】
【0020】
図1は本発明に係る半導体論理回路装置の故障診断装置の一実施の形態を示すブロック回路図である。図1において、1は故障診断されるべき半導体論理回路装置、2は半導体論理回路装置1の故障診断を行うテスタであって、たとえば、中央処理ユニット(CPU)、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)等よりなるコンピュータである。テスタ2は外部から半導体論理回路装置1の回路情報を入力する。回路情報はたとえばAND接続、OR接続、NAND接続、NOR接続等の接続リストの外に、テスト入力ベクトルVEC、期待出力ベクトルEXO等を含む。

【0021】
半導体論理回路装置1は組合せ回路、またはフルスキャン構造を有する順序回路の組合せ部分である。半導体論理回路装置1が組合せ回路の場合には、入力数mの入力信号線I,I,…,Im-1は組合せ回路の入力バッファ(あるいは入出力バッファ)に接続され、出力数nの出力信号線O,O,…,On-1は組合せ回路の出力バッファ(あるいは入出力バッファ)に接続される。また、半導体論理回路装置1が順序回路の組合せ部分の場合には、入力数mの入力信号線I,I,…,Im-1は組合せ部分の入力バッファ(あるいは入出力バッファ)に接続され、出力数nの出力信号線O,O,…,On-1は組合せ部分の出力バッファ(あるいは入出力バッファ)に接続される。

【0022】
尚、半導体論理回路装置1が順序回路の組合せ部分の場合には、テスタ2は必ずしも必要ではなく、他の装置であってもよい。但し、以後の記載では、便宜上、他の装置もテスタ2とする。

【0023】
たとえば、図2(A)に示すように、半導体論理回路装置1はゲートG、G、G、G、Gよりなり、入力信号線の入力数mは5、出力信号線の出力数nは3である。この場合、テスト入力ベクトルVECとして(I,I,…,I)を与えると、テスト入力ベクトルVECを変数とする期待出力ベクトルEXO(VEC)は図2の(B)のごとく与えられる。図2の(A)においては、テスト入力ベクトルVECが(0,1,1,0,1)=22の場合の期待出力ベクトルEXOが示されている。尚、期待出力ベクトルEXO(VEC)は半導体論理回路装置1が正常時に得られる値であり、図2の(B)のテスト入力ベクトルVECと期待出力ベクトルEXO(VEC)の対応表は上述の回路情報からテスタ2に予め与えられる。

【0024】
次に図1のテスタ2の動作を説明する。

【0025】
図3はメインルーチンである。

【0026】
始めに、ステップ301において、テスト入力ベクトルVECを1つのVEC0に設定し、ステップ302において、ゲートGを故障候補の1つのGに設定する。

【0027】
次に、ステップ303において、情報収集を行う。情報収集ステップ303の詳細は図4を参照して説明する。

【0028】
始めに、ステップ401において、ゲートGにファンアウトがあるか否かを判別する。ゲートGにファンアウトがある場合にはステップ402~404に進み、他方、ゲートGにファンアウトがない場合にはステップ405、406に進む。たとえば、図2の(A)においては、ゲートG、Gにファンアウトがあり、他方、ゲートG、G、Gにファンアウトがない。

【0029】
ステップ402においては、ゲートGのファンアウトにX記号を挿入する。たとえば、図5の(A)に示すごとく、ファンアウトがあるゲートGに対しては、ゲートG、その出力線bあるいはファンアウト信号線b、b、bに出現可能な故障論理値を示すX(b)、X(b)、X(b)をファンアウト信号線b、b、bに挿入する。また、図5の(B)に示すごとく、ゲートGに対しては、ゲートG、その出力線bあるいはファンアウト信号線b、bに出現可能な故障論理値を示すX(b)、X(b)をファンアウト信号線b、bに挿入する。すなわち、後述のシミュレーション出力ベクトルの演算において確定できない故障値を表すためにすべてのファンアウト信号線に異なるX記号を挿入する。これは複数箇所に何らかの故障がある場合を表している。たとえば、ファンアウト数が2である場合には、図17の(B)に示す論理値の組合せをすべて表しているので、ビザンチン故障のような複雑な故障を厳密に表すことができる。

【0030】
次に、ステップ403において、X伝搬により初期シミュレーション出力ベクトルISOを演算する。つまり、テスト入力ベクトルVECを半導体論理回路装置1の入力信号線に入力してファンアウト信号線上に挿入されたX記号を半導体論理回路装置1の出力信号線まで伝搬させることにより初期シミュレーション出力ベクトルISOを出力信号線に得る。この場合、X記号が有効に外部出力まで伝播させるために次の条件1)、2)を課す。
1)反転情報の保持:反転機能を有するゲートはX(b)(bはファンアウト信号線)の反転情報/X(b)を伝播する。つまり、X記号の反転を許容し、この場合、新しいX記号を生成させないようにする。これにより、X記号が伝播する出力信号線の出力数は有効的に減少する。たとえば、
AND(X(b),/X(b))=0
OR(X(b),/X(b))=1
NAND(/X(b,b),1)=X(b,b)
OR(X(b),/X(b),0,X(b))=1
2)X(b) ,X(b),…,X(b)に対するゲートの演算結果が0でもなく1でもなく、かつこれらのX記号もしくは反転記号でない場合のみ、新しいX記号(b,b,…,b)を生成する。たとえば、
NOR(X(b,b),X(b) ,X(b))=X(b,b,b)
AND(/X(b),X(b)=X(b,b)

【0031】
初期シミュレーション出力ベクトルISOはテスト入力ベクトル(アドレスVEC)及びゲートGに依存する。つまり、ISOはVEC、Gの関数である。図6の(A)に示すごとく、テスト入力ベクトルVEC22、ゲートGに対しては、初期シミュレーション出力ベクトルISOは(/X(b),X(b,b),1)となる。ここで、ゲートGの出力に上記条件1)を課し、ゲートGの出力に上記条件2)を課してある。また、図6の(B)に示すごとく、テスト入力ベクトルVEC22、ゲートGに対しては、初期シミュレーション出力ベクトルISOは(X(b),0,1)となる。

【0032】
次に、ステップ404において、X分解する。すなわち、曖昧さを取除くために、挿入X記号に対して論理値を与えて2値論理シミュレーションを行う。挿入X記号をX(b),X(b),…,X(b)とすると、ファンアウト信号線の集合Bはb∪b∪…∪bであり、2回の2値論理シミュレーションを行うことによりファンアウト信号線の故障値の組合せをすべて満たすことになる。但し、ファンアウト信号線b,b,…,bのしきい値電圧が予め知られていれば、(h+1)回の2値論理シミュレーションでよい。さらに、到達可能出力ベクトルAROに含まれていないファンアウト信号線は考慮する必要がないので、上述の2値論理シミュレーションの回数はより少なくなる。

【0033】
図7の(A)に示すごとく、テスト入力ベクトルVEC22、故障ゲートGに対しては、X故障ゲートGのファンアウト信号線b、bのみが出力信号線へ到達しているので、ファンアウト信号線bは考慮することなく、ファンアウト信号線b、b、bの故障値の組合せは(0,0,X)、(1,0,X)、(0,1,X)、(1,1,X)である。これにより得られるシミュレーション出力ベクトルは(1,0,1)、(0,0,1)、(1,1,1)、(0,0,1)であるが、(1,0,1)は期待出力ベクトルであるので除外する。従って、X分解によるシミュレーション出力ベクトルは(0,0,1)(=P)、(1,1,1)(=P)、(0,0,1)(=P)となる。また、図7の(B)に示すごとく、テスト入力ベクトルVEC22、X故障ゲートGに対しては、X故障ゲートGのファンアウト信号線bが出力信号線へ到達しているので、ファンアウト信号線bは考慮することなく、ファンアウト信号線b、bの故障値の組合せは(0,X)、(1,X)である。これにより得られるシミュレーション出力ベクトルは(0,0,1)、(1,0,1)であるが、(1,0,1)は期待出力ベクトルであるので除外する。従って、X分解によるシミュレーション出力ベクトルは(0,0,1)(=P)となる。

【0034】
このようにして、1つのテスト入力ベクトル、1つの故障ゲートに対して1つもしくは複数のシミュレーション出力ベクトルを得ることにより、後述のマッチング条件を緩和する。

【0035】
他方、ステップ405においては、故障ゲートGの出力に正常値の反転値を挿入する。たとえば、図2のゲートGの出力にはゲートGの出力に故障がない場合の論理値(この場合、1)の反転値(この場合、0)を挿入する。この反転値はゲートGもしくはその出力に出現可能な故障論理値を明瞭に示している。次いで、ステップ406において、通常の単一縮退シミュレーションを行う。ステップ405、406は本発明に直接関係しないので、詳細は省略する。

【0036】
次に、ステップ407において、X故障ゲートGの出力から到達可能な出力信号線を到達可能出力ベクトルAROとして演算する。たとえば、図8の(A)に示すごとく、X故障ゲートGに対しては、その出力はゲートG、Gを介して出力Oへ、ゲートG、Gを介して出力Oへ、ゲートGを介して出力Oへ到達可能である。従って、ARO=(1,1,1)となる。また、X故障ゲートGに対しては、その出力はゲートGを介して出力Oへ、ゲートGを介して出力Oへ到達可能である。従って、ARO=(1,1,0)となる。

【0037】
そして、図3のステップ304に戻る。

【0038】
図3の故障診断ステップ304は、実際に搭載された半導体論理回路装置1の動作に基づいて実行され、その詳細は図9に示される。尚、図9の故障診断ルーチンはゲートGにファンアウトがある場合の故障診断を取扱い、ゲートGにファンアウトがない場合の単一縮退シミュレーションに基づく故障診断は本発明に関係しないので取扱わない。

【0039】
始めに、ステップ901において、半導体論理回路装置1の出力信号線O、O、Oの観測出力ベクトルOBOと期待出力ベクトルEXOとの差分ベクトルDEFを排他的オア論理演算により求める。

【0040】
次に、ステップ902において、差分ベクトルDEFの絶対値が0か否かを判別する。この結果、|DEF|=0であれば、観測出力ベクトルOBOは期待出力ベクトルEPOと一致しているので、故障なしとして図3のステップ305に直接進み、他方、|DEF|≠0であれば、観測出力ベクトルOBOは期待出力ベクトルEPOと異なるので、故障ありとしてステップ903に進む。

【0041】
ステップ903においては、テスト入力ベクトルVECをフェイルテスト入力ベクトルFVECとし、次いで、ステップ904において、上述のシミュレーション出力ベクトルSMO(P)と観測出力ベクトルOBOとのマッチング演算を行って故障診断値を求める。この場合、マッチング値としての故障診断値は、エラー率及び故障レベルをも考慮するので0~1の範囲の値をとる。尚、従来のマッチング値としての故障診断値は上述のごとく狭義のマッチング値としての1(一致)あるいは0(不一致)であった。

【0042】
マッチング演算はステップ905~910により行われる。

【0043】
ステップ904において、シミュレーション出力ベクトルPを指定するために値jを1に初期化する。ここでは、フェイルテスト入力ベクトルFVEC、故障ゲートGに対するシミュレーション出力ベクトルはP,P,…,P(k≧1)と仮定する。

【0044】
次に、ステップ905において、狭義のマッチング演算を行う。つまり、シミュレーション出力ベクトルPが観測出力ベクトルOBOと一致するか否かを判別する。この結果、シミュレーション出力ベクトルPが観測出力ベクトルOBOと一致していればステップ906に進み、他方、シミュレーション出力ベクトルPが観測出力ベクトルOBOと不一致していればステップ907に進む。

【0045】
ステップ906においては、マッチング値としての故障診断値p(FVEC,G,j)を、
p(FVEC,G,j)
←(L(G)/Lmax)・(DEF∩ARO)/|ARO|
により演算する。ここで、(DEF∩ARO)/|ARO|は有効エラー率を示し、L(G)/Lmaxは故障レベルを示す。

【0046】
たとえば、図10に示すごとく、(A)では、フェイルテスト入力ベクトルFVEC0、故障ゲートGに対して、エラー数3、有効エラー率は100%であるが、(B)では、フェイルテスト入力ベクトルFVEC1,故障ゲートGに対して、エラー数3であっても、有効エラー率は33%と低い。また、(C)では、フェイルテスト入力ベクトルFVEC2,故障ゲートGに対して、エラー数も低く、有効エラー率も50%と低い。このようなエラー率をマッチング値として考慮する。

【0047】
また、図10においても、故障ゲートGは故障ゲートG、Gよりも出力信号線O,O,…に遠い。直感的にも、故障ゲートGにおける故障は故障ゲートG、Gの故障より出力信号線O,O,…に出現しにくい。これを考慮するために、故障ゲートGから出力信号線O,O,…までの実質的距離に依存する故障レベルLを導入する。故障レベルLは次の条件に従う。
1)出力信号線O,O,…の故障レベルをL=1とする。
2)あるゲートの出力の故障レベルをLとすると、その入力の故障レベルL+1とする。
3)ゲートのファンアウト信号線の故障レベルをL,L,…とすれば、そのゲートの出力(ファンアウトの幹)の故障レベルはL,L,…の最大値とする。
4)装置内の最大故障レベルをLmaxとする。
故障レベルLの一例を図11に示す。たとえば、故障候補ゲートGのファンアウト信号線の故障レベルLはL=2,L=3であり、故障候補ゲートGの出力つまりファンアウトの幹の故障レベルはL=2,L=3の最大値のL=3となる。

【0048】
他方、ステップ907においては、故障診断値p(FVEC,G,j)を0とする。

【0049】
ステップ908、909はステップ905~907のフローをシミュレーション出力ベクトルPの数kだけ繰返す。

【0050】
ステップ910においては、故障診断値p(FVEC,G,j)の平均値p(FVEC,G)を演算し、この平均値を最終的な故障診断値とする。

【0051】
そして、図3のステップ305へ戻る。

【0052】
ステップ305、306により情報収集ステップ303、故障診断ステップ304のフローを故障候補となるゲートの数だけ繰返す。つまり、ステップ305では、故障候補となるゲートの残りがないか否かを判別し、故障候補となるゲートがある場合のみステップ306によりGを更新してステップ303に戻る。

【0053】
ステップ307、308によりステップ302~308のフローをテスト入力ベクトルの数だけ繰返す。つまり、ステップ307では、テスト入力アドレスがVECEか否かを判別し、テスト入力アドレスVECに残りがある場合のみステップ308によりVECを更新してステップ302に戻る。

【0054】
次に、図3のステップ309において、たとえば図12に示すごとく、上述のごとく、求められた最終故障診断値p(FVEC,G)よりなる原始診断故障値表を生成する。尚、図12における平均値は各X故障ゲートG,G,…に対するフェイルテスト入力ベクトルの故障診断値の合計をフェイルテスト入力ベクトル数で除算した値である。

【0055】
たとえば、図7の(A)に示す場合、
L(G)=4
max=4
であり、観測出力ベクトルOBOを(0,0,1)とすれば、
=OBO
≠OBO
=OBO
である。従って、
p(FVEC,G,1)=3/3・1/3=0.33
p(FVEC,G,2)=0
p(FVEC,G,3)=3/3・1/3=0.33
この結果、
p(FVEC,G)=(0.33+0+0.33)/3
=0.22
となる。

【0056】
次に、ステップ310、311、312において、原始故障診断値表より故障診断結果である最小故障集合(マルチプレット)を生成する。ここで、マルチプレットとはすべてのフェイルテスト入力ベクトルを説明できる故障の最小集合を示す。

【0057】
マルチプレットは最小被覆(cover)の故障と必須故障(essential fault)により構成される。

【0058】
マルチプレットを生成するために、まず、ステップ310において、原始故障診断値表からすべての必須故障を抽出して削除し、対象故障診断値表を生成する。ここで、必須故障とは、故障診断値表において、ある行(フェイルテスト入力ベクトル)とある列(故障候補ゲート)において零でない要素が唯一である場合の故障である。この必須故障はマルチプレットに必須である。尚、必須故障が存在しない場合には、原始故障診断値表をそのまま対象故障診断値表とする。

【0059】
図12においては、故障ゲートGが必須故障に該当する。図12の原始故障診断値表から必須故障を削除した対象故障診断値表を図13に示す。

【0060】
次に、ステップ311において、対象故障診断値表から最小被覆(minimal cover)の故障を抽出する。ここで、被覆とはフェイルテスト入力ベクトルFVECに対して零でない少なくとも一つの要素を有する最小故障集合であり、そのうち最も小さい被覆が最小被覆である。

【0061】
最小被覆の故障の抽出のために、対象故障診断値表に対して図14の(A)に示す故障不和合性グラフ(Fault Incompatibility Graph)を構成する。この故障不和合性グラフにおいては、ノードG,G,G,GはX故障ゲートを表し、点線で示す2つのノード間のエッジはこれらノードの故障は同一被覆にあってはならないことを意味する。つまり、図13において、X故障ゲートGは2つのフェイルテスト入力ベクトルFVEC0,FVEC2によって説明できるが、X故障ゲートGはフェイルテスト入力ベクトルFVEC0のみによってしか説明できないからである。また、X故障ゲートGは2つのフェイルテスト入力ベクトルFVEC1,FVEC2によって説明できるが、X故障ゲートGはフェイルテスト入力ベクトルFVEC1のみによってしか説明できないからである。

【0062】
図14の(A)の故障不和合性グラフから必然的に図14の(B)の故障和合性グラフ(Fault Compatibility Graph)を得ることができる。

【0063】
被覆候補は図14の(B)における完全な部分グラフを示す故障集合である。つまり、
{G},{G},{G},{G},
{G,G},{G,G},{G,G},{G,G

【0064】
被覆候補から被覆を検出する。被覆は、
{G,G},{G,G},{G,G},{G,G
である。これらのサイズは同一であるので、これらの被覆は最小被覆である。

【0065】
次に、ステップ312において、最小故障集合(マルチプレット)を生成する。最小故障集合は、上述のごとく、最小被覆の故障及び必須故障で表せるので、
{G,G,G},{G,G,G},{G,G,G},
{G,G,G
となる。尚、必須故障が存在しない場合には、最小被覆の故障を最小故障集合とする。

【0066】
次に、ステップ313において、最小故障集合に対して順位付けを行う。最小故障集合(マルチプレット)の順位付けは、平均故障診断値を用いて行う。すなわち、
{G,G,G}=0.27+0.36+0.14=0.77
{G,G,G}=0.27+0.04+0.14=0.45
{G,G,G}=0.16+0.36+0.14=0.66
{G,G,G}=0.16+0.04+0.14=0.34
この順位付けにより、{G,G,G}が1番目の故障診断結果となる。このようにして、X故障シミュレーション出力ベクトルとフェイルテスト入力ベクトルの観測出力ベクトルの比較から故障診断値を演算するので客観性の高い故障診断結果が得られる。

【0067】
そして、ステップ314により図3のルーチンは終了する。

【0068】
上述の図3、図4、図9のフローチャートは図1のテスタ2のROMに記憶されるプログラムとして記憶媒体に記憶される。

【0069】
図15は従来の単一縮退故障モデルを用いたパー・テスト故障診断方法による実験結果及び本発明に係るX故障モデルを用いたパー・テスト故障診断方法による実験結果の対比を示す図である。図15においては、実際の故障半導体論理回路装置の代わりに、ランダムに複数の故障(平均故障数とする)を挿入した10回路の半導体論理回路装置を用いて実験を行った。図15においては、従来の単一縮退故障モデルを用いたパー・テスト故障診断方法によれば、最小故障集合(マルチプレット)の平均数は大きく、しかも、順位付けした最小故障集合に対して正確な故障位置を指摘した平均順位は低かった。これに対し、本発明に係るX故障モデルを用いたパー・テスト故障診断方法によれば、最小故障集合(マルチプレット)の平均数は小さく、しかも、順位付けした最小故障集合に対して正確な故障位置を指摘した平均順位は高かった。また、故障が存在した最小故障集合のリスト中の平均順位がほぼ1位であり、悪くても3位であった。
【符号の説明】
【0070】
1:半導体論理回路装置
2:テスタ
,I,…:入力信号線
,O,…:出力信号線
,G,…:ゲート
EXO:期待出力ベクトル
ISO:初期シミュレーション出力ベクトル
SMO:シミュレーション出力ベクトル
ARO:到達可能出力ベクトル
DEF:差分ベクトル
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12
【図14】
13
【図15】
14
【図16】
15
【図17】
16