ドントケア抽出を用いた縮退故障テストの 遷移故障検出率向上手法
日大生産工 ( 院 ) ○濱崎 和光 日大生産工 細川 利典
1. はじめに
近年, VLSI の大規模化に伴いそれに対するテスト生成時 間やそのテストコストが増大している [1] .その増大するテ ストコストを抑えるために効率のよいテストパターンの生 成や回路のテスト容易化設計が行われてきた.テスト容易 化設計の代表的なものとしては,回路中に存在するフリッ プフロップ(FF)に対しスキャンチェインを挿入すること によって,順序回路を組合せ回路とみなしテスト生成を実 行することができるフルスキャン設計がある.また, VLSI のテストにおいて縮退故障検出だけでは不十分だとされて おり,縮退故障の検出に加えて遷移故障 [2] や,ブリッジ故 障[3][4]の検出が重要となってきている.
縮退故障以外の故障モデルを検出するためのテスト生成 は縮退故障と比べて複雑である.また,それらの故障検出 により多くのテストパターンが必要となり,結果としてテ ストコストの増大につながってしまう.そこで,縮退故障 用に生成されたテストパターンを基に,そのテストパター ン集合内でできるだけ多くの他の故障モデルの検出を行う ことができれば,テストコストを増大させることなく縮退 故障以外の故障に対するテストも行えることが可能になる.
生成されたテストパターンに対し,縮退故障検出率を維 持しながらテストパターン中にドントケアを発生させるド ントケア抽出技術が提案されている[5].ドントケア抽出技 術を適用することで生成されたドントケアを含んだテスト パターンに対して,テストパターン数の削減[5][6]や単一縮 退故障以外の故障モデルの検出[5],消費電力の削減[7]など の新たな特性を持たせることが可能になると考えられる.
本論文では,フルスキャン設計された順序回路に対し,
縮退故障用テストパターンを用いてスキュードロード方式 [8][9]で遷移故障の検出を行う.
さらに縮退故障用テストパターンに対してドントケア抽 出を行い,抽出されたドントケアを再割り当てすることに より効率的に遷移故障検出率を改善する方法を提案する.
第2 章でドントケア抽出技術について説明し,第 3 章で スキュードロード方式による遷移故障検出技術について説 明する.第 4 章で遷移故障の検出を指向したドントケアの 再割り当て法を提案し,第 5 章で縮退故障用テストパター ンによる遷移故障検出率の評価を行い,第 6 章で結論と今 後の課題について述べる.
2. ドントケア抽出 2.1.ドントケア
ドントケアとは,テストパターンにおいて対象となる故 障を検出するときに必要のない論理値のことである.その 値は”0”もしくは”1”のどちらでもよい.ドントケアはテス トパターン中に”X”または ”x”と表記される.
2.2.ドントケア抽出問題の定式化
本論文では,与えられたテストパターンから,潜在的に 存在するドントケアを抽出する問題[3]を以下のように定 式化する.与えられたテストパターン集合 T に対して次の (1)~(3)のような特性を持ったドントケアを含むテストパ ターン集合 T’を導出する.
(1)T は T’を被覆する.
(2)T と T'の縮退故障検出率は等しい.
( 3 ) T' はできるだけ多くのドントケアを含む.
図 1 の回路に対してテストパターン集合T が与えられた とき,テストパターン集合 T’ はドントケア抽出問題の解の 1 つである.テストパターン t1 は,故障 a/0, b/0,そして c/1 を検出する.ここで s/v は信号線 s の v 縮退故障を意味 する. a/0 は t1 以外で検出することができないため, a/0 は 必須故障[10]である.しかしながら, c/1 はt3 でも検出可能 であるため, t1 で必ずしも検出される必要はない.そのた
めに, t1の入力cの値”0”はドントケアにすることができる.
同様にして t4 における外部入力a の値もドントケアにする ことができる.このようにして図 1 に示すテストパターン
集合 T’を求めることができる.
T T’
図1:テスト対象回路図とそのテストパターン集合
On Improving Transition Fault Coverage of Stuck-at Fault Tests Using Don't Care Identification Technique
a
b e d
c
f
g
a b c t1 1 1 0 t2 1 0 1 t3 0 1 0 t4 0 1 1
a b c
t1' 1 1 x
t2' 1 0 1
t3' 0 1 0
t4' x 1 1
3. 遷移故障検出
3.1.スキュードロード方式
遷移故障は 2 パターンで検出できる.第 1 パターンを初 期パターン,第 2 パターンを遷移パターンと呼ぶ.本論文 では遷移故障検出の方法としてスキュードロード方式を用 いている.2 パターンテストによる遷移故障の検出方法は スキュードロード方の他にブロードサイド方 [11] が存在す るが,今回は縮退故障用のテストパターン集合を用いて遷 移故障の向上を目指すため,スキュードロード方式を用い た.
スキュードロード方式は大きく分けて 2 つの動作からな るテスト方式である.まずシフト動作により初期パターン をスキャンフリップフロップ(SFF)に設定する.次に 1 ビッ トシフト動作を行って遷移パターンを発生させ,故障の影 響をキャプチャ動作で SFF に取り込んで検出する.図 2 は スキュードロード方式における信号線 a の立ち上がり遷移 故障の検出を行う例である.まずシフト動作によりスキャ ンチェインに 1 時刻目のテストパターンである初期パター ンを印加する.この場合ではスキャンインに(1,0,0)の順で 入力する.この状態で 1 ビットのみシフトを行う. 2 時刻 目には 1 ビットシフト後の値が各 SFF に印加されており,
スキャンインに近い SFF に印加される値を”1”とすると SFF の値は左からスキャンイン印加順に (0,0,1) と表すこと ができる.1 時刻目で信号線 a の値が ”0”になり,かつ 2 時 刻目に信号線 a の値が”1”に遷移すると仮定する.1 時刻 目で信号線 a の値が ”0” となり 2 時刻目で信号線 a の 0 縮退 故障が検出できれば,信号線 a の立ち上がり遷移故障が検 出できる.
0 0 1
1時刻目 2時刻目
スキャンイン
1 0 0
a
1ビット逆シフト
0割り当て 0縮退故障
検出
スキャンアウト
スキャンイン
スキャンアウト a 0 1/0
図 2:スキュードロード方式
3.2.2パターンテスト変換
通常,遷移故障は 1 パターンテストでなく 2 パターンテ ス ト で 検 出 さ れ る た め ATPG(Automatic Test Pattern
Generation) で縮退故障検出用に生成されたテストパターン
を 2 パターンテスト用に変換する必要がある.ATPG によ り生成された縮退故障検出用テストパターン集合を
T={t1,t2,t3,t4} とする.以下に 2 パターンテストを行うテス
トパターンに変換する例を示す.
例として,外部入力数が 3,スキャンチェイン長が 5 で あるフルスキャン設計された順序回路における縮退故障用 テストパターンを変換する.
ATPG より表 1 のようなテストパターンが生成された ものとする.左 3 ビット(p1~p3)が外部入力から入力さ れる値,右 5 ビット(s1~s5)がシフト動作で設定される 擬似外部入力( SFF) への入力値である.スキャンチェイン は ATPG より表1 のようなテストパターンが生成されたも
表2:スキュードロード 表 1 :縮退故障テスト 方式による 2 パターン パターン集合 T 1 テスト集合 T2
p1 p2 p3 s1 s2 s3 s4 s5 p1 p2 p3 s1 s2 s3 s4 s5
t1 0 X 0 1 1 X 0 1 t1'
X X XX X
X X
XX 1 X 0 1
t2 0 0 X 1 X 0 X X t1 0 X 0 1 1 X 0 1
t3 X 1 0 1 1 1 X 1 t2' 0 X X
t4 0 1 X 0 X 0 1 X t2 0 0 X 1 X 0 X X
t3' X X 1
t3 X 1 0 1 1 1 X 1
t4' 0 1 X
t4 0 1 X 0 X 0 1 X
X X
1 1
X0 X
X X
Xのとする.左 3 ビット( p1 ~ p3 )が外部入力から入力され る値,右 5 ビット(s1~ s5)がシフト動作で設定される擬 似外部入力(SFF)への入力値である.スキャンチェインは ( スキャンイン→ s1 → s2 → s3 → s4 → s5 →スキャンアウト ) の 順に接続されていると仮定する.
ここでt1~ t4 までのテストパターンをそれぞれ 1 ビット 逆シフトしたものを t1 ’~ t4 ’すると,スキュードロード 方式のテストパターンは表 2 のようになる.逆シフト[12]
とは,仮想的にスキャンチェイン方向(スキャンインから スキャンアウトへの方向)の反対方向に値をシフトするこ とである.t1’~t4’は初期テストパターンであり t1~t4 は遷移パターンである.
縮退故障に関しては各 t1~t4 で検出されることが ATPG によって保証されているので,SFF に関係ない t1’~t4’
の外部入力値は ”0” か ”1” のどちらでもよい.よってドント ケアとして表記することができる.
擬似外部入力の値はスキャンチェインを通り各 SFF へと 伝搬されていく.よって,スキュードロード方式を適用す るために 1 ビットのみ逆シフトを行う.ここで逆シフトを 行った後に発生するスキャンアウトに最も近い SFF の値 は”0”か”1”どちらでも良いため,この部分もドントケアと して表記することができる.
表 1 の与えられたテストパターン集合に対しドントケア 抽出を行い,その後 2 パターン変換を行い表 2 のようなテ ストパターン集合 T2 を生成する.
4. 遷移故障検出を指向したドントケア値の再割当 縮退故障を 1 回検出するテストパターンに対しドントケ ア抽出を行った表 2 のテストパターン集合 T2 を用いて,
遷移故障検出率が向上するようにドントケアの値の再割り 当てを行っていく.
ATPG より縮退故障を一回のみ検出するテストパターン 集合を生成し,それに対しドントケア抽出を行ったものを テストパターン集合 T とする.テストパターン集合 T を 2 パターンテスト用に変換させて,対象回路 C に対して遷移 故障シミュレーションを実行する.全ての信号線に対し,
その信号線の遷移故障が検出できたか否かを判定し,信号 線 l の遷移故障が未検出ならば何が原因で遷移故障を検出 できなかったのかを判別する.
2 時刻目に l の v 縮退故障を検出しているが, 1 時刻目に
l に値 v が割当てられていない場合を case1,1 時刻目に l
に値 v が割当てられているが,2 時刻目に l の v 縮退故障
を検出できていない場合を case2, 1 時刻目に l に値 v が割
当てられておらず,さらに 2 時刻目で l の v 縮退故障を検
出できていない場合を case3 とする.なお, 「検出できてい
ない場合」とは,対象信号線 l の v 縮退故障がテストパタ
ーン ti で未検出のことを言う.
各case に分類された未検出故障は,それぞれ対応した再 割当関数が実行され,検出可能ならそれに応じた X の値の 再割当を行う.最後に再割当が行われなかったドントケア に対して①ランダム,②全て 0,③全て 1,④ローパワー[7]
のいずれかの方法で割り当てる.本来,遷移故障には立上 り遷移故障と立下り遅延故障が存在するが,ここでは特に 区別をしていない.
図 3 はフルスキャン設計された回路の組合せ回路部分を 示す.この時のスキャンチェインは,スキャンイン→s1→
s2 →スキャンアウトの順に接続していると仮定する.信号 線 e の立ち上がり遷移故障を検出する場合,各 case におけ る再割り当ては以下のようになる.
case1 では 2 時刻目に信号線 e の 0 縮退故障がすでに検出
されており, 1 時刻目で信号線 e に ”0”を割り当て正当化す るために図 5 に示すように p4 のドントケアを”0”と再割り 当てすればよい. case2 では, 1 時刻目で信号線 e に ”0” が すでに割り当てられているが,2 時刻目で e の 0 縮退故障 が検出できていない状態である.このときは 2 時刻目に存 在するドントケアを用いて故障を励起,伝搬する.この例 では p2 と p4 のドントケアを”0”と ”1”に再割当てすること
s1
s2 po
ppo2
信号線e ppo1 p1
p2 p3 p4
図 3:X 再割り当ての回路例
s2:X p1:X p2:X p3:X p4:X⇒0 s1:1
1/0 0 1/0
1時刻目 2時刻目
s2の値
s2:1 p1:X p2:X p3:0 p4:1 s1:1 X⇒0
図 4:case1 に対する再割当て
s2:X p1:X p2:X p3:X p4:X s1:0
X/0⇒1/0 X⇒0
1時刻目 2時刻目
s2の値
s2:0 p1:X p2:X⇒0 p3:1 p4:X⇒1 s1:1
1/0 0
図 5:case2 に対する再割当て
s2:X p1:X p2:X p3:X p4:X⇒0 s1:1
1時刻目 2時刻目
s2の値
s2:1 p1:X p2:X⇒0 p3:1 p4:X⇒1 s1:1
X⇒0 X/0⇒1/0
X⇒0 1/0