1
BASTアーキテクチャにおけるランダ
ムパターンレジスタント故障ドントケア
抽出を用いた擬似ランダムパターンの
ビット反転数削減法に関する研究
日本大学院 生産工学研究科 数理情報工学専攻 万 玲玲 2009年2月14日 日本大学大学院生産工学研究科 数理情報工学専攻 修士論文発表会2
概要
背景
BAST アーキテクチャ
目的と提案手法
ハンガリアンアルゴリズム
ランダムパターンレジスタント故障検出用ドントケ
ア抽出法
実験結果
まとめ
3
背景
テストデータ圧縮技術の要求が一気に高まる LSIの回路規模が増大
検出しなくてはならない故障数も増大
ゲート数・内部信号線数の増大
テストパターンの自動化を用いてテストパターン
生成
故障検出効率が約100%
テストパターン数が増大
4
テストデータ圧縮技術
EDT(Embedded Deterministic)
XD-BIST(X-Tolerant Deterministic BIST)
Refs.[2,3,14]
BAST(BIST Aided-Scan)
BAST(BIST Aided-Scan Test)
[2] J. Rajski etal, A. Hertwig, N. Tamarapalli, G. Mrugalski, G. Eide, and J. Qian, “Embedded Deterministic Test for Low Test Manufacturing Test,” in Proc. ITC, pp. 301-310, 2002.
[3] P. Wohl, etal, "X-tolerant compression and application of Scan-ATPG Patterns in a BIST Architecture,” in Proc. ITC, pp. 727-736, 2003.
[14] T. Hiraide, etal, "BIST-aided Scan Test-A New Method for Test Cost Reduction,” in Proc. VTS, pp. 359-364, 2003.
55
BAST アーキテクチャ
P
R
P
G
反転ブ
ロ
ッ
ク
X
- マ
ス
ク
ブ
ロ
ッ
ク
M
I
S
R
デコーダブロック
ATE Interface channelScan chain address
決定的パターン X 0 X X X X X X X X X 0 X 0 X X 1 X X X X X X 1 0 1 1 0 BAST code 1: 11 00 2: 00 3: 00 4: 00 5: 01 10 00 6 :00 ATEの中に各擬似 ランダムパターンの ビット反転とビットマ スキング位置を記 憶するコード 11 00 1 1 set Reset 0 1 1 1 1 1 1 1 1 00 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 00 01 10 11 0 1 1 0
6
BAST パターン
擬似ランダムパターン 決定的パターン1
1
0
0
1
1
X
1
X
X
0
0
X
0
1
0
care bits don’t-care bits
BAST コード=ビット反転情報 + スキャンシフト情報
(反転数∝ BASTコード量)
BASTパターン
BAST パターン
pattern 0 pattern 1 pattern 2 ・・・ pattern m-1 決定的パターン pattern 0 pattern 1 pattern 2 ・・・ pattern m-1 擬似ランダム パターンBAST
提案手法
pattern 0 pattern 1 pattern 2 ・・・ pattern m-1 pattern 0 pattern 1 pattern 2 ・・・ pattern m-1 決定的パターン 擬似ランダム パターン ビット反転数を削減するため,擬似ランダムパターンと決定的パ ターンのヒューリスティックマッピングアルゴリズムはすでに文献 [17]で提案されている提案手法
ランダムパターンレジスタント故障検出用
のドントケア抽出法
(ドントケア数を増やす)
マッピング法
(厳密化を求めるハンガリアンアルゴリズム)
+
反転数を削減する
テストデータ量とテスト実行時間を削減する
高い故障検出率を維持する
9 0 50 100 150 200 250 300 1 121 241 361 481 601 721 0 20 40 60 80 100 120 系列2 系列1 bit-flips X rate 回路全体のビット反転数を支配する ドントケア占有率が低い ハンガリアンマッピングアルゴリズムの結果
各決定的パターン中のドントケア率
bit-flips X rate10 0 50 100 150 200 250 300 1 121 241 361 481 601 721 0 20 40 60 80 100 120 系列2 系列1 bit-flips X rate ハンガリアンマッピングアルゴリズムの結果 各決定的パターンにおける検出対象故障数を均一化する 不必要の信号線の値をドントケアにする ビット反転数を減らすことができる? bit-flips X rate
各決定的パターン中のドントケア率
11
提案手法
決定的パターン集合 故障シミュレーションT1:
T2:
T3:
T4:
X
1
1
1
0
1
1
1
1
0
0
X
1
0
X
1
1
0
1
X
X
1
0
0
例 検出できる故障リストF1:
F2:
F3:
F4:
f1
f2
f3
f4
f2
f6
f4
f5
f7
f8
f7
f7
12
提案手法
F1:f1 f2 f7 F2:f2 f6 f8 F3:f3 f4 f7 F4:f4 f5 f7 f1 f6 f8 f3 f5 ランダムパターンにより 検出できる故障? 決定的パターンにより 検出できる故障 検出故障リスト f2 f7 f4 N: 検出回数 N>=2 N=113 F1:f1 f2 f7 F2:f2 f6 f8 F3:f3 f4 f7 F4:f4 f5 f7 f1 f6 f8 f3 f5 ランダムパターンにより 検出できる故障? 決定的パターンにより 検出できる故障 検出故障リスト N: 検出回数 N>=2 f2 f7 f4 ランダムパターンレジスタント故障: テストパターン集合Tにおいて,検出回数がN回以下の故障 定義
ランダムパターンレジスタント故障
N=2 f1 f6 f8 f3 f5 f2 f414 N: Number of detections 検出故障数が少ないため,ドントケアビット数が増えるNが小さい時
提案手法
F1:f1 f2 f7 F2:f2 f6 f8 F3:f3 f4 f7 F4:f4 f5 f7 f1 f6 f8 f3 f5 N<=2 f2 f7 f4 N=2 f1 f6 f8 f3 f5 f2 f4 決定的パターンにより 検出できる故障 検出故障リスト ランダムパターンにより 検出できる故障?f1 f2 f6 f7 f8 f3 f4 f5 T1:111000 T2:111111 T3:100110 T4:010110 T1: 1 00 T2: 11111 T3:100110 T4:01 110 f1 f2 f6 f7 f8 f3 f4 f5
ドントケア抽出
全故障を検出できる 決定的パターン集合 検出故障リスト 全故障を検出できる決定的 パターン集合ドントケア抽出後 検出故障リスト X XX X X ドントケア抽出 故障検出率は保証できるが,ドントケアの分布が偏っている 全故障を検出対象にするドントケア抽出F1: f1 f2 f7 F2: f2 f6 f8 F3: f3 f4 f7 F4: f4 f5 f7 T1:X1XX00 T2:X11111 T3:100110 T4:01X110 T1:X1XX T2:X11111 T3: 1 T4:01X110 f1 f2 f6 f8f5 X X X
ランダムパターンレジスタント故障
検出ドントケア抽出
X XX X 全故障を検出できる 決定的パターン集合 ランダムパターンレジスタント故障 を検出できる決定的パターン集合 検出故障リスト ランダムパターンレジスタント故障リスト (N<=2) 検出故障数の均一化により,ドントケアの分布が均一化 N<=2のランダムパターンレジスタント故障を検出対象にするドントケア抽出ランダムパターンレジスタント故障検出用のドントケア抽出法: ランダムパターンレジスタント故障のみの検出を保証する 定義 テストパターン中のドントケア数を増やす ビット反転数の削減
ランダムパターンレジスタント故障
検出ドントケア抽出法
T1:X1XX T2:X11111 T3: 1 T4:01X110 f1 f2 f6 f8 f3 f4 f5 X X X X XX X ランダムパターンレジスタント故障 を検出できる決定的パターン集合 ランダムパターン レジスタント故障リスト (N<=2)最適パラメータN
F1:f1 f2 f7 F2:f2 f6 f8 F3:f3 f4 f7 F4:f4 f5 f7 f1 f6 f8 f3 f5 ランダムパターンにより 検出できる故障 ? 決定的パターンにより 検出できる故障 検出故障リスト f2 f7 f4 N: 検出回数 N 最適のパラメータNを探し出す ビット反転数を最小化する テスト実行時間を最小化する19 STEP.0 決定的パターン集合TDにランダムパターンレジスタント 故障ドントケア抽出を行い,決定的パターン集合TD’を生成する
T1:
T2:
T3:
T4:
1
0
0
1
1
1
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
1
0
決定的パターン集合TD0
ランダムパターン レジスタント故障検 出用ドントケア抽出T1:
T2:
T3:
T4:
X
0
X
X
X
0
0
X
X
X
1
X
1
X
X
X
1
X
X
X
0
X
X
0
TD’20
STEP.1 TB’を生成する
TR1:
TR2:
TR3:
TR4:
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0
擬似ランダムパターン集合 TR1
T1:
T2:
T3:
T4:
X
0
X
X
X
0
0
X
X
X
1
X
1
X
X
X
1
X
X
X
0
X
X
0
TD’ Mapping 0 1 0 1 #Bit-flips Fault Simulationf1 f2
f6 f8
f3
f5
検出できる故障 BASTパターン集合 TB’TR1:
TR2:
TR3:
TR4:
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0 0
21
STEP.2 未検出故障集合UFを生成する
f1
f3
f4
f2
f6
f5
f8
f7
全故障リストf1 f2
f6 f8
f3
f5
検出できる故障f4
f7
未検出故障集合 UF-
22
STEP 3. 未検出故障集合UFに対し,決定的
パターン集合TUを生成する
TUTU1:
TU2:
X
1
1
0
0
1
1
X
1
X 0
X
f4
f7
未検出故障集合UF テスト生成23
STEP 4. TBを生成する
(TUとTB’を再マッピングする)
BASTパターン TB’TR1:
TR2:
TR3:
TR4:
1
1
0
1
0
0
0
1
0
0
0
1
1
1
1
0
1
0
0
1
1
0
0 0
TUTU1:
TU2:
X
1
1
0
0
1
1
X
1
X 0
X
マッピング 0 1 #Bit-flips BASTパターン集合 TBTR1:
TR2:
TR3:
TR4:
1
1
0
1
0
0
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
1 0
24
実験結果
ITC’99 と ISCAS89’s ベンチマーク回路を用
いる
テストパターン生成ツール: TetraMAX
CPU:Pentium 4(3GH
Z)
Memory:2GB
開発言語:C言語
各回路のX率
Circuit #Flip Flop #ATPG patterns all_fault_tp_X_rate(%)
b14 275 793 75.82 b15 485 489 88.26 b20 522 856 77.84 b21 522 894 76.93 s13207 700 276 93.84 s15850 611 130 84.69 s38417 1664 133 83.52 s38584 1464 151 84.81
ビット反転数最小であるパラメータN
N=1,2,3,5,20から最適パラメータN=1 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 1 2 3 4 5 s38417 s38417 ビット反転数 5 20 故障検出回数Nビット反転数削減率: 7%~75%
実験結果(1):最小ビット反転数である時の最適
なパラメータ N=1
0 10000 20000 30000 40000 50000 1 2 3 4 5 6 7 8 Algorithm[17] Propose Method b14 b15 b20 b21 s13207 s15850 s38417 s35854 ビット反転数 回路 提案手法とアルゴリズム[17]を比べるCir CPU_Time b14 240.218 b15 285.421 b20 1005.781 b21 1095.875 s1320 7 203.328 s1585 0 40.343 s3841 7 262.14 s3593 2 11.968 s3858 4 240.703 0 200 400 600 800 1000 1200 b14 b20 s13207 s38417 s38584 CPU_Time CPU_Time
実験結果(1):最小ビット反転数である時の最適
なパラメータ N=1の時のCPUタイム
CPU タイム:11.968secs~1095.875secs0 5000 10000 15000 20000 25000 1 2 3 4 5 s38417 s38417 5 20 テスト実行時間 故障検出回数N N=1,2,3,5,20から最適パラメータN=1
テスト実行時間最小であるパラメータN
テスト実行時間削減率: 4%~43%
実験結果(2):最小テストアプリケーションタイム
である時の最適なパラメータ N=1
0 10000 20000 30000 40000 50000 60000 70000 80000 1 2 3 4 5 6 7 8 Algorithm[17] Propose Method b14 b15 b20 b21 s13207 s15850 s38417 s35854 テスト実行時間 回路 提案手法とアルゴリズム[17]を比べる31