(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。
【0015】
また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【0016】
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。
【0017】
同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうではないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【0018】
[実施の形態の概要]
まず、実施の形態の概要について説明する。本実施の形態の概要では、一例として、括弧内に実施の形態の対応する構成要素、符号等を付して説明する。
【0019】
(1)一実施の形態における故障診断システムは、制御部(テスト制御部221)と、作成部(テスト結果マップ作成部222)と、抽出部(一次故障候補抽出部223)と、解析部(タイミング解析部224)と、計算部(一致度計算部225)と、出力部(結果出力部226)と、を有する。制御部は、集積回路に対してテスト条件を変更しながら複数回のテストを行い、フェイル・ログを採取するようにテスト装置を制御する。作成部は、制御部の制御により採取したフェイル・ログからテスト結果マップを作成する。抽出部は、制御部の制御により採取したフェイル・ログにおけるフェイル・フリップフロップからの経路追跡を実施し、一次故障候補ネットを求める。解析部は、制御部の制御により採取したフェイル・ログにおけるフェイル・フリップフロップのディレイおよびタイミング・マージンをシミュレーションにより算出する。計算部は、抽出部で求めた全ての一次故障候補に対して、解析部で算出したシミュレーション結果のタイミング・マージンと作成部で作成したテスト結果マップとの一致度を計算する。出力部は、計算部で計算した結果に基づいて、一致度が高い候補を故障候補として出力する。
【0020】
(2)一実施の形態における故障診断方法は、計算機システムによる情報処理のステップとして、第1ステップ(S11)と、第2ステップ(S12)と、第3ステップ(S13)と、第4ステップ(S14)と、第5ステップ(S15)と、第6ステップ(S16)と、を有する。第1ステップは、集積回路に対してテスト条件を変更しながら複数回のテストを行い、フェイル・ログを採取するようにテスト装置を制御する。第2ステップは、第1ステップで採取したフェイル・ログからテスト結果マップを作成する。第3ステップは、第1ステップで採取したフェイル・ログにおけるフェイル・フリップフロップからの経路追跡を実施し、一次故障候補ネットを求める。第4ステップは、第1ステップで採取したフェイル・ログにおけるフェイル・フリップフロップのディレイおよびタイミング・マージンをシミュレーションにより算出する。第5ステップは、第3ステップで求めた全ての一次故障候補に対して、第4ステップで算出したシミュレーション結果のタイミング・マージンと第2ステップで作成したテスト結果マップとの一致度を計算する。第6ステップは、第5ステップで計算した結果に基づいて、一致度が高い候補を故障候補として出力する。
【0021】
(3)一実施の形態における故障診断プログラムは、計算機システムに実行させる、第1ステップと、第2ステップと、第3ステップと、第4ステップと、第5ステップと、第6ステップと、を有する。第1〜第6の各ステップでの処理は、上記故障診断方法の第1〜第6の各ステップに対応する。
【0022】
以下、上述した実施の形態の概要に基づいた実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号または関連する符号を付し、その繰り返しの説明は省略する。
【0023】
[実施の形態1]
本実施の形態1における故障診断システム、故障診断方法および故障診断プログラムについて、
図1〜
図9を用いて説明する。
【0024】
本実施の形態1は、テスト条件の最適化による診断精度の向上として、テスト条件(タイミング等)を振って複数回のテストを行い、フェイル・ログを採取し、テスト結果マップを作成することで、所定のフェイル数を確保し、診断精度を向上させる技術である。
【0025】
<故障診断システム>
まず、本実施の形態1における故障診断システムについて、
図1を参照して説明する。
図1は、本実施の形態1における故障診断システムの構成の一例を示す図である。
【0026】
本実施の形態1における故障診断システムは、集積回路テスト装置100と、計算機システム200より構成される。計算機システム200は、演算処理装置210、読出専用メモリ220、記憶装置230、入出力装置240から構成される。集積回路テスト装置100と計算機システム200の間の情報の授受は、通信装置250を介して行われる。
【0027】
計算機システム200の例として、PC(パーソナルコンピュータ)、シンクライアント端末/サーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。なお、本実施の形態の計算機システム200は、端末やサーバに限らず、中継機器や周辺機器でも良い。また、本実施の形態の計算機システム200は、計算機に搭載される拡張ボードや、物理マシン上に構築された仮想マシンでも良い。但し、実際には、これらの例に限定されない。
【0028】
入出力装置240は、テストや診断の開始・終了や、データの読み込み、結果の出力などを指示するために用いられる。この入出力装置240において、入力装置の例として、キーボードやキーパッド、I/Oボード、画面上のキーパッド、タッチパネル、タブレット、又は、ICチップや記憶媒体を読み込む読取装置等が考えられる。また、入力装置は、外部の入力装置や記憶装置から情報を取得するためのインターフェースでも良い。一方、出力装置の例として、LCD(液晶ディスプレイ)やPDP(プラズマディスプレイ)、有機ELディスプレイ等の表示装置や、出力内容を用紙等に印刷するプリンタ等の印刷装置等が考えられる。また、出力装置は、外部の表示装置や記憶装置に情報を出力するためのインターフェースでも良い。
【0029】
読出専用メモリ220には、全体動作制御や診断処理を行うプログラムが格納されている。プログラムとしては、テスト制御部221、テスト結果マップ作成部222、一次故障候補抽出部223、タイミング解析部224、一致度計算部225、結果出力部226がある。この読出専用メモリ220の例として、ROM、EEPROMやフラッシュメモリ等の半導体記憶装置が考えられる。
【0030】
演算処理装置210は、読出専用メモリ220からプログラムを読み取って動作することにより、テスト制御部221、テスト結果マップ作成部222、一次故障候補抽出部223、タイミング解析部224、一致度計算部225、結果出力部226として機能し、診断処理を実現する。このプログラムは、故障診断プログラムである。この演算処理装置210の例として、CPU、マイクロプロセッサ、マイクロコントローラ、あるいは、専用の機能を有する半導体集積回路等が考えられる。
【0031】
記憶装置230は、診断処理に用いる各種データを、一時的に格納する領域である。データとしては、フェイル・ログ(Fail-Log)情報231、テスト結果マップ情報232、一次故障候補ネット情報233、タイミング・マージン情報234、一致度情報235、診断結果236、回路接続情報237、テストパタン情報238がある。この記憶装置230の例として、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、RAM等の半導体記憶装置が考えられる。また、記憶装置230は、DVD(Digital Versatile Disk)やSDメモリカード(Secure Digital memory card)等のリムーバブルディスクや記憶媒体等でも良い。
【0032】
テスト制御部221は、診断対象チップに対してテスト条件を変えながら複数回のテストを行い、テスト結果としてFail−Log情報231を生成して出力するように、集積回路テスト装置100を制御する機能部である。
【0033】
テスト結果マップ作成部222は、Fail−Log情報231を入力として、テスト結果マップ(テスト結果マップ情報232)を作成して出力する機能部である。
【0034】
一次故障候補抽出部223は、Fail−Log情報231を入力として、フェイル・フリップフロップ(Fail−FF)を起点とした回路の経路追跡により、一次故障候補ネット(一次故障候補ネット情報233)を求めて出力する機能部である。
【0035】
タイミング解析部224は、Fail−Log情報231を入力として、Fail−FFのタイミング・マージンをシミュレーション(ダイナミック・タイミング解析)により算出し、タイミング・マージン情報234を生成して出力する機能部である。
【0036】
一致度計算部225は、一次故障候補ネット情報233、タイミング・マージン情報234、テスト結果マップ情報232を入力として、全ての一次故障候補ネット情報233に対して、タイミング・マージン情報234とテスト結果マップ情報232との一致度を計算し、一致度情報235を生成して出力する機能部である。
【0037】
結果出力部226は、一致度情報235を入力として、一致度の高い一次候故障補を、確からしい故障候補(診断結果236)として出力する機能部である。
【0038】
Fail-Log情報231は、診断対象チップに対してテスト条件を変えながら複数回のテストを行い、テスト結果として生成した情報である。テスト条件において、回路動作が期待通りであった場合をパス(Pass)、期待と異なっていた場合をフェイル(Fail)と呼ぶ。
【0039】
テスト結果マップ情報232は、Fail−Log情報231をもとに作成したテスト結果マップの情報である。
【0040】
一次故障候補ネット情報233は、Fail−Log情報231をもとに、Fail−FF(フェイル・フリップフロップ)を起点とした回路の経路追跡により求めた一次故障候補ネットの情報である。
【0041】
タイミング・マージン情報234は、Fail−Log情報231をもとに、シミュレーションにより算出したFail−FFのタイミング・マージンの情報である。
【0042】
一致度情報235は、一次故障候補ネット情報233、タイミング・マージン情報234、テスト結果マップ情報232をもとに、全ての一次故障候補ネット情報233に対して、タイミング・マージン情報234とテスト結果マップ情報232との一致度を計算して生成した情報である。
【0043】
診断結果236は、一致度情報235をもとに、一致度の高い一次故障候補を確からしい故障候補として出力する情報である。
【0044】
回路接続情報237は、診断対象チップの集積回路内部の回路素子の接続関係を記載した情報であり、ネットリストとも呼ばれる。
【0045】
テストパタン情報238は、診断対象チップの集積回路が正常動作することを確認するためのテスト信号のパタン情報であり、テストの際に集積回路に印加される信号波形を表している。このテストパタン情報238は、例えばATPG(Automatic Test Pattern Generator)により、回路接続情報237をもとに、テスト用信号のパタンと信号パタンの期待値として生成される。テスト用信号のパタンは、回路が正常に動作するかを確認するための情報である。信号パタンの期待値は、テスト用信号が回路に印加された際に正常動作する(故障していない)回路から出力される情報である。
【0046】
<故障診断方法>
前述した故障診断システムにおける故障診断方法について、
図2、
図3を参照して説明する。
図2は、故障診断方法の処理手順の一例を示す図である。
図3は、故障診断方法の処理手順におけるデータの流れの一例を示す図である。
【0047】
まず、ステップS11で、診断対象チップ300に対して集積回路テスト装置100を用いたテストが実施され、テスト結果としてFail−Log情報231が生成される。Fail−Log情報231は、記憶装置230に記録される。この際、テスト制御部221が、集積回路テスト装置100を制御し、診断対象チップ300に対してテスト条件を変えながら複数回のテストを行う。
【0048】
次に、ステップS12では、テスト結果マップ作成部222が、Fail−Log情報231をもとにテスト結果マップを作成する。これが、テスト結果マップ情報232となる。
【0049】
次に、ステップS13では、一次故障候補抽出部223が、Fail−Log情報231をもとに、Fail−FFを起点とした回路の経路追跡により、一次故障候補ネットを求める。これが、一次故障候補ネット情報233となる。Fail−FFとは、テスト中に1回以上テスト結果がFailとなったFlip−Flopのことを示す。なお、一次故障候補ネットの求め方の詳細については、後述する。
【0050】
次に、ステップS14では、タイミング解析部224が、Fail−Log情報231をもとにタイミング解析を実施し、Fail−FFのタイミング・マージンをシミュレーションにより算出し、タイミング・マージン情報234を生成する。
【0051】
そして、ステップS15では、一致度計算部225が、全ての一次故障候補ネット情報233に対して、タイミング・マージン情報234とテスト結果マップ情報232との一致度を計算し、一致度情報235を生成する。
【0052】
最後に、ステップS16において、結果出力部226が、一致度情報235において一致度の高い一次故障候補を、確からしい故障候補として出力する。これが、診断結果236となる。
【0053】
故障診断システムから出力された診断結果236により、故障発生の原因が明確化したならば、それを基に、集積回路の製造工程の改善が図られ、故障の発生確率が低減する。
【0054】
また、更に詳細な故障原因を把握するために、FIB(Focused Ion Beam)装置を利用した故障箇所の露出や、SIM(Scanning Ion Microscope)等の電子顕微鏡を利用した故障箇所の観察等、より詳細な分析を行ったうえで、製造工程の改善を行う場合もある。
【0055】
<テスト結果マップ>
前述したステップS12におけるテスト結果マップについて、
図4を参照して説明する。
図4は、テスト結果マップの一例を示す図である。
【0056】
テスト結果マップは、各スキャン・フリップフロップ(SFF)のテスト結果のフェイル(Fail)またはパス(Pass)を、テスト条件を横軸としてマッピングした図である。
図4では、「テスト条件」はテストタイミングである。このテスト結果マップは、1個のフェイルパタンのテスト結果を表しており、これと同様のテスト結果マップがフェイルパタンの個数分作成される。
【0057】
図4の例では、テスト条件であるテストタイミングを、10nsの定格に対して、5nsから15nsまでの範囲に振ってテストした結果を示している。この5nsから15nsまでの振り幅では、n個のスキャン・フリップフロップSFF1〜SFFnのうち、SFF1〜SFF7がフェイルになっている。例えば、テストタイミングが15nsではフェイルとなるスキャン・フリップフロップは存在しないが、定格の10nsではスキャン・フリップフロップSFF2、SFF3、SFF6がフェイルとなり、さらに、厳しい条件の5nsではスキャン・フリップフロップSFF1〜SFF7がフェイルとなっている。
【0058】
このテストタイミングは、テストレート、またはキャプチャクロック(Capture Clock)の印加タイミングとする。また、テスト条件の振り幅は、例えば、故障診断を実施する作業者の経験に基づいて設定したり、あるいは、テスト結果を格納するメモリ容量などの物理的な要因などに基づいて設定する。
【0059】
<一次故障候補ネットの求め方>
前述したステップS13における一次故障候補ネットの求め方について、
図5を参照して説明する。
図5は、一次故障候補ネットの求め方の一例を示す図である。
【0060】
図5に示す集積回路では、組み合わせ回路の入力側/出力側にそれぞれn個のスキャン・フリップフロップ(SFF)を接続してスキャンチェーン(Scan Chain)を構成した例を示している。この例では、出力側のn個のスキャン・フリップフロップのうち、SFF2、SFF3、SFF6がフェイル・フリップフロップ(Fail−FF)となり、SFF1、SFF4、SFF5、SFF7はパス・フリップフロップ(Pass−FF)となる。これは、前述した
図4における10ns(定格)でのテスト結果に対応する。
【0061】
一次故障候補ネットを求める際には、まず、Fail−FFを起点として回路を入力側にトレースする。このトレースは、別のSFFに到達した時点で打ち切りとする。このようなトレースを行うと、Fail−FFを頂点としたコーン状形状の回路領域が抽出されるが、この回路領域をLogic−Coneと呼ぶ。そして、このLogic−Coneに含まれるネットの中から、一次故障候補ネットを求める。
【0062】
この際、Logic−Coneに含まれる全てのネットを一次故障候補とする方法や、多くのConeが重なるネットのみを一次故障候補とする方法など、様々なやり方が考えられるが、本実施の形態においては上記のいずれの方法をとっても良いものとする。
【0063】
<タイミング・マージンの算出方法>
前述したステップS14におけるタイミング・マージンの算出方法について、
図6、
図7を参照して説明する。
図6は、順序回路の回路構成の一例を示す図である。
図7は、
図6におけるクロック、各ネットの動作波形の一例を示す図である。
【0064】
図6に示す順序回路では、スキャン・フリップフロップSFF1、SFF2、SFF6、SFF7、SFF8と、ゲート素子(OR素子)3、ゲート素子(AND素子)4、ゲート素子(AND素子)5から構成した例を示している。SFF1、SFF2及びゲート素子3、4、5における入出力端子間の遅延を、t1〜t5とする。また、Xの位置で遅延故障が発生しており、これによる遅延増大量はtdである。
【0065】
図7では、
図6におけるクロック(CLOCK)、ネットA、Bの動作波形を示している。CLOCKにおける1回目の立ち上がり遷移(L)により、SFF1とSFF2がLaunch動作を行い、それによりネットA、Bにおいて立ち上がり遷移が発生する。CLOCKにおける2回目の立ち上がり遷移(C)により、SFF6、SFF7、SFF8がCapture動作を行う。
【0066】
上記の回路における、タイミング解析の手順は以下の通りである。まず、時刻の基準(時刻0)を、CLOCKにおける1回目の立ち上がり遷移の時刻(L)とする。すると、ネットAの遷移時刻はt1となり、ネットBの遷移時刻はt2となる。次に、ゲート素子3の出力(SFF6の入力)における遷移時刻は、min(t1、t2)+t3となる。minは、引数の最小値を返す関数である。ゲート素子3では、OR素子の複数入力端子における同時の立ち上がり遷移が発生しており、その場合は最初に遷移した端子の遷移時刻を基準に出力の遷移時刻が決定される。min関数は、最初の遷移時刻を求めるために利用されている。
【0067】
一方、SFF6におけるCapture動作は、
図7より時刻Tに行われる。従って、タイミング・マージンは、Capture時刻Tと上記遷移時刻の差となる。即ち、SFF6におけるタイミング・マージンは、T−(min(t1、t2)+t3)となる。
【0068】
同様に、ゲート素子4の出力(SFF7の入力)における遷移時刻は、max(t1、t2+td)+t4となる。max関数は、引数のうち最大値を返す。ゲート素子4においては、AND素子の複数入力端子における同時の立ち上がり遷移が発生しており、その場合は最後に遷移した端子の遷移時刻を基準に出力の遷移時刻が決定される。max関数は、最後の遷移時刻を求めるために用いられている。また、SFF2からゲート素子4に至る経路には故障Xが存在するので、マージン計算の際も故障の影響による遅延増大量tdが加味されている。そして、SFF7におけるタイミング・マージンは、T−(max(t1、t2+td)+t4)となる。
【0069】
なお、SFF8はゲート素子5によって遷移の伝搬が遮断されているので、計算上はSFF8でFailが発生することはない。テスト結果マップにおいて、SFF8でFailが発生していた場合、それはシミュレーションの結果と矛盾するので、
図6の故障Xは真の故障ではないと判定される。
【0070】
なお、各素子の遅延値t1〜t5は、SDF(Standard Delay Format)ファイルに記載されているものを用いる。SDFは、回路設計時のタイミング検証に用いる情報であり、回路レイアウトをもとに、寄生RC抽出ツールおよび遅延計算ツールを用いて生成される。
【0071】
一方、SDFには、素子の遅延情報だけではなく、配線の遅延情報も記載されている。本実施の形態では、説明を簡単にするために配線遅延については無視してタイミングを求めたが、実際には配線遅延も考慮してタイミング・マージンの計算を行うべきである。
【0072】
<一致度の計算方法>
前述したステップS15における一致度の計算方法について、
図8、
図9を参照して説明する。
図8は、タイミング・マージンのシミュレーション結果の一例を示す図である。
図9は、一致度を計算する際の手順の一例を示す図である。
【0073】
図8に示すタイミング・マージンのシミュレーション結果は、各スキャン・フリップフロップ(SFF)のディレイおよびタイミング・マージンをシミュレーションにより求めた結果である。
【0074】
図8の例では、各スキャン・フリップフロップ(SFF)のシミュレーション結果のディレイおよびタイミング・マージンを、
図4に示したテスト結果マップと同様にテスト条件(テストタイミング)を横軸として示している。
【0075】
一致度を計算する際には、
図9に示すように、まず、一次故障候補ネットから故障伝搬する各スキャン・フリップフロップのディレイに対し、故障の影響として同一量の遅延値を加算する(ステップS21)。
図8では、SFF2、SFF3、SFF6に故障伝搬する場合の計算方法を示している。このとき加算する遅延値は、
図8におけるSFF2、SFF3、SFF6のディレイと
図4のテスト結果マップとを比較し、その残差が最小になるように決定する。ディレイ故障の場合、故障の大きさによって遅延の変化量が異なるので、それを表現するために上記のような演算を行う。そして、ディレイ加算後のタイミング・マージンを
図4のテスト結果マップと比較し、それらのグラフ形状の一致度を、当該故障候補の確からしさとして用いる(ステップS22)。
【0076】
<実施の形態1の効果>
以上説明した本実施の形態によれば、ディレイ故障診断向けにテスト条件を最適化し、フェイル数を適切な大きさにすることで診断精度を向上することができる。すなわち、テスト結果に含まれるフェイル数が少ない場合、ソフトウェアによる診断を実施しても十分な故障箇所の絞込みができない場合がある。しかしながら、本実施の形態では、様々な条件でテストを行い、テスト条件によるフェイル発生状況の変化をもとに診断を行うため、上記のフェイル数が少ない場合のような診断精度低下の問題を回避することができる。
【0077】
また、単にテスト条件を厳しくすることでフェイル数を増大させ、これにより診断精度を向上させることも可能ではあるが、テスト条件を厳しくしすぎると正常動作している(故障と無関係な)スキャン・フリップフロップでフェイルが発生する可能性もある。そして、正常なスキャン・フリップフロップで発生したフェイルを元に診断を行うと、誤ったネットを故障箇所として診断してしまう。しかしながら、本実施の形態の手法であれば、テスト条件によるフェイル発生状況の変化をもとに診断を行うため、このような誤診断を防ぐことが可能である。
【0078】
[実施の形態2]
本実施の形態2における故障診断システム、故障診断方法および故障診断プログラムについて説明する。本実施の形態2においては、前記実施の形態1と異なる点を主に説明する。
【0079】
本実施の形態2は、前記実施の形態1における一致度計算部225の具体例を示すものである。すなわち、本実施の形態2は、一致度計算部225が、全ての一次故障候補ネット情報233に対して、タイミング・マージン情報234とテスト結果マップ情報232との一致度を計算する際に、その一致度を示す指標として、ピアソンの積率相関係数などの指標を用いることを特徴とする。
【0080】
ピアソンの積率相関係数とは、2つの確率変数の間の相関(類似性の度合い)を示す統計学的指標である。原則、単位は無く、−1から1の間の実数値をとり、1に近いときは2つの確率変数には正の相関があるといい、−1に近ければ負の相関があるという。0に近いときはもとの確率変数の相関は弱い。
【0081】
<ピアソンの積率相関係数>
ピアソンの積率相関係数aは、次式により求められる。ここで、x
iは、テスト結果マップから求めたスキャン・フリップフロップSFFi(i=1〜n)のタイミング・マージンである。y
iは、シミュレーションにより求めたスキャン・フリップフロップSFFiのタイミング・マージンである。nはフェイル・フリップフロップの個数であり、/xと/yは、それぞれx
iとy
iの相加平均を示す(「/」はx、yの上に記載する上バーを表す)。
【0083】
上式によるピアソンの積率相関係数aの計算結果は、−1〜+1の範囲となり、値が大きいほどx
iとy
iとの一致度が高いことを示す。そこで、このピアソンの積率相関係数aを前記実施の形態1における一致度として用いる。
【0084】
また、一致度を示す指標としては、ピアソンの積率相関係数に限らず、コサイン類似度などを用いることも可能である。
【0085】
コサイン類似度とは、ベクトル空間モデルにおいて、文書同士を比較する際に用いられる類似度計算手法である。コサイン類似度は、そのまま、ベクトル同士の成す角度の近さを表現するため、三角関数の普通のコサインの通り、1に近ければ類似しており、0に近ければ似ていないことになる。
【0086】
以上説明した本実施の形態においても、前記実施の形態1と同様の効果を得ることができる。これに加えて、本実施の形態2によれば、タイミング・マージン計算結果とテスト結果との一致度を客観的な指標で評価できるようになり、診断結果の客観性を増すことが可能となる。また、ソフトウェアによる自動処理が容易に可能となる。
【0087】
[実施の形態3]
本実施の形態3における故障診断システム、故障診断方法および故障診断プログラムについて説明する。本実施の形態3においては、前記実施の形態1および2と異なる点を主に説明する。
【0088】
本実施の形態3は、前記実施の形態1における一致度計算部225の一致度の計算方法が異なるものである。すなわち、本実施の形態3は、一致度計算部225における一致度の計算方法において、ディレイに対して故障の影響を加算する前に、全てのディレイ値に対してアフィン変換を行うことを特徴とする。
【0089】
アフィン変換とは、ユークリッド幾何学的な線形変換(回転、拡大縮小、剪断)と平行移動の組み合わせによる図形や形状の移動、変形方式である。一次元のスカラ量であるディレイ値に対してアフィン変換を行う場合、その変換式は次式となる。なお、xとyはそれぞれ変換前と変換後のディレイ値を示し、aとbは係数を示す。
【0090】
y=ax+b
<一致度の計算方法>
本実施の形態における一致度の計算方法について、
図10を参照して説明する。
図10は、一致度を計算する際の手順の一例を示す図である。
【0091】
一致度を計算する際には、故障伝搬する各スキャン・フリップフロップのディレイに対して故障の影響を加算する前に、まず、全てのスキャン・フリップフロップのディレイ値に対してアフィン変換を行う(ステップS31)。アフィン変換の係数は、前述した
図8のシミュレーションで故障伝搬しないスキャン・フリップフロップ(SFF1、SFF4、SFF5、SFF7)のタイミング・マージン計算値と前述した
図4のテスト測定値とを比較し、その残差が最小になるように定める。
【0092】
このアフィン変換を行った後に、前記実施の形態1と同様に、故障伝搬する各スキャン・フリップフロップ(SFF2、SFF3、SFF6)のディレイに対し、故障の影響として同一量の遅延値を加算する(ステップS32)。そして、ディレイ加算後のタイミング・マージンを
図4のテスト結果マップと比較し、それらのグラフ形状の一致度を、当該故障候補の確からしさとして用いる(ステップS33)。
【0093】
以上説明した本実施の形態においても、前記実施の形態1と同様の効果を得ることができる。これに加えて、本実施の形態3によれば、製造バラツキ等に起因して発生する、タイミング・マージン計算値の誤差が補正され、診断精度を向上することができる。
【0094】
[実施の形態4]
本実施の形態4における故障診断システム、故障診断方法および故障診断プログラムについて説明する。本実施の形態4においては、前記実施の形態1〜3と異なる点を主に説明する。
【0095】
本実施の形態4は、前記実施の形態1における診断対象チップ300として良品サンプルおよび不良品サンプルを対象とする点が異なるものである。すなわち、本実施の形態4は、良品サンプルおよび不良品サンプルの両方に対してテスト結果マップを作成し、良品サンプルのテスト結果をタイミング・マージン計算結果の代わりに使用することを特徴とする。
【0096】
<故障診断方法>
本実施の形態における故障診断方法について、
図11を参照して説明する。
図11は、故障診断方法の処理手順の一例を示す図である。
【0097】
まず、ステップS41で、良品サンプルおよび不良品サンプルの診断対象チップ300に対して集積回路テスト装置100を用いたテストが実施され、テスト結果としてFail−Log情報231が生成される。Fail−Log情報231は、記憶装置230に記録される。この際、テスト制御部221が、集積回路テスト装置100を制御し、良品サンプルおよび不良品サンプルの診断対象チップ300に対してテスト条件を変えながら複数回のテストを行う。
【0098】
次に、ステップS42では、テスト結果マップ作成部222が、Fail−Log情報231をもとに良品サンプルのテスト結果マップと不良品サンプルのテスト結果マップとを作成する。これが、テスト結果マップ情報232となる。
【0099】
次に、ステップS43では、一次故障候補抽出部223が、Fail−Log情報231をもとに、不良品サンプルのFail−FFを起点とした回路の経路追跡により、一次故障候補ネットを求める。これが、一次故障候補ネット情報233となる。
【0100】
次に、ステップS44では、タイミング解析部224が、良品サンプルのテスト結果マップ情報232を、良品サンプルのタイミング・マージン情報234に変換する。良品サンプルのテスト結果マップ情報232は、サンプルに故障が無い状態のタイミング・マージンを示しているので、そのままタイミング・マージン情報234に変換することが可能である。
【0101】
そして、ステップS45では、一致度計算部225が、全ての一次故障候補ネット情報233に対して、良品サンプルのタイミング・マージン情報234と不良品サンプルのテスト結果マップ情報232との一致度を計算し、一致度情報235を生成する。
【0102】
最後に、ステップS46において、結果出力部226が、一致度情報235において一致度の高い一次故障候補を、確からしい故障候補として出力する。これが、診断結果236となる。
【0103】
本実施の形態における良品サンプルおよび不良品サンプルとしては、例えば高温条件でのみ不良となるサンプルならば、低温と高温の2条件でテスト結果マップを作成し、低温のテスト結果をタイミング・マージン計算結果の代わりに使用することが考えられる。あるいは、電源電圧が低い条件でのみ不良となるサンプルならば、低電圧と高電圧の2条件でテスト結果マップを作成し、高電圧のテスト結果をタイミング・マージン計算結果の代わりに使用することも考えられる。
【0104】
以上説明した本実施の形態においても、前記実施の形態1と同様の効果を得ることができる。これに加えて、本実施の形態4によれば、以下のような効果を得ることができる。例えば、集積回路のタイミング解析は計算結果に誤差が含まれている場合が多く、これが診断精度を低下させることも考えられる。本実施の形態では、良品サンプルの評価結果を良品のタイミング・マージンとして診断を行うため、上記のような計算誤差の影響を排除することができる。
【0105】
[実施の形態5]
本実施の形態5における故障診断システム、故障診断方法および故障診断プログラムについて説明する。本実施の形態5においては、前記実施の形態1〜4と異なる点を主に説明する。
【0106】
本実施の形態5は、前記実施の形態1における診断対象チップ300として複数のサンプルを対象とする点が異なるものである。すなわち、本実施の形態5は、複数のサンプルに対して診断を行い、得られた結果から統計的に不良の主モードを明らかにすることを特徴とする。
【0107】
<故障診断方法>
本実施の形態における故障診断方法について、
図12を参照して説明する。
図12は、故障診断方法の処理手順の一例を示す図である。
【0108】
まず、ステップS51で、複数のサンプルの診断対象チップ300に対して集積回路テスト装置100を用いたテストが実施され、テスト結果としてFail−Log情報231が生成される。Fail−Log情報231は、記憶装置230に記録される。この際、テスト制御部221が、集積回路テスト装置100を制御し、複数のサンプルの診断対象チップ300に対してテスト条件を変えながら複数回のテストを行う。
【0109】
次に、ステップS52では、テスト結果マップ作成部222が、Fail−Log情報231をもとに複数のサンプルのテスト結果マップを作成する。これが、テスト結果マップ情報232となる。
【0110】
次に、ステップS53では、一次故障候補抽出部223が、Fail−Log情報231をもとに、複数のサンプルのFail−FFを起点とした回路の経路追跡により、一次故障候補ネットを求める。これが、一次故障候補ネット情報233となる。
【0111】
次に、ステップS54では、タイミング解析部224が、Fail−Log情報231をもとにタイミング解析を実施し、複数のサンプルのFail−FFのタイミング・マージンをシミュレーションにより算出し、タイミング・マージン情報234を生成する。
【0112】
そして、ステップS55では、一致度計算部225が、全ての一次故障候補ネット情報233に対して、複数のサンプルのタイミング・マージン情報234と複数のサンプルのテスト結果マップ情報232との一致度を計算し、一致度情報235を生成する。
【0113】
最後に、ステップS56において、結果出力部226が、一致度情報235において一致度の高い一次故障候補を、確からしい故障候補として出力する。これが、診断結果236となる。
【0114】
この結果出力部226から出力された故障候補は、不具合の発生原因が解析される。例えば、定格条件でパスするサンプルであっても、定格より厳しい方向へテスト条件を振り、その測定結果として得られるタイミング・マージンがタイミング・マージン計算値と著しく異なる場合がある。このような場合は、そこに何らかの不具合が発生していると考えて診断/解析を行い、原因を明らかにする。
【0115】
不良の主モードを判定する方法としては、例えば多くのサンプルで同一箇所の不良が発生しているならば、それが主モードである。あるいは、故障層分析により主モードを判定する方法も考えられる。故障層分析とは、診断結果として得られる故障候補ネットに含まれる配線層やビア(VIA)層の統計解析結果より、不良の原因となっている層を明らかにする手法である。
【0116】
以上説明した本実施の形態においても、前記実施の形態1と同様の効果を得ることができる。これに加えて、本実施の形態5によれば、不良の主モードが明確になることで歩留を向上させることができる。あるいは、通常のテスト結果に現れない微小な欠陥の対策を行うことで、製品品質を向上させることができる。
【0117】
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。