JP2005208741A - Lsiの故障検出率測定方法 - Google Patents
Lsiの故障検出率測定方法 Download PDFInfo
- Publication number
- JP2005208741A JP2005208741A JP2004012010A JP2004012010A JP2005208741A JP 2005208741 A JP2005208741 A JP 2005208741A JP 2004012010 A JP2004012010 A JP 2004012010A JP 2004012010 A JP2004012010 A JP 2004012010A JP 2005208741 A JP2005208741 A JP 2005208741A
- Authority
- JP
- Japan
- Prior art keywords
- fault
- detection rate
- flip
- failure
- failure detection
- 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.)
- Pending
Links
Images
Abstract
【課題】シミュレーション負荷の低減と所望の故障検出率を得るまでのターンアラウンドタイムの短縮と縮退故障における誤差のない故障検出率の算出とを可能にすること。
【解決手段】テスト対象論理回路2は複数の組合せ回路ブロックとそれらを接続するフリップフロップとで構成される。シミュレーション部4では、1回のシミュレーションによって各組合せ回路ブロックの入力値を保持するフリップフロップの値をフリップフロップデータ6として収集する。故障検出率算出部7では、その入力値が入力される各組合せ回路ブロックにおける故障検出性を示すデータを求め、その故障検出性データに含まれる故障個所についての外部検出可能性を判断することにより、テスト対象論理回路2に対するテストパターン3の故障検出率5を算出する。
【選択図】 図1
【解決手段】テスト対象論理回路2は複数の組合せ回路ブロックとそれらを接続するフリップフロップとで構成される。シミュレーション部4では、1回のシミュレーションによって各組合せ回路ブロックの入力値を保持するフリップフロップの値をフリップフロップデータ6として収集する。故障検出率算出部7では、その入力値が入力される各組合せ回路ブロックにおける故障検出性を示すデータを求め、その故障検出性データに含まれる故障個所についての外部検出可能性を判断することにより、テスト対象論理回路2に対するテストパターン3の故障検出率5を算出する。
【選択図】 図1
Description
この発明は、LSI(大規模半導体集積回路)の故障検出率測定方法に関するものである。
LSI内部で発生する故障は、いろいろな原因によって引き起こされるが、LSI製造の出荷テストでは、内部の故障をいかに検出するかによって、製造不良品を出荷する確率が減る。現在では、100%に近づく相当に高い故障検出率(検出できるノードの割合)が求められている。
故障の原因を簡単化したものを故障モデルと言い、その故障モデルの種類には種々あるが、現在、確立している故障の検出方法は、縮退故障モデルを使用した方法である。これは、全てのノードのうち、どこか1ヵ所が電源電圧あるいは接地に固定されていると仮定して故障を検出する方法である。前者の場合を論理値1で表し1の縮退故障といい、後者の場合を論理値0で表し0の縮退故障という。
従来の故障検出率の測定では、テスト対象論理回路とそれをテストするためのテストパターンとを用意し、予め定義した故障個所の数分の故障シミュレーションを繰り返し行う方法が採られている(例えば特許文献1)。以下に、その概要を説明する。
すなわち、従来では、まず、修正が全く行われていないそのままのテスト対象論理回路を論理シミュレータにかけ、テストパターンを用いてシミュレーションを行い、その結果として、テスト対象論理回路からの出力信号についての時系列な出力値データを得る。この結果をグッドマシン(good machine)結果とする。
次に、予め定義した故障個所の1つに着目し、その故障をテスト対象論理回路に加える修正を行う。この修正措置は、通常、論理設計データに修正を加えること、あるいは、論理シミュレータに備わっているデバッグ用の機能を活用することで実現される。この故障付きテスト対象論理回路を論理シミュレータにかけ、テストパターンを用いてシミュレーションを行い、その結果として、テスト対象論理回路からの出力信号についての時系列な出力値データを得る。この結果をフォールトマシン(fault machine)結果とする。
そして、グッドマシン結果とフォールトマシン結果とを比較する。その比較の結果、不一致があれば、そのテストパターンによってその故障個所は検出可能であるとする。以上の処理を予め定義した全ての故障個所に関して繰り返し行い、検出可能な故障個所の総数を取得し、全故障個所に対する検出可能な故障個所の割合、つまり故障検出率を得る。
ここで、故障シミュレーションの負荷を軽減する目的で、テスト対象論理回路を複数のブロックに分割し、この分割された回路ブロック単位で故障シミュレーションを行う手法が提案されている。また、故障シミュレーション結果が真にテスト対象論理回路の外部から検出可能である確率を擬似的に算出し掛け合わせることで、より誤差の少ない故障検出率を得る手法も提案されている。
しかしながら、従来の故障検出率測定方法では、上記したように、故障シミュレーションの負荷を軽減する目的で、テスト対象論理回路を複数のブロックに分割し、この分割された回路ブロック単位で故障シミュレーションを行う手法が提案されているが、故障シミュレーションを複数回実施する点は変わらないので、依然として負荷が高いと言える。
また、求められた故障検出率に含まれる誤差を縮小する試みとして、上記したように、統計的な手法で検出性の確率を算出し掛け合わせる手法が提案されているが、依然として誤差が含まれている可能性がある。
この発明は、上記に鑑みてなされたものであり、シミュレーション負荷の低減と故障検出率を得るまでのターンアラウンドタイムの短縮と縮退故障における誤差のない故障検出率の算出とが可能なLSIの故障検出率測定方法を得ることを目的とする。
上述した目的を達成するために、この発明にかかるLSIの故障検出率測定方法は、複数の組合せ回路ブロックがフリップフロップによって接続されている構成として把握したテスト対象論理回路および前記テスト対象論理回路に適用するテストパターンをそれぞれ用意する工程と、前記テストパターンによる前記テスト対象論理回路のシミュレーションを1回実行して全実行サイクルでの全フリップフロップの値と各実行サイクル時刻とを含むフリップフロップデータを取得する工程と、前記取得したフリップフロップデータに基づき前記テスト対象論理回路に対する前記テストパターンの故障検出率を算出する工程とを含むことを特徴とする。
この発明によれば、故障シミュレーションを複数回行うのではなく、1回の論理シミュレーションを行うだけで済むので、シミュレーション負荷の低減と故障検出率を得るまでのターンアラウンドタイムの短縮とが図れる。また、全組合せ回路ブロック内に想定する故障個所の総数は明確であるので、縮退故障における誤差のない故障検出率の算出が可能となる。
この発明によれば、シミュレーション負荷の低減と故障検出率を得るまでのターンアラウンドタイムの短縮と縮退故障における誤差のない故障検出率の算出とが可能になるという効果を奏する。
以下に、この発明にかかるLSIの故障検出率測定方法の好適な実施の形態について、図面を参照して詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態.
図1は、この発明の一実施の形態であるLSIの故障検出率測定方法を実施する装置の構成を示すブロック図である。図1に示すLSIの故障検出率測定方法の実施装置は、故障検出率の測定対象となる論理回路であるテスト対象論理回路が格納される記憶部2と、故障検出率の測定用に作成されたテストパターンが格納される記憶部3と、記憶部2に格納されるテスト対象論理回路(以降、単に「テスト対象論理回路2」と記す)に、記憶部3に格納されるテストパターン(以降、単に「テストパターン3」と記す)を適用して論理シミュレーションを実施するシミュレーション部4と、シミュレーション部4にて得られたフリップフロップデータを格納する記憶部6と、記憶部6に格納されるフリップフロップデータ(以降、単に「フリップフロップデータ6」と記す)に基づきテスト対象論理回路2に対するテストパターン3の故障検出率を算出する故障検出率算出部7と、故障検出率算出部7が求めた故障検出率を格納する記憶部5とを備えている。
図1は、この発明の一実施の形態であるLSIの故障検出率測定方法を実施する装置の構成を示すブロック図である。図1に示すLSIの故障検出率測定方法の実施装置は、故障検出率の測定対象となる論理回路であるテスト対象論理回路が格納される記憶部2と、故障検出率の測定用に作成されたテストパターンが格納される記憶部3と、記憶部2に格納されるテスト対象論理回路(以降、単に「テスト対象論理回路2」と記す)に、記憶部3に格納されるテストパターン(以降、単に「テストパターン3」と記す)を適用して論理シミュレーションを実施するシミュレーション部4と、シミュレーション部4にて得られたフリップフロップデータを格納する記憶部6と、記憶部6に格納されるフリップフロップデータ(以降、単に「フリップフロップデータ6」と記す)に基づきテスト対象論理回路2に対するテストパターン3の故障検出率を算出する故障検出率算出部7と、故障検出率算出部7が求めた故障検出率を格納する記憶部5とを備えている。
ここで、図2は、図1に示すテスト対象論理回路の構成例を示す概念図である。テスト対象論理回路2は、例えば図2に示すように、複数の組合せ回路ブロックがクロックに従って動作するフリップフロップによって接続された構成をしている。図2では、テスト対象論理回路2が、隣接する2つの組合せ回路ブロック10a、10bとフリップフロップ11〜19とによって構成される場合が示されている。
図2において、フリップフロップ11〜13は、図示しない隣接する組合せ回路ブロックからの入力値を保持し、組合せ回路ブロック10aに出力する。フリップフロップ14〜13は、組合せ回路ブロック10aの出力値を保持し、組合せ回路ブロック10bに出力する。フリップフロップ17〜19は、組合せ回路ブロック10bの出力値を保持し、図示しない隣接する組合せ回路ブロックに出力するようになっている。
図1に戻って、シミュレーション部4に入力されるテスト対象論理回路2は、故障付きに修正されたものではなく、無修正のものである。これによって、シミュレーション部4は、故障シミュレーションを複数回実施するのではなく、通常の論理シミュレーションを1回実施して、各組合せ回路ブロックの入力値を保持するフリップフロップの値をフリップフロップデータ6として収集するようになっている。
したがって、シミュレーション部4にて得られるフリップフロップデータ6は、テスト対象論理回路2に含まれる全てのフリップフロップ(図2に示す例では、フリップフロップ11〜19)に関して、全実行サイクルでの値と各実行サイクルの時刻とからなる時系列的なデータである(図5参照)。
故障検出率算出部7は、具体的には、例えば図3に示すように構成される。記憶部5に格納される故障検出率(以降、単に「故障検出率5」と記す)は、このように構成される故障検出率算出部7にて求められる。以下、図3を参照して、故障検出率算出部7の構成について説明する。
図3に示すように、故障検出率算出部7は、フリップフロップデータ選択部21、記憶部21、組合せ回路ブロック選択部22、記憶部23、24、25、外部検出性判断部26および記憶部27を備えている。
組合せ回路ブロック選択22は、複数の組合せ回路ブロックがフリップフロップによって接続されている構成として把握したテスト対象論理回路2における任意の組合せ回路ブロックの1つを選択し、その選択した1つの組合せ回路ブロックをフリップフロップデータ選択部21に通知するとともに、その選択した1つの組合せ回路ブロックのデータを記憶部23に格納する。なお、以降、記憶部23に代えて、記憶部23に格納された組合せ回路ブロックのデータを「組合せ回路ブロックデータ23」と記す。
フリップフロップデータ選択部21は、組合せ回路ブロック選択部22から選択した組合せ回路ブロックの通知を受けて、フリップフロップデータ6からその測定対象組合せ回路ブロックへの入力値を保持するフリップフロップのデータを選択し、その選択したフリップフロップのデータを記憶部21に格納する。なお、以降、記憶部21に代えて、記憶部21に格納されたフリップフロップデータを「入力フリップフロップデータ21」と記す。
組合せ回路の故障検出性算出部24は、組合せ回路ブロックデータ23と入力フリップフロップデータ21とに基づき、測定対象の組合せ回路ブロックに関する故障検出性を算出し、それを記憶部25に格納する。なお、以降、記憶部25に代えて、記憶部25に格納される組合せ回路の故障検出性に関するデータを「組合せ回路の故障検出性データ25」と記すが、ここで算出される組合せ回路の故障検出性データ25には、(1)測定対象の組合せ回路ブロック内で検出可能な故障個所と、(2)故障が起きたときの値に故障が無かった場合と比べて変化が現れるその測定対象組合せ回路ブロックの出力信号個所およびその故障値と、(3)その時の実行サイクル時刻とが含まれている。
外部検出性判断部26は、組合せ回路の故障検出性データ25に含まれる測定対象組合せ回路ブロック内での検出可能な故障個所に関係した故障値がテスト対象論理回路外部から検出可能であるか否かを判断し、得られた外部検出可能な故障個所の総数を記憶部27に格納する。故障検出率5は、テスト対象論理回路2において想定した全ての故障個所に対する検出可能な故障個所の割合として求められる。
次に、図4〜図10を参照して、以上のように構成される故障検出率算出部7の動作について説明する。なお、図4は、図3に示す故障検出率算出部の動作を説明するフローチャートである。図5は、図3に示すフリップフロップデータの一例を示す図である。図6は、図3に示す入力フリップフロップデータの一例を示す図である。図7は、図3に示す組合せ回路ブロック選択部が選択した組合せ回路ブロックの一例を示す概念図である。図8は、図7に示す組合せ回路ブロックにおいて想定される故障個所についての縮退故障を検出する動作を説明する図である。図9は、図7に示す組合せ回路ブロックにおいて想定される故障個所から得られた組合せ回路故障検出性データの一例を示す図である。図10は、故障値の外部検出可能性判断処理を説明する図である。
図4において、処理S1では、組合せ回路ブロック選択部22にて、複数の組合せ回路ブロックがフリップフロップによって接続されている構成として把握したテスト対象論理回路2における任意の組合せ回路ブロックの1つを選択する。
処理S2では、フリップフロップデータ選択部20にて、処理S1にて選択された組合せ回路ブロックへの入力値を保持しているフリップフロップとその保持値とをフリップフロップデータ6から抽出する。このフリップフロップデータ6は、例えば図5に示すようになっている。また、フリップフロップデータ6から抽出される入力フリップフロップデータ21は、例えば図6に示すようになっている。
図5では、テスト対象論理回路2に含まれるフリップフロップの総数はm個であり、シミュレーション時刻はN−1までとしている。すなわち、図5では、シミュレーションの時刻0〜時刻N−1の各時刻において、フリップフロップmoda_modb_ffx(x=1〜m)の値が、「moda_modb_ffx=0」または「moda_modb_ffx=1」として示されている。
また、図6では、入力フリップフロップデータ21として、時刻0〜時刻4の各シミュレーション時刻において、3つのフリップフロップmoda_modb_ff1、moda_modb_ff2、moda_modb_ff13と、その値{moda_modb_ffx=0(x=1〜3)またはmoda_modb_ffx=1(x=1〜3)}とが抽出された場合が示されている。
図4に戻って処理S3では、組合せ回路の故障検出率算出部24にて、まず、選択した組合せ回路ブロック内部に故障個所を想定する。なお、想定する故障の種類は、縮退故障である。そして、想定した個々の故障個所に関して、それが入力フリップフロップデータ21で示される入力データによって検出可能であるか否かをチェックする。その結果、検出可能であれば、(1)その故障個所と、(2)検出可能と判断される要因となった出力信号と、(3)その故障値と、(4)その時のシミュレーション時刻とを含む組合せ回路の故障検出性データ25が生成される。なお、この処理S3の詳細については、後述する(図6、図7、図8等)。
処理S4では、外部検出性判断部26にて、組合せ回路の故障検出性データ25に含まれる故障個所に関連した故障値がテスト対象論理回路2の外部から検出可能であるか否かをチェックする。その結果、外部から検出可能であれば、その故障個所は検出可能であるとしてカウントする。すなわち、記憶部27に外部から検出可能な故障個所の数が蓄積される。この処理S4の詳細については、後述する(図9、図10等)が、ここではそれを要約した形で具体的に説明する。
すなわち、外部検出性判断部26では、組合せ回路の故障検出性データ25に含まれる故障個所に関連した故障値が入力されている隣の組合せ回路ブロックに着目し、当該組合せ回路ブロックへの全入力値が保持されたサイクルの次サイクルにおけるその隣接組合せ回路ブロックへの全入力値をフリップフロップデータ6から求める。そして、故障値が隣接組合せ回路ブロック内部でマスクされることなくその隣接組合せ回路ブロックの出力信号に到達するか否かを調べる。その結果、その隣接組合せ回路ブロックの出力信号に到達する場合には、さらに隣接する組合せ回路ブロックに関して同様の処理を行う。この操作を繰り返した結果として、その故障値がマスクされることなくテスト対象論理回路2の境界にある出力信号まで到達した場合に、その故障個所は外部から検出可能であるとしてカウントする。
処理S5では、未処理の組合せ回路ブロックが存在するか否かを調べる。未処理の組合せ回路ブロックが残っていれば(処理S5:Yes)、処理S1に戻って上記した処理を繰り返し実行する。そして、未処理の組合せ回路ブロックが無くなければ(処理S5:No)、得られた外部検出可能な故障個所の総数を分子とし、全組合せ回路ブロック内に想定した故障個所の総数を分母として故障検出率5が算出される(処理6)。
次に、処理S3の内容を詳細に説明する。ここでは、組合せ回路ブロック選択部22が選択した組合せ回路ブロックは例えば図7に示すようになっているとする。図7では、組合せ回路ブロック40が、OR回路41とNOR回路42とAND回路43とAND回路44との組合せからなるとしている。そして、この組合せ回路ブロック40の入力値を保持する3つのフリップフロップ31、32、33と、組合せ回路ブロック40の出力値を保持する3つのフリップフロップ34、35、36とが示されている。
図7において、フリップフロップ31の保持値はOR回路41の一方の入力端に与えられている。フリップフロップ32の保持値はOR回路41の他方の入力端とNOR回路42の一方の入力端とに与えられている。フリップフロップ33の保持値はNOR回路42の他方の入力端とAND回路43の一方の入力端とに与えられている。OR回路41の出力値はAND回路43の他方の入力端とフリップフロップ34の入力端とに与えられている。AND回路43の出力値はフリップフロップ35の入力端とAND回路44の一方の入力端とに与えられている。NOR回路42の出力値はAND回路44の他方の入力端に与えられている。AND回路44の出力値はフリップフロップ36の入力端に与えられている。3つのフリップフロップ34、35、36の保持値は処理S4にて着目するとした隣接組合せ回路ブロックの入力値である。
また、この組合せ回路ブロック40への入力となるフリップフロップデータ6、すなわち、フリップフロップデータ選択部20にて選択された入力フリップフロップデータ21として、図6に示した入力フリップフロップデータを使用する。つまり、図7に示すフリップフロップ31はフリップフロップmoda_modb_ff1に対応し、フリップフロップ32はフリップフロップmoda_modb_ff2に対応し、フリップフロップ33はフリップフロップmoda_modb_ff3に対応している。また、図5に示したフリップフロップデータ6の表記に従えば、3つのフリップフロップ34、35、36は、それぞれ、moda_modb_ff11、moda_modb_ff12、moda_modb_ff13と表記できる。
図6に示す例では、3つのフリップフロップの値は、シミュレーション時刻0では、「moda_modb_ff1=0」「moda_modb_ff2=0」「moda_modb_ff3=0」である。シミュレーション時刻1では、「moda_modb_ff1=1」「moda_modb_ff2=0」「moda_modb_ff3=0」である。シミュレーション時刻2では、「moda_modb_ff1=1」「moda_modb_ff2=0」「moda_modb_ff3=1」である。シミュレーション時刻3では、「moda_modb_ff1=0」「moda_modb_ff2=1」「moda_modb_ff3=1」である。シミュレーション時刻4では、「moda_modb_ff1=1」「moda_modb_ff2=1」「moda_modb_ff3=1」であることが示されている。
さて、図7に示した組合せ回路ブロック40における故障個所を図8に示すように想定する。図8において、フリップフロップ31の出力端がノードAであり、フリップフロップ32の出力端がノードBであり、フリップフロップ32の出力端がノードCであり、OR回路41の出力端がノードDであり、AND回路43の出力端がノードEであり、NOR回路42の出力端がノードFであり、AND回路44の出力端がノードGである。以上に示した7つのノードに故障個所×を想定する。一般に、ノードの存在する所には必ず故障個所が想定され、そして、その逆もまた真である。また、図8では、OR回路41の出力信号は「01」であり、AND回路43の出力信号は「02」であり、AND回路44の出力信号は「03」であるとしている。
以上のように想定した7つの故障個所についての縮退故障を検出する動作は次のようにして行われる。すなわち、まず、7つの故障個所について、図6に示される入力値によって故障個所が検出可能であるか否かをシミュレーション時刻毎に調べる。シミュレーション時刻0での3つの入力値は、moda_modb_ff1=0、moda_modb_ff2=0、moda_modb_ff3=0である。これを図8に示す組合せ回路40に適用する。
入力値moda_modb_ff1=0を適用すると、ノードAの値は“0”になることが判る。これは、ノードAの1の縮退故障に対して活性化していることを示す。このときの故障値が組合せ回路40内でマスクされることなく出力信号01に到達するか否かを調べる。入力値moda_modb_ff2=0であるので、故障値はOR回路41でマスクされることなくノードDに到達する。ノードDの値はそのまま出力信号01となるので、本シミュレーション時刻0での3つの入力値では、ノードAの1の縮退故障は、出力信号01によって故障検出可能となる。
ここで他の出力信号についても調べる。ノードDの値はAND回路43にも入力される。しかし、入力値moda_modb_ff3=0であるので、故障値はAND回路43にてマスクされてしまい、ノードEまでは到達しない。つまり、本シミュレーション時刻0での3つの入力値では、ノードAの1の縮退故障は、出力信号01以外の出力信号02、03では故障検出不可能となる。
今度はノードEに着目して調べる。シミュレーション時刻0での3つの入力値は、moda_modb_ff1=0、moda_modb_ff2=0、moda_modb_ff3=0であるので、ノードEの値は“0”である。これは、ノードEの1の縮退故障に対して活性化していることを示す。このときの故障値が組合せ回路40内でマスクされることなく出力信号02に到達するか否かを調べる。ノードEの値はそのまま出力信号02になるので、本シミュレーション時刻0での3つの入力値では、ノードEでの1の縮退故障は、出力信号02によって故障検出可能となる。
同様に他の出力信号についても調べる。シミュレーション時刻0での3つの入力値は、moda_modb_ff1=0、moda_modb_ff3=0であるので、ノードFの値は“1”である。したがって、故障値はAND回路44でマスクされることなくノードGに到達する。ノードGの値はそのまま出力信号03となるので、やはり本シミュレーション時刻0での3つの入力値では、ノードEの1の縮退故障は出力信号03によって故障検出可能となる。このようにして、全故障個所に関しての0の縮退故障と1の縮退故障の故障検出可能性を調べる。
そして、故障検出可能となった故障個所について、時刻と、故障個所と、故障値と、その故障値が到達する出力信号と、その出力信号の値を隣の組合せ回路ブロックへの入力値として保持するフリップフロップ名とを含む組合せ回路の故障検出性データ25をテーブルに記載する。以上の操作を図6に示す時刻0〜時刻4までの全シミュレーション時刻での入力フリップフロップデータについて実施し、選択された組合せ回路ブロック40に関する全組合せ回路の故障検出性データ25を得る(図9参照)。なお、全シミュレーション時刻に対する処理の途中で、想定した故障個所全部の「0の縮退故障」と「1の縮退故障」が全て検出可能となった場合には、残りのシミュレーション時刻に関する処理を放棄し、その全て検出可能となった時点で検出可能性判断処理を完了してもよい。
図9は、シミュレーション時刻0にて選択された組合せ回路ブロック40に関する全組合せ回路の故障検出性データ25が得られた場合を示している。図9において、組合せ回路の故障検出性データ25には、故障個所と、故障値と、出力信号(フリップフロップ名)とが含まれている。故障個所として、ノードA、B、D、E、F、Gが示されている。故障値として、検出した全ての故障ノードが“1”である(1の縮退故障である)ことが示されている。ノードA、B、Dに関する出力信号(フリップフロップ名)は「01(moda_modb_ff11」である。ノードEに関する出力信号(フリップフロップ名)は「02(moda_modb_ff12」である。ノードF、Gに関する出力信号(フリップフロップ名)は「01(moda_modb_ff13」であることが示されている。
次に、処理S4の内容を詳細に説明する。図9に示す組合せ回路の故障検出性データの例では、検出可能なノードA、B、Dの1の縮退故障に対応した出力信号(フリップフロップ名)は「01(moda_modb_ff11」であるので、このフリップフロップの保持値を入力値とする隣接の組合せ回路ブロックに着目する。故障値の外部検出可能性判断処理を説明する図10では、そのような隣接組合せ回路ブロックの一例が示されている。
図10において、隣接組合せ回路ブロック51の入力値を保持するフリップフロップには、フリップフロップ34の他に、フリップフロップ47、48が存在する。また、隣接組合せ回路ブロック51の出力値を保持するフリップフロップ52、53、54が存在する。そして、フリップフロップ52、53、54の出力端は、途中回路を介して当該LSIの外部ピンext1、ext2、ext3に接続されることになる。
なお、フリップフロップ34は上記のようにmoda_modb_ff11と表記される。同様にフリップフロップ47、48は、それぞれ、moda_modb_ff22、moda_modb_ff33と表記できる。
さて、上記のように組合せ回路ブロック40に関する組合せ回路の故障検出性データ25を取得したシミュレーション時刻の次のシミュレーション時刻、つまり、今の例では、シミュレーション時刻1におけるフリップフロップmoda_modb_ff11、moda_modb_ff22、moda_modb_ff33の値をフリップフロップデータ6(図5)から探し出す。
隣接組合せ回路ブロック51内部のゲート接続は明確になっているので、それらのゲート接続の入力値が判れば、例えばフリップフロップmoda_modb_ff11の入力値が隣接組合せ回路ブロック51内部でマスクされることなく隣接組合せ回路ブロック51の出力信号まで到達可能であるか否かが判る。その結果、フリップフロップmoda_modb_ff11の入力値が隣接組合せ回路ブロック51の出力信号まで到達不可能であれば、上記のように組合せ回路ブロック40に関して取得した組合せ回路の故障検出性データ25におけるシミュレーション時刻0でのノードA、B、Dの1の縮退故障は検出不可能となる。
一方、フリップフロップmoda_modb_ff11の入力値が隣接組合せ回路ブロック51の出力信号まで到達可能であれば、さらに、その出力信号を入力とする隣接組合せ回路ブロックに着目し、同様の処理を繰り返す。その結果、外部(例えばLSIの外部ピンext1、ext2、ext3)から検出可能なノードまで到達すれば、上記のように組合せ回路ブロック40に関して取得した組合せ回路の故障検出性データ25におけるシミュレーション時刻0でのノードA、B、Dの1の縮退故障は故障検出可能であると判断し、故障検出可能数を3つ増やす。
このとき、以前の処理によって該当するノードの故障が既に検出可能としてカウント済みであれば、故障検出可能数を増やす必要はないことは言うまでもない。また、一旦故障検出不可能と判断された故障個所については、組合せ回路の故障検出性データ25に組合せ回路ブロック内での検出可能な故障個所として存在していてもその故障個所は以後に行われる故障個所の検出可能性判断の対象外とするようになっている。
これらの処理を組合せ回路故障検出性データ25における全ての出力信号(フリップフロップ名)に関して行う。以上の処理を行うことによって、検出可能な故障個所の総数が求まる。また、全組合せ回路ブロック内に想定した故障個所の総数は明確であるので、縮退故障における誤差のない故障検出率5の算出が可能となる。
以上のように、この実施の形態では、故障シミュレーションを複数回実施するのではなく、論理シミュレーションを1回実施するだけで、所望の故障検出率の測定が行えるようになっている。したがって、この実施の形態によれば、シミュレーション負荷の低減と所望の故障検出率を得るまでのターンアラウンドタイムの短縮とが図れる。また、全組合せ回路ブロック内に想定する故障個所の総数は明確であるので、縮退故障における誤差のない故障検出率の算出が行えるようになる。
ここで、この発明は、以上説明した実施の形態に限定されるものではなく、種々の変形態様が可能である。例えば、故障検出不可能と判断された故障個所とその故障値を未検出故障個所データとして外部に出力するようにしてもよい。そのようにすれば、故障検出率向上のための新たなテストパターン作成の支援を可能にする。
また、組合せ回路ブロックが冗長な回路構成を持つなど、論理的に故障検出不可能な構造を持つ場合には、その故障個所は対象から除外して故障検出率を算出するようにしてもよい。そのようにすれば、検査作業の効率向上が図れる。
また、故障検出率は、全組合せ回路ブロックの全ての想定した故障個所の検出可能性をチェックしてから算出するのではなく、故障検出可能数が所定数だけ増える度に算出し、その途中経過故障検出率をオペレータに対して表示出力等を行うようにしてもよい。これによれば、オペレータが現在の故障検出率を確認し、処理の継続か中断かを判断可能とすることができ、同様に検査作業の効率向上が図れる。
また、故障検出率を表示出力等を行う場合には、その時点までに処理したフリップフロップデータの時刻もオペレータに対して表示出力等を行うようにしてもよい。そして、オペレータがいわゆるコントロールC入力などの処理中断通知手段によって処理中断を指示した場合には、その時点での故障検出率と時刻とを表示出力等を行い、同時に処理を終了するようにしてもよい。そのようにすれば、同様に検査作業の効率向上が図れる。
また、オペレータが予定故障検出率を指示入力する手段を設け、途中経過故障検出率がその指示値を上回った場合には、その時点でのテスト対象論理回路に対する故障検出率を算出してオペレータに通知し、その通知時点で処理を終えるようにすれば、ターンアラウンドタイムの一層の短縮を可能にする。
以上のように、この発明にかかるLSIの故障検出率測定方法は、シミュレーション負荷の低減と所望の故障検出率を得るまでのターンアラウンドタイムの短縮とを図るのに有用であり、特に、縮退故障における誤差のない故障検出率の算出に適している。
2、3、5、6、21、23、25、27 記憶部
4 シミュレーション部
7 故障検出率算出部
10a、10b 40 組合せ回路ブロック
11〜17、31〜36、47、48、52〜54 フリップフロップ
20 フリップフロップデータ選択部
22 組合せ回路ブロック選択部
24 組合せ回路の故障検出率算出部
26 外部検出性判断部
41 OR回路
42 NOR回路
43、44 AND回路
51 隣接組合せ回路ブロック
4 シミュレーション部
7 故障検出率算出部
10a、10b 40 組合せ回路ブロック
11〜17、31〜36、47、48、52〜54 フリップフロップ
20 フリップフロップデータ選択部
22 組合せ回路ブロック選択部
24 組合せ回路の故障検出率算出部
26 外部検出性判断部
41 OR回路
42 NOR回路
43、44 AND回路
51 隣接組合せ回路ブロック
Claims (11)
- 複数の組合せ回路ブロックがフリップフロップによって接続されている構成として把握したテスト対象論理回路および前記テスト対象論理回路に適用するテストパターンをそれぞれ用意する工程と、
前記テストパターンによる前記テスト対象論理回路のシミュレーションを1回実行して全実行サイクルでの全フリップフロップの値と各実行サイクル時刻とを含むフリップフロップデータを取得する工程と、
前記取得したフリップフロップデータに基づき前記テスト対象論理回路に対する前記テストパターンの故障検出率を算出する工程と、
を含むことを特徴とするLSIの故障検出率測定方法。 - 前記故障検出率を算出する工程には、
前記フリップフロップデータから前記テスト対象論理回路における任意の組合せ回路ブロックに入力されるフリップフロップの値を入力フリップフロップデータとして取得し、その取得した当該入力フリップフロップデータに基づき前記任意の組合せ回路ブロックにおける故障検出性を示す組合せ回路の故障検出性データを算出する第1工程と、
前記算出された組合せ回路の故障検出性データに含まれる前記任意の組合せ回路ブロック内で検出可能な故障個所に関係した故障値について当該テスト対象論理回路外からの検出可能性を調べることによって前記任意の組合せ回路ブロック内で検出可能な故障個所の数を計数することを前記フリップフロップデータに含まれる全実行サイクルにおいて実施する第2工程と、
前記第2工程にて得られた当該テスト対象論理回路内の検出可能な故障個所の総数と当該テスト対象論理回路内に想定した故障個所の総数とに基づき前記故障検出率を算出する第3工程と、
が含まれることを特徴とする請求項1に記載のLSIの故障検出率測定方法。 - 前記第1工程にて取得される組合せ回路の故障検出性データには、
前記任意の組合せ回路ブロックでの検出可能な故障個所と、そのときの故障によって故障がなかった場合と比べて値に変化が現れる前記任意の組合せ回路ブロックからの出力信号個所と、故障値と、実行サイクル時刻とが含まれることを特徴とする請求項2に記載のLSIの故障検出率測定方法。 - 前記第2工程で行われる故障個所の検出可能性判断では、
前記組合せ回路の故障検出性データに前記任意の組合せ回路ブロック内での検出可能な故障個所が存在する場合に、前記組合せ回路の故障検出性データを取得したサイクルの次サイクルにおいて前記任意の組合せ回路ブロックの出力信号が入力される隣の組合せブロックの全入力値を前記フリップフロップデータから取得し、それに基づき前記任意の組合せ回路ブロックの出力信号が前記隣接組合せブロック内でマスクされることなく当該隣接組合せブロックの出力信号に到達するか否かを調べ、到達する場合にはさらに隣接する組合せブロックに関して同様の処理を行うことを繰り返し実行し、最終的に前記出力信号がマスクされることなく当該テスト対象論理回路の境界における出力信号まで到達するとき、前記故障個所は検出可能であると判断される
ことを特徴とする請求項2に記載のLSIの故障検出率測定方法。 - 前記第2工程では、
当該テスト対象論理回路内の故障検出不可能とされた故障個所を未検出故障個所データとして外部に出力する工程
が含まれることを特徴とする請求項2に記載のLSIの故障検出率測定方法。 - 前記第2工程では、
当該テスト対象論理回路内の故障検出不可能とされた故障個所が論理的に検出可能であるか否かを判定する工程と、
前記判定の結果、検出不可能であるときその故障個所を故障検出率測定の対象から除外する工程と、
が含まれることを特徴とする請求項2に記載のLSIの故障検出率測定方法。 - 前記第2工程では、
一旦故障検出不可能と判断された故障個所については、前記組合せ回路の故障検出性データに組合せ回路ブロック内での検出可能な故障個所として存在していてもその故障個所は以後に行われる故障個所の検出可能性判断の対象外とする工程
が含まれることを特徴とする請求項2に記載のLSIの故障検出率測定方法。 - 前記第3工程では、
前記第2工程にて複数の故障個所の検出可能性を判断する過程において、検出可能な故障個所の累積値が所定数分だけ増える毎に、その時点でのテスト対象論理回路に対する故障検出率を算出し、それを途中経過故障検出率として外部に出力する工程
が含まれることを特徴とする請求項2に記載のLSIの故障検出率測定方法。 - 前記第3工程では、
前記第2工程にて全ての故障個所の検出可能性の判断が終了する以前に外部から処理中断の指示が入力されると、その時点でのテスト対象論理回路に対する故障検出率を算出して外部に出力し、同時に故障検出率算出処理を終了する工程
が含まれることを特徴とする請求項2に記載のLSIの故障検出率測定方法。 - 前記第3工程では、
前記途中経過故障検出率を外部に出力する場合には、その時点での実行サイクル時刻も出力する工程
が含まれることを特徴とする請求項8に記載のLSIの故障検出率測定方法。 - 前記第3工程では、
前記途中経過故障検出率が予め定められた予定故障検出率を上回ったときは、その時点でのテスト対象論理回路に対する故障検出率を算出して外部に出力し、同時に故障検出率算出処理を終了する工程
が含まれることを特徴とする請求項8に記載のLSIの故障検出率測定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004012010A JP2005208741A (ja) | 2004-01-20 | 2004-01-20 | Lsiの故障検出率測定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004012010A JP2005208741A (ja) | 2004-01-20 | 2004-01-20 | Lsiの故障検出率測定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005208741A true JP2005208741A (ja) | 2005-08-04 |
Family
ID=34898522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004012010A Pending JP2005208741A (ja) | 2004-01-20 | 2004-01-20 | Lsiの故障検出率測定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005208741A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009260949A (ja) * | 2008-03-18 | 2009-11-05 | Panasonic Corp | 交換レンズ方式カメラシステム及びカメラ本体 |
CN104063593A (zh) * | 2014-06-18 | 2014-09-24 | 电子科技大学 | 一种板级电路测试性指标计算方法 |
-
2004
- 2004-01-20 JP JP2004012010A patent/JP2005208741A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009260949A (ja) * | 2008-03-18 | 2009-11-05 | Panasonic Corp | 交換レンズ方式カメラシステム及びカメラ本体 |
CN104063593A (zh) * | 2014-06-18 | 2014-09-24 | 电子科技大学 | 一种板级电路测试性指标计算方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5032395B2 (ja) | テスト条件の生成方法およびテスト条件生成装置 | |
JPH11142482A (ja) | タイミング故障診断方法及び装置 | |
Pradhan et al. | EBIST: A novel test generator with Built-In fault detection capability | |
JP4265934B2 (ja) | スキャンパス回路およびそれを備える論理回路ならびに集積回路のテスト方法 | |
JP2005208741A (ja) | Lsiの故障検出率測定方法 | |
US6751765B1 (en) | Method and system for determining repeatable yield detractors of integrated circuits | |
WO2008010648A1 (en) | Matching method for multiple stuck-at faults diagnosis | |
JP2003107138A (ja) | テストパターン選別装置及びテストパターン選別方法 | |
Pomeranz et al. | Location of stuck-at faults and bridging faults based on circuit partitioning | |
JP2715989B2 (ja) | Iddqを用いたCMOS論理回路の故障箇所の絞り込み方法 | |
JP2012141231A (ja) | 故障診断システム、半導体集積回路及び故障診断方法 | |
JP2005114623A (ja) | Iddq測定ポイント選別方法、検査装置、およびiddq測定ポイント用プログラム | |
JP3127856B2 (ja) | Lsi組み合わせ回路故障推論装置 | |
JP2007078536A (ja) | 故障検出シミュレーションシステム、故障検出シミュレーション方法及びプログラム | |
JP2008026074A (ja) | Icテスト方法及びic | |
JPH0259967A (ja) | テスト容易化回路設計方法 | |
JP2715963B2 (ja) | 論理回路の故障箇所の絞り込み方法 | |
Lee et al. | An accurate matching algorithm with essential factors for fault diagnosis | |
JPH05341005A (ja) | 故障検出システム | |
JP2018128297A (ja) | 検査用データ作成装置および検査用データ作成方法 | |
JP2010015420A (ja) | 故障検出率向上用回路挿入方法 | |
JP2011232235A (ja) | 半導体集積回路のテスト回路、故障診断回路、テスト装置、テストボード、及びテストプログラム | |
JP2004037190A (ja) | 故障診断方法および検査系列生成方法 | |
JPH0519022A (ja) | テストパターン発生方法 | |
JPS62235578A (ja) | 集積回路の内部診断装置 |