(57)【要約】【課題】ＡＴＰＧに係るテストパターン生成方法・装置を用いずに、自動的にテストパターンを生成するテストパターン生成・装置を提供する。【解決手段】本発明のテストパターン生成方法は、回路情報と、回路における検出対象の故障情報とに基づいて、回路の動作を記述するプロパティを出力するプロパティ作成工程と、前記プロパティに基づいて、回路のテストパターンを出力する形式検証工程とを含む。【選択図】図１
2011054094.tif 000002
【特許請求の範囲】
【請求項１】
回路情報と、回路における検出対象の故障情報とに基づいて、回路の動作を記述するプロパティを出力するプロパティ作成工程と、
前記プロパティに基づいて、回路のテストパターンを出力する形式検証工程と
を含むテストパターン生成方法。
【請求項２】
回路情報と、回路における検出対象の故障情報とに基づいて、回路の動作を記述するプロパティを出力するプロパティ作成手段と、
前記プロパティに基づいて、回路のテストパターンを出力する形式検証手段と
を含むテストパターン生成装置。
【請求項３】
回路情報と、回路における検出対象の故障情報とに基づいて、回路の動作を記述するプロパティを出力するプロパティ作成工程と、
前記プロパティに基づいて、回路のテストパターンを出力する形式検証工程と、
前記回路のテストパターンに基づいて、回路の故障シミュレーションを行い、前記テストパターンの故障検出率を算出し、更に、回路における検出対象の残余の故障情報を出力する故障シミュレーション工程と
を含む半導体集積回路故障検査方法。
【請求項４】
回路情報と、回路における検出対象の故障情報とに基づいて、回路の動作を記述するプロパティを出力するプロパティ作成手段と、
前記プロパティに基づいて、回路のテストパターンを出力する形式検証手段と、
前記回路のテストパターンに基づいて、回路の故障シミュレーションを行い、前記テストパターンの故障検出率を算出し、更に、回路における検出対象の残余の故障情報を出力する故障シミュレータと
を含む半導体集積回路故障検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、形式検証手法を用いて回路の故障を検査するパターンを生成するテストパターン生成方法、及びテストパターン生成装置、並びに、当該テストパターン生成方法を含む半導体集積回路故障検査方法、及び当該テストパターン生成装置を含む半導体集積回路故障検査装置に関する。
【背景技術】
【０００２】
半導体集積回路の回路故障を検査するパターン（以下、テストパターンと言う。）を自動生成する手法として、ＡＴＰＧ（Ａｕｔｏ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｉｏｎ）手法が挙げられる。一般的にＡＴＰＧ手法では、自動テストパターン生成を行う前提として、フリップフロップのスキャン化、又は、クロック若しくはリセット制御回路などのテスト専用回路の追加等（ＤＦＴ施策）を行い、回路の観測性、制御性を向上させた上で、十分な故障検出率を得られるテストパターンを生成する。しかし、ＤＦＴ施策を行うには、ＤＦＴ専用端子の追加や回路の追加等が必要であり、そうすると、チップサイズの増加、及び、配線収束性やタイミング収束性の低下などの問題が起こる可能性がある。そのため、徹底した低コストを目指す回路や高速回路では、ＡＴＰＧ手法を用いることができない場合がある。
【０００３】
テスト専用回路を必要とせず半導体集積回路のテストパターンを自動生成する手法としては、シーケンシャルＡＴＰＧ手法が存在する。しかし、全くＤＦＴ施策を行っていない回路に対しては、回路設計のために与えられる時間内に、十分な故障検出率を得られるテストパターンを十分には自動生成することができない、というのが現状である。
【０００４】
また、ＡＴＰＧ手法を用いても十分な故障検出率を得られるテストパターンを生成できない場合、更にはＡＴＰＧ手法を用いることができない回路のテストを行う場合、回路設計者が手動でテストパターンを生成しなくてはならない。
【０００５】
図６は、ＡＴＰＧ手法を用いる従来のテストパターン生成装置の概略の構成を示すブロック図である。従来のテストパターン生成装置は主として、ＡＴＰＧ手段１０１と故障シミュレータ１０４とから構成されている。
【０００６】
更に、図７は、ＡＴＰＧ手法を利用する従来のテストパターン生成方法の概略の工程を示すフロー図であり、概略の工程と共に入力情報・出力情報を示している。
【０００７】
図７に示すフロー図では、ＡＴＰＧ工程（１）にて、回路情報（２）が読み込まれ、テストパターン（３）が自動生成される。ここで生成されるテストパターンは、故障シミュレーションが可能な回路の故障を検査するパターンであるが、回路の故障を検査するパターンを作成可能なテストベンチや、信号の値と時間とを記録した波形情報でも構わない。
【０００８】
故障シミュレーション工程（４）にて、テストパターン（３）が読み込まれ、故障シミュレーションが行われ、故障検出率（５）と残故障情報［１］（６）が出力される。ＡＴＰＧ手法を利用するテストパターン生成装置は、故障シミュレーションを行う故障シミュレータタを内部に持つこともある。
【０００９】
故障検出率（５）は、「（テストパターンにより検出できる故障数）／（回路に設定した全故障数）」により定義される。残故障情報［１］（６）は、テストパターンにより検出できない故障の情報（信号名、故障の種類、未検出理由など）を示すものである。
【００１０】
ここで、故障検出率が十分であれば終了となるが、不十分であれば回路設計者が手動でテストパターンを生成することになる。次に、図８は、回路設計者が手動でテストパターンを作成する方法の概略の工程を示すフロー図である。図８のフロー図でも、概略の工程と共に入力情報・出力情報を示している。
【００１１】
図８に示すように、回路設計者が手動でテストパターンを生成する場合、まず、回路情報（１３）と残故障情報［２］（１１）の中から検査対象とする故障を決定する（１０）。回路設計者は、回路情報（１３）を参照し、工程（１０）において決定された故障を検出できるようなテストパターン（１４）を作成する（工程（１２））。テストパターン（１４）が作成できれば、故障シミュレーションが実行され（工程（１５））、故障検出率（１７）と残故障情報［３］（１６）が出力される。手動によるテストパターン作成は、回路設計者の力量に依存し、目的の回路の故障を検査するテストパターンが十分に作成されているかどうかは、故障シミュレーションが実行される（工程（１５））まで分からない、という問題がある。
【００１２】
故障シミュレーションにより得られた故障検出率（１７）が十分な値であれば終了するが、十分な値が得られない場合、残故障情報［３］（１６）の中から対象となる故障が更に決定され（工程（１０））、再度テストパターンが生成される（工程（１２））。そして、十分な故障検出率が得られるまで、上記の手順が繰り返される。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
上記のように、従来テストパターンを自動生成するには原則的にＡＴＰＧ手法が利用された。とはいえ、ＡＴＰＧ手法を備えるＥＤＡツールは一般的に高価である。
【００１４】
また、従来技術によるテストパターンの生成では、十分な故障検出率を挙げることができるか否かは、回路依存である。
【００１５】
また、ＤＦＴ施策を打つことができない回路に対しての従来のテストパターン生成技術の効果は薄く、結局、回路設計者は手動でテストパターンを生成しなくてはならない。回路設計者が手動でテストパターンを生成する際に、これらのＡＴＰＧ等の手法はテストパターンを生成する助けとならない。
【００１６】
特許文献１、特許文献２には、アサーションを自動生成する手法および装置が開示されているが、これらは回路論理検証を目的としており、回路の故障検出を目的とするものではない。
【００１７】
また、特許文献３、特許文献４には、形式検証による検証手法が公開されているが、これらは回路論理検証を目的としており、回路の故障検出を目的とするものではない。
【００１８】
本発明は、ＡＴＰＧに係るテストパターン生成方法・装置を用いずに、自動的にテストパターンを生成するテストパターン生成方法及びテストパターン生成装置、並びに、半導体集積回路故障検査方法及び半導体集積回路故障検査装置を提供することを目的とする。
【００１９】
また、本発明は、回路設計者が手動でテストパターンを生成する際の補助を行うテストパターン生成方法及びテストパターン生成装置を提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明は、上記の目的を達成するために為されたものである。本発明に係るテストパターン生成方法は、
回路情報と、回路における検出対象の故障情報とに基づいて、回路の動作を記述するプロパティを出力するプロパティ作成工程と、
前記プロパティに基づいて、回路のテストパターンを出力する形式検証工程と
を含むテストパターン生成方法である。
【００２１】
本発明に係るテストパターン生成装置は、
回路情報と、回路における検出対象の故障情報とに基づいて、回路の動作を記述するプロパティを出力するプロパティ作成手段と、
前記プロパティに基づいて、回路のテストパターンを出力する形式検証手段と
を含むテストパターン生成装置である。
【００２２】
本発明に係る半導体集積回路故障検査方法は、
回路情報と、回路における検出対象の故障情報とに基づいて、回路の動作を記述するプロパティを出力するプロパティ作成工程と、
前記プロパティに基づいて、回路のテストパターンを出力する形式検証工程と、
前記回路のテストパターンに基づいて、回路の故障シミュレーションを行い、前記テストパターンの故障検出率を算出し、更に、回路における検出対象の残余の故障情報を出力する故障シミュレーション工程と
を含む半導体集積回路故障検査方法である。
【００２３】
本発明に係る半導体集積回路故障検査装置は、
回路情報と、回路における検出対象の故障情報とに基づいて、回路の動作を記述するプロパティを出力するプロパティ作成手段と、
前記プロパティに基づいて、回路のテストパターンを出力する形式検証手段と、
前記回路のテストパターンに基づいて、回路の故障シミュレーションを行い、前記テストパターンの故障検出率を算出し、更に、回路における検出対象の残余の故障情報を出力する故障シミュレータと
を含む半導体集積回路故障検査装置である。
【発明の効果】
【００２４】
本発明を利用することにより、半導体集積回路の故障検査において、ＡＴＰＧ手法を用いなくても故障検出率を向上させることができる。また、本発明は、ＡＴＰＧ手法が適用できない回路への適用が可能である。更に、本発明は、ＡＴＰＧ手法では提供されない、回路の故障を検査するテストパターン生成に当たり、補助的な役割を果たすことができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の好適な実施形態に係るテストパターン生成手法の概略の工程を示すフロー図であり、概略の工程と共に入力情報・出力情報を示している。
【図２】プロパティ作成工程で作成されるプロパティの例である。
【図３】回路情報の表す回路の構成例である。
【図４】プロパティ作成工程で作成されるプロパティの例である。
【図５】本発明の好適な実施形態に係るテストパターン生成装置の概略の構成を示すブロック図である。
【図６】ＡＴＰＧ手法を用いる従来のテストパターン生成装置の概略の構成を示すブロック図である。
【図７】ＡＴＰ手法を利用する従来のテストパターン生成手法の概略の工程を示すフロー図であり、概略の工程と共に入力情報・出力情報を示している。
【図８】回路設計者が手動でテストパターンを作成する手法の概略の工程を示すフロー図であり、概略の工程と共に入力情報・出力情報を示している。
【発明を実施するための形態】
【００２６】
以下、図面を参照して本発明に係る好適な実施形態を説明する。
【００２７】
［好適な実施形態］
図１は、本発明の好適な実施形態に係るテストパターン生成方法の概略の工程を示すフロー図であり、概略の工程と共に入力情報・出力情報を示している。なお、一般的なテストパターン生成方法と同様に、図１における故障シミュレーション工程（２６）、形式検証工程（２３）、及びプロパティ作成工程（２０）は、適切なソフトウエアを搭載したコンピュータにより実行される。
【００２８】
まず、図１に示すプロパティ作成工程（２０）では、残故障情報［１］（２１）と回路情報（２４）とが読み込まれる。残故障情報［１］（２１）は、事前にＡＴＰＧ手法に拠って作成された残故障情報でも構わないし、回路設計者が対象となっている回路情報（２４）からテキストエディタ等により手動で作成したものでも構わない。プロパティ作成工程（２０）では、読み込んだ残故障情報［１］（２１）と回路情報（２４）とに基づいて、テストパターンを作成するためのプロパティ（２２）が出力される。
【００２９】
ここで、プロパティ作成工程（２０）で作成するプロパティ（２２）を、図２を用いて説明する。
【００３０】
図２のａ）は、ｎｅｔ＿ａが1'b1であるとき、ＰＯＲＴ＿Ｙはいつも１であることを示すプロパティの一例である。図２のｂ）は、ｎｅｔ＿ｂが1'b1であるとき、次のサイクルでＰＯＲＴ＿Ｙはいつも１であることを示すプロパティの一例である。このように、プロパティはサイクルを跨ぐ動作を記述することができる。よって、フリップフロップで隔てられた回路の内部の信号に関しても、本実施形態は適用可能である。
【００３１】
プロパティは、後で説明する形式検証工程（２３）にて読み込まれることが可能であれば、図２に示すような既存のプロパティ記述言語で記述されていてもよいし、独自言語で記述されていてもよい。
【００３２】
プロパティ作成工程（２０）では、複数のパターンのプロパティが作成され得る。これは、後で説明する形式検証工程（２３）でテストパターンが得られない場合や、同じく形式検証工程（２３）で得られるテストパターンが、目的の故障を検出できない場合等に、対応するためである。具体的には、図２のｃ）のように、故障検出対象の信号を１→０など変化させるパターンを作成したり、図２のｄ）のように、プロパティ作成工程（２０）で読み込まれる回路情報（２４）に基づいて、故障検出対象の信号の故障検出に関連する信号（故障検出対象の信号から出力先ポートまでのパス内にある信号や、故障検出対象の信号のロジックコーン等）の情報を基本的なプロパティに付与するような、パターンを作成したりする。
【００３３】
ここで、回路情報（２４）の表す回路が、図３に示す構成であるとする。更に、図３の回路の全信号に縮退故障モデルが設定されるとする。この縮退故障モデルとは、チップの製造工程にて信号がＶＣＣ若しくはＧＮＤとショート（短絡）を起こした故障モデルのことである。縮退故障モデルには、縮退故障１と縮退故障０があり、縮退故障１とはＶＣＣとショートしたとするモデル、縮退故障０とはＧＮＤとショートしたモデルである。
【００３４】
図３に示す回路では、ｎｅｔ＿ａ、ｎｅｔ＿ｂ、ｎｅｔ＿ｓ、ｎｅｔ＿ｙにそれぞれ縮退故障０、縮退故障１を設定することができ、合計１６個の故障モデルが設定できる。仮に、ｎｅｔ＿ｙが縮退故障０を起こしていれば、ｎｅｔ＿ｙは1'b0の値しか取り得ないため、ＰＯＲＴ＿Ｙは1'b0の値しか出力されない。また仮に、ｎｅｔ＿ｙが縮退故障１を起こしていれば、ｎｅｔ＿ｙは1'b1の値しか取りえないため、ＰＯＲＴ＿Ｙは1'b1の値しか出力されない。このことにより、ＰＯＲＴ＿Ｙに1'b1を出力させるテストパターンは、ｎｅｔ＿ｙが縮退故障０を起こしていないことを検査できるパターン（即ち、ｎｅｔ＿ｙの縮退故障０を検出するテストパターン）となり、ＰＯＲＴ＿Ｙに1'b0を出力させるテストパターンは、ｎｅｔ＿ｙが縮退故障１を起こしていないことを検査できるテストパターン（即ち、ｎｅｔ＿ｙの縮退故障１を検出するテストパターン）となる。
【００３５】
次に、ｎｅｔ＿ｙの縮退故障０を検出するため、プロパティ作成工程（２０）により、図４（１）に示されるプロパティが生成される。つまり、ｎｅｔ＿ｙが1'b1であるときにＰＯＲＴ＿Ｙが1'b1であるというプロパティが生成される。これを受けて、形式検証工程（２３）により、ｎｅｔ＿ｙが1'b1であるときにＰＯＲＴ＿Ｙが1'b1であるというプロパティが成立する入力信号パターンの一例が導き出され、ｎｅｔ＿ｙの縮退故障０を検出するテストパターンとして生成される。
【００３６】
同様に、ｎｅｔ＿ｙの縮退故障１を検出するため、プロパティ作成工程（２０）により、図４（２）に示されるプロパティが生成される。つまり、ｎｅｔ＿ｙが1'b0であるときにＰＯＲＴ＿Ｙが1'b0であるというプロパティが生成される。これを受けて、形式検証工程（２３）により、ｎｅｔ＿ｙが1'b0であるときにＰＯＲＴ＿Ｙが1'b0であるというプロパティが成立する入力信号パターンの一例が導き出され、ｎｅｔ＿ｙの縮退故障１を検出するテストパターンが生成される。
【００３７】
このように、プロパティ作成工程（２０）において同様のプロパティ（２２）が全信号に関して出力され、出力されたプロパティ（２２）に対して形式検証工程（２３）が為されることにより、自動的にテストパターン（２５）が生成され得る。一般的な形式検証工程では、一つのプロパティから、プロパティを満たす複数のテストパターンが出力可能である。従って、本実施形態においても、一つのプロパティから、プロパティを満たす複数のテストパターンが出力可能である。なお、テストパターン（２５）は、通常、波形データで構成されるが、波形データ以外にも、波形を生成することができるテストベンチや、信号名、値、及び時間の情報が含まれるデータであってもよい。
【００３８】
更に、図１に示すように、形式検証工程（２３）にて得られた全てのテストパターン（２５）を入力にして、故障シミュレーション工程（２６）で故障シミュレーションが実行される。故障シミュレーションの結果として、残故障情報［２］（２７）と故障検出率（２８）とが得られる。
【００３９】
故障検出率（２８）について十分な値が得られれば終了となる。十分な値が得られなければ、故障シミュレーション工程（２６）にて得られた残故障情報［２］（２７）に基づいて、プロパティ作成工程（２０）において、新たなプロパティが生成され、再度、形式検証工程（２３）にて回路の故障を検査するテストパターンが生成されることになる。
【００４０】
［好適な実施形態の利用例］
次に、本実施形態を、テストパターン生成の補助として用いる手順について説明する。
【００４１】
プロパティ作成工程（２０）における複数パターンのプロパティ生成の機能を用いても、目的の故障を検出するテストパターンが生成できなかった場合、回路のテストパターンを生成する際の補助として本実施形態を用いることができる。
【００４２】
プロパティ作成工程（２０）における複数パターンのプロパティ生成の機能を用いても、目的の故障を検出するテストパターンが生成できなかった場合、手動でプロパティを追加若しくは変更することで目的の故障を検査するテストパターンが生成されることになる。例えば、図３に示す回路（情報）と、図５のａ）に示すプロパティとに基づいて、ｎｅｔ＿ａの縮退故障０を検出するテストパターンの生成が行われた場合、ＰＯＲＴ＿Ｓ＝1'b1、ＰＯＲＴ＿Ａ＝1'b1、ＰＯＲＴ＿Ｂ＝1'b1というテストパターンが、形式検証工程（２３）にて生成される可能性がある。このテストパターンでは、ｎｅｔ＿ａの値が1'b0であっても、ＰＯＲＴ＿Ｙには1'b1が出力されるため、ｎｅｔ＿ａの縮退故障０を検出するテストパターンとはならない（但し、ｎｅｔ＿ｙの縮退故障０を検出できるテストパターンではある）。
【００４３】
このような場合でも、形式検証工程（２３）によりテストパターン（２５）を得ることができる。つまり、回路設計者が波形データとプロパティに基づいて解析を行うことにより、ＰＯＲＴ＿Ｓを1'b0とするようなプロパティを追加で与えることは、波形データもプロパティも無い状態で（即ち、無から）テストパターンを作成することに比べれば、遥かに容易である。
【００４４】
このように、目的となる故障を検出できるテストパターンを自動的に得ることができなくても、部分的に手動操作を加えれば目的のテストパターンを得ることができる。つまり、本実施形態は、形式検証によって得られる波形情報を用いることで、テストパターン生成の補助的な手順も提供することができる。
【００４５】
図５（１）（２）は、本発明の好適な実施形態に係るテストパターン生成装置の概略の構成を示すブロック図である。図６に示す従来のテストパターン生成装置では、自動的にテストパターン（１０３）を得るには、ＡＴＰＧ手段（１０１）が必要であったが、本実施形態では、これを形式検証手段（５３）に置き換えることができる。
【００４６】
また、図５（２）に示すように、ＡＴＰＧ手段（１０１）を含む、従来の自動テストパターン生成手段（５０）において生成される残故障リスト（残故障情報）（５１）を、本実施形態のテストパターン生成装置に入力することができる。よって、本実施形態のテストパターン生成装置は、従来の自動テストパターン生成装置（５０）と併用することもできる。更に上記で説明したように、本実施形態は、ＡＴＰＧ手段では提供されない回路の故障を検査するパターンを生成するための、補助を行うこともできる。
【符号の説明】
【００４７】
５１、５７・・・残故障リスト（残故障情報）、５３・・・形式検証手段、５４・・・回路情報、５５・・・テストパターン、５６・・・故障シミュレータ、５８・・・故障検出率。
【先行技術文献】
【特許文献】
【００４８】
【特許文献１】特開２００６−２２８０６５公報
【特許文献２】特開２００６−０９９５１８公報
【特許文献３】特許第３８４２４８９号公報
【特許文献４】特開２００３−３０２７０公報
【図１】
2011054094.tif 000003
【図２】
2011054094.tif 000004
【図３】
2011054094.tif 000005
【図４】
2011054094.tif 000006
【図５】
2011054094.tif 000007
【図６】
2011054094.tif 000008
【図７】
2011054094.tif 000009
【図８】
2011054094.tif 000010