JP3547559B2 - テストパターン圧縮方法 - Google Patents
テストパターン圧縮方法 Download PDFInfo
- Publication number
- JP3547559B2 JP3547559B2 JP13879396A JP13879396A JP3547559B2 JP 3547559 B2 JP3547559 B2 JP 3547559B2 JP 13879396 A JP13879396 A JP 13879396A JP 13879396 A JP13879396 A JP 13879396A JP 3547559 B2 JP3547559 B2 JP 3547559B2
- Authority
- JP
- Japan
- Prior art keywords
- test pattern
- test
- check
- detected
- failure
- 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
Landscapes
- Tests Of Electronic Circuits (AREA)
Description
【発明の属する技術分野】
本発明はテストパターン圧縮方法に関し、半導体集積回路をテストするためのテストパターンの数を圧縮する方法に関する。
【0002】
【従来の技術】
半導体集積回路をテストするためのテストパターンの生成方法として、ターゲットとなるある1つの故障に対してその故障を検出可能な1つのパターンを作る決定的手法と、乱数を用いてパターンを生成する非決定的手法がある。前者は時間はかかるが確実にターゲットとした故障を検出することが可能であり、後者の方法では、高速なテストパターン生成が可能である。しかし、これらの方法で生成したテストパターンには冗長なパターンが含まれてしまっているため、テストパターンは必要以上に大きくなってしまい、テストパターン生成後、テストパターン圧縮を行う必要がある。
【0003】
テストパターン圧縮は、通常、テストパターンを順番に故障シミュレーションしていき、そのテストパターンで一度ある故障が検出されると、その故障を故障シミュレーションのターゲットから外していく。この故障シミュレーションにおいて、未検出の故障をまったく検出しないテストパターンは不要なものでありテストセットの圧縮が可能となる。そのため、故障シミュレーションにおけるテストパターンの順序は大変重要である。従来のテストパターンのコンパクション手法は、テストパターン生成順と逆順で故障シミュレーションすることによりコンパクションを行うリバース・フォールト・シミュレーションや、ランダムにパターンを並べ変えるというものであり、テストパターン圧縮方法としてダブルディテクション(S.Kajihara.etc.Proc.30th Design Autom.Conf.,1993,pp. 102−106.)がある。
【0004】
【発明が解決しようとする課題】
リバース・フォールト・シミュレーションは、図5の最上行から順にテストパターンt1〜t8を1つ1つ生成及び故障シミュレートして故障f1〜f10を検出する。次に図中、最下行から順にテストパターンt8〜t1を1つ1つ故障シミュレートして不要なテストパターンがないかをチェックする。ここで不要なテストパターンとは、新しい故障を1つも検出しないテストパターンのことである。しかし、この図の例ではテストパターンt8〜t1の全てのテストパターンで新しい故障を検出しており、テストパターンを圧縮することは不可能である。
【0005】
図6(A)〜(D)はダブルディテクションの手順を示す。まず、同図(A)の最上行から順にテストパターンt1〜t8を1つ1つ生成及び故障シミュレートして故障f1〜f10を検出する。ここで、ワン・チェックの欄には、そのテストパターンでしか検出できない故障を見付け、その数を記入している。例えばテストパターンt1のワン・チェックが1というのは、故障f1がテストパターンt1でしか検出できないことを表わしている。
【0006】
同図(A)の状態から、まずワン・チェックの値が大きいテストパターンから順に、かつ、ワン・チェックの値が0のテストパターンについては逆順として並べ換え、同図(B)に示す並びとする。そして、最上行から順に故障シミュレートを行い、故障f1〜f10が検出された段階でシミュレートを中止し、残りのチェックパターン(この場合t2)を削除する。各行のワン・チェックの欄の値を記入する。
【0007】
この後、同様の並べ換えを行って最上行から順に故障シミュレートを行い同図(C)に示す如く、テストパターンt7を削除してワン・チェックの欄を記入する。更に、同様の並べ換えを行って最上行から順に故障シミュレートを行い同図(D)に示す如く、テストパターンt5,t4を削除してワン・チェックの欄を記入する。同図(D)ではワン・チェックの欄が0であるテストパターンがないためダブルディテクションを終了する。
【0008】
上記のダブルディテクションでは3回の並べ換えが必要で、かつ、並べ換えをする毎に故障シミュレーションを繰り返さなければならない。並べ換えの回数が多くなるのは最適な並べ換えがなされていないからであり、その結果、故障シミュレーションを行う回数が多く、テストパターン圧縮のために時間がかかるという問題があった。
【0009】
本発明は上記の点に鑑みなされたもので、テストパターンの並べ換えを最適化して並べ換えの回数を低減でき、故障シミュレーション回数を低減して圧縮に要する時間を低減できるテストパターン圧縮方法を提供することを目的とする。
【0010】
【課題を解決するための手段】
請求項1に記載の発明は、回路をテストするためのテストパターンの数を圧縮するテストパターン圧縮方法において、
検出しようとする故障が検出されるまでテストパターンの故障シミュレーションを行い、
上記故障シミュレーションを行ったテストパターン夫々について、そのテストパターンを含めn(nは正整数)個のテストパターンでしか検出できない故障の数であるnチェックを求め、
nが小なるものを優先させてnチェックの値が大なる順に上記故障シミュレーションを行ったテストパターンを並べ換え、
上記故障シミュレーションを繰り返してテストパターン数を圧縮する。
【0011】
このように、そのテストパターンを含めn個のテストパターンでしか検出できない故障の数であるnチェックをテストパターン毎に求め、nが小なるものを優先させてnチェックの値が大なる順にテストパターンを並べ換えることにより、次のシミュレーション時に検出しにくい故障を検出可能なテストパターンから順に故障シミュレーションを行って、他の故障も付随的に検出しテストパターン数を減少でき、並べ換え回数及び故障シミュレーション回数を減少できる。
【0012】
【発明の実施の形態】
図1は本発明方法のフローチャートを示す。この処理を始める以前にテストパターン(例えばt1〜t8)が生成されており、この生成されたテストパターンt1〜t8をテストパターンセットAと呼ぶ。同図中、ステップS10ではテストパターンセットAの先頭のテストパターンt1を取り出す。
【0013】
次にステップS12で取り出したテストパターンの故障シミュレーションを行って故障を検出し、順序決定係数であるnチェック(nは1≦n≦Nを満足する整数)を計算する。次に、ステップS14で検出可能な全ての故障(例えば故障f1〜f10)が検出されたか否かを判別し、未だ全てが検出されてなければステップS16に進み、全てが検出されていればステップS18に進む。ステップS16ではテストパターンセットAから次のテストパターンを取り出し、ステップS12に進む。
【0014】
図3は上記のステップS10,S12〜S16を繰り返して得られた順序決定係数の一例を示す。ここではN=3としている。ワン・チェックとはそのテストパターンでしか検出できない故障の数であり、ツー・チェックとは、そのテストパターンを含め2つのテストパターンでしか検出できない故障の数であり、スリー・チェックとは、そのテストパターンを含め3つのテストパターンでしか検出できない故障の数である。図3において、テストパターンは最上行から順にシミュレーションが行われる。最初にテストパターンt1をシミュレートした時点では故障f1,f2がこのテストパターンt1でしか検出できないため、この行のワン・チェックの値が2で、ツー・チェック及びスリー・チェック夫々の値が0である。しかし、テストパターンt2をシミュレートした時点で故障f2がテストパターンt1,t2で検出できることが分り、テストパターンt1のワン・チェックの値が1,ツー・チェックの値が1,スリー・チェックの値が0となる。なお、故障毎の検出回数と、どの故障がどのテストパターンで検出されたかを記録しておくことにより、ワン・チェック、ツー・チェック、スリー・チェック夫々を求めることもできる。
【0015】
図3のテストパターンt8のシミュレーションを行うことにより、検出可能な全ての故障f1〜f10が検出されるとステップS14からステップS17に進む。ステップS17ではテストパターンセットAの残ったテストパターン、又は1つも新しい故障を検出しないテストパターンをテストパターンセットAから削除する。次のステップS18ではテストパターンの並べ換え処理を行い、ステップS20に進む。ステップS20ではテストパターンAの全てのパターンのワン・チェックの値が1以上であるか否かを判別し、全てのワン・チェックの値が1以上でなければステップS10に進んでステップS10〜S20を繰り返す。全てのワン・チェックの値が1以上であれば処理を終了する。
【0016】
図2は並べ換え処理のフローチャートを示す。同図中、ステップS30ではテストパターンセットAの先頭のテストパターンを取り出す。このテストパターンを(T)で表わす。次にステップS32でnを1に設定し、ステップS34で作業用のテストパターンセットCをクリアした後、ステップS36でテストパターンセットAのテストパターンを全てテストパターンセットCに入れる。
【0017】
次にステップS38で取り出したテストパターン(T)のnチェックの値がテストパターンセットCの中のどのテストパターンのnチェックの値と比べても大きいかどうかを判別する。この条件を満足すればステップS40に進み、ここで、テストパターン(T)をテストパターンセットBに先頭から順に追加する。そしてテストパターン(T)をテストパターンセットAから削除する。この後、ステップS42でテストパターンセットAにまだテストパターンが残っているかどうかを判別し、テストパターンがあればステップS30に進む。
【0018】
一方、ステップS38の条件を満足しない場合はステップS44に進み、テストパターン(T)のnチェックの値がテストパターンセットCの中のどれかのテストパターンのnチェックの値より小さいか否かを判別する。この条件を満足しなければステップS46でnの値が所定値N(図3の例ではスリー・チェックまでであるのでN=3)と等しいか否かを判別し、n≠Nの場合ステップS48に進む。
【0019】
ステップS48ではテストパターンセットCの中でテストパターン(T)とnチェックの値が同一のテストパターンを取り出してテストパターンセットCに入れなおす。これはステップS38での比較対象をそれよりnの小さなn_checkの値が同じものに限定するための処理である。この後、ステップS50でnを1だけインクリメントしてステップS38に進む。また、ステップS46でn=NであればステップS40に進む。
【0020】
また、ステップS44の条件を満足する場合にはステップS52でテストパターンセットAの中から次のテストパターン(T)を取り出してステップS32に進む。また、上記のステップS30〜S52の処理を繰り返し、ステップS42でテストパターンセットAにテストパターンがないと判別されるとステップS54に進み、ここでテストパターンセットBでテストパターンセットAを置き換え、テストパターンセットB,Cをクリアして処理を終了する。
【0021】
ここで、テストパターンセットAが図4(A)の状態(図4(A)は図3と同一内容)で並べ換え処理が行われると、まずワン・チェックの値が大きいものを優先して図4(A)でワン・チェックの値が1のテストパターンt1がテストパターンセットBに移動され、次にテストパターンt8がテストパターンセットBに移動される。次にツー・チェックの値が大きいものを優先しツー・チェックの値が2のテストパターンt3,t6,t7,t2が順にテストパターンセットBに移動される。テストパターンt2がt3,t6よりも後で移動されるのはスリー・チェックの値が他より小さいからである。この後、ツー・チェックの値が1であるものについて、スリー・チェックの値が大きい順にテストパターンセットBに移動され、このテストパターンセットBでテストパターンセットAが置き換えられ図4(B)に示す順序に並べ換えられる。
【0022】
この並べ換えの後、図4(B)に示すテストパターンt1,t8,t3,t6が故障シミュレーション(ステップS12)されることによって検出可能な全ての故障f1〜f10が検出され、残りのテストパターンt7,t2,t5,t4夫々の故障シミュレーションは行われずにこれらは削除される。
【0023】
このように、nが小さなnチェックの値に上位の優先度を与えて、nが小なるものを優先させてnチェックの値が大なる順にテストパターンを並び換えている。これは並び換えた後、先頭に近いテストパターンほど、検出しにくい故障を多く検出可能なテストパターンであることを示しており、このようなテストパターンを先に故障シミュレートすることにより、多くのテストパターンで検出可能な故障を付随的に検出してテストパターン数を減少させることができる。
【0024】
このようにしてより適切な並べ換えを行っているため、並べ換えの回数を従来に比して大幅に減少させることができ、全体の故障シミュレーションの回数を大幅に減少でき、圧縮に要する時間を大幅に低減することが可能となる。
【0025】
【発明の効果】
上述の如く、請求項1に記載の発明は、回路をテストするためのテストパターンの数を圧縮するテストパターン圧縮方法において、
検出しようとする故障が検出されるまでテストパターンの故障シミュレーションを行い、
上記故障シミュレーションを行ったテストパターン夫々について、そのテストパターンを含めn(nは正整数)個のテストパターンでしか検出できない故障の数であるnチェックを求め、
nが小なるものを優先させてnチェックの値が大なる順に上記故障シミュレーションを行ったテストパターンを並べ換え、
上記故障シミュレーションを繰り返してテストパターン数を圧縮する。
【0026】
このように、そのテストパターンを含めn個のテストパターンでしか検出できない故障の数であるnチェックをテストパターン毎に求め、nが小なるものを優先させてnチェックの値が大なる順にテストパターンを並べ換えることにより、次のシミュレーション時に検出しにくい故障をより多く検出可能なテストパターンから順に故障シミュレーションを行って、他の故障も付随的に検出しテストパターン数を減少でき、並べ換え回数及び故障シミュレーション回数を減少でき、テストパターン圧縮に要する時間を低減できる。
【図面の簡単な説明】
【図1】本発明方法のフローチャートである。
【図2】並べ換え処理のフローチャートである。
【図3】本発明の順序決定係数を説明するための図である。
【図4】本発明の順序決定係数を説明するための図である。
【図5】従来方法を説明するための図である。
【図6】従来方法を説明するための図である。
【符号の説明】
S10〜S54 ステップ
t1〜t8 テストパターン
f1〜f10 故障
Claims (1)
- 回路をテストするためのテストパターンの数を圧縮するテストパターン圧縮方法において、
検出しようとする故障が検出されるまでテストパターンの故障シミュレーションを行い、
上記故障シミュレーションを行ったテストパターン夫々について、そのテストパターンを含めn(nは正整数)個のテストパターンでしか検出できない故障の数であるnチェックを求め、
nが小なるものを優先させてnチェックの値が大なる順に上記故障シミュレーションを行ったテストパターンを並べ換え、
上記故障シミュレーションを繰り返してテストパターン数を圧縮することを特徴とするテストパターン圧縮方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13879396A JP3547559B2 (ja) | 1996-05-31 | 1996-05-31 | テストパターン圧縮方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13879396A JP3547559B2 (ja) | 1996-05-31 | 1996-05-31 | テストパターン圧縮方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09318711A JPH09318711A (ja) | 1997-12-12 |
JP3547559B2 true JP3547559B2 (ja) | 2004-07-28 |
Family
ID=15230357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13879396A Expired - Fee Related JP3547559B2 (ja) | 1996-05-31 | 1996-05-31 | テストパターン圧縮方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3547559B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3233282B2 (ja) * | 1999-05-19 | 2001-11-26 | エヌイーシーマイクロシステム株式会社 | テストパタンセット圧縮装置、方法及び記録媒体 |
-
1996
- 1996-05-31 JP JP13879396A patent/JP3547559B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09318711A (ja) | 1997-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pomeranz et al. | On static compaction of test sequences for synchronous sequential circuits | |
US5983381A (en) | Partitioning and reordering methods for static test sequence compaction of sequential circuits | |
US7228262B2 (en) | Semiconductor integrated circuit verification system | |
JPH09145800A (ja) | テストパターン生成方式 | |
Wang et al. | Multiple fault diagnosis using n-detection tests | |
JP3512728B2 (ja) | 論理回路のテストパタン生成方法及び装置 | |
Guo et al. | Procedures for static compaction of test sequences for synchronous sequential circuits based on vector restoration | |
US6721914B2 (en) | Diagnosis of combinational logic circuit failures | |
JP3233282B2 (ja) | テストパタンセット圧縮装置、方法及び記録媒体 | |
JP3547559B2 (ja) | テストパターン圧縮方法 | |
US6334199B1 (en) | Method of generating test patterns for a logic circuit, a system performing the method, and a computer readable medium instructing the system to perform the method | |
US7395478B2 (en) | Method of generating test patterns to efficiently screen inline resistance delay defects in complex asics | |
JP3365325B2 (ja) | 順序回路のテスト集合圧縮方法 | |
US5528604A (en) | Test pattern generation for an electronic circuit using a transformed circuit description | |
US7103816B2 (en) | Method and system for reducing test data volume in the testing of logic products | |
JP3465887B2 (ja) | 半導体集積回路のテスト方法 | |
CN112649723B (zh) | 转换延迟故障测试压缩环境下测试精简方法和装置 | |
Liang et al. | A sequential redundant fault identification scheme and its application to test generation | |
Seshadri et al. | Accelerating diagnostic fault simulation using z-diagnosis and concurrent equivalence identification | |
Higami et al. | On finding don't cares in test sequences for sequential circuits | |
Pomeranz et al. | Fault simulation under the multiple observation time approach using backward implications | |
JPH07191102A (ja) | 検査系列自動生成装置 | |
JPH08166892A (ja) | データ処理装置の試験方法 | |
JP2001202391A (ja) | 論理回路のシミュレーション方法 | |
Khalafi et al. | Adapting Differential Fault Simulation For VHDL Implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040226 |
|
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: 20040413 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040414 |
|
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: 20080423 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090423 Year of fee payment: 5 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090423 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090423 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100423 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110423 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110423 Year of fee payment: 7 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110423 Year of fee payment: 7 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110423 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120423 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130423 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130423 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140423 Year of fee payment: 10 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |