JP2010249662A - ディレイ故障診断プログラム - Google Patents

ディレイ故障診断プログラム Download PDF

Info

Publication number
JP2010249662A
JP2010249662A JP2009099522A JP2009099522A JP2010249662A JP 2010249662 A JP2010249662 A JP 2010249662A JP 2009099522 A JP2009099522 A JP 2009099522A JP 2009099522 A JP2009099522 A JP 2009099522A JP 2010249662 A JP2010249662 A JP 2010249662A
Authority
JP
Japan
Prior art keywords
flip
flop
delay
fault
information processing
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.)
Granted
Application number
JP2009099522A
Other languages
English (en)
Other versions
JP2010249662A5 (ja
JP5292164B2 (ja
Inventor
Daisuke Ito
大輔 伊藤
Hiroki Yamanaka
宏樹 山中
Yasuo Sato
康夫 佐藤
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009099522A priority Critical patent/JP5292164B2/ja
Priority to US12/761,335 priority patent/US8392776B2/en
Publication of JP2010249662A publication Critical patent/JP2010249662A/ja
Publication of JP2010249662A5 publication Critical patent/JP2010249662A5/ja
Application granted granted Critical
Publication of JP5292164B2 publication Critical patent/JP5292164B2/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/318328Generation of test inputs, e.g. test vectors, patterns or sequences for delay tests

Abstract

【課題】 半導体集積回路の故障診断に関し、ディレイ故障の故障箇所を高精度に特定する。
【解決手段】 故障仮定と終点フリップフロップFF抽出部116を設け、故障仮定情報より故障仮定を選択し、故障仮定より出力側に向かって論理トレースを実行する。故障仮定からトレースの結果得られた終点のフリップフロップFFのテスト結果を判定する(117)。終点のフリップフロップFFまでの伝搬経路の最大値と最小値を求め、そこからディレイ余裕度を求める。ディレイ余裕度と117で求めたテスト結果を用いてディレイ範囲を求め(118)、故障候補とディレイ範囲決定部119で故障候補とディレイ故障のディレイ範囲を特定する。
【選択図】 図2

Description

この発明は、半導体装置、さらにはそれにおける故障診断技術に関する。
半導体集積回路のディレイ故障診断には、テストのフェイル・パスの情報と故障辞書を使い故障箇所を特定する手法がある。
テストには通常スキャンテスト方式が用いられる。スキャンテスト方式は、フリップフロップFFを直列に繋げたスキャンチェインを半導体集積回路に組み込みテストを行う。スキャンチェインに入力端子からテストパタンを入力し、その後、クロックを印加することで組合せ回路部にテストパタンを伝搬させる。組合せ回路部を伝搬した応答パタンはフリップフロップFFで補足し、スキャンチェインから出力端子に読み出し、テスタで信号レベルを観測する。そして、観測した応答パタンと予め計算されテスタのメモリに格納された期待値を比較し、一致していればパス、一致していなければフェイルと判定する。期待値はスキャンチェインを構成する全フリップフロップFFについて計算されているため、どのフリップフロップFFがパスまたはフェイルと判定されるかの情報も得ることが出来る。これらの一連の操作はテストパタン毎に実施され、パスと判定されたフリップフロップFFをそのテストパタンに関するパスフリップフロップFF、フェイルと判定されたフリップフロップFFをそのテストパタンに関するフェイルフリップフロップFFと呼ぶ。
故障辞書とは、半導体集積回路に故障が存在した場合、印加した各テストパタンに対して、どのフリップフロップFFがフェイルまたはパスするかをコンピュータによる論理シミュレーションで求めたものである。フリップフロップFFがフェイルとは、故障の影響がそのフリップフロップFFに伝搬し、テスタで観測可能なことを示し、フリップフロップFFがパスとは故障の影響は観測不能なことを示す。故障辞書では、故障モデルを仮定した場所を故障仮定と呼ぶ。よって、故障仮定に含まれる情報は、故障を仮定した場所と仮定した故障モデルである。故障辞書には、故障仮定ごとに全フリップフロップFFのパス・フェイルの情報を格納している。
故障辞書を使った故障診断では、テストパタン毎にテスタで観測された全フリップフロップFFのパス・フェイル情報と、故障辞書に格納された故障仮定の全フリップフロップFFのパス・フェイル情報を照合し、一致した故障仮定を故障候補とする。完全に一致しなくても、一致度合いに重み付けをすることで真の故障の可能性が高い故障候補を特定する。
ディレイ故障診断では、ディレイ故障を仮定して故障辞書を作成する。ディレイ故障とは、半導体集積回路において、信号が「設定された時間」内に伝搬せず、論理的誤動作を引き起こすことを指す。通常、半導体集積回路のクロック動作周波数で決まるクロック周期が「設定された時間」に相当する。このためディレイ故障の故障モデルは、着目した論理ノードで発生した信号の遷移が、故障による影響で遅れるために、設定された時間内に観測すべきフリップフロップFFに伝搬が到達せず、信号遷移はフリップフロップFFで観測されないという論理的な状態をモデル化する。具体的には、信号の論理レベルがH(ハイレベル)からL(ローレベル)へ遷移する箇所で、Hのままになっている立下り故障と、信号がLからHへ遷移する箇所でLのままになっている立上り故障を扱う。
ディレイ故障診断について記載した特許文献1を挙げる。特許文献1で開示されている故障診断手法は、まずフェイルフリップフロップFFから入力側に向かってトレースを行い、故障候補の絞込みを行う。次に絞込んだ故障候補にディレイ故障を仮定し、論理的なシミュレーションを行う。そして最後に、シミュレーションで求めたパス・フェイル情報とテストのパス・フェイル情報を照合し、故障箇所を特定している。
特開2007−118863号公報
従来のディレイ故障で用いるディレイ故障モデルは背景技術に示したように、故障を仮定する箇所で正常な信号遷移が発生しないというモデルを使用しており、信号遷移のディレイ値を全く考慮していない。しかし、実際の半導体集積回路におけるディレイ故障では、故障箇所の信号遷移の遅延は無限大ではなく、ある大きさを持つため、故障の影響が伝搬する経路の長さによって、フリップフロップFFで故障が観測されたりされなかったりする。すなわち、ディレイ値が大きい伝搬経路では実動作のクロック周期に対して余裕が少ないため微細なディレイ故障でも影響がフリップフロップFFで観測できる。一方ディレイ値が小さい伝搬経路では実動作のクロック周期に対する余裕が大きいため微細なディレイ故障はフリップフロップFFで観測できず、ディレイ故障の故障辞書とテストの結果が一致しないことがある。故障診断は故障辞書とフェイル情報の一致具合で故障箇所を特定するため、伝搬経路のディレイ値を考慮していないモデルで得たディレイ故障の故障辞書では故障箇所を高精度に特定できない。
本発明は、伝搬経路のディレイ値を考慮した高精度の故障箇所の特定を目的とするものである。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記とおりである。すなわち、半導体集積回路の中から故障仮定を取り出し、故障仮定から出力側のフリップフロップFFまでの論理回路を抽出し、故障仮定の入力側のフリップフロップFFから故障仮定を通過し、出力側のフリップフロップFFまで到達するすべての伝搬経路のディレイ値を計算し、伝搬経路のディレイ値の中から最大値と最小値を抽出し、伝搬経路のディレイ値の最大値と最小値からディレイ余裕度を計算し、ディレイ余裕度と半導体集積回路のテスト結果とを比較し、ディレイ故障のディレイ範囲を抽出する。この操作をテストパタン毎に行うことで、故障仮定に対して複数のディレイ範囲を求め、これらを重ね合わせることで、故障仮定が真の故障箇所であるかを判断することをコンピュータに実行させる。
本願において開示される発明のうち、代表的なものの効果を簡単に説明すれば、下記とおりである。すなわち、本発明のディレイ故障診断プログラムによれば、半導体集積回路におけるディレイ故障箇所を容易に発見することができる。
ディレイ故障診断プログラムを実行するハードウェアの環境を示している。 ディレイ故障診断プログラムの処理の流れを示している。 スキャンテストの機能を持つ半導体集積回路の詳細図を示している。 ディレイ故障診断プログラムの処理の一部である故障仮定と終点フリップフロップFF抽出部の詳細を示している。 ディレイ故障の故障モデルを示している。 選択した故障仮定から出力側に向かって論理トレースを実行した例を示している。 ディレイ故障診断プログラムの処理の一部である故障仮定の各終点フリップフロップFFのテスト結果判定部の前半の処理を示している。 ディレイ故障診断プログラムの処理の一部である故障仮定の各終点フリップフロップFFのテスト結果判定部の後半の処理を示している。 故障が終点フリップフロップFFまで伝搬する場合と伝搬しない場合の例を示している。 ディレイ故障診断プログラムの処理の一部である故障仮定の各終点フリップフロップFFのディレイ範囲抽出の詳細を示している。 選択した故障仮定から入力側に向かって論理トレースを実行した例を示している。 故障仮定を通過し、終点フリップフロップFFに到達する伝搬経路のディレイ値とディレイ余裕度を示している。 終点フリップフロップFFのテスト結果を示している。 故障仮定と終点フリップフロップFFのディレイ余裕度の最大値、最小値とディレイ範囲を示している。 ディレイ故障診断プログラムの処理の一部である故障候補とディレイ範囲決定部の詳細を示している。 故障仮定の各終点フリップフロップFFのディレイ範囲とその共通範囲を示している。 図16とは異なる故障仮定の各終点フリップフロップFFのディレイ範囲を示している。 複数のテストタイミングでテストしたフェイル情報を示している。 テストタイミングTc5のフェイル情報を使用し、図2の処理を実行した結果を示している。 テストタイミングTc3、Tc5の共通範囲と、Tc3、Tc5から得られた新しい共通範囲を示している。 図20とは異なる故障仮定のテストタイミングTc3、Tc5の共通範囲を示している。
<ハードウェアの実行環境>
図1は本発明であるディレイ故障診断プログラムを実行するハードウェアの環境を示している。このハードウェアは、半導体集積回路130、半導体集積回路のテスタ120、ネットワーク509、情報処理装置510から構成される。情報処理装置は、CPU501、メモリ502、ROM503、ハードディスク504、ディスプレイ505、マウス506、キーボード507、これらを結ぶバス508ととで構成される。テスタ120と情報処理装置510は、ネットワーク509を介し接続される。
半導体集積回路のテスタ120は半導体集積回路130のテストを行う。CPU501はプログラム実行過程の演算を行う。メモリ502はCPU501の演算に必要な情報を納めるワークスペースである。ROM503にはプログラムのデータが収められている。ディスプレイ505はプログラムの実行結果を出力する。プログラム実行者はディスプレイ505を通してプログラムの実行結果を見ることが出来る。マウス506はプログラム使用者がプログラムに命令を与えるためのインターフェースである。マウス506を使用した命令はディスプレイ505に反映される。キーボード507はプログラム実行者がプログラムに命令を与えるためのインターフェースである。キーボード507を使用した命令はディスプレイに反映される。マウス506とキーボード507はタッチパネルを使用したインターフェースでも代用が可能である。それぞれの装置はバス508で結合されており、相互にデータの送受信が可能である。バス508はネットワーク509を通じて他の装置とデータの送受信も可能である。例えば、半導体集積回路のテスタ120から出力されたフェイル情報101とテスタ120に納められているテストパタン121はネットワーク509を通じてハードディスク504に納められる。
ハードディスク504は、プログラム実行のために必要な情報やプログラム実行結果、出力データなどを格納する。また、ハードディスク504は、データベースとして、入力データであるテストパタン121、フェイル情報101、ネットリスト102、セルライブラリ103、配線・セルの遅延情報104、故障仮定情報105、テストパタン121もハードディスク504に格納する。なお、フェイル情報101とはテストパタン121を使った半導体集積回路のテストで、期待値と出力値が不一致となった場合に出力される。フェイル情報101には、フェイルと判定されたフリップフロップFFの情報が含まれている。
図2以降において説明する処理116〜119などは、CPU501とメモリ502で行われる。プログラム自体はROM503に納められている。出力部118の結果はディスプレイ505に出力される。ディスプレイ505に出力されるデータをハードディスク504に納めておくことも可能である。
<プログラム処理の流れ>
図2は本発明の処理の流れの概要を示している。
ステップ115では、半導体集積回路130についてスキャンテストを行う。
ステップ116では、フェイル情報101とネットリスト102とセルライブラリ103と配線・セルの遅延情報104と故障仮定情報105とテストパタン121を入力し、故障仮定と終点フリップフロップFF110を出力する。
ステップ117では、フェイル情報101とネットリスト102とセルライブラリ103と配線・セルの遅延情報104と故障仮定情報105とテストパタン121、そして故障仮定と終点フリップフロップFF110を入力し、故障仮定と終点フリップフロップFFのテスト結果111を出力する。
ステップ118では、フェイル情報101とネットリスト102とセルライブラリ103と配線・セルの遅延情報104と故障仮定情報105とテストパタン121、そして故障仮定と終点フリップフロップFFのテスト結果111を入力し、故障仮定と各終点フリップフロップFFのディレイ範囲112を出力する。
ステップ119では、故障仮定と各終点フリップフロップFFのディレイ範囲112を入力し、故障候補とディレイ範囲113を出力する。各処理の詳細な説明は後述する。
<半導体集積回路のスキャンテストの処理の詳細>
図3はスキャンテストの機能を持つ半導体集積回路130の詳細図を示している。半導体集積回路130は、はフリップフロップFF301〜307と、フリップフロップFFを直列に繋ぎ合わせたスキャンチェイン350、351と、各フリップフロップFFにテストクロックを供給するテストクロック生成回路(TGN)360と、スキャンチェインの入出力端子371〜374とテスト対象となる組合せ回路201〜210から構成される。
以下では、スキャンテストの動作の詳細について説明する。まず、テスタ120からスキャンチェインの入力端子371、372を介してテストパタンを各フリップフロップFF301〜307に印加する。次にテストクロック生成回路(TGN)360からテストクロックを各フリップフロップFFに印加し、組合せ回路201〜210にフリップフロップFFのテストパタンを伝搬させる。その後、再びテストクロックを印加し、組合せ回路通過後のテストパタンをフリップフロップFFに取り込む。取り込んだテストパタンはスキャンチェインの出力端子373、374から取り出し、あらかじめ計算された期待値と比較する。比較した値が一致の場合はテストパス、不一致の場合はテストフェイルとなる。また、2つのテストクロックの時間間隔をテストタイミングと呼ぶ。なお、テスタ120からテストクロック生成回路360を制御し、テストタイミングを変更することができる。
<故障仮定と終点フリップフロップFF抽出部の処理の詳細>
以下では故障仮定と終点フリップフロップFF抽出116の詳細を説明する。
図4は、図2の故障仮定と終点フリップフロップFF抽出116の処理の詳細を示している。図4の処理実行時に必要な情報は図1に示しているフェイル情報101、ネットリスト102、セルライブラリ103、配線・セルの遅延情報104、故障仮定情報105、テストパタン121であり、ハードディスク504に納められている。図4に示す故障仮定と終点フリップフロップFF抽出116の処理はCPU501、メモリ502で行われ、出力情報である故障仮定と終点フリップフロップFF110はハードディスク504に納められる。またディスプレイ505を通じて出力することもできる。故障仮定と終点フリップフロップFF抽出116を実行時に、プログラム実行者はマウス506やキーボード507を通して命令を出すことができる。ここでの命令はプログラム開始の命令であり、プログラム自体は自動で動作する。以下、図4の処理を詳細に説明する。
まず故障仮定の選択を行う(S101)。故障仮定情報105から任意の故障仮定を選択する。故障仮定とは、半導体集積回路の不良動作を論理的なモデルに置き換えた故障モデルを各論理ゲートの入出力端子に仮定することである。図5にディレイ故障の故障モデルを示す。ディレイ故障の故障モデルは2つあり、1つは図5(1)のように信号レベルLがHに遷移するタイミングが正常時より遅い状態、もう1つは図5(2)のように信号レベルHがLに遷移するタイミングが正常時より遅い状態である。この各故障モデルを論理ゲートの端子に仮定する。よって、故障仮定は仮定した故障モデルと端子名の情報を持つ。故障仮定はテストパタン生成時に各論理ゲートの端子について行われている。
次に選択された故障仮定から出力側に向かってフリップフロップFFの入力端子に行き着くまで論理トレースを行う(S102)。論理トレースとは、半導体集積回路の結線情報から信号の伝搬経路を追跡することである。論理トレースによって得られたフリップフロップFFをその故障仮定の終点フリップフロップFFと呼ぶ。論理トレースは故障仮定から出力側の回路全てについて行うため終点フリップフロップFFも複数になることがある。出力側に論理トレースを実行した具体的な例を、図6を用いて説明する。
図6は、選択された故障仮定から出力側に向かって論理トレースを実行した例を示している。図6は故障仮定P1(250)と論理素子201〜206と終点フリップフロップFF301〜303から構成されている。故障仮定P1(250)から出力側に向かって論理素子の入力端子をトレースする。論理素子201の入力端子に到達した場合、その論理素子201の出力端子から再び次の論理素子の入力端子までトレースする。これをフリップフロップFFの入力端子に到達するまで繰り返す。図6の故障仮定P1(250)の場合、3つの終点フリップフロップFF301〜303を得ることが出来る。
次に終点フリップフロップFFとフェイル情報101のフェイルフリップフロップFFを照合し、終点フリップフロップFFにフェイルフリップフロップFFが全て含まれているかの判定を行う(S103)。終点フリップフロップFFにフェイルフリップフロップFFが全て含まれていた場合、S103のYESを選択し、選択した故障仮定とその終点フリップフロップFFを登録する(S104)。終点フリップフロップFFにフェイルフリップフロップFFが全て含まれていない場合、S103のNOに進み、選択した故障仮定を破棄する(S105)。S104またはS105の処理が終了したら全ての故障仮定についてS102〜S104またはS105までの処理を行ったかの判定を行う(S106)。全ての故障仮定について処理を行った場合、S106のYESに進み、故障仮定と終点フリップフロップFFの情報を出力する(S107)。ここで出力された情報は図1の故障仮定と終点フリップフロップFF110に相当し、故障仮定の各終点フリップフロップFFのテスト結果判定117に使われる。全ての故障仮定について処理を行っていない場合、S106のNOに進み、S101より再度処理を実行する。S107の処理で、故障仮定と終点フリップフロップFF抽出116は終了する。
<故障仮定の各終点フリップフロップFFのテスト結果判定部の処理の詳細>
以下では故障仮定の各終点フリップフロップFFのテスト結果判定117の詳細を説明する。
図7と図8は、図2の故障仮定の各終点フリップフロップFFのテスト結果判定117の処理の詳細を示している。図7はS211までの処理を示しており、図8はS211以降の処理を示している。図7と図8の処理実行時に必要な情報は図1に示しているフェイル情報101、ネットリスト102、セルライブラリ103、配線・セルの遅延情報104、故障仮定情報105、テストパタン121、故障仮定と終点フリップフロップFF110であり、ハードディスク504に納められている。処理はCPU501、メモリ502で行われ、出力情報である故障仮定と終点フリップフロップFFのテスト結果111はハードディスク504に納められる。またディスプレイ505を通じて出力することもできる。以下、図7、図8の処理を詳細に説明する。
まず、故障仮定と終点フリップフロップFF110から故障仮定を1つ選択する(S201)。次に選択した故障仮定の終点フリップフロップFFの中から終点フリップフロップFFを1つ選択する。(S202)。次にテストパタン121からテストパタンを選択する(S203)。
次に選択した終点フリップフロップFFに故障が伝搬するかの判断を行う(S204)。ここで扱う故障とは背景技術で説明した立上り故障、立下り故障のことである。故障が伝搬するとは、故障仮定の故障の影響が、与えられたテストパタンで終点フリップフロップFFまで到達することをいう。故障が終点フリップフロップFFまで伝搬する具体的な例を、図9を用いて説明する。
図9は、故障が終点フリップフロップFFまで伝搬する場合と、伝搬しない場合の例を示している。図9はフリップフロップFF401〜403と論理素子421、422と故障仮定450とで構成されている。論理素子421は入力された信号レベルをそのまま出力する。具体的にはHが入力された場合、Hを出力し、Lが入力された場合は、Lを出力する。論理素子422は2入力のAND回路である。AND回路は2つの入力信号がともにHの時にHを出力し、どちらか一方がLまたは両方がLの時にLを出力する。故障仮定450の位置は論理素子421の出力であり、故障モデルは図5(2)の立下り故障である。フリップフロップFF403は故障仮定450の終点フリップフロップFFである。フリップフロップFF401、402の上部には、選択したテストパタンがフリップフロップFF401、402に設定する信号レベルを記している。
まず図9(A)故障が伝搬する場合について説明する。テストパタンはフリップフロップFF401にHからLへ遷移する信号、フリップフロップFF402にHのままの信号を設定したとする。フリップフロップFF401は遷移する信号を出力するため、故障仮定450においても信号遷移が発生する。そして、信号遷移は論理素子422へ伝搬する。論理素子422のもう一方の入力端子にはフリップフロップFF402よりH信号が入力されているため、信号遷移は論理素子422を通過し、フリップフロップFF403へ伝搬する。よって故障仮定450の故障は終点フリップフロップFF403まで伝搬する。
次に図9(B)故障が伝搬しない場合について説明する。テストパタンはフリップフロップFF401にHからLに遷移する信号、フリップフロップFF402にLのままの信号を設定したとする。フリップフロップFF401の信号遷移は図9(B)の場合と同様に論理素子422まで伝搬する。しかし、論理素子422のもう一方の入力端子にはフリップフロップFF402よりL信号が入力されているため、フリップフロップFF403へはL信号が伝搬する。そのため、故障仮定450の故障は終点フリップフロップFF403まで伝搬しない。
図9(A)(B)で説明したように、選択した終点フリップフロップFFに故障が伝搬するかをS204で計算し、判断を行う。
故障が伝搬する場合はS204のYESに進み、S205の判断を行う。全てのテストパタンについてS204の処理を行っている場合はYESに進み、S211の判断を行う。S211の処理については後述する。全てのテストパタンについて処理を行っていない場合は、NOに進みS203から処理を再度実行する。
故障が伝搬しない場合はS204のNOに進み、S206の判断を行う。パスフリップフロップFFとは選択したテストパタンを使用したテスタ120でパスと判定されたフリップフロップFFのことである。選択した終点フリップフロップFFがパスフリップフロップFFの場合はYESに進み、S208の判断を行う。終点フリップフロップFFがパスフリップフロップFFで無かった場合はNOに進み、選択した故障仮定を破棄し、S201より処理を再度実行する(S207)。終点フリップフロップFFがパスフリップフロップFFで無いということは、故障が伝搬しない終点フリップフロップFFでフェイルと判定されており、選択した故障仮定ではフェイル情報のパス・フェイルを再現することができないことを意味している。よって、ここで故障仮定の破棄を行う。
S208ではS205と同様に全てのテストパタンでS204の処理を行ったかを判断する。全てのテストパタンで処理を行った場合はYESに進み、S209の判断を行う。全てのテストパタンで処理を行っていない場合はNOに進み、S203より処理を再度実行する。
S209ではS204の処理でYESを選択し、S205へ進んだテストパタンが存在するかを判断する。S204の処理でYESを選択したテストパタンが存在しない場合はYESに進み、選択した終点フリップフロップFFを破棄し、S202より処理を再度実行する(S210)。S204の処理でYESを選択したテストパタンが存在しないということは、どのテストパタンでも終点フリップフロップFFに故障は伝搬しないことを意味している。故障が伝搬しないフリップフロップFFのパス判定の情報は故障箇所特定に役立たないため、ここで終点フリップフロップFFの破棄を行う。S204の処理でYESを選択したテストパタンが存在する場合はNOに進み、S211の判断を行う。
S211以降の処理は図8に示している。S211ではS204の処理でYESを選択したときの終点フリップフロップFFは全てフェイルフリップフロップFFかの判断を行う。フェイルフリップフロップFFとは選択したテストパタンを使用したテスタ120でフェイルと判定されたフリップフロップFFのことである。S204の処理でYESを選択したときの終点フリップフロップFFが全てフェイルフリップフロップFFである場合はYESに進み、選択した終点フリップフロップFFのテスト結果をテストフェイルとして故障仮定と共に登録する(S213)。テストフェイルとは選択した終点フリップフロップFFの故障仮定が終点フリップフロップFFまで伝搬し、且すべてのテストパタンでフェイルフリップフロップFFとなっていることを意味する。S204の処理でYESを選択したときの終点フリップフロップFFが全てフェイルフリップフロップFFでない場合はNOに進み、S212の判断を行う。
S212では、S204の処理でYESを選択した終点フリップフロップFFは全てパスフリップフロップFFかの判断を行う。全てパスフリップフロップFFの場合はYESに進み、選択した終点フリップフロップFFのテスト結果をテストパスとして故障仮定と共に登録する(S214)。テストパスとは選択した終点フリップフロップFFの故障仮定が終点フリップフロップFFまで伝搬し、且すべてのテストパタンでパスフリップフロップFFとなっていることを意味する。S204の処理でYESを選択した終点フリップフロップFFが全てパスフリップフロップFFでない場合はNOに進み、選択した終点フリップフロップFFのテスト結果をテストパス・フェイルとして故障仮定と共に登録する(S215)。テストパス・フェイルとは選択した終点フリップフロップFFの故障仮定が終点フリップフロップFFまで伝搬し、且テストパタンによってパスフリップフロップFF、フェイルフリップフロップFFになっていることを意味する。
S213、S214、S215の処理の次は全ての終点フリップフロップFFについて処理を行ったかの判断を行う(S216)。全ての終点フリップフロップFFについて処理を行った場合はYESに進み、S217の判断を行う。全ての終点フリップフロップFFについて処理を行っていない場合はNOに進み、S202より処理を再度実行する。
S217では全て故障仮定について処理を行ったかの判断を行う。全ての故障仮定について処理を行った場合はYESに進み、故障仮定と終点フリップフロップFFのテスト結果の情報を出力する(S218)。全ての故障仮定について処理を行っていない場合はNOに進み、S201より処理を再度実行する。ここで出力された情報は図1の故障仮定と終点フリップフロップFFのテスト結果111に相当し、故障仮定の各終点フリップフロップFFのディレイ範囲抽出118で使われる。S218の処理で、故障仮定の各終点フリップフロップFFのテスト結果判定117の処理は終了する。
<故障仮定の各終点フリップフロップFFのディレイ範囲抽出部の処理の詳細>
以下では故障仮定の各終点フリップフロップFFのディレイ範囲抽出118の詳細を説明する。
図10は、図2の故障仮定の各終点フリップフロップFFのディレイ範囲抽出118の処理の詳細を示している。図10の処理実行時に必要な情報は図1に示しているフェイル情報101、ネットリスト102、セルライブラリ103、配線・セルの遅延情報104、故障仮定情報105、テストパタン121、故障仮定と終点フリップフロップFFのテスト結果111であり、ハードディスク504に納められている。処理はCPU501、メモリ502で行われ、出力情報である故障仮定と各終点フリップフロップFFのディレイ範囲112はハードディスク504に納められる。またディスプレイ505を通じて出力することもできる。以下、図10の処理を詳細に説明する。
まず、故障仮定と終点フリップフロップFFのテスト結果111から故障仮定を1つ選択する(S301)。次に選択した故障仮定から終点フリップフロップFFを選択する(S302)。
次に故障仮定を通過し、選択した終点フリップフロップFFまで到達する全ての伝搬経路のディレイ値を計算する(S303)。ここでの伝搬経路は故障仮定を通過する信号を出力する始点となるフリップフロップFFから終点フリップフロップFFまでの経路のことを指す。始点となるフリップフロップFFは故障仮定から入力側に向かって論理をトレースすることで得ることができる。こうして得られたフリップフロップFFを始点フリップフロップFFと呼ぶ。伝搬経路のディレイ値は、始点フリップフロップFFから故障仮定を通り、終点フリップフロップFFまで到達する経路上にある配線・セルの遅延情報を全て足し合わせることで得ることが出来る。始点フリップフロップFFが複数ある場合や故障仮定から終点フリップフロップFFまでの伝搬経路が複数ある場合は、その組合せの数だけ伝搬経路があるため、それぞれの伝搬経路についてディレイ値を計算する。S301からS303までの処理の具体的な例を、図11を用いて説明する。
図11は、図6の故障仮定P1(250)から入力側に向かって論理トレースを実行した例を示している。
図11は故障仮定P1(250)と論理素子201〜210と終点フリップフロップFF301〜303と始点フリップフロップFF304〜307から構成されている。図11では、S301で故障仮定P1(250)が選択され、S302で終点フリップフロップFF301が選択されたとする。この場合、S303の処理は以下に説明するようになる。まず、故障仮定から入力側に向かって論理回路の出力端子をトレースする。論理素子207の出力端子に到達した場合、その入力端子から再び次の論理素子の入力までトレースする。これをフリップフロップFFの出力端子に到達するまで繰り返す。図11の故障仮定P1(250)の場合、4つの始点フリップフロップFF304〜307を得ることが出来る。
次に、伝搬経路のディレイ値を計算する。図11において、故障仮定P1(250)から選択した終点フリップフロップFF301までの伝搬経路は論理素子201、202、203、204を通過した経路しかない。一方、始点フリップフロップFF304〜307は複数あるため、故障仮定P1(250)までの伝搬経路も複数であり、その数は5つである。組合せを考えると、故障仮定P1(250)を通過し、終点フリップフロップFF301まで到達する伝搬経路は次の5つになる。始点フリップフロップFF304から論理素子208、207、故障仮定P1(250)を通過し、終点フリップフロップFF301に到達する伝搬経路1、始点フリップフロップFF305から論理素子208、207、故障仮定P1(250)を通過し、終点フリップフロップFF301に到達する伝搬経路2、始点フリップフロップFF305から論理素子210、209、207、故障仮定P1(250)を通過し、終点フリップフロップFF301に到達する伝搬経路3、始点フリップフロップFF306から論理素子210、209、207、故障仮定P1(250)を通過し、終点フリップフロップFF301に到達する伝搬経路4、始点フリップフロップFF307から論理素子209、207、故障仮定P1(250)を通過し、終点フリップフロップFF301に到達する伝搬経路5。各伝搬経路上にある配線・セルの遅延情報を足し合わせると伝搬経路のディレイ値を得ることができる。
次にディレイ余裕度の最大値と最小値を計算する(S304)。ディレイ余裕度とはテストタイミングから伝搬経路のディレイ値を引いた値である。テストタイミングとは、各フリップフロップFFに入力するテストクロックの時間間隔のことである。このテストタイミング内に始点フリップフロップFFから終点フリップフロップFFまで信号が伝搬しなければ半導体集積回路は正常に動作しない。故障仮定を通過し、選択した終点フリップフロップFFまで到達する伝搬経路が複数ある場合はディレイ余裕度もその数だけ存在する。その中で最も大きい値をディレイ余裕度の最大値とし、Tmgn_max(P,フリップフロップFF)、最も小さい値をディレイ余裕度の最小値とし、Tmgn_min(P,フリップフロップFF)とする。ここでPは故障仮定の名前、フリップフロップFFは選択された終点フリップフロップFFの名前を示す。伝搬経路が1つしかない場合はディレイ余裕度の最大値と最小値は同じ値となる。具体的な例を、図12を用いて説明する。
図12は、図11の故障仮定P1(250)を通過し、終点フリップフロップFF301に到達する5つの伝搬経路のディレイ値とディレイ余裕度を示したものである。各伝搬経路のディレイ値を棒グラフ、ディレイ余裕度を矢印、テストタイミングの位置を点線で示している。図12の中でディレイ余裕度の最大値は伝搬経路1であり、その値をTmgn_max(P1,フリップフロップFF301)としている。一方、ディレイ余裕度の最小値は伝搬経路4であり、その値をTmgn_min(P1,フリップフロップFF301)としている。
以上、ディレイ余裕度の最大値、最小値の求め方を説明したが、従来技術であるSTA(スタティックタイミングアナリシス)を使用した求め方も存在する。STAの場合は、ディレイ余裕度をスラックと呼ぶ。よって、故障仮定を通過し、指定したフリップフロップFFまで到達する全ての伝搬経路のスラックの最大値、最小値を求め、本発明に使用してもよい。
次に選択した終点フリップフロップFFのテスト結果からディレイ範囲を計算する(S305)。終点フリップフロップFFのテスト結果は、故障仮定と終点フリップフロップFFのテスト結果111の情報を使う。以下、ディレイ範囲の計算方法について説明する。
選択された終点フリップフロップFFのテスト結果がテストパスの場合、少なくともディレイ余裕度の最大値よりディレイ故障のディレイ値が小さくなければならない。故障仮定Pにおける選択された終点フリップフロップFFのテスト結果がテストパスの場合のディレイ範囲をDf(P,フリップフロップFF)とするとディレイ余裕度の最大値Tmgn_max(P,フリップフロップFF)との関係は次のように表される。
Df(P,フリップフロップFF) < Tmgn_max(P,フリップフロップFF)
選択された終点フリップフロップFFのテスト結果がテストフェイルの場合、少なくともディレイ余裕度の最小値よりディレイ故障のディレイ値が大きくなければならない。故障仮定Pにおける選択された終点フリップフロップFFのテスト結果がテストフェイルの場合のディレイ範囲をDf(P,フリップフロップFF)とするとディレイ余裕度の最小値Tmgn_min(P,フリップフロップFF)との関係は次のように表される。
Tmgn_min(P,フリップフロップFF) < Df(P,フリップフロップFF)
選択された終点フリップフロップFFのテスト結果がテストパス・フェイルの場合、少なくともディレイ余裕度の最小値よりディレイ故障のディレイ値が大きく、かつディレイ余裕度の最大値よりディレイ故障のディレイ値が小さくなければならない。故障仮定Pにおける選択された終点フリップフロップFFのテスト結果がテストパス・フェイルの場合のディレイ範囲をDf(P,フリップフロップFF)とするとディレイ余裕度の最小値Tmgn_min(P,フリップフロップFF)、最大値Tmgn_max(P,フリップフロップFF)との関係は次のように表される。
Tmgn_min(P,フリップフロップFF) < Df(P,フリップフロップFF) < Tmgn_max(P,フリップフロップFF)
ディレイ範囲を計算した後は、全ての終点フリップフロップFFついて処理を行ったかの判断を行う(S306)。故障仮定の終点フリップフロップFF全てについてS302〜S305までの処理を行った場合はYESへ進み、故障仮定と各終点フリップフロップFFのディレイ範囲を登録する(S307)。まだ処理を終えていない終点フリップフロップFFがある場合はNOに進み、S302から処理を再実行する。ここまでの処理を具体的な例として図13、14を用いて説明する。
図13は、図11で示される終点フリップフロップFF301〜303のテスト結果を示している。尚、このテスト結果は図2の故障仮定の各終点フリップフロップFFのテスト結果判定117から得られたものである。
図14は、終点フリップフロップFF301〜303が図13のテスト結果の場合のディレイ範囲を示している。棒グラフはS303、S304の処理の結果得られたディレイ余裕度の最大値と最小値を示している。矢印はS305の処理の結果得られた各終点フリップフロップFFのディレイ範囲を示している。終点フリップフロップFF301はテストパスのため、少なくともディレイ余裕度の最大値よりはディレイ故障のディレイ値が小さくなければならない。よって、ディレイ範囲を式で表すと次のようになる。
Df(P1,フリップフロップFF301) < Tmgn_max(P1,フリップフロップFF301)
終点フリップフロップFF302はテストパス・フェイルのため、少なくともディレイ余裕度の最大値よりはディレイ故障のディレイ値が小さく、かつ最小値よりはディレイ故障のディレイ値が大きくなければならない。よって、ディレイ範囲を式で表すと次のようになる。
Tmgn_min(P1,フリップフロップFF302) < Df(P1,フリップフロップFF302) < Tmgn_max(P1,フリップフロップFF302)
終点フリップフロップFF303はテストフェイルのため、少なくともディレイ余裕度の最小値よりはディレイ故障のディレイ値が大きくなければならない。よって、ディレイ範囲を式で表すと次のようになる。
Tmgn_min(P1,フリップフロップFF303) < Df(P1,フリップフロップFF303)
以上、故障仮定P1(250)に関しては終点フリップフロップFFのディレイ範囲としてDf(P1,フリップフロップFF301)、Df(P1,フリップフロップFF302)、Df(P1,フリップフロップFF303)を登録することになる。
S307の処理の次は、全ての故障仮定について処理を行ったかの判断を行う(S308)。故障仮定と終点フリップフロップFFのテスト結果111に登録されている全ての故障仮定についてS302〜S307の処理を行った場合はYESに進み、故障仮定と各終点フリップフロップFFのディレイ範囲を出力する(S309)。ここで出力された故障仮定と各終点フリップフロップFFのディレイ範囲は、図1の故障仮定と各終点フリップフロップFFのディレイ範囲112に相当し、故障候補とディレイ範囲決定119で使用される。S309の処理で、故障仮定の各終点フリップフロップFFのディレイ範囲抽出118の処理は終了する。未処理の故障仮定が存在する場合はNOに進み、S301から再び処理を実行する。
<故障候補とディレイ範囲決定部の処理の詳細>
以下では故障候補とディレイ範囲決定119の詳細を説明する。
図15は、図2の故障候補とディレイ範囲決定119の処理の詳細を示している。図15の処理実行時に必要な情報は図1に示している故障仮定と各終点フリップフロップFFのディレイ範囲112であり、ハードディスク504に納められている。処理はCPU501、メモリ502で行われ、出力情報である故障候補とディレイ範囲113はハードディスク504に納められる。またディスプレイ505を通じて出力することもできる。以下、図15の処理を詳細に説明する。
まず、故障仮定と各終点フリップフロップFFのディレイ範囲112から故障仮定を選択し、その終点フリップフロップFFのディレイ範囲の情報を得る(S401)。ここで故障仮定P1(205)を選択すると、図14のような情報を得ることになる。
次に各終点フリップフロップFFのディレイ範囲から共通範囲を求める(S402)。故障仮定のディレイ範囲は終点フリップフロップFFごとに決まっているが、この終点フリップフロップFFのディレイ範囲を重ね合わせ、共通範囲を求めることで故障仮定に存在するディレイ故障のディレイ範囲を求めることが出来る。故障仮定に存在するディレイ故障のディレイ範囲をDf(P)とする。Pは故障仮定の名前である。具体的な例を、図16、図17を用いて説明する。
図16は、故障仮定P1の各終点フリップフロップFFのディレイ範囲とその共通範囲を示している。棒グラフは各終点フリップフロップFF301〜303のディレイ余裕度の最大値と最小値を、黒矢印は各終点フリップフロップFF301〜303のディレイ範囲を、白矢印は各終点フリップフロップFF301〜303のディレイ範囲の共通範囲を示している。共通範囲が故障仮定P1(205)におけるディレイ故障のディレイ範囲になる。共通範囲を式で表現すると以下のようになる。
Tmgn_min(P1,フリップフロップFF302) < Df(P1) < Tmgn_max(P1,フリップフロップFF301)
図16の例では共通範囲が存在しているが、故障仮定によっては共通範囲が存在しないものもある。以下、具体的な例を説明する。
図17は、図16とは異なる故障仮定の各終点フリップフロップFFのディレイ範囲を示している。棒グラフは各終点フリップフロップFF301〜303のディレイ余裕度の最大値と最小値を、黒矢印は各終点フリップフロップFF301〜303のディレイ範囲を示している。図17の場合、ディレイ範囲の共通範囲は存在しない。これは、故障仮定P2ではフェイル情報101のパス・フェイルを再現することができないことを意味している。よって、故障仮定P2にはディレイ故障が存在しないと言える。
S402の処理の後に、共通範囲が存在するかの判断を行う(S403)。S402の処理で共通範囲が存在するならばYESに進む。共通範囲が存在する故障仮定は故障候補となり、その共通範囲はディレイ故障のディレイ範囲となる。そこで、S404で故障候補をS403で求めた共通範囲と共に登録する。S402の処理で共通範囲が存在しない場合はNOに進み、故障仮定を破棄する(S405)。共通範囲が存在しないということは、故障仮定にディレイ故障が存在しないことを意味するため、ここで故障仮定の破棄を行う。
次に全ての故障仮定について処理を行ったかの判断を行う(S406)。故障仮定と各終点フリップフロップFFのディレイ範囲112内の全ての故障仮定についてS402〜S404またはS405までの処理を行った場合はYESに進み、故障候補とディレイ範囲を出力する(S407)。ここで出力された故障候補とディレイ範囲は、図1の故障候補とディレイ範囲113に相当する。処理116〜119はこの故障候補とディレイ範囲113を出力することで終了する。未処理の故障仮定が存在する場合はNOに進み、S401から処理を再度実行する。
<実施例1の効果>
本発明は、故障仮定から終点フリップフロップFFまでの全ての伝搬経路の長さを計算し、テストタイミングからディレイ余裕度の最大値と最小値を計算している。次にディレイ余裕度の最大値、最小値と終点フリップフロップFFのテスト結果を用いてディレイ範囲を計算している。そのため、伝搬経路の長さを考慮しない従来のディレイ故障診断より高精度な故障箇所の特定を行うことが出来る。
さらに故障箇所と同時にディレイ故障のディレイ範囲も求められるため故障解析時間の短縮にも繋がる。
実施例1ではテストタイミングを固定してテストを行い、その結果得られたフェイル情報101を使用している。しかし、テストタイミングはテスト実行者が任意に設定できるため、異なるテストタイミングで複数のフェイル情報を得ることが可能である。またテストタイミングを変更すると、同じ半導体集積回路でもフェイル情報が変化する。この複数のテストタイミングで得られた、複数のフェイル情報を使用して、故障箇所の特定を行うことが実施例2である。
以下、実施例2について図を用いて説明する。図18は、図10に示される半導体集積回路を複数のテストタイミングでテストしたフェイル情報を示している。横軸はテストタイミングの大きさを示しており、各マスには終点フリップフロップFF301〜303のフェイル情報を示している。符号は、Fがフェイルのみ、Pがパスのみ、FPがフェイルとパス両方有り、Tcがテストタイミングを示している。テストタイミングは7つ使用し、Tc1が最も小さく、Tc7が最も大きい。なお、テストタイミングTc3のテスト結果は図13に示されるテスト結果と同じになる。よってTc3のフェイル情報を使用し、図2の処理を行うと、図16のような結果が得られる。本実施例は、複数のテストタイミングで得られた、複数のフェイル情報を使用することを特徴としているため、テストタイミングTc3とTc5のフェイル情報を使用する。
図19は、テストタイミングTc5のフェイル情報を使用し、図2の処理を実行した結果を示している。斜線の棒グラフは図14のディレイ余裕度からの増加分を示している。テストタイミングTc5はTc3よりも大きいため、その差分だけディレイ余裕度も増加する。またテスト結果も終点フリップフロップFF302がテストパス・フェイルからテストパスへ変化しているため、終点フリップフロップFF302のディレイ範囲が変化している。結果、故障仮定P1における各終点フリップフロップFF301〜303のディレイ範囲の共通範囲も変化する。
図20は、テストタイミングTc3、Tc5の共通範囲と、Tc3、Tc5から得られた新しい共通範囲を示している。黒矢印は図2の処理の結果得られたそれぞれのテストタイミングの共通範囲を示している。白矢印はテストタイミングTc3とTc5の共通範囲から得られた新しい共通範囲を示している。白矢印で示される範囲は、単一のテストタイミングの範囲よりも狭くなっている。このように複数のテストタイミングの共通範囲を重ねることにより、ディレイ故障のディレイ範囲をさらに絞り込むことが出来る。
図21は、図20と異なる故障仮定のテストタイミングTc3、Tc5の共通範囲を示している。図20と異なり、この故障仮定では新しい共通範囲が存在しない。これは、この故障仮定では複数のテストタイミングのフェイル情報を説明できないことを意味している。よって、この故障仮定にはディレイ故障が存在しないと言える。このように複数のテストタイミングの共通範囲を重ねることにより故障候補の更なる絞込みも可能になる。図21では2つのテストタイミングのフェイル情報を使用したが、さらに多くのフェイル情報を使用することも可能である。その場合、1つでも重ならない共通範囲が存在する場合、その故障仮定にディレイ故障は存在しないことがいえる。
<実施例2の効果>
実施例2は複数のテストタイミングを使うため、テスト時間と故障診断の処理時間が実施例1に対し増加する。しかし、故障候補の絞込み、ディレイ故障のディレイ範囲の絞込みという観点では実施例2のほうが有利である。
101・・・フェイル情報、102・・・ネットリスト、103・・・セルライブラリ、104・・・配線・セルの遅延情報、105・・・故障仮定情報、115・・・スキャンテスト、116・・・故障仮定と終点フリップフロップFF抽出、117・・・故障仮定の各終点フリップフロップFFのテスト結果判定、118・・・故障仮定の各終点フリップフロップFFのディレイ範囲抽出、119・・・故障候補とディレイ範囲決定、110・・・故障仮定と終点フリップフロップFF、111・・・故障仮定と終点フリップフロップFFのテスト結果、112・・・故障仮定と各終点フリップフロップFFのディレイ範囲、113・・・故障候補とディレイ範囲、120・・・半導体集積回路のテスタ、121・・・テストパタン、130・・・半導体集積回路、201〜210・・・論理素子、250・・・故障仮定P1、301〜307・・・フリップフロップFF、350・351・・・スキャンチェイン、360・・・テストクロック生成回路(TGN)、371〜374・・・スキャンチェインの入出力端子、401〜403・・・フリップフロップFF、421・422・・・論理素子、450・・・故障仮定、501・・・CPU、502・・・メモリ、503・・・ROM、504・・・ハードディスク、505・・・ディスプレイ、506・・・マウス、507・・・キーボード、508・・・バス、509・・・ネットワーク、510・・・情報処理装置、H・・・信号のハイレベル、L・・・信号のローレベル

Claims (6)

  1. テスタから、スキャンチェイン入力端子を介し、半導体集積回路装置内のスキャンチェインのフリップフロップへ、テストパタンを入力し、
    テストクロックを供給することにより、前記半導体集積回路装置を動作させ、
    前記スキャンチェインから、スキャンチェイン出力端子を介し、前記テスタへ、テスト結果を出力し、
    前記テスタから情報処理装置へ前記テスト結果を送信し、
    前記情報処理装置により、データベースから期待値を読み出し、前記スキャンチェインを構成する各フリップフロップについて前記テスト結果と前記期待値との一致・不一致を判定し、判定結果を前記データベースに格納し、
    前記情報処理装置により、前記データベースに格納されたネットリスト情報を読み出し、前記フリップフロップ間の信号伝搬経路の中から、所定箇所を経路として含み前記フリップフロップの一つである第1フリップフロップを終点として含む複数の第1伝搬経路と、前記所定箇所を経路として含み、前記フリップフロップの一つである第2フリップフロップを終点として含む複数の第2伝搬経路とを抽出し、
    前記情報処理装置により、前記データベースに格納された配線、及び、セルの遅延情報を読み出し、前記第1伝搬経路および上にある配線、及び、セルの遅延情報を足し合わせることにより、前記第1経路の伝搬時間を求め、前記テストクロックの時間間隔から前記伝搬時間を引き、各第1伝搬経路について第1ディレイ余裕度をそれぞれ求め、前記第2伝搬経路および上にある配線、及び、セルの遅延情報を足し合わせることにより、前記第2経路の伝搬時間を求め、前記テストクロックの時間間隔から前記伝搬時間を引き、各第2伝搬経路について第2ディレイ余裕度をそれぞれ求め、
    前記情報処理装置により、前記第1フリップフロップにおける前記判定結果が一致である場合には、前記所定箇所における信号の論理レベルの第1遷移時間は最長の前記第1ディレイ余裕度より短いと判定し、
    前記情報処理装置により、前記第1フリップフロップにおける前記判定結果が不一致である場合には、前記所定箇所における信号の論理レベルの前記第1遷移時間は最短の前記第1ディレイ余裕度より長いと判定し、
    前記情報処理装置により、前記第2フリップフロップにおける前記判定結果が一致である場合には、前記所定箇所における信号の論理レベルの第2遷移時間は最長の前記第2ディレイ余裕度より短いと判定し、
    前記情報処理装置により、前記第2フリップフロップにおける前記判定結果が不一致である場合には、前記所定箇所における信号の論理レベルの第2遷移時間は最短の前記第2ディレイ余裕度より長いと判定し、
    前記情報処理装置により、前記第1遷移時間と前記第2遷移時間について共通範囲がある場合には、前記所定箇所にディレイ故障が存在すると判定することを特徴とする故障診断方法。
  2. 請求項1に記載の故障診断方法において、
    異なる時間間隔の前記テストクロックを供給し、前記半導体集積回路装置を動作させることを特徴とする故障診断方法。
  3. テスタから、スキャンチェイン入力端子を介し、半導体集積回路装置内のスキャンチェインのフリップフロップへ、テストパタンを入力するステップと、
    テストクロックを供給することにより、前記半導体集積回路装置を動作させるステップと、
    前記スキャンチェインから、スキャンチェイン出力端子を介し、前記テスタへ、テスト結果を出力するステップと、
    前記テスタから情報処理装置へ前記テスト結果を送信するステップと、
    前記情報処理装置により、データベースから期待値と前記テスト結果を読み出し、前記スキャンチェインを構成する各フリップフロップについて前記テスト結果と前記期待値との一致・不一致を判定し、判定結果を前記データベースに格納するステップと、
    前記情報処理装置により、前記データベースに格納されたネットリスト情報を読み出し、前記フリップフロップ間の信号伝搬経路の中から、所定箇所を経路として含み前記フリップフロップの一つである第1フリップフロップを終点として含む複数の第1伝搬経路と、前記所定箇所を経路として含み、前記フリップフロップの一つである第2フリップフロップを終点として含む複数の第2伝搬経路とを抽出するステップと、
    前記情報処理装置により、前記データベースに格納された配線、及び、セルの遅延情報を読み出し、前記第1伝搬経路および上にある配線、及び、セルの遅延情報を足し合わせることにより、前記第1経路の伝搬時間を求め、前記テストクロックの時間間隔から前記伝搬時間を引き、各第1伝搬経路について第1ディレイ余裕度をそれぞれ求め、前記第2伝搬経路および上にある配線、及び、セルの遅延情報を足し合わせることにより、前記第2経路の伝搬時間を求め、前記テストクロックの時間間隔から前記伝搬時間を引き、各第2伝搬経路について第2ディレイ余裕度をそれぞれ求めるステップと、
    前記情報処理装置により、前記第1フリップフロップにおける前記判定結果が一致である場合には、前記所定箇所における信号の論理レベルの第1遷移時間は最長の前記第1ディレイ余裕度より短いと判定するステップと、
    前記情報処理装置により、前記第1フリップフロップにおける前記判定結果が不一致である場合には、前記所定箇所における信号の論理レベルの前記第1遷移時間は最短の前記第1ディレイ余裕度より長いと判定するステップと、
    前記情報処理装置により、前記第2フリップフロップにおける前記判定結果が一致である場合には、前記所定箇所における信号の論理レベルの第2遷移時間は最長の前記第2ディレイ余裕度より短いと判定するステップと、
    前記情報処理装置により、前記第2フリップフロップにおける前記判定結果が不一致である場合には、前記所定箇所における信号の論理レベルの第2遷移時間は最短の前記第2ディレイ余裕度より長いと判定するステップと、
    前記情報処理装置により、前記第1遷移時間と前記第2遷移時間について共通範囲がある場合には、前記所定箇所にディレイ故障が存在すると判定するステップとを有することを特徴とする故障診断プログラム。
  4. 請求項3に記載の故障診断プログラムにおいて、
    異なる時間間隔の前記テストクロックを供給し、前記半導体集積回路装置を動作させることを特徴とする故障診断プログラム。
  5. テスタと、データベースを有する情報処理装置と有し、
    前記テスタから、スキャンチェイン入力端子を介し、半導体集積回路装置内のスキャンチェインのフリップフロップへ、テストパタンを入力し、
    テストクロックを供給することにより、前記半導体集積回路装置を動作させ、
    前記スキャンチェインから、スキャンチェイン出力端子を介し、前記テスタへ、テスト結果を出力し、
    前記テスタから前記情報処理装置へ前記テスト結果を送信し、
    前記情報処理装置により、データベースから期待値を読み出し、前記スキャンチェインを構成する各フリップフロップについて前記テスト結果と前記期待値との一致・不一致を判定し、判定結果を前記データベースに格納し、
    前記情報処理装置により、前記データベースに格納されたネットリスト情報を読み出し、前記フリップフロップ間の信号伝搬経路の中から、所定箇所を経路として含み前記フリップフロップの一つである第1フリップフロップを終点として含む複数の第1伝搬経路と、前記所定箇所を経路として含み、前記フリップフロップの一つである第2フリップフロップを終点として含む複数の第2伝搬経路とを抽出し、
    前記情報処理装置により、前記データベースに格納された配線、及び、セルの遅延情報を読み出し、前記第1伝搬経路および上にある配線、及び、セルの遅延情報を足し合わせることにより、前記第1経路の伝搬時間を求め、前記テストクロックの時間間隔から前記伝搬時間を引き、各第1伝搬経路について第1ディレイ余裕度をそれぞれ求め、前記第2伝搬経路および上にある配線、及び、セルの遅延情報を足し合わせることにより、前記第2経路の伝搬時間を求め、前記テストクロックの時間間隔から前記伝搬時間を引き、各第2伝搬経路について第2ディレイ余裕度をそれぞれ求め、
    前記情報処理装置により、前記第1フリップフロップにおける前記判定結果が一致である場合には、前記所定箇所における信号の論理レベルの第1遷移時間は最長の前記第1ディレイ余裕度より短いと判定し、
    前記情報処理装置により、前記第1フリップフロップにおける前記判定結果が不一致である場合には、前記所定箇所における信号の論理レベルの前記第1遷移時間は最短の前記第1ディレイ余裕度より長いと判定し、
    前記情報処理装置により、前記第2フリップフロップにおける前記判定結果が一致である場合には、前記所定箇所における信号の論理レベルの第2遷移時間は最長の前記第2ディレイ余裕度より短いと判定し、
    前記情報処理装置により、前記第2フリップフロップにおける前記判定結果が不一致である場合には、前記所定箇所における信号の論理レベルの第2遷移時間は最短の前記第2ディレイ余裕度より長いと判定し、
    前記情報処理装置により、前記第1遷移時間と前記第2遷移時間について共通範囲がある場合には、前記所定箇所にディレイ故障が存在すると判定することを特徴とする故障診断システム。
  6. 請求項5に記載の故障診断方法において、
    異なる時間間隔の前記テストクロックを供給し、前記半導体集積回路装置を動作させることを特徴とする故障診断システム。
JP2009099522A 2009-04-16 2009-04-16 故障診断方法および故障診断システム Expired - Fee Related JP5292164B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009099522A JP5292164B2 (ja) 2009-04-16 2009-04-16 故障診断方法および故障診断システム
US12/761,335 US8392776B2 (en) 2009-04-16 2010-04-15 Delay fault diagnosis program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009099522A JP5292164B2 (ja) 2009-04-16 2009-04-16 故障診断方法および故障診断システム

Publications (3)

Publication Number Publication Date
JP2010249662A true JP2010249662A (ja) 2010-11-04
JP2010249662A5 JP2010249662A5 (ja) 2012-04-19
JP5292164B2 JP5292164B2 (ja) 2013-09-18

Family

ID=42981918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009099522A Expired - Fee Related JP5292164B2 (ja) 2009-04-16 2009-04-16 故障診断方法および故障診断システム

Country Status (2)

Country Link
US (1) US8392776B2 (ja)
JP (1) JP5292164B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AR078363A1 (es) * 2009-09-14 2011-11-02 Procter & Gamble Composicion detergente compacta fluida para lavanderia
US8670310B2 (en) * 2010-12-21 2014-03-11 Hewlett-Packard Development Company, L.P. Dynamic balancing priority queue assignments for quality-of-service network flows
JP6381409B2 (ja) * 2014-10-30 2018-08-29 ルネサスエレクトロニクス株式会社 故障診断システム、故障診断方法および故障診断プログラム
TWI727478B (zh) * 2019-10-31 2021-05-11 瑞昱半導體股份有限公司 測試圖樣產生方法以及失效模型產生方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004085333A (ja) * 2002-08-27 2004-03-18 Matsushita Electric Ind Co Ltd 半導体集積回路の故障診断プログラム
JP2007108863A (ja) * 2005-10-11 2007-04-26 Fujitsu Ltd 遅延解析装置、遅延解析方法、遅延解析プログラム、および記録媒体

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002257903A (ja) * 2001-03-01 2002-09-11 Nec Corp 半導体集積回路の試験方法と試験パタン生成方法及び装置並びにプログラム
JP4237434B2 (ja) * 2001-11-26 2009-03-11 富士通マイクロエレクトロニクス株式会社 集積回路のホールドタイムエラー修正方法及びその修正プログラム
US6910194B2 (en) * 2002-07-19 2005-06-21 Agilent Technologies, Inc. Systems and methods for timing a linear data path element during signal-timing verification of an integrated circuit design
KR100505662B1 (ko) * 2002-12-30 2005-08-03 삼성전자주식회사 칩 사이즈를 감소시키는 스캔 테스트 회로를 구비한반도체 장치, 및 그 테스트 방법
US7613971B2 (en) * 2005-02-08 2009-11-03 Nec Electronics Corporation Semiconductor integrated circuit with delay test circuit, and method for testing semiconductor integrated circuit
US8051352B2 (en) * 2006-04-27 2011-11-01 Mentor Graphics Corporation Timing-aware test generation and fault simulation
JP5136043B2 (ja) * 2007-02-22 2013-02-06 富士通セミコンダクター株式会社 論理回路および記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004085333A (ja) * 2002-08-27 2004-03-18 Matsushita Electric Ind Co Ltd 半導体集積回路の故障診断プログラム
JP2007108863A (ja) * 2005-10-11 2007-04-26 Fujitsu Ltd 遅延解析装置、遅延解析方法、遅延解析プログラム、および記録媒体

Also Published As

Publication number Publication date
US8392776B2 (en) 2013-03-05
US20100269003A1 (en) 2010-10-21
JP5292164B2 (ja) 2013-09-18

Similar Documents

Publication Publication Date Title
US7308660B2 (en) Calculation system of fault coverage and calculation method of the same
US10657207B1 (en) Inter-cell bridge defect diagnosis
US7228262B2 (en) Semiconductor integrated circuit verification system
JP2005172549A (ja) 半導体集積回路の検証方法及びテストパターンの作成方法
JP5292164B2 (ja) 故障診断方法および故障診断システム
JP6381409B2 (ja) 故障診断システム、故障診断方法および故障診断プログラム
JP2007108863A (ja) 遅延解析装置、遅延解析方法、遅延解析プログラム、および記録媒体
Gurumurthy et al. Automatic generation of instructions to robustly test delay defects in processors
Chen et al. Diagnosis framework for locating failed segments of path delay faults
JP4541196B2 (ja) 故障検出改善装置、故障検出改善プログラム、故障検出改善方法
US8943457B2 (en) Simulating scan tests with reduced resources
JP4242741B2 (ja) デバッグ用信号処理回路
CN113609804B (zh) 用例生成方法及装置、测试方法、可测试性设计方法
JP2007271290A (ja) 故障解析プログラム、該プログラムを記録した記録媒体、故障解析方法、および故障解析装置
JP2011069706A (ja) ディレイテスト装置、ディレイテスト方法及びディレイテストプログラム
US10234502B1 (en) Circuit defect diagnosis based on sink cell fault models
JP5707921B2 (ja) 活性化パス抽出プログラム,活性化パス抽出装置および活性化パス抽出方法
JPWO2009084424A1 (ja) 半導体テスト装置、半導体装置および試験方法
JP2005308471A (ja) パスディレイテスト方法
JP4899927B2 (ja) テストパターン自動生成方法およびテストパターン自動生成プログラム
JP4067112B2 (ja) 半導体集積回路の検証方法及びテストパターンの作成方法
Xie et al. False path aware timing yield estimation under variability
Chun et al. DiSC: A new diagnosis method for multiple scan chain failures
Mehta et al. Improving the resolution of single-delay-fault diagnosis
JP2004054329A (ja) パス遅延故障シミュレータおよび自動テストパターン生成装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120306

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130424

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130610

LAPS Cancellation because of no payment of annual fees