JPH11223664A - 論理回路のテスト集合圧縮方法 - Google Patents
論理回路のテスト集合圧縮方法Info
- Publication number
- JPH11223664A JPH11223664A JP10320218A JP32021898A JPH11223664A JP H11223664 A JPH11223664 A JP H11223664A JP 10320218 A JP10320218 A JP 10320218A JP 32021898 A JP32021898 A JP 32021898A JP H11223664 A JPH11223664 A JP H11223664A
- Authority
- JP
- Japan
- Prior art keywords
- subsequence
- state
- test
- fault
- relaxed
- 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
Links
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/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318335—Test pattern compression or decompression
-
- 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/318371—Methodologies therefor, e.g. algorithms, procedures
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
る部分列除去方法を提供すること。 【解決手段】 有限状態を有する順序回路において高速
静的圧縮を行なう方法であり、機械の出力状態を緩和す
るステップと、削除候補の再帰部分列を識別するステッ
プと、故障シミュレーション解析を行なって部分列が削
除可能かどうかを判定するステップと、部分列を削除、
および/または削除のための次の再帰部分列候補を識別
するステップを有する。
Description
序回路のためのテスト集合を圧縮する方法に関する。特
に、順序回路における高速静的圧縮のための状態緩和に
基づく部分列削除方法に関する。
明細書中に参考として取り入れる、“Partitio
ning and Recording Method
sfor Static Test Sequence
Compactionof Sequential
Circuits”と題する米国特許出願第09/00
1542号(出願日1997年12月31日)に関連し
ている。
は、テスト集合のテストベクトル数に比例し、テストの
コストに直接的な影響を与える。このため、より短いテ
ストシーケンスが望まれる。圧縮技術には、2種類、す
なわち、動的圧縮と静的圧縮がある。動的圧縮技術で
は、テスト生成プロセスと同時に圧縮が行なわれ、テス
トジェネレータの変更を必要とすることが多い。一方、
静的テストシーケンス圧縮は、テスト生成後の後処理ス
テップである。静的圧縮技術は、テスト生成アルゴリズ
ムとは関係なく、テストジェネレータの変更を必要とし
ない。動的圧縮がテスト生成中に行なわれたとしても、
静的圧縮により、テスト生成後に得られたテスト集合の
大きさをさらに縮小させることができる。
が、以下の論文に提案されている。すなわち、T.M.
Niermannらによる“Test Compact
ionfor Sequential Circuit
s”(IEEE Trans. Computer−A
ided Design、Vol.11、No.2、2
60〜67頁、1992年2月)や、B.Soによる
“Time−efficient Automatic
Test Pattern Generation
System”(Ph.D.Thesis、EE De
pt.Univ.of Wisconsin−Madi
son、1994年)、I.Pomeranzらによる
“On Static Compaction of
TestSequences for Synchro
nous Sequential Circuits"
(Proc Design Automation C
onf.、215−20頁、1996年6月)、M.
S.Hsiaoらによる“Fast Algorith
ms for Static Compaction
of Sequential Circuit Tes
t Vectors”(Proc. IEEE VLS
I Test Symp.、188−195頁、199
5年4月)などである。
を定めて得られたテストシーケンスを重ね合わせたり、
並べかえたりして圧縮を達成することが含まれている
(Niermann及びSo)。しかしながら、このよ
うな手法を、ランダムあるいはシミュレーションに基づ
くテストジェネレータにより生成されるテストシーケン
スに用いることはできない。
静的圧縮も研究されている(Pomeranz)。この
ような方法では、多数の故障シミュレーションパスが必
要となる。このような方法では、元のテスト集合を用い
て得ることができる故障検出率を低下させることなく、
テスト集合からベクトルを削除する。ベクトルを削除あ
るいは交換するとき、テストシーケンスに対する変更に
よって故障検出率が影響を受けないことを確実にするた
めに、故障シミュレータが起動される。途方もなく長い
実行時間を費やせば、非常に圧縮されたテスト集合を得
ることができる。
回路の高速静的圧縮技術が最近報告されている(Hsi
ano)。この手法は、次の2つの知見に基づいてい
る。すなわち、(1)テストシーケンスは、繰り返し現
れる状態の小集合をトラバースする。(2)ある条件の
もとではサイクルに対応する部分列をテスト集合から削
除してもよい。しかしながら、テスト集合に、繰り返し
現れる状態がほとんどあるいは全くなければ、部分列削
除アルゴリズムはあまり効果がない。図1は、いくつか
のISCAS89ベンチマーク回路について、HITE
Cテスト集合によりトラバースされたベクトルと状態の
数を示す表である。このようなテスト集合と回路に関す
る情報は、以下の論文に見出だすことができる:T.
M. Niermannらによる“HITEC: A
Test Generation Package f
or Sequential Circuits”(P
roc.European Conf. Design
Automation(EDAC)、214〜218
頁、1991年)と、T.M. Niermannらに
よる“Method for Automatical
ly Generating Test Vector
s for Digital Integrated
Circuits”(米国特許第5,377,197
号、1994年)と、F.Brglezらによる“Co
mbinational Profilesof Se
quential Benchmark Circui
ts”(Int. Symposium on Cir
cuits and Systems、1929〜34
頁、1989年)。他のテストジェネレータによって生
成されたテスト集合においても同様な傾向が見られる。
もたないテスト集合Tについて考えてみる。このテスト
集合にはサイクルがない。明らかに、Hsiaoに報告
されている部分列削除アルゴリズムでは、このテスト集
合を圧縮することはできない。しかしながら、状態緩和
を用いることによって、削除し得る部分列を識別するこ
とができる。
について以下に説明する。例えば、テスト集合Tがある
状態を繰り返すことなく、有限状態機械を状態S
initial からSfinal に遷移させるものと仮定する。有
限状態機械を状態Siから状態Sjに遷移させるテスト
集合Tの部分列をTsub とすれば、このテスト集合はサ
イクルをもたないため、状態SiとSjは異なっていな
ければならない。部分列Tsub を用いて状態Sjに到達
するために、状態Siにおける値すべてを指定すること
が必須であるとは限らない。したがって、状態Siにお
いて必須でないビットを指定しないことにより、状態S
iを緩和することができる。同様に、有限状態機械を状
態Sfinal に遷移させるために、状態Sjにおけるビッ
トすべてを指定する必要はない。
それぞれ、10110と00100と仮定する。状態S
jをX01X0に緩和できると仮定すると、第1及び第
4の状態ビット(フリップフロップ値)は指定されな
い。状態緩和は、部分列Tsubをテスト集合から削除し
ても、修正されたシーケンスを用いて、有限状態機械を
状態Sfinal に遷移させることができることを保証する
ものである。部分列Tsub を削除するということは、ベ
クトルVi〜Vj-1 をテスト集合Tから削除することを
意味する。ここで、部分列Tsub の最後のベクトル(ベ
クトルVj)は、依然として、テスト集合の一部をなし
ている。別の言い方をすれば、緩和された状態Sjは状
態Siをカバーし、部分列Tsub は、圧縮を達成するた
めに削除し得るサイクルを生成している。以上が本発明
でいう「状態緩和」の意味である。
nによる“Acceleration Techniq
ues for Dynamic Vector Co
mpaction”(Proc.Intl.Conf.
Computer−Aided Design、31
0−317頁)と題する論文に述べられているようなサ
ポート集合アルゴリズムを用いて効率的に計算すること
ができる。サポート集合は、線形の時間・領域計算量と
して計算することができ、これにより、緩和法は非常に
実現可能なものとなる。テスト集合がサイクルをもって
いる場合には、状態緩和は、より大きいサイクルを見出
だすために用いることができる。サイクルのサイズは、
そのサイクルを生じる部分列内のベクトルの数である。
は、(1)有限状態機械の出力状態を緩和させること、
(2)削除候補としての再帰[recurrent] 部分列を識別
すること、(3)故障シミュレーション解析を実行し
て、この部分列が削除可能かどうかを判定すること、
(4)この部分列を削除、および/または削除のために
次の再帰部分列候補を識別することである。
ルをもたないために既存の部分列削除技術では圧縮でき
なかったテスト集合を圧縮することができる。テスト集
合におけるサイクルのサイズを状態緩和により著しく増
大させることができ、より大きいサイクルを削除するこ
とで、より良好な圧縮が達成される。本発明によれば、
多数の故障シミュレーションパスを必要とする試行・再
試行法と比較して、わずか2つの故障シミュレーション
パスしか必要としない。現在知られている部分列削除方
法と比較して、短い実行時間で、極めて高度な圧縮が達
成される。ISCAS89順序ベンチマーク回路といく
つかの合成回路における実験によれば、公知の部分列削
除方法と比較して、本発明では、常に、短い実行時間で
極めて高度な圧縮が達成される。
態を図面を参照して説明する。n個のベクトルV1〜V
nからなる順序回路テストベクトル集合Tを考える。集
合Tのi番目のベクトルからj番目のベクトル(0≦i
≦j≦n)までの部分列を、T[Vi,Vi+1 ,…,V
j]であらわす。ここで、ViとVjとは、それぞれ、
テストベクトル集合Tにおけるi番目のベクトルおよび
j番目のベクトルである。重要な用語について、以下に
説明する。
初期状態から同じ状態に遷移させる。再帰部分列Trec
は、必ず、有限状態機械の初期状態を再訪する。この部
分列は、有限状態機械の状態図におけるサイクルをトラ
バースする役割をもつ。
ッピングをともなう故障シミュレーション中に、この部
分列内に故障が検出されなければ、不活性部分列(T
inert)である。故障ドロッピングとは、テスト集合を
圧縮する際に、最終圧縮テストベクトル集合中に残るこ
とになるテストベクトルにより検出される故障を、残り
の未圧縮テストベクトルにより検出しなければならない
故障のプールから排除することを意味する。不活性部分
列は、ある条件のもとで、故障検出率に悪影響を与えず
にテスト集合から削除することができる。例えば、上記
に引用したHsiaoを参照されたい。
フロップは、指定されていないとみなされる。状態Si
を部分的に指定した場合には、状態Siのドントケア
(未割り当て)値を数え上げることにより、状態の網羅
集合[exhaustive set]を得ることができる。例えば、状
態X01は部分的に指定されたものであり、これは、2
つの状態001と101を表わす。
態のグループが状態Sjによって表わされる状態の部分
集合であるならば、状態Siをカバーする。例えば、そ
れぞれ、ビットベクトルX01と00Xで表わされる2
つの状態S1およびS2について考えてみる。状態S1
は状態S2をカバーしない。これは、状態S2が2つの
状態000と001を表わし、状態S1には状態000
が含まれていないからである。状態S1とS2とを完全
に指定するならば、状態S1とS2が同一のときのみ、
状態S1はS2をカバーする。
1からドントケア値Xに変化するならば、緩和される。
Si R、Sj Rについて考えてみる。緩和状態S
j Rは、Sj Rが非緩和状態Siをカバーするならば、
緩和状態Si Rを完全にカバーする。ここで、緩和状態
Sj Rは、Si Rをカバーするかもしれないし、カバー
しないかもしれない。例えば、緩和状態Sj RをX0
1、Si Rを00Xとする。緩和状態Sj RはSi Rを
カバーしていない。しかしながら、緩和前には状態Si
が001であったならば、緩和状態Sj Rは状態Siを
カバーする。したがって、緩和状態Sj Rは、Si Rを
完全にカバーする。
えてみよう。緩和再帰部分列Trelaxed_rec は、有限状
態機械を緩和状態Sj RがSi Rを完全にカバーするよ
うに緩和状態Si Rから緩和状態Sj Rに遷移させる。
スト集合Tの故障シミュレーション(故障ドロッピング
をともなう)中に、この部分列内に故障が検出されない
ならば、緩和再帰部分列である。
とり出すことによりその緩和状態を算出することができ
る。サポート集合をとり出す方法は周知である。例え
ば、本明細書中に参考として取り入れた、A.Ragh
unathanらによる“Acceleration
techniques for dynamic ve
ctor compaction”(Proc.Int
l.conf.Computer−Aided Des
ign、310−317頁、1995年)を参照された
い。組み合わせ回路の一次出力Zにおける応答v(0あ
るいは1)を生成する入力ベクトルについて考えてみ
る。入力ベクトルは完全に指定されていてもされていな
くともよい。ベクトルは、一次入力のいくつかが指定さ
れていなければ(これらの入力には、ドントケア値Xが
割り当てられる)、完全には指定されない。一次出力Z
のサポート集合は、以下の条件すべてを満たす信号の任
意の集合(一次入力を含む)である。
理値0あるいは1をとる(すなわち、どの信号も、未知
の値をとらない)。
ある。
号以外の任意の信号の論理値は、サポート集合内の別の
信号の論理値によってのみ、一義的に決定される。
く、集合内の信号を削除することができなければ、サポ
ート集合は最小である。この最小サポート集合は、最小
基数[least cardinality] のサポート集合である。最小
サポート集合はまた、極小であるが、その逆は真ではな
い。
次出力に既知の値をとらせることができる。一次出力が
多数の場合には、条件SS2は、一次出力の各々がサポ
ート集合に含まれることを必要とするように修正され
る。サポート集合は、ある任意の入力ベクトルについて
所望の次の状態を生成するのに十分な、現在の状態にお
けるフリップフロップ値の集合を計算するために用いる
ことができる。
ク回路s27について考えてみる。この回路は、4つの
一次入力(G1、G2、G3、G4)と、1つの一次出
力(G17)と、3個のフリップフロップ(G5、G
6、G7)と、中間論理素子G8、G9、G10、G1
1、G12、G13、G14、G15、G16とを有す
る。回路への入力をベクトル<G1,G2,G3,G4
>で表わす。順序回路の状態は、ベクトル<G5,G
6,G7>で与えられる。回路の初期状態を100と
し、入力ベクトル1X10を与えると、回路は出力値1
を出力する。入力ベクトルは、順序回路を状態100に
遷移させる。論理シミュレーションは、有限状態機械の
初期状態が以下の3つの状態、すなわち、101、11
0、あるいは、111のいずれかであったならば、同一
の次の状態および一次出力値が得られることを示す。こ
の例は、ある入力ベクトルについて、順序回路を同一の
次の状態および一次出力値に遷移させるいくつかの初期
状態があり得ることを示すものである。例えば、初期状
態の集合を状態ベクトル1XXで簡潔に表わすことがで
きる。この状態は、4つの初期状態のすべての緩和状態
である。
おいて顕著な利点が得られる。緩和値を有するフリップ
フロップにおける故障結果が、一次出力やフリップフロ
ップのどれかに伝搬することはあり得ない。これは、緩
和フリップフロップ上の0あるいは1の値が一次出力や
次の状態値に何の影響も与えないからである。もう一
度、図2に例示した回路s27について検討してみる。
緩和フリップフロップG7上での故障結果が一次出力や
フリップフロップに伝搬することはあり得ない。これ
は、制御値G16=0により、一次出力やフリップフロ
ップG5およびG6に故障結果が伝搬するのが妨げら
れ、制御値G3=1により、フリップフロップG7へ故
障結果が伝搬するのを妨げられるからである。
することができる。緩和状態を効率的に導き出すため
に、サポート集合が用いられる。サポート集合の算出
は、線形の時間・領域計算量を有する。再び、図2に示
した回路s27について考えてみる。信号(G3=1)
のみが割り当て(G13=0)のためのサポート集合で
ある。一方、信号(G5=1,G9=1,G16=0,
G4=0,G8=0,G14=0,G1=1)が組み合
わさって、(G11=0)のためのサポート集合を形成
する。
ョン中に逆の順番で緩和される状態について考慮する必
要がある。このことは、緩和フリップフロップ値の数を
最大化する。テスト集合をT[V1,…,Vn]とし、
Si(1≦i≦n)を、ベクトルViをシミュレートす
る際の機械の状態とする。緩和値を最大にするために、
Sn…S1の順に状態を緩和することができる。フリッ
プフロップ上の次の状態値が現在の状態に対して可能な
緩和の程度を決定するため、すべての状態Si(1≦i
≦j)について考慮する前に、まず状態Sjを緩和する
ことが有用である。しかしながら、逆順での緩和のため
のメモリ記憶のコストは、非常に高い。これは、テスト
集合T内のベクトルすべてについて信号値の論理値を記
憶することを必要とする。
ト集合Tの論理シミュレーション中に状態が現れるのと
同じ順序で、状態を緩和することである。このことは、
次の状態がまだ緩和されていないため、各状態は、完全
に指定された次の状態に対して緩和されることを意味す
る。
を反復緩和させることにより、サポート集合内のフリッ
プフロップ数をさらに減少させることができる。第一回
目の反復では、完全に指定された次の状態に対して各状
態を緩和し、第二回目の反復では、第一回目の反復にお
いて計算されたすでに緩和された継続する状態に対して
対応するサポート集合を計算することによりあらゆる状
態をさらに緩和させる、などである。しかしながら、状
態の反復緩和は、実行時間を増大させてしまう。実験結
果によれば、以降の完全に指定された状態に基づく最小
サポート集合がテスト集合を大幅に圧縮するのに十分で
あることが示されている。
路について異なるブール値(0あるいは1)を有するな
らば、故障結果を有する。フリップフロップが正常な回
路において1(0)の値を有し、故障回路において0
(1)の値を有するならば、この値の組み合わせはD
(Dバー(図3においてDの上にバーが付された記号
で、Dの反転値を表すものとする))として表わされ
る。フリップフロップは、部分列Tsub において第1の
ベクトルを印加する前にすでに故障結果を有し得る。同
様に、フリップフロップは、部分列が与えられた後にも
故障結果を有し得る。
この部分列はある条件のもとでは、故障検出率を全く低
下させずに、テスト集合から削除することができる。不
活性部分列を与える前と与えた後でフリップフロップ上
の故障結果が同一(図3(a)参照)であるならば、こ
の部分列を問題なく削除することができる。しかしなが
ら、部分列を与える前と与えた後で故障結果が異なる
(図3(b)参照)こともある。この状況では、部分列
を削除する前に、さらなる解析が必要となる。
もたないが、部分列のシミュレーション後には、故障結
果を示すフリップフロップを考えてみよう。テスト集合
Tにおける残りのベクトルによって、故障結果を一次出
力に伝搬し得ないことが証明できる場合にのみ、部分列
の削除は可能である。
部分列について指定されたすべての条件を満たし、
(2)部分列内で検出された故障がテスト集合T内のど
こか他のところでも検出できるならば、削除することが
できる。
とおりである。
シミュレーションパスは、故障のない機械を仮定して不
活性および再帰部分列を識別し、収集するために用いら
れる。第2の故障シミュレーションパスは、故障のある
機械を解析することにより、不活性および再帰部分列が
部分列を削除するために指定された条件すべてを満足す
るかどうかを判断する。このツーパスアルゴリズムは、
第2のパスにおいてのみ故障状態を記録すればよいた
め、メモリを大幅に節約する。故障状態は、各不活性あ
るいは再帰部分列の境界においてのみ記録される。
について考えてみる。部分列の論理シミュレーションに
おいてベクトルViをシミュレートする際の、機械の初
期状態をSiとする。図4に示された場合について検討
すると、部分列Tsub は、初期状態Si(1011)が
部分列Tsub の最終状態Sj+1 (0110)と異なるた
め、再帰部分列ではない。状態緩和によって、状態Si
の第1のフリップフロップ値および状態Sjの第2のフ
リップフロップ値を緩和することが可能となると仮定す
る(すなわち、これらのフリップフロップの緩和は、こ
れらのフリップフロップ値が、対応する次の状態Si+1
あるいはSj+1 にそれぞれ到達するために必要ないこと
を示す)。ここで、緩和状態Sj Rは、状態Siにおけ
る第1のフリップフロップの非緩和値が1であるため、
緩和状態Si Rを完全にカバーする。部分列Tsub をテ
スト集合から削除するとしても、回路の現在の状態がS
jではなくSiである場合には、ベクトルVj+1 を与え
ることにより、状態Sj+1に到達することは依然として
可能である。部分列Tsub 内に故障が検出されなけれ
ば、部分列Tsub は単に緩和不活性部分列であり、境界
条件が以下の具体例に述べられているとおりであれば、
その削除が故障検出率に影響を及ぼすことはない。故障
が部分列Tsub 内に検出されたとしても、この部分列内
に検出された故障がテストシーケンス中の他のベクトル
によっても検出できるのであれば、部分列Tsub を削除
することは依然として可能である。
シミュレーションパスを必要とする。第1のパスにおい
て、テスト集合によりトラバースされる無故障状態が緩
和される。このパスではさらに、緩和された不活性およ
び再帰部分列を識別する。第2の故障シミュレーション
パスにおいて、緩和された不活性あるいは再帰部分列を
それぞれ削除するための境界条件が調べられる。
ことがあり得る。また、緩和された不活性部分列が故障
をマスキングすることもあり得る。ここで、緩和された
不活性部分列は、対応する不活性部分列が故障をマスキ
ングしない場合であっても、故障をマスキングし得る。
ベクトルVi…Vjからなる部分列Tsub を用いて、図
5(a)および5(b)に示された例について考えてみ
る。図5(a)の状態SiとSjについて、いくつかの
関連するフリップフロップ値が示されている。故障回路
におけるこれらのフリップフロップ値を、図5(b)に
示す。フリップフロップ値は、正常な回路において1
(0)の値とし、故障回路では0(1)の値をとるとす
ると、D(Dバー)で表わされる。故障シミュレーショ
ン中に、状態Siにおける2つのフリップフロップが、
それぞれ、DおよびDバーの故障結果を有すると仮定し
よう。ANDゲートは、ANDゲートの入力における故
障結果が互いをマスキングするため、故障結果を示さな
い。しかしながら、部分列Tsub のシミュレーションの
過程において、両方のフリップフロップが同一の故障結
果Dバーを有し、結果としてANDゲートを越えて故障
結果が伝搬する可能性がある。この場合には、故障結果
は、ANDゲートによりマスキングされず、ANDゲー
トの出力側にとりだされた故障結果はさらに、一次出力
に伝搬する。
る。状態Sjの状態緩和により、図5(a)に示す状態
Sj Rが得られると仮定する。部分列Tsub の削除は、
ベクトルVi…Vj-1 が削除されることを意味する。し
たがって、ベクトルVjには、部分列の削除後、現在の
状態Siが加えられることになる(図5(b))。変更
されたシーケンスにおいて、故障マスキングにより、A
NDゲートの出力に故障結果が現れることはない。まれ
にではあるが、テストシーケンス圧縮後の故障検出率
が、故障マスキングにより、若干低くなることがある。
的な例について説明する。15個のテストベクトルから
なるテスト集合を仮定する(パートA)。出力状態の欄
は、各テストベクトルが加えられた後の、無故障機械の
一次出力を反映している。テストベクトル3〜12は再
帰部分列を表わす。これはテストベクトル3と12の両
方を加えた後の、機械の出力状態が同一であるからであ
る。テストベクトル2〜11もやはり再帰部分列であ
る。
とである。緩和状態の欄は、緩和の結果を示している。
次のステップは、緩和再帰部分列を識別することによ
り、削除候補の部分列を識別することである。このよう
な部分列の1つはテストベクトル2〜14からなる。緩
和によって、より大きい部分列候補を識別することが可
能となる。
かを判断するために部分列の境界条件を調べなければな
らない。第1に、パートBに示すように、テストベクト
ル2〜13をテスト集合から削除する。次に、識別され
たすべての故障(この例では5個)について故障シミュ
レーションを実行し、出力状態を緩和させる。テストベ
クトル14を加えることで、各故障について故障のない
機械と同じ出力状態が生成されるのであれば(緩和状態
の欄)、境界条件が満たされ、部分列候補をテストベク
トル集合から永久的に削除できる。しかしながら、パー
トBに示すように、故障2を有するテストベクトル14
を与えると、異なる出力状態(00)が生成される。
意味するものではないが、さらなる解析が必要とされ
る。部分列は、故障2がテストベクトルの別の部分列に
より見出だされるか、あるいは、故障2が集合内のどの
テストベクトルによっても見出だされなければ、まだ削
除可能である。ここで、テストベクトル集合のほとんど
すべてが、機械における故障すべてを検出することはな
い。これらの条件のどちらも満たさなければ、部分列候
補は削除できず、次の部分列候補が解析される。
ベクトル2〜13からなる。パートCは、テストベクト
ル2〜12を削除した後の故障シミュレーションの結果
を示している。ここで、故障シミュレーション後、テス
トベクトル14を加えることで、故障のない機械と同じ
出力状態が生成される(緩和状態の欄)。したがって、
境界条件が満たされ、部分列候補をテストベクトル集合
から永久的に削除することが可能となる。
べ終えるまで続けられる。
現された。ISCAS89順序ベンチマーク回路といく
つかの合成回路が、アルゴリズムの有効性を評価するた
めに用いられた。256MビットのRAMを備えたSu
n UltraSPARC上で、すべての実験が行なわ
れた。2個のテストジェネレータ(HITECとSTR
ATEGATE)によって生成されたテスト集合は、静
的に圧縮された。HITECは、順序回路のための決定
論的テストジェネレータであり、STRATEGATE
は、テストベクトルを生成するために発生論的アルゴリ
ズムを用いている。
ベクトルについての圧縮結果を図7と図8にそれぞれ示
す。回路の故障の総数は、図7のみに示されている。ベ
クトルと故障検出率の元の数が各図に示されており、上
述したHsiaoの論文に述べられた従来の手法と、本
発明とによる圧縮結果を合わせて示す。圧縮結果には、
圧縮後の故障検出率と、元のテスト集合サイズに対する
縮小率(%)と、実行時間(秒)が含まれている。圧縮
法は、テスト集合すべてについて、不活性部分列削除と
それに続く再帰部分列削除を組み合わせた手法を用い
た。緩和再帰部分列削除アルゴリズムは、非緩和削除ア
ルゴリズムより実行時間が若干長い。これは、サポート
集合を計算するためと、削除するのに適したものとなっ
たより多くの部分列候補について検討するために余分な
時間が必要となるからである。
きさが著しく縮小することが観察された。例えば、回路
s1488とs1494において、HITECテストベ
クトルの縮小率はそれぞれ、7.95%から34.2
%、8.67%から42.7%に増加した。s3593
2については、縮小率は4.44%から40.0%に増
加した。同様な傾向が他の多くの回路についても観察さ
れる。回路s1423とs5378では、HITECテ
スト集合の元々のベクトル数が少なく、故障検出率も低
い。そこで、これらについては考察しなかった。
いても大幅な縮小が達成される。例えば、s1423テ
ストベクトルにおいて、テスト集合は、すでに38.1
%の縮小を達成していた従来の技術よりさらに23%縮
小し、故障検出率が低下することはなかった。例えば、
回路s298とs344では、緩和再帰部分列削除によ
り、テスト集合の縮小率は、これらの2つの回路につい
てそれぞれ、0%から7.7%、8.1%から25.6
%に増加した。
テスト集合に比べて故障検出率が若干低くなるものもい
くつかあった。これは、故障マスキングの現象によるも
のである。先に引用したHsiaoに記載されているオ
リジナル部分列削除圧縮技術にも、この問題は存在し
た。しかし、故障検出率の低下はごくわずかである。
合圧縮フレームワークについて説明してきた。従来公知
の技術に比べてテスト集合の大きさの大幅な縮小が短い
実行時間で達成される。故障検出率に悪影響を与えず
に、完全に特定されたそれぞれ異なる状態に始まって終
わる部分列を削除するための十分な条件がわかった。試
行及び再試行に基づく静的圧縮法に比べて、本圧縮技術
においては、2つの故障シミュレーションパスしか必要
とされない。その結果、大規模なテスト集合と回路を、
この技術によって迅速に処理できる。さらに、状態緩和
技術は、最近提案されている多くの静的圧縮技術を大幅
に向上させるためにも用いることができる一般的なアプ
ローチである。
て説明したが、本発明の趣旨および範囲を逸脱すること
なく種々の変形が可能であることはいうまでもない。
めに既存の部分列削除技術では圧縮できなかったテスト
集合を圧縮することができる。また、テスト集合におけ
るサイクルのサイズを状態緩和により著しく増大させる
ことができ、より大きいサイクルを削除することで、よ
り良好な圧縮が達成される。
ーションパスを必要とする試行・再試行法と比較して、
わずか2つの故障シミュレーションパスしか必要としな
い。現在知られている部分列削除方法と比較して、短い
実行時間で、極めて高度な圧縮が達成される。
状態の数を示す図である。
示す図である。
合(図3(a))、及び部分列に入出力される故障結果
が異なる場合(図3(b))を示す図である。
除後の故障マスキング(図5(b))を示す図である。
す図である。
す図である。
縮結果を示す図である。
Claims (6)
- 【請求項1】 テストベクトル集合からテストベクトル
の部分列を削除することにより、有限状態を有する論理
回路のテスト集合圧縮を行なう方法において、 (a)論理回路有限状態を緩和するステップと、 (b)削除のためにテストベクトルの部分列候補を識別
するステップと、 (c)上記テストベクトルの部分列候補を一時的に削除
するステップと、 (d)残りのテストベクトルに対して故障シミュレーシ
ョンを実行するステップと、 (e)故障シミュレーション結果を一組の削除基準に照
らして検査するステップと、 (f)上記一組の削除基準が満たされた場合に、上記部
分列候補を永久に削除するステップと、 (g)上記一組の削除基準が満たされない場合に、上記
部分列候補を置き換えるステップと、 (h)テストベクトルのすべての部分列候補が識別され
るまで、ステップ(a)〜(g)を繰り返すステップと
を有する圧縮方法。 - 【請求項2】 上記論理回路有限状態は、サポート集合
をとり出すことにより緩和されることを特徴とする請求
項1記載の圧縮方法。 - 【請求項3】 上記サポート集合は、逆順にとり出され
ることを特徴とする請求項2記載の圧縮方法。 - 【請求項4】 上記サポート集合は、正順にとり出され
ることを特徴とする請求項2記載の圧縮方法。 - 【請求項5】 上記サポート集合は、繰り返してとり出
されることを特徴とする請求項2記載の圧縮方法。 - 【請求項6】 上記一組の削除基準は、 (a)上記部分列候補が、不活性であること、 (b)上記部分列候補により検出される故障が、上記テ
ストベクトル集合内のどこか別の箇所で検出可能である
こと、 (c)故障結果が、上記テストベクトル集合におけるど
のテストベクトルによっても検出できない故障の結果で
あること、の少なくとも一つからなることを特徴とする
請求項1記載の圧縮方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/001543 | 1997-12-31 | ||
| US09/001,543 US6145106A (en) | 1997-12-31 | 1997-12-31 | State relaxation based subsequence removal method for fast static compaction in sequential circuits |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11223664A true JPH11223664A (ja) | 1999-08-17 |
| JP3365325B2 JP3365325B2 (ja) | 2003-01-08 |
Family
ID=21696591
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP32021898A Expired - Fee Related JP3365325B2 (ja) | 1997-12-31 | 1998-11-11 | 順序回路のテスト集合圧縮方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6145106A (ja) |
| JP (1) | JP3365325B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI403746B (zh) * | 2008-10-22 | 2013-08-01 | 國立臺灣大學 | 測試圖案最佳化的方法 |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6314540B1 (en) * | 1999-04-12 | 2001-11-06 | International Business Machines Corporation | Partitioned pseudo-random logic test for improved manufacturability of semiconductor chips |
| US6532559B1 (en) * | 2000-01-26 | 2003-03-11 | Motorola, Inc. | Method and apparatus for testing a circuit |
| US6546513B1 (en) * | 2000-06-02 | 2003-04-08 | Advanced Micro Devices | Data processing device test apparatus and method therefor |
| US6820243B1 (en) * | 2001-09-19 | 2004-11-16 | Nassda Corporation | Hybrid system of static analysis and dynamic simulation for circuit design |
-
1997
- 1997-12-31 US US09/001,543 patent/US6145106A/en not_active Expired - Lifetime
-
1998
- 1998-11-11 JP JP32021898A patent/JP3365325B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI403746B (zh) * | 2008-10-22 | 2013-08-01 | 國立臺灣大學 | 測試圖案最佳化的方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3365325B2 (ja) | 2003-01-08 |
| US6145106A (en) | 2000-11-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3552093B2 (ja) | ベクトル・セット生成方法、試験システム及び試験プログラムを格納する記録媒体 | |
| Hsu et al. | A new path-oriented effect-cause methodology to diagnose delay failures | |
| JPH09145800A (ja) | テストパターン生成方式 | |
| Hsiao et al. | State relaxation based subsequence removal for fast static compaction in sequential circuits | |
| US6836867B2 (en) | Method of generating a pattern for testing a logic circuit and apparatus for doing the same | |
| US8359565B2 (en) | Method and apparatus for generating test patterns for use in at-speed testing | |
| KR100966010B1 (ko) | 하나 이상의 중복 테스트 제거 및 하나 이상의 비효율적테스트 재배열 방법 | |
| JPH10283394A (ja) | 故障シミュレーション方法 | |
| JP3365325B2 (ja) | 順序回路のテスト集合圧縮方法 | |
| Venkataraman et al. | Dynamic diagnosis of sequential circuits based on stuck-at faults | |
| JP2701753B2 (ja) | Lsiの故障箇所推定方法 | |
| US6212655B1 (en) | IDDQ test solution for large asics | |
| Kajihara et al. | Efficient techniques for multiple fault test generation | |
| El-Maleh et al. | A fast sequential learning technique for real circuits with application to enhancing ATPG performance | |
| Allen et al. | DORA: CAD interface to automatic diagnostics | |
| JP3312605B2 (ja) | 逆論理展開システム及び逆論理展開方法並びにプログラムを記録した機械読み取り可能な記録媒体 | |
| Pomeranz | Multicycle Tests for Functionally Possible Two-Cycle Gate-Exhaustive Faults | |
| Seshadri et al. | Accelerating diagnostic fault simulation using z-diagnosis and concurrent equivalence identification | |
| JPH01156680A (ja) | 論理回路の故障診断方法 | |
| Konemann | A pattern skipping method for weighted random pattern testing | |
| JP3547559B2 (ja) | テストパターン圧縮方法 | |
| Higami et al. | Diagnosis of Double Faults Consisting of a Stuck-at Fault and a Transition Fault | |
| JP2672893B2 (ja) | 故障シミュレーション処理装置 | |
| Wang et al. | Diagnosis of delay faults due to resistive bridges, delay variations and defects | |
| JP3126833B2 (ja) | 集積回路の故障診断装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20021001 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081101 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081101 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091101 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091101 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101101 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111101 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111101 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121101 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131101 Year of fee payment: 11 |
|
| LAPS | Cancellation because of no payment of annual fees |