JP4174048B2 - 集積回路試験装置および試験方法 - Google Patents
集積回路試験装置および試験方法 Download PDFInfo
- Publication number
- JP4174048B2 JP4174048B2 JP2004537515A JP2004537515A JP4174048B2 JP 4174048 B2 JP4174048 B2 JP 4174048B2 JP 2004537515 A JP2004537515 A JP 2004537515A JP 2004537515 A JP2004537515 A JP 2004537515A JP 4174048 B2 JP4174048 B2 JP 4174048B2
- Authority
- JP
- Japan
- Prior art keywords
- pattern
- controllability
- signal
- input
- external
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/31813—Test pattern generators
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318342—Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
- G01R31/31835—Analysis of test coverage or failure detectability
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318385—Random or pseudo-random test pattern
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Description
本発明は、集積回路(LSI)の製造不良を検出するための集積回路試験装置および試験方法に関する。
【背景技術】
集積回路(LSI)の製造不良の検出は、テスタ(ATE)を用いてLSIの入力ピンに適当な信号値を印加して、その出力ピンに現れる信号値を期待される結果と比較することで行われる。この入力ピンの信号値と出力ピンの期待値とを合わせてテストパターンと呼ぶ。LSIの製造不良によりLSIの内部に生じる欠陥は故障と呼ばれ、LSI内部に起こりうる全ての故障について検証を行うためには、多くのテストパターンが必要となる。また、あるテストパターンでLSI内部に仮定される故障のうち検証できる割合を診断率(または検出率)と言い、テストパターンの品質を計るときの尺度として使われている。
テストパターンを作成する方法には、以下のようなものがある。
・Random Test Generation(RTG)
・Manual Test Generation
・Automatic Test Pattern Generation (ATPG)
上記方法が必要に応じて組み合わせて用いられるが、高い診断率を得るために広くATPGが利用されている。ATPGにもいくつかの方法が存在するが、経路活性化アルゴリズム(Path−Sensitization algorithm)に属するものが現在の主流である。
経路活性化アルゴリズムは、ある故障を検出するための故障励起(fault excitation )と故障伝播(fault−effect propagation)の二つの基本的なステップからなる。
故障励起では、故障仮定点に故障値と反対の値とを設定する。これにより、故障が存在する場合と正常な場合とで故障点の状態値が異なることになる。この状態を故障が励起されたという。
また、故障伝播では、励起された故障の影響を観測点(外部出力)まで伝播させることである。結果として故障点から観測点までの経路(path)上の信号値は全て正常時と故障時とで異なるものとなる。この経路を活性化経路(sensitized path )と呼ぶ。第10図に、活性化経路の例を示す。第10図の回路上の活性化経路を太い実線で示す。また、この活性化経路では、故障励起のための信号値が信号線aに設定され、故障伝播のための信号値が信号線cおよび信号線dに設定されていることを示す。
故障励起と故障伝播とを実現するためには、特定の信号線に所望の信号値を設定する必要がある。回路内部の信号線の値は、最終的にはLSIの制御点である外部入力の信号値に帰着される。すなわち、ATPGにより、ある故障を検出するために、その故障の活性化経路を形成するための外部入力の信号値と、その結果故障の影響が伝播される外部出力の期待値(正常時に期待される信号値)とからなるテストパターンが作成される。
ATPGがテストパターンを作成する過程において、いくつかの選択が生じる。例えば2入力ANDゲートの出力を0にして故障を励起する場合には、2本の入力のどちらか一方の値が0であれば良いため、0を設定する入力をどちらかに選択する必要がある。また、故障伝播中に信号線の分岐がある場合にも、どちらか一方の経路が活性化されれば良いため、ここでも選択が必要となる。
一般的なATPGでは、いくつかの選択肢が存在する場合には、とりあえずその中の一つを選択して処理を進める必要がある。しかし、その選択の結果、信号値の設定に矛盾が生じたり経路の活性化に失敗したりした場合には、一つ前の選択を行った場面に戻り別の選択肢を選んで処理を進める必要がある。これをバックトラックという。
LSIが順序回路素子(フリップフロツプ[F/F]、ラッチおよびRAM )を含む場合には、テストパターン作成の複雑さは飛躍的に増大する。そこで、LSI内部の主にF/Fで構成される順序回路素子でシフトレジスタ(スキャンパスと呼ばれる)を形成して試験時に所望の値をシフトインし、クロック印加後にシフトレジスタの値を外部に読み出すスキャン設計が行われている。スキャン設計を施した回路に対して、ATPGで作成したテストパターンをテスタに格納して行われるDeterministic Stored Pattern Test(DSPT)という手法が広く採用されている。第11図は、DSPTの概念図である。DSPTでは、LSI内部に設けたスキャンパスSPにテストパターンTP1をシフトインし、テストパターンTP2をシフトアウトする。
【発明の開示】
【発明が解決しようとする課題】
しかし、近年LSI集積度の増大に伴い、内部に含まれる順序回路素子が非常に多くなってきたため、スキャンパスを構成する全ての順序回路素子に対して、テストパターン毎に設定および読出しを繰り返すDSPTを適用することは、試験時間およびテストデータの増大により困難となってきている。特に、テストデータ量の増大によるテスタのメモリ容量の逼迫は、メモリの増強やテスタのアップグレードなどテストコストを大幅に引き上げることになる。
この問題を解決するために、組込み自己試験(Built−In Self Test[BIST])が行われるようになってきた。第12図は、BISTの概念図である。BISTでは、疑似乱数パターン発生器91で発生されたランダムなパターンがLSIの内部回路90に印加され、その出力結果が出力検証器92で検証・格納される。疑似乱数パターン発生器91と出力検証器92とには、リニアフイードバックシフトレジスタ(LFSR)が使われることが多く、特に、出力検証器92は、出力結果をシグネチャとして圧縮格納するためマルチインプットシグネチャレジスタ(MISR)と呼ばれる。
BISTでは、パターン発生器がLSIの内部に搭載されているため外部テスタに入力テストパターンを格納しておく必要がなく、MISRにより試験結果を圧縮するためテスタにロードするデータ量を圧倒的に削減できる。また、BISTではスキャンパスの数を多くしてスキャンパスへのシフトイン・シフトアウト動作を高速化して、試験時間が短縮できる。
BISTは、前記のDSPTの問題点を改善できるが、いくつかの欠点も存在する。BISTでは、疑似乱数パターンが用いられるため、試験の品質(診断率)に問題がある。この診断率を高めるためには、追加テストとしてDSPTを適用するか、LSI内部の回路に制御性と観測性を増すようなテストポイントを挿入する必要がある。
また、BISTでは出力データをMISRに圧縮格納するので、その構成上不定状態(X値)を取り込むとMISR内の値が破壊されるため、試験不能となってしまう。一般に、LSI内部のRAMを含む順序回路素子は電源投入時には不定状態であるため、これらの順序回路素子を初期化するか、不定状態がMISRに伝播しないように回路を工夫する必要がある。
この他にも、バス設計時にランダムパターンによりバスのコンフリクトやフロート状態が起きないような工夫を施す必要があるなど、BISTを実回路に適用するには厳しい設計制約を設計者に強いることになる。これに加え、BIST用の付加回路とテストポイント挿入による回路のエリアオーバーヘッドと性能低下も問題となる。
このようなDSPTとBISTとの問題点を解決するため、特願平12−372231「集積回路試験装置及び試験方法」にて、試験時間の短縮とテストデータ量を削減し、かつ高品質な試験を可能とする試験装置および試験方法を提案した。
第13図に、前記特許出願にて開示した試験装置の回路のブロック図を示す。前記特許出願で開示した技術は、BIST回路を基本としたものであって、疑似乱数パターン発生器(LFSR)93が作り出したパターンをパターン修正器94によりATPGと同等のパターンに修正し、スキャンパスにシフトインする。そして試験クロックを印加した後、スキャンパス出力の中の不定状態値を不定マスク器95でマスク処理し、出力検証器96内のMISRに圧縮格納する。
一般的に、ATPGが作り出すパターンのうち明示的にF/Fに値を設定する数は全F/Fのうちの極僅か(数%)である。前記特許出願で開示した技術は、明示的に設定するF/Fの値のみを制御信号97を通して外部テスタより与えることにより、パターン修正器94を通して疑似乱数パターンをATPGと同等の高品質なパターンに変更することが可能である。また、BISTの設計制約となる不定状態値のMISRへの取り込みを不定マスク器95でブロックすることにより、設計者への負担を大幅に軽減している。
このように、前記特許出願で開示した技術では、どのような種類のATPGが作り出す、どのようなテストパターンも利用可能である。しかし、テストデータ量や試験時間などのテストコストを大幅に削減するためには、回路内部に設けられたLFSR93が作り出すランダムパターンとATPGが作り出すパターンとの差分が小さいことが必要となる。
ここで、ATPGは、いくつかの故障を対象として必要ないくつかのF/Fの値を決定し、残りの多くのF/Fには回路内部に設けられたLFSR93が作り出す値を設定する。これにより、ランダムパターンとテストパターンとの差分を小さくすることができる。しかし、対象とする故障が多い場合や活性化が複雑な場合には、ATPGが設定する必要のあるF/F数が多くなり、テストコストの削減率が悪くなる。
前記特許出願で開示した技術では、ATPGが設定するF/Fの値とLFSRが設定するF/Fの値とに関連がない。ATPGが設定するF/Fの値とLFSRが設定するF/Fの値とが等しくなることは半分の確率であるが、平均してATPGが設定するF/Fの半数はテスタからの付加パターンが作成されるため、テストコスト削減率を低下させる。
本発明の目的は、回路内の疑似乱数パターン発生器が生成する乱数パターンとの差分がなるべく少なくなるようなテストパターン作成を行って、テストコストの削減率を大きくする試験装置及び試験方法を提供することである。
【課題を解決するための手段】
本発明では、テストパターンを自動作成する集積回路試験装置において、テストパターンの信号値割り当てにおいて選択が必要になった場合に、回路内の疑似乱数パターン発生器が発生した乱数パターンとの差分が少なくなるように信号値割り当てを選択するためのコスト関数(Flip−based Cost Function)を提案する。
ATPGでは、テストパターン作成の過程で、さまざまな選択を行う必要があり、その選択は、ある選択基準に従って行われる。この選択基準として、制御性(Controllability)および観測性(Observability)の二つのコスト関数が用いられる。制御性(Controllability)は、ある信号線に対してある値を設定するための困難さを示す。観測性(Observability)は、ある信号線の故障値を観測点に伝播するための困難さを示す。
本発明では、テストパターンの信号値割り当ての選択において、制御性および観測性をコスト関数として採用し、コスト関数の算出結果にもとづいて乱数パターンとの差分ができるだけ小さくなるように信号値を選択する処理を行う。
また、ATPGでは、検出するべき故障のリストを持ち、その故障リストはある基準に従ってソーティングされていて、一般にリスト上位の故障から、その故障を検出するためのテストパターンが作成される。
本発明では、擬似乱数パターン発生器で生成される乱数パターン列が予め与えられているので、それぞれの乱数パターンから差分が少ない故障を選択する。このテストパターンの対象となる故障を選択するためのコスト関数として、テスタビリティ(Testability)を採用する。テスタビリティは、ある信号線の故障を検出するための困難さである。テスタビリティは、予め与えられた乱数パターンについて、前記の二つのコスト関数、制御性および観測性より算出できる。これにより、コスト削減率をさらに高めることが可能となる。
本発明は、テストパターンを自動生成する集積回路試験装置において、入力されたパターンに対する信号値割り当てにおいて値の選択が必要な場合に、ある信号線に対してある値を設定するための困難さである制御性を計算する第1のコスト関数計算手段と、前記制御性にもとづいて前記パターンの制御可能な外部入力の反転数が少なくなるように前記信号値割り当てを選択して経路活性化を行う経路活性化手段とを備え、第1のコスト関数計 算手段は、前記入力されたパターンの外部信号を反転させて、該反転した外部信号の影響が前方に伝播する範囲を特定し、該特定した範囲のみの前記制御性を再計算する。また、第2のコスト関数計算手段は、入力されたパターンの外部信号を反転させて、該反転した外部信号の影響が到達した外部出力から外部入力方向にバックトレースできる範囲を特定し、該特定した範囲のみの前記観測性を再計算する。そして、経路活性化手段は、前記制御性をガイドとして外部入力まで後方探索を行い、該探索した外部入力の信号値を反転させて論理シミュレーションを行い、前記制御性を無限大にして前記バックトレースで同一の外部入力の反転を止めて、前記制御性と前記観測性との再計算を行わせる。
また、本発明は、前記集積回路試験装置において、入力されたパターンで検出される故障を選択する場合に、ある信号線の故障を検出するための困難さであるテスタビリティを計算する第3のコスト関数計算手段と、前記テスタビリティにもとづいて、回路内部に仮定される全ての故障から対象とする故障を選択する対象故障選択手段とを備える。
本発明にかかる集積回路試験装置は、回路内部に仮定される全ての故障を含む故障リストを作成し、例えば、疑似乱数パターン発生器で作られた乱数パターンを一つ取り出す。そして、当該乱数パターンに対する論理シミュレーションにより回路内部の信号値を定めて、回路全体に対する制御性および観測性を計算し、当該制御性および当該観測性をもとにテスタビリティを計算する。その後、故障リストからテスタビリティが最も低い故障を選択して対象故障とし、当該対象故障について乱数パターンの制御性および観測性を用いた経路活性化を行い、当該乱数パターンの制御可能な外部入力(信号値)の反転数が最小となるように反転を選択し、当該選択に従って乱数パターンを修正する。さらに、当該修正パターンを用いて故障シミュレーションを行い、検出される別の故障があれば故障リストから削除する。
【発明の効果】
本発明は、テストパターンを自動作成する集積回路試験装置において、信号値割り当ての選択が必要な場合に、LFSRが生成した乱数パターンをコスト関数に従って外部入力の反転が最少となるように経路活性化する。そして乱数パターンの入力を反転した修正パターンを生成し、この修正パターンを用いて回路の検証を行う。これにより、乱数パターンをもとに差分をなるべく少なくして多くの故障を検出することが可能であるため、テストコストの削減が期待できる。
また、本発明は、特願平12−372231「集積回路試験装置及び試験方法」で示した試験装置に適用すると非常に効果的である。前記特許出願で開示した試験装置は回路内部にLFSRを備えており、ATPGが作成したパターンと乱数パターンとの差分が小さいときに劇的にテストデータ量を削減し、試験時間を短縮することが可能となる。
また、本発明は、入力する乱数パターンの代わりに一つ前に作ったテストパターンを用いることで、信号変化の少ないテストパターンの作成が可能となる。信号変化を抑えたテストパターンを用いることで、試験中の集積回路の消費電力を抑えることができる。高集積化で試験時の消費電力抑制が望まれる場合に効果的である。
【発明を実施するための最良の形態】
第1図に、本発明にかかる集積回路試験装置のブロック構成図を示す。
集積回路試験装置は、テストパターン作成装置(ATPG)10および回路20からなる。回路20は、疑似乱数パターン発生器(LFSR)21、パターン修正器22、スキャンパス23、出力検証器(MISR)24を備える。
疑似乱数パターン発生器(LFSR)21は、疑似乱数により乱数パターン30を生成する手段である。パターン修正器22は、テストパターン作成装置(ATPG)10からの制御信号32によりLFSR21が生成した乱数パターン30のいくつかの値を反転させてスキャンパス23へシフトインする手段である。出力検証器(MISR)24は、スキャンパス23の出力を圧縮・格納する手段である。
第2図に、テストパターン作成装置(ATPG)10の内部構成図を示す。ATPG10は、故障リスト作成部11、乱数パターン入力部12、論理シミュレーション部13、コスト関数計算部14、対象故障選択部15、経路活性化部16、故障シミュレーション部17、および故障リスト変更部18からなる。
故障リスト作成部11は、回路内部に仮定される全ての故障を含む故障リスト31を作成する手段である。乱数パターン入力部12は、回路20内に構成されるLFSR21で作られる乱数パターン30を一つ取り出す手段である。論理シミュレーション部13は、乱数パターン入力部12が入力した乱数パターン30をもとに論理シミュレーションを行い、回路内部の信号値を決定する手段である。
コスト関数計算部14は、制御性、観測性、およびテスタビリティのコスト関数をそれぞれ計算する手段である。コスト関数計算部14は、制御性C(x)を算出する制御性算出部141、観測性O(x)を算出する観測性算出部142、および0縮退故障検出のテスタビリティT0(x)と1縮退故障検出のテスタビリティT1(x)とを算出するテスタビリティ算出部143を備える。
対象故障選択部15は、故障リスト31中の故障のうち、コスト関数計算部14で算出したテスタビリティが最も低い故障を対象故障として選択する手段である。
経路活性化部16は、対象故障選択部15で選択した対象故障に対して制御性および観測性のコスト関数を用いた経路活性化を行い、乱数パターン30のいくつかの制御可能な外部入力(信号値)を反転した修正パターンを作成し、乱数パターン30の値を反転させるための制御信号32を出力する手段である。
故障シミュレーション部17は、修正パターンを用いて故障シミュレーションを行い、検出される別の故障を抽出する手段である。故障リスト変更部18は、故障シミュレーション部17が抽出した検出される故障を故障リスト31から削除する手段である。
第3図に、本発明の処理フロー図を示す。
ATPG10は、故障リスト作成部11により、回路内部に仮定される全ての故障を含む故障リスト31を作成する(ステップS1)。そして、乱数パターン入力部12により、LFSR21から乱数パターン30を一つ取り出す(ステップS2)。そして、論理シミュレーション部13により、入力した乱数パターン30をもとに論理シミュレーションを行い回路内部の信号値を決定する(ステップS3)。論理シミュレーションは既知の手法により行う。
つぎに、コスト関数計算部14により、制御性C(x)、観測性O(x)、およびテスタビリティT0(x)、T1(x)のコスト関数を、信号値を決定した回路全体に対して計算する(ステップS4)。
制御性C(x)は、ある信号線xの信号値を反転させる困難さを表すものと定義する。n本の入力を持つANDゲートを考えたとき、全ての入力の制御性が分かっていると仮定すると、出力の制御性C(x)は以下のように計算する。
If(state(x)="0" )then C(x) =Σ(i=1 to n){state(i)="0"? C(i):0}
else C(x) = min(i=1 to n){C(i)} 式(1)
ここで、state(x)は信号線xの信号値を表す。
回路全体の制御性C(x)の計算は、最初に、外部入力すなわち乱数パターン30の制御性に1を与え、外部入力から外部出力に向かって上記式(1)に従って再帰的に計算を繰り返すことで行う。結果として、制御性C(x)は信号線xの信号値を反転するために反転が必要な外部入力の数を表す。
同様に観測性O(x)は、ある信号線xの故障を観測点に伝播するための困難さを表すものと定義する。n本の入力を持つANDゲートを考えたとき、全ての入力の制御性が分かっていて、かつ出力xの観測性O(x)が分かっていると仮定すると、ある入力dの観測性O(d)は以下のように計算する。
O(d)=O(x)+Σ(i=1 to n, i≠d){state(i)="0"? C(i):0} 式(2)
回路全体の観測性O(x)の計算は、回路全体の制御性C(x)を計算した後、最初に外部出力の観測性O(x)に0を与え、外部出力から外部入力に向かって上記式(2)に従って再帰的に計算を繰り返すことで行う。結果として、O(x)は信号線xの故障を観測点に伝播するために反転が必要な外部入力の数を表す。
テスタビリティT0(x)、T1(x)は、ある信号線xのそれぞれ0縮退故障もしくは1縮退故障を検出するテストパターン作成の困難さを表すものと定義する。テスタビリティT0(x)、T1(x)は、以下のように計算する。
T0(x)=O(x) +{state(x)="0"? C(x):O} 式(3)
T1(x)=O(x) +{state(x)="0"? 0:C(x)} 式(4)
上記式(3)および式(4)のように、回路全体の制御性C(x)と観測性O(x)を用いて、全ての故障のテスタビリティを計算することができる。
ここで注意することは、制御性C(x)、観測性O(x)およびテスタビリティT0(x)、T1(x)の計算は、与えられた入力パターンによって異なることであり、入力パターン、ここでは乱数パターン30の外部入力信号を反転するごとに再計算する必要がある。この場合に、回路全体のコスト関数を再計算する方法以外にも、反転した外部入力の影響範囲のみを再計算して高速化することも可能である。
具体的には制御性の再計算範囲は、反転した外部入力の影響が前方に伝わる範囲に限られる。すなわち、制御性C(x)の再計算範囲R1は、第4図に示すように、回路内部の入力側の反転した入力信号から出力側へコーン状に広がる範囲内に限られる。
また、観測性O(x)およびテスタビリティT0(x)、T1(x)の再計算範囲は、反転した外部入力の影響が到達した外部出力から今度は逆に外部入力方向にバックトレースできる範囲内に限られる。すなわち、観測性O(x)およびテスタビリティT0(x)、T1(x)の再計算範囲R2は、第5図に示すように、出力側で反転の影響があった範囲内の出力信号から入力側へコーン状に広がる範囲内に限られる。
つぎに、対象故障選択部15により、故障リスト31中の故障のうちテスタビリティT0(x)/T1(x)が最も低い故障を選択して対象故障とする(ステップS5)。
そして、経路活性化部16により、対象故障に対して、前記のコスト関数を用いた経路活性化(path−Sensitization)を行い、入力した乱数パターン30のいくつかの制御可能な外部入力(信号値)を反転した修正パターンを作成し、乱数パターン30の当該外部入力を反転するための制御信号32を出力する(ステップS6)。
コスト関数を用いた経路活性化は、以下のように行う。
対象故障点の故障値と現在の信号値が一致している場合には、0縮退故障または1縮退故障を生じさせるために故障励起を行う。故障励起では制御性C(x)をガイドとして一つの外部入力まで後方探索を行う。探索した外部入力の信号値を反転させて論理シミュレーションを行い、制御性C(x)を無限大(∞)にして制御性C(x)と観測性O(x)との再計算を行う。制御性C(x)を無限大(∞)にするのは、この後に生じるバックトレースで同一の外部入力の反転を繰り返さないためである。再び対象故障点の信号値の一致を調べ、一致している間は後方探索を繰り返す。途中、対象故障点の制御性が無限大(∞)になった場合には、バックトラックを行う。
次に故障伝播を行う。入力に故障値を持ち、かつ出力の観測性O(x)が無限大(∞)ではないゲートをDフロンティアとすると、故障伝播はDフロンティアを外部出力まで進めることである。Dフロンティアが複数ある場合は、一つのDフロンティアを選択し、故障値以外の入力にnon−Controlling value(ANDゲートでは1、ORゲートでは0)を設定することを目的として、制御性O(x)をガイドとして一つの外部入力まで後方探索を行う。そして、その外部入力の信号値を反転させて論理シミュレーションを行い、さらに制御性C(x)を無限大(∞)にして制御性C(x)および観測性O(x)の再計算を行う。再びDフロンティアへの伝播処理を繰り返し、外部出力に到達すれば経路活性化が成功したものとする。途中で、Dフロンティアがなくなってしまった場合には、バックトラックを行う。
第6図ないし第9図に示す簡単な例を用いて、具体的にコスト関数を用いた経路活性化の手順を説明する。
第6図に、ある回路および与えられた乱数パターンの例を示す。第6図は、回路に対して行われた論理シミュレーションとコスト関数計算との結果も示している。ここで、乱数パターン30およびゲートの出力の信号値Vに続く括弧内の値は、それぞれ制御性Ci と観測性Oi とを示す。例えば、信号線hは、信号値V(制御性Ci ,観測性Oi )=0(1,0)であることを示す。
ここで、対象故障として信号線eの1縮退故障Fa1を検出することを考える。対象故障点(ANDゲートAの出力側)の信号値Vは1であって、故障値と一致しているので、故障励起を行う必要がある。信号線eより制御性C(x)をガイドとして後方探索を行う。第6図に示すように、信号線aと信号線bのどちらかを反転させれば良いことがわかる。ここでは、図中太い矢印線で示すように、反転する入力として信号線aを選択すると仮定する。
第7図に、信号線aの信号値を反転した場合の論理シミュレーションとコスト関数再計算の結果を示す。信号線eと信号線fとが活性化されているが、ともに観測性Oi =O(x)が無限大(∞)となりDフロンティア(DF)がないことがわかる。そこでバックトラックを行う。
バックトラックの結果、信号線aの選択をやめて、故障励起のために信号線bの信号値Vを反転させる。第8図に、信号線bの信号値Vを反転させた場合の論理シミュレーションとコスト関数再計算の結果を示す。ここで、ANDゲートDに着目すると、ANDゲートDは、入力ピンに故障値を持ち、かつ観測性Oi が無限大(∞)でないためDフロンティア(DF)であることが分かる。
そこで、ANDゲートDに対する故障伝播処理を行う。制御性Ci =C(x)をガイドとして、ANDゲートDの1縮退故障Fa1の伝播していない入力(信号線g)から後方探索を行うと信号線dを反転させる必要があることが分かる。第9図に、信号線dの信号値Vを反転させ、論理シミュレーションおよびコスト関数再計算を行った結果を示す。結果として、信号線hに至る活性化経路が形成され、信号線eの1縮退故障Fa1を検出するテストパターンが作成できている。そこで、乱数パターン30について信号線aおよび信号線dの信号値Vを反転して修正パターンを生成する。
また、乱数パターン30について信号線aおよび信号線dの信号値Vを反転させるための制御信号32をパターン修正器22へ送出する。なお、パターン修正器22は、この制御信号32にしたがって乱数パターン30を修正してスキャンパス23へシフトインする。
故障シミュレーション部17では、故障点とその修正パターンとを取得して故障シミュレーションを行い、検出される別の故障を抽出し(ステップS7)、故障リスト変更部18により、故障シミュレーション部17が検出した故障を故障リスト31から削除する(ステップS8)。
その後、故障リスト変更部18が故障を削除した後の故障リスト31がまだ空でなく故障が残っていれば(ステップS9)、ステップS2の処理へ戻り、故障リスト31が空であれば処理を終了する。
本発明の別の実施の形態として、ATPG10では、最初の数十パターンについては、LFSR21の乱数パターン30をそのまま使用して故障シミュレーションのみを行う処理手順が考えられる。これは、回路内部のほとんど(50%〜80%)の故障は乱数パターンで検出可能であり、検出されずに残った故障のみを検出するテストパターンをATPG10で生成することが処理時間の面で有利なためである。この場合に、ATPG10は、乱数パターン入力部12により、LFSR21が生成した乱数パターン30のうちの最初の数十の乱数パターン30についてはそのまま取り出し、故障シミュレーション部17により、その乱数パターン30について故障シミュレーションのみを行う。そして、それ以降に取り出した乱数パターン30については、第3図に示す処理フローに従って処理を行う。
また、本発明の別の実施の形態として、一つのパターンに対して一つの対象故障に対する経路活性化を行うだけでなく、複数の故障に対する経路活性化を試みた後に故障シミュレーションを行う処理手順が考えられる。これは、ダイナミックコンパクションと呼ばれる既知の手法を本発明に応用するものであり、パターン数の削減に非常に効果がある。
この場合には、ATPG10は、第3図に示す処理フローにおいて、対象故障選択部15により対象故障を選択する場合に、一つの乱数パターンで検出される複数の対象故障を選択するようにし、この複数の対象故障に対して以降の処理を行う。
以上、本発明をその実施の態様により説明したが、本発明はその主旨の範囲において種々の変形が可能である。
本発明の実施の形態として、制御性および観測性の両方をコスト関数として用いた処理について説明したが、例えばATPG10は、これらのいずれか一方のコスト関数を用いてテストパターン作成を行うことも可能である。
また、ATPG10の乱数パターン入力部12は、LFSR21からパターンを取り出す代わりに、LFSR21が生成する乱数パターン30と同様のパターンを生成してもよい。
また、乱数パターン入力部12は、LFSR21から乱数パターン30を取り出す代わりに、一つ前の処理で作成したテストパターンを用いてもよい。
また、経路活性化部16は、制御信号32の代わりに修正パターンを出力するようにしてもよい。
本発明の各手段または機能または要素は、コンピュータにより読み取られ実行される処理プログラムとして実現することができる。また、本発明を実現するプログラムは、コンピュータが読み取り可能な、可搬媒体メモリ、半導体メモリ、ハードディスクなどの適当な記録媒体に格納することができ、これらの記録媒体に記録して提供され、または、通信インタフェースを介して種々の通信網を利用した送受信により提供されるものである。
【産業上の利用可能性】
以上のように、本発明にかかる集積回路試験装置および試験方法は、集積回路の製造不良などの故障を検出するために利用することができる。
【図面の簡単な説明】
【図1】 第1図は、本発明にかかる集積回路試験装置のブロック構成図である。
【図2】 第2図は、テストパターン作成装置の内部構成図である。
【図3】 第3図は、本発明にかかる試験方法の処理フロー図である。
【図4】 第4図は、制御性の再計算範囲を示す図である。
【図5】 第5図は、観測性とテスタビリティの再計算範囲を示す図である。
【図6】 第6図は、経路活性化の説明図1である。
【図7】 第7図は、経路活性化の説明図2である。
【図8】 第8図は、経路活性化の説明図3である。
【図9】 第9図は、経路活性化の説明図4である。
【図10】 第10図は、活性化経路の例を示す図である。
【図11】 第11図は、DSPTの概念図である。
【図12】 第12図は、BISTの概念図である。
【図13】 第13図は、特願平12−372231「集積回路試験装置及び試験方法」にて開示した試験装置の回路のブロック図である。
Claims (6)
- テストパターンを自動生成する集積回路試験装置において、
入力されたパターンに対する信号値割り当てにおいて値の選択が必要な場合に、ある信号線に対してある値を設定するための困難さである制御性を計算する第1のコスト関数計算手段と、
前記パターンに対する信号値割り当てにおいて値の選択が必要な場合に、ある信号線の故障を観測点に伝播するための困難さである観測性を計算する第2のコスト関数計算手段と、
前記制御性および前記観測性にもとづいて前記テストパターンの制御可能な外部入力の反転数が少なくなるように前記信号値割り当てを選択して経路活性化を行う経路活性化手段とを備え、
前記第1のコスト関数計算手段は、前記入力されたパターンの外部信号を反転させて、該反転した外部信号の影響が前方に伝播する範囲を特定し、該特定した範囲のみの前記制御性を再計算し、
前記第2のコスト関数計算手段は、前記入力されたパターンの外部信号を反転させて、該反転した外部信号の影響が到達した外部出力から外部入力方向にバックトレースできる範囲を特定し、該特定した範囲のみの前記観測性を再計算し、
前記経路活性化手段は、前記制御性をガイドとして外部入力まで後方探索を行い、該探索した外部入力の信号値を反転させて論理シミュレーションを行い、前記制御性を無限大にして前記バックトレースで同一の外部入力の反転を止めて、前記制御性と前記観測性との再計算を行わせる
ことを特徴とする集積回路試験装置。 - 請求項1記載の集積回路試験装置において、
入力されたパターンで検出される故障を選択する場合に、ある信号線の故障を検出するための困難さであるテスタビリティを計算する第3のコスト関数計算手段と、
前記テスタビリティにもとづいて、回路内部に仮定される全ての故障から対象とする故障を選択する対象故障選択手段とを備える
ことを特徴とする集積回路試験装置。 - パターン発生器とそのパターンを外部入力により修正するパターン修正器とを備えて前記修正されたパターンが複数のスキャンパスに入力される集積回路試験装置において、
前記パターン発生器から入力されたパターンに対する信号値割り当てにおいて値の選択が必要な場合に、ある信号線に対してある値を設定するための困難さである制御性を計算する第1のコスト関数計算手段と、
前記パターンに対する信号値割り当てにおいて値の選択が必要な場合に、ある信号線の故障を観測点に伝播するための困難さである観測性を計算する第2のコスト関数計算手段と、
前記制御性および前記観測性にもとづいて前記パターンの制御可能な外部入力の反転数が少なくなるように前記信号値割り当てを選択する経路活性化を行い、前記選択を行うための制御信号を前記パターン修正器に出力する経路活性化手段とを備え、
前記第1のコスト関数計算手段は、前記入力されたパターンの外部信号を反転させて、該反転した外部信号の影響が前方に伝播する範囲を特定し、該特定した範囲のみの前記制御性を再計算し、
前記第2のコスト関数計算手段は、前記入力されたパターンの外部信号を反転させて、該反転した外部信号の影響が到達した外部出力から外部入力方向にバックトレースできる範囲を特定し、該特定した範囲のみの前記観測性を再計算し、
前記経路活性化手段は、前記制御性をガイドとして外部入力まで後方探索を行い、該探索した外部入力の信号値を反転させて論理シミュレーションを行い、前記制御性を無限大にして前記バックトレースで同一の外部入力の反転を止めて、前記制御性と前記観測性との再計算を行わせる
ことを特徴とする集積回路試験装置。 - コンピュータが、テストパターンを自動生成する集積回路試験方法であって、
入力されたパターンに対する信号値割り当てにおいて値の選択が必要な場合に、ある信号線に対してある値を設定するための困難さである制御性を計算する第1のコスト関数計算処理過程と、
前記パターンに対する信号値割り当てにおいて値の選択が必要な場合に、ある信号線の故障を観測点に伝播するための困難さである観測性を計算する第2のコスト関数計算処理過程と、
前記制御性および前記観測性にもとづいて前記テストパターンの制御可能な外部入力の反転数が少なくなるように前記信号値割り当てを選択して経路活性化を行う経路活性化処理過程と、
前記入力されたパターンの外部信号を反転させて、該反転した外部信号の影響が前方に伝播する範囲を特定し、該特定した範囲のみの前記制御性を計算する第1のコスト関数再計算処理過程と、
前記入力されたパターンの外部信号を反転させて、該反転した外部信号の影響が到達した外部出力から外部入力方向にバックトレースできる範囲を特定し、該特定した範囲のみの前記観測性を計算する第2のコスト関数再計算処理過程と、
前記制御性をガイドとして外部入力まで後方探索を行い、該探索した外部入力の信号値を反転させて論理シミュレーションを行い、前記制御性を無限大にして前記バックトレースで同一の外部入力の反転を止めて、前記制御性と前記観測性との再計算処理過程を行わせる
ことを特徴とする集積回路試験方法。 - 請求項4記載の集積回路試験方法において、
入力されたパターンで検出される故障を選択する場合に、ある信号線の故障を検出するための困難さであるテスタビリティを計算する第3のコスト関数処理過程と、
前記テスタビリティにもとづいて、回路内部に仮定される全ての故障から対象とする故障を選択する対象故障選択処理過程とを備える
ことを特徴とする集積回路試験方法。 - パターン発生器とそのパターンを外部入力により修正するパターン修正器とを備えたコンピュータが、前記修正されたパターンが複数のスキャンパスに入力されるように処理を行う集積回路試験方法において、
前記パターン発生器から入力されたパターンに対する信号値割り当てにおいて値の選択が必要な場合に、ある信号線に対してある値を設定するための困難さである制御性を計算する第1のコスト関数計算処理過程と、
前記パターンに対する信号値割り当てにおいて値の選択が必要な場合に、ある信号線の故障を観測点に伝播するための困難さである観測性を計算する第2のコスト関数計算処理過程と、
前記制御性および前記観測性にもとづいて前記パターンの制御可能な外部入力の反転数が少なくなるように前記信号値割り当てを選択する経路活性化を行い、前記選択を行うための制御信号を前記パターン修正器に出力する経路活性化処理過程と、
前記入力されたパターンの外部信号を反転させて、該反転した外部信号の影響が前方に伝播する範囲を特定し、該特定した範囲のみの前記制御性を計算する第1のコスト関数再計算処理過程と、
前記入力されたパターンの外部信号を反転させて、該反転した外部信号の影響が到達した外部出力から外部入力方向にバックトレースできる範囲を特定し、該特定した範囲のみの前記観測性を計算する第2のコスト関数再計算処理過程と、
前記制御性をガイドとして外部入力まで後方探索を行い、該探索した外部入力の信号値を反転させて論理シミュレーションを行い、前記制御性を無限大にして前記バックトレースで同一の外部入力の反転を止めて、前記制御性と前記観測性との再計算処理過程を行わ せる
ことを特徴とする集積回路試験方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2002/009606 WO2004027440A1 (ja) | 2002-09-19 | 2002-09-19 | 集積回路試験装置および試験方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2004027440A1 JPWO2004027440A1 (ja) | 2006-01-19 |
JP4174048B2 true JP4174048B2 (ja) | 2008-10-29 |
Family
ID=32012225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004537515A Expired - Fee Related JP4174048B2 (ja) | 2002-09-19 | 2002-09-19 | 集積回路試験装置および試験方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7266746B2 (ja) |
JP (1) | JP4174048B2 (ja) |
WO (1) | WO2004027440A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4520103B2 (ja) * | 2003-04-02 | 2010-08-04 | ルネサスエレクトロニクス株式会社 | スキャンテストパタン入力方法および半導体集積回路 |
JP4733935B2 (ja) * | 2004-06-29 | 2011-07-27 | 富士通セミコンダクター株式会社 | 試験パターン生成装置、テスト回路試験装置、試験パターン生成方法、テスト回路試験方法、試験パターン生成プログラム、テスト回路試験プログラム、および記録媒体 |
US7539906B2 (en) * | 2005-03-30 | 2009-05-26 | Freescale Semiconductor, Inc. | System for integrated data integrity verification and method thereof |
JP2007017430A (ja) * | 2005-06-06 | 2007-01-25 | Matsushita Electric Ind Co Ltd | テストパターン生成方法 |
US7404126B2 (en) * | 2006-03-29 | 2008-07-22 | Texas Instruments Incorporated | Scan tests tolerant to indeterminate states when employing signature analysis to analyze test outputs |
US8051352B2 (en) * | 2006-04-27 | 2011-11-01 | Mentor Graphics Corporation | Timing-aware test generation and fault simulation |
US7669090B2 (en) * | 2006-05-18 | 2010-02-23 | Kabushiki Kaisha Toshiba | Apparatus and method for verifying custom IC |
JP5017604B2 (ja) * | 2006-09-27 | 2012-09-05 | 国立大学法人九州工業大学 | 生成装置、生成方法、この方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体 |
JP4427068B2 (ja) * | 2007-03-07 | 2010-03-03 | 富士通株式会社 | 擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法 |
US20110035638A1 (en) * | 2008-04-07 | 2011-02-10 | Ruifeng Guo | Timing Failure Debug |
US9118502B2 (en) * | 2009-06-16 | 2015-08-25 | Alcatel Lucent | Auto VPN troubleshooting |
US8731896B2 (en) * | 2009-07-02 | 2014-05-20 | Spirent Communications, Inc. | Virtual testbed for system verification test |
JP2011112434A (ja) * | 2009-11-25 | 2011-06-09 | Renesas Electronics Corp | 論理回路用テストポイント挿入方法、論理回路試験装置 |
JP5691575B2 (ja) | 2011-02-03 | 2015-04-01 | 富士通株式会社 | 故障解析プログラム,故障解析装置および故障解析方法 |
JP5794027B2 (ja) * | 2011-08-02 | 2015-10-14 | 富士通株式会社 | テストパターン生成装置,テストパターン生成方法およびテストパターン生成プログラム |
WO2013111317A1 (ja) * | 2012-01-27 | 2013-08-01 | 富士通株式会社 | 情報処理方法、装置及びプログラム |
US9310433B2 (en) | 2014-04-18 | 2016-04-12 | Breker Verification Systems | Testing SOC with portable scenario models and at different levels |
CN111737858B (zh) * | 2020-05-29 | 2024-03-08 | 西安理工大学 | 一种堆石混凝土中随机堆石的生成方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5450414A (en) * | 1993-05-17 | 1995-09-12 | At&T Corp. | Partial-scan built-in self-testing circuit having improved testability |
JPH07260897A (ja) * | 1994-03-17 | 1995-10-13 | Toshiba Corp | テストパターン自動生成方法 |
US5592493A (en) * | 1994-09-13 | 1997-01-07 | Motorola Inc. | Serial scan chain architecture for a data processing system and method of operation |
US5831996A (en) * | 1996-10-10 | 1998-11-03 | Lucent Technologies Inc. | Digital circuit test generator |
US6256759B1 (en) * | 1998-06-15 | 2001-07-03 | Agere Systems Inc. | Hybrid algorithm for test point selection for scan-based BIST |
JP2000009813A (ja) * | 1998-06-19 | 2000-01-14 | Hitachi Ltd | 論理回路のテストパターン作成方法および作成装置 |
JP2000193726A (ja) * | 1998-12-28 | 2000-07-14 | Hitachi Ltd | 論理回路のテストパタ―ン作成装置 |
US6385750B1 (en) * | 1999-09-01 | 2002-05-07 | Synopsys, Inc. | Method and system for controlling test data volume in deterministic test pattern generation |
US6708305B1 (en) * | 2000-10-18 | 2004-03-16 | International Business Machines Corporation | Deterministic random LBIST |
JP4228061B2 (ja) * | 2000-12-07 | 2009-02-25 | 富士通マイクロエレクトロニクス株式会社 | 集積回路の試験装置および試験方法 |
-
2002
- 2002-09-19 JP JP2004537515A patent/JP4174048B2/ja not_active Expired - Fee Related
- 2002-09-19 WO PCT/JP2002/009606 patent/WO2004027440A1/ja active Application Filing
-
2004
- 2004-12-29 US US11/023,457 patent/US7266746B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2004027440A1 (ja) | 2004-04-01 |
US20050149804A1 (en) | 2005-07-07 |
JPWO2004027440A1 (ja) | 2006-01-19 |
US7266746B2 (en) | 2007-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4174048B2 (ja) | 集積回路試験装置および試験方法 | |
EP0631235B1 (en) | Partial-scan built-in selftesting sequential circuit | |
US5574733A (en) | Scan-based built-in self test (BIST) with automatic reseeding of pattern generator | |
JP2746804B2 (ja) | 集積回路試験方法および集積回路試験装置 | |
JP4031954B2 (ja) | 集積回路の診断装置および診断方法 | |
JP3749541B2 (ja) | 集積回路試験装置及び試験法 | |
US20190018910A1 (en) | Low-power test compression for launch-on-capture transition fault testing | |
JP5034576B2 (ja) | 半導体集積回路、テストデータ生成装置およびlsi試験装置 | |
Pomeranz | Static test compaction for delay fault test sets consisting of broadside and skewed-load tests | |
US11815555B2 (en) | Universal compactor architecture for testing circuits | |
US10996273B2 (en) | Test generation using testability-based guidance | |
US10078114B2 (en) | Test point circuit, scan flip-flop for sequential test, semiconductor device and design device | |
JP2006292646A (ja) | Lsiのテスト方法 | |
US6735730B1 (en) | Integrated circuit with design for testability and method for designing the same | |
US11320487B1 (en) | Programmable test compactor for improving defect determination | |
JP2008096440A (ja) | 遅延テストパターンの量を削減する部分的拡張スキャン方法 | |
US11422188B2 (en) | Isometric control data generation for test compression | |
JP3291706B2 (ja) | 論理回路の高速動作検証方法、及び、論理回路 | |
JP5158087B2 (ja) | 半導体集積回路装置および半導体集積回路装置の試験方法 | |
JP3022017B2 (ja) | 集積回路 | |
JP2005017067A (ja) | 自己テスト回路内蔵の半導体集積回路およびその故障診断方法 | |
JP3544912B2 (ja) | ハードマクロテスト回路、そのテスト方法およびテストパタン生成方法 | |
JP2002189063A (ja) | 半導体装置 | |
JPH1183958A (ja) | テストパタン生成装置並びにテストパタン生成プログラムを記録した記録媒体 | |
JPH07294606A (ja) | 半導体集積回路の自己検査回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080311 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080512 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20080512 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080512 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080701 |
|
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: 20080812 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080815 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110822 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120822 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120822 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130822 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |