許容故障の検出回避を指向したテストベクトル選択に関する考察 A Study

許容故障の検出回避を指向したテストベクトル選択に関する考察
A Study on Test Vector Selection for Reducing Detected Acceptable Faults
0720076 櫻田 正明 Masaaki SAKURADA
指導教員 井上 智生
【背景】近年,LSI の高性能化に伴い,LSI の用途は幅広
テストベクトルの選択を行う方法として,テストベク
くなっており,わずかな誤りならばユーザに重大な影響 トルに対し複数の並び替えを行い,並び順に故障シミュ
を与えないシステムも存在する.このような大きな問題 レーションを行い,新たな非許容故障を検出しないもの
とならない LSI の故障を許容故障という.許容故障を考 をテスト集合から取り除くことで実現した.テストベク
慮することで,コストの削減や歩留まりの向上が可能と トルには,生成された段階で 0 か 1 かの割り当てを行っ
なる [1].LSI をテストする際,許容故障をできるだけ ていないビットが存在する.そのような不定値をドント
検出しないようにすることで,不良と見なされる LSI を ケアといい,X で表す.並び替え方として,テストベク
削減することができ,歩留まりの向上が期待できる.本 トルに含まれるドントケア数の昇順と降順,1 つのテス
研究では与えられたテストベクトル集合に対して,許容 トベクトルによって検出される許容故障数の小さい順に
故障をできるだけ検出しないテストベクトルを選択する 並び替えた検出許容故障数昇順,1 つのテストベクトル
方法を考察する. によって検出される非許容故障数の大きい順に並び替え
【許容故障の定義】単一縮退故障によって出力の値が変 た検出非許容故障数降順,の計 4 通りの並べ方を用いた.
化する場合,正常値と故障時の出力の差を誤りの大きさ 【実験結果】実験結果の一部を表 2 に示す.表 2 ではドン
といい,その故障の誤りの大きさの最大値を誤りの深刻 トケア数の降順と昇順で並べ替え,故障シミュレーショ
さという.故障 f における誤りの深刻さ Es (f ) が閾値 T ンを実行し冗長なテストベクトル (TV) を除去した後,ド
より小さければ,その故障 f は T のもとで許容である. ントケアを 3 通りで埋めて,検出許容故障数昇順と検出
【閾値テスト生成】閾値テスト生成では,閾値 T が与え 非許容故障数降順で並べ替え,故障シミュレーションを
られたときに故障が許容故障か非許容故障であるかを判 行い冗長なテストベクトルを除去したものを比較した.
別し,非許容故障に対してテストベクトルを生成する. 表より,ドントケア数の降順と昇順の結果を比較する
非許容故障に対して生成されたテストベクトルを閾値テ と,ドントケア数降順のほうが許容故障を検出していな
ストベクトルという.一般的には回路内すべての非許容 い.これはテストベクトルに含まれるドントケア数の多
故障に対して閾値テストベクトルを生成する.閾値テス いもののほうが故障を検出しにくいため,多くの故障を
トベクトルは対象とする非許容故障以外に,同時に複数 検出するテストベクトルが後半に圧縮 (新たに非許容故
の許容故障を検出する可能性がある.一般的なテスト実 障を検出しない冗長テストベクトルの除去) により取り
行においてできるだけ非許容故障だけを含む LSI を選別 除かれることで,許容故障も検出されなくなり,ドント
するためには,生成した閾値テストベクトル集合で検出 ケアを埋めた後も,それらの許容故障が検出されなかっ
される許容故障をできるだけ減らすことが必要となる. たためと考えられる.つぎに検出許容故障数昇順と検出
【テストベクトルの選択】ある回路に対して,故障集合 非許容故障数降順とを比較すると,検出許容故障数昇順
とそれらを検出するテストベクトル集合が与えられてい のほうが許容故障を検出していない.また,検出非許容
るとする.このとき,故障の許容性は時間的に判定困難 数降順はテストベクトル数の削減に効果があり,検出さ
な場合を除いて判定されているとする.本研究では,こ れる故障数の減少にはつながるものの,検出許容故障数
のような前提で許容故障をできるだけ検出しないテスト の減少は検出許容故障数昇順に比べると小さい.
ベクトルの集合を求めるために,選択の仕方を変え,考 【まとめ】実験結果より,並べ替えによるテストベクト
察を行った.
ル選択の影響がわかった.検出される許容故障数を減ら
テストベクトル選択の例として表 1 のようなテストベ すには,ドントケア数昇順と検出許容故障数昇順による
クトルの集合を考える.全ての非許容故障を検出するテ 並べ方が効果的だと分かった.また,テストベクトル数
ストベクトルを考えた場合,t1 と t2 のテストベクトル は検出許容故障数に大きく影響を与えないということが
の組み合わせではすべての許容故障を検出してしまう. わかった.
一方,t3,t4,t5 の場合,検出される許容故障数は,t1, 参考文献
[1] Z. Jiang and S. K. Gupta, ”An ATPG for Threshold Testing:
t2 に比べ 1 つ少なくなる.このようにテストベクトルの
Obtaining Acceptable Yield in Future Processes,” Proc.ITC,
pp.824-833,2002.
組合せによって,検出される許容故障数が異なるため,
表
2:
テストベクトルの並べ方と非検出許容故障数 (回路
選択の仕方が重要となる.
c880,閾値 8,閾値テスト生成)
表 1: テストベクトル集合 T 1
X
ドントケアを埋めた後の TV の並べ方
テストベクトル
t1
t2
t3
t4
t5
非許容故障
a
b
c
○
○
○
○
○
○
○
d
○
○
○:検出 -:非検出
許容故障
e
f
○
○
○
○
○
-
g
○
○
○
X を含む
TV の
並べ方
X 数降順
X 数昇順
の
埋
め
方
rand
all0
all1
rand
all0
all1
検出許容故
障数昇順
TV 数
uda
87
37
161
55
122
163
91
39
148
20
110
106
検出非許容
故障数降順
TV 数
uda
75
11
147
44
112
161
65
7
131
32
101
61
変更なし
TV 数
90
226
175
93
142
114
rand:乱数 uda:非検出許容故障数
uda
0
48
154
4
26
52