Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
1
再構成可能テスタ・アーキテクチャおよび汎用テスタ言語とその応用に関する研究
学位申請者 佐藤 正幸
東京都立大学大学院工学研究科電気工学専攻
2
1971~2001 日立製作所・半導体テスティング全般に従事(特に高速テスト)
・メモリ・テスティング,ロジック・テスティング
・CPUテスティング,RFテスティング・不良解析技術開発,仮想テスタ開発
1999 セミコン・ジャパンSTS発表「メモリ仮想テスタ技術とテスタ・オンチップ」2000 上記発表でアワード賞を受賞
2002~2004 イノテック 半導体装置統括本部 主幹技師・TOB技術開発 論文:「低消費電力基板型再構成テスタの開発」
現在、イノテックでRETSETとして販売
2005~2007 ジェネシス・テクノロジー 技術開発室 室長・テスト・ソリューション開発:論文「テスタ構造表現言語の提案とテスタ選択ツールへの応用」
・ファブレス・テスティングの支援(WLCSPテスト手法)
2008~現在 太陽誘電 知的財産部 主任研究員・半導体ベンチマーク
・検査技術企画
・FPGA研究(MPLD)
その他 : JEITA 半導体ロードマップ委員会:STRJ WG2(テストWG)活動 1999~現在STRJ: Semiconductor Technology Roadmap Committee of Japan
プロフィール
3
論文の構成
1. 序論
2. テスタ構造
3. 低消費電力基板型構造可変テスタの開発
4. テスタ構造表現言語の提案とテスタ選択ツールへの応用
5. SRAMブロックを用いた論理回路の一構成手法
6. 結論
4
序論
半導体デバイスの高速化⇒ テスタ技術の発展
半導体デバイスの高集積化,高機能化⇒ テスト容易化設計
とテスト品質の確保
テスタ技術の有効活用が重要
5
テスタ技術の現状と課題
従来テスタ・デバック(テスタ実機評価) デバイス完成での実機評価 → 立ち上げ着手遅延
テスタ上での1対1デバック → デバックの時間制限
テスト・プログラムの作成の困難さ テスト・プログラム → テスタ言語の特異性
仮想テスタ技術の進展 → 個別ツール,高価
ファブレス化する半導体業界への対応 不特定多数…インターネットを使ったテスタ技術
実現性への技術的検討
6
半導体デバイスのテスト状況
テスタ本体
ソケット
コンタクト・リング
テスト・ボード
DUT(Device Under Test)テスト・プログラム
半導体デバイスには汎用テスタが使われるが
製品(デバイス:DUT)とテスト治具(テスト・ボード)とテスト・プログラム
が関わる。
7
開発量産フローとテスタ・デバック
テスト設計開始
テスト・プログラム完了
システム設計
回路設計
半導体ウェハ製作
ウェハ完成
製品デバック
特性認定
テスト・スペック作成
テスト・プログラム作成
ES認定
量産移管
完成品組立
P検:プローブ・テスト終検:完成品テストES: Engineering Sample
システム設計
回路設計
半導体ウェハ製作
ウェハ完成
製品デバック
特性認定
テスト・スペック作成
テスト・プログラム作成
ES認定
量産移管
完成品組立
機能設計仮想テスタ
P検
終検
テスト設計開始
テスト・プログラム完了
改善
コンカレント・テスティング
8
設計段階でのテスタ・デバック
設計テスティングの難しさと仮想テスタ技術
出展: 1999 STRJ報告
仮想テスタ技術
テスト・プログラムが正しいか分からない
困難の三つ巴
・
仮想テストの実施
プログラム記述のデファクト化 テストボード検証技術
製品が正しいか分からない
・テスタ・リソース(タイミング,パターン長等)の問題・テスタ制限(クランプ)・測定待ち時間・テスタ機種
::
・テスト・スペックが決まっていない・タイミング等の条件が複雑 ・・・・
テスト治具が正しいか分からない
・配線ミス・リレー・コントロール指定ミス・GNDノイズ・部品ミス・プローブ・カード(インダクタンス)・波形反射(インピーダンス不整合)
::
・・・コンピュータにテスタを表現して設計データと併せてテストを事前デバックする技術
9
仮想テスタの例(テラダイン社VX)
デバイスシミュレータ(EDA)
Test Program
IMAGETools
IMAGEExChange
DIB
InstrumentModels
DUT
ExChangeEvents
データの流れVXテスタシミュレータ
問題:①回路シミュレーション時間の
長大化②デバイス・モデルの未成熟③ツール間の通信制御の問題
出展:テラダイン社VXツール
着目:DUTのアナログ機能モデルを提唱し,テスタのリソースもモデル化(Instrument Model)して,テスト・ボード(DIB)を含めテスト・プログラムとリンクさせてシミュレーションさせる
野心的な提案.
10
最近の仮想テスタ(横河電機PreTestStation)
★ 実デバイス完成後に■ テストパタンFail時の解析支援■ デバイス歩留まりにおけるテストタイミングの問題の 明確化と切り分け
★ 実デバイス完成前に■ テストプログラム(テストパタンとメインプログラム) の事前デバック■ テストプログラムの評価 (テストプログラムの安定度確認と向上)
デバイス評価
テストプログラム 作成&検証
PreTestStation上 実テスタ上
IC設計
デバイス評価
設計検証
デバイス試作
テストプログラム 作成
テスト プログラム 検証
実機評価
実テスタ上
ES● 従来手法
● PreTestStation手法
テスタ使用枠の中で
テストデバック期間短縮 ≦1/2
SUN WS
ObjectCode
- Main Program- Test Pattern
C CompilerTestProgram
TDLConverter
WGL
SUMMIT
MOST
STIL
VCDATE
Model(TS6000H+)
DUT Model
PFB Model
Gate+SDF_MINGate+SDF_TYP
Gate+SDF_MAX
RTL
Delay
Delay
Verilog HDL Simulator
Tester OSTS
Virtualizer
VerilogDebug
Window
TesterDebug
Window
PTS DebuggerTSWB
Blade2000 class Memory 4GB min Solaris8 NC-Verilog / Verilog-XL
output
input
出展:横河電機(株)PreTeststation
着目:テスト・パターンとタイミング検証に限定してテスタを考慮した論理シミュレーション検証
従来方式のテスタの実機デバック時間を仮想テスタを使うことにより半減が実現した。
11
本研究の目的
仮想テスタ研究と応用 低消費電力基板型構造可変テスタの開発
メモリ仮想テスタの研究とその応用
テスタ構造表現言語の提案とテスタ選択ツールへの応用 インターネットを使ったテスト・サービスの展開
テスタオンチップの提案と基礎研究 SRAMブロックを用いた一論理構成手法
仮想テスタ技術
仮想テスト
テスト・ボード検証技術プログラム記述
のデファクト化
低消費電力基板型構造可変テスタ
テスタ構造表現言語の提案
12
各章の位置付け
関連技術
2章 テスタ構造
仮想テスタ研究と応用
3章 低消費電力基板型構造可変テスタの開発 4章 テスタ構造表現言語の提案と
テスタ選択ツールへの応用
テスタオンチップの提案と基礎研究
5章 SRAMブロックを用いた一論理構成手法
まとめ
6章 結論
13
2章 テスタの構造
14
汎用テスタは構造を持つ
それの構造がテスト・プログラムで処理される
PG :テスト・パターン発生器TG :タイミング発生器DPS :プログラマブル電源DC :DC計測器DR :ドライバCOMP:コンパレータ
DR/COMPを総称してP/E(ピン・エレクトニクス)と総称
COMP
Test Program
DRPG TG
CPU
DPS
DUT
OS
DC
COMP
汎用テスタの構造
15
関連技術 (1)
汎用テスタのテスタ・アーキテクチャ シェアード・リソース・テスタ
T. Kazamaki, “A 100MHz Tester – Challenge to New Horizon of Testing High Speed LSI,” Proc. International Test Conference,pp. 618-625, 1979.
パーピン・アーキテクチャ・テスタ S. Bisset, “The Development of a Tester-per-Pin VLSI Test
System Architecture,” Proc. International Test Conference, pp.151-157, 1983.
フル・パーピン・テスタ Agilent,http://we.home.agilent.com/cgi//bin/bvpub/agilent/Pr
oduct
16
テスタ・アーキテクチャ
シェアード・リソース・テスタ パーピン・アーキテクチャ・テスタ
テスタ・コントローラ
PGパターン発生器
テスタ本体 テスト・ヘッド
P/E 1ピン・エレクトロニクス
P/E 2
P/E 3
P/E 4
P/E 5
P/E n
TG1
TG2
TG3
TG4
TG5
TG n
フル・パーピン・アーキテクチャ
テスタ・コントローラ
TGタイミング発生器
PGパターン発生器
テスタ本体 テスト・ヘッド
分配器 P/E 1ピン・エレクトロニクス
P/E 2
P/E 3
P/E 4
P/E 5
P/E n
DU
T
DU
Tテスタ・コントローラ
P/E 1ピン・エレクトロニクス
P/E 2
P/E 3
P/E 4
P/E 5
P/E n
TG1
CONT1TG2
CONT2TG3
CONT3TG4
CONT4TG5
CONT5
TGnCONT n
テスト・ヘッドCONT:ピン・コントローラ
PG1
PG2
PG3
PG4
PG5
PGn
DU
T
17
テスタ・コントローラ
TGタイミング発生器
PGパターン発生器
テスタ本体 テスト・ヘッド
分配器 P/E 1 P/E: ピン・エレクトロニクス
P/E 2
P/E 3
P/E 4
P/E 5
P/E n
シェアード・リソース・テスタ
高価なタイミング発生器を複数持ち,それを分配器でシェーアしてタイミングを発生させるテスタ・アーキテクチャ
DU
T
18シェアード・リソース・テスタ
T3347(T3340)
シェアード・リソース・テスタの例
EWS
DUT
テスト・ヘッド
株式会社アドバンテスト
本体
19
テスタ・コントローラ
PGパターン発生器
テスタ本体 テスト・ヘッド
P/E 1
P/E 2
P/E 3
P/E 4
P/E 5
P/E n
TG1
TG2
TG3
TG4
パーピン・アーキテクチャ・テスタ
タイミング発生器を各ピンに持たせ,タイミングを発生させるテスタ・アーキテクチャ複雑なタイミングのデバイスのテストや設計評価を容易にさせた.
DU
T
TG n
TG5
20
パーピン・アーキテクチャ・テスタの例
本体
EWS
DUT
テスト・ヘッド
株式会社アドバンテスト
パーピン・アーキテクチャ・テスタT6672(T3681)
21
フル・パーピン・アーキテクチャ
テスタ・コントローラ
P/E 1
P/E 2
P/E 3
P/E 4
P/E 5
P/E n
TG1CONT1
TG2CONT2
TG3CONT3
TG4CONT4
TG5CONT5
TGnCONT n
テスト・ヘッドCONT:ピン・コントローラ
PG1
PG2
PG3
PG4
PG5
PGn
タイミング発生器以外にパターン発生器やコントローラも各ピンに持たせたアーキテクチャ高度なテスト実施や測定時間短縮が可能.
DU
T
22
テストプロセッサパーピン
技術
フル・パーピン・アーキテクチャHP93000(HP83000)
フル・パーピン・アーキテクチャの例
23
関連技術 (2)
DFTテスタ Teseda
TESEDA, http://www.teseda.com/press
Inovys INOVYS, http://www.inovys.com/advantage.html
24
• 早期製品出荷– ESの設計検証– DFTデバッグ
• DFTツールへの拡張不良解析
Teseda Validator500TMTeseda
DFTデバック専用テスタ
–
25
Inovys Structural Test Solutions
512-1536 pins
64-256 pins
Inovys
DFTテスト量産用
Standard Ocelot
DFTテスト・デバック用
Personal Ocelot
26
27
3章 低消費電力基板型構造可変テスタの開発
28
研究背景
テスト・コスト低減の重要性
ITRS半導体ロードマップでのテスト・コスト・クライシスの警鐘
ITRS: International Technology Roadmap for Semiconductors
仮想テスタの研究とその表現方法
ハードウェア・シミュレーションの利用 テスタ言語 → HDL記述 → FPGA搭載
TOB(Tester On Board)の提案構造可変テスタの提案
29
*Based on ‘97 SIA Roadmap Data & ‘99 ITRS Roadmap
SCAN/ATPGBIST
DFT,BIST等の手法
次世代DFT技術
製造コストとテスト・コストの関係
テスタ装置の低価格化が課題
目的
0.0000001
0.000001
0.00001
0.0001
0.001
0.01
0.1
1
1982 1988 1994 2000 2006 2012
セント/Tr
製造コスト
テストコスト
?
ロードマップからの要請??
テスト・コストクライシス
半導体デバイスの高機能化高速化の要求からテスタ装置が高価格化,複雑化が増大
30
PG :テスト・パターン発生器TG :タイミング発生器DPS :プログラマブル電源DC :DC計測器DR :ドライバCOMP:コンパレータ
DR/COMPを総称してP/E(ピン・エレクトニクス)と総称
COMP
Test Program
DR
PG TG
CPU
DPS
OS
DC
COMP
大型汎用テスタの基本構造
大型汎用テスタは構造を持つ
DUT
:それがテスト・プログラムで処理されている
31
メモリ・テスタ
オペ・コード(シーケンス制御命令)
コマンド
NOP
JZD
JMP
STOP
動作
PC+1→PC
JNIn(n=1~4) operandJFn=0 operand→PC
IDXn →IDXIDX →IDXWn
1 →JFnJFn=1 IDXWn=0 PC+1 →PC
0 →JFnIDXwn ≠0 operand→PCIDXWn →IDX
IDX-1 →IDXWn
JZD operandDFLG=0 operand→PC
1→DFLGDFLG≠0 PC+1 →PC
0→DFLG
JMP operandoperand→PC
STOP
JNI1
JNI2
JNI3
JNI4
オペ・
コード
(シー
ケンス
制御命
令)
YB演算
YB<YB
YB<YB+1^BX XB≠XMAX YB→YBXB=XMAX YB+1→YB
YB<YB-1^BX XB≠XMAX YB→YBXB=XMAX YB-1→YB
YB<YB+1+BX XB≠XMAX YB+1→YBXB=XMAX YB+2→YB
YB<YB-1-BX XB≠XMAX YB-1→YB
XB=XMAX YB-2→YB
動作
Non Operation
YB<0 0→YBYB<YH YH→YB
YB<YB+1 YB+1→YB
YB<YB-1 YB-1→YB
Yアドレス演算命令(ベース)
XB演算
XB<XB
動作
Non Operation
XB<0 0→XB
XB<XH XH→XB
XB<XB+1 XB+1→XBXB<XB-1 XB-1→XB
Xアドレス演算命令(ベース)
XB演
算YB演算
XC演算
XC<XC Non Operation
XC<XB
XC<0
XC<XC+1
XC<XB+1
XC<XC-1XC<XB-1
XB→XC
0→XC
XC+1→XC
XB+1→XC
XC-1→XCXB-1→XC
動作
Xアドレス演算命令(カレント)
XC演算
Yアドレス演算命令(カレント)
YC演算
YC<YC
YC<YB
YC<0
YC<YC+1YC<YB+1
YC<YC-1
YC<YB-1
YC<YC+1+BX
YC<YB+1+BX
YC<YC-1-BX
YC<YB-1-BX
YC<YB+1+CY
YC<YC+1+CY
YC<YB-1-CY
YC<YC-1-CY
YB→YC
0→YC
YC+1→YCYB+1→YC
YC-1→YC
YB-1→YC
XB≠XMAX YC+1→YC , XB=XMAX YC+2→YC
XB≠XMAX YB+1→YC , XB=XMAX YB+2→YC
XB≠XMAX YC-1→YC , XB=XMAX YC-2→YC
XB≠XMAX YB-1→YC , XB=XMAX YB-2→YC
YC<YC+1^BX
YC<YB+1^BX
YC<YC-1^BX
YC<YB-1^BX
XB≠XMAX YC→YC , XB=XMAX YC+1→YC
XB≠XMAX YB→YC , XB=XMAX YB+1→YC
XB≠XMAX YC→YC , XB=XMAX YC-1→YC
XB≠XMAX YB→YC , XB=XMAX YB-1→YC
動作
Non Operation
YC<YC+1^CY
YC<YB+1^CY
YC<YC-1^CY
YC<YB-1^CY
XC≠XMAX YB→YC , XC=XMAX YB+1→YC
XC≠XMAX YC→YC , XC=XMAX YC+1→YC
XC≠XMAX YB→YC , XC=XMAX YB-1→YC
XC≠XMAX YC→YC , XC=XMAX YC-1→YC
XC≠XMAX YB+1→YC , XC=XMAX YB+2→YC
XC≠XMAX YC+1→YC , XC=XMAX YC+2→YC
XC≠XMAX YB-1→YC , XC=XMAX YB-2→YC
XC≠XMAX YC-1→YC , XC=XMAX YC-2→YC
YC演
算
Y反転
/Y
X反転
/X
アドレス反転出力命令
/Y→Y
Non Operation
動作
/X→XNon Operation
動作
アドレス反
転
Yアドレス出力命令
Y出力 動作
Y<YB YB→Y
Y<YC YC→Y
Y<XB XB→Y
Y<XC XC→Y
Yアドレス出
力
X出力 動作
X<XB XB→X
X<XC XC→XX<YB YB→X
X<YC YC→X
Xアドレス出力命令
Xアドレス出
力
期待値出力命令
TP出力 動作
TP<TP Non Operation
TP<0 0→TP
TP<TPH TPH→TP
TP<TP*2 Shift left
TP反転
/D
期待値反転出力命令
Non Operation
動作
/TP→TP
TP演
算TP反
転
デバイス制御命令
Read
R
Write
WMUT
ALPG言語マニアル
MSB
47 46 45 44 43 42 41 4039 38 37 36 35 34 33 32 31 30 29 28 27 2625 24 2322
OPCODE OPLAND
MF
LSB
21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
YB OPT XB OPTTP
OUTCONT
YOUTCONT
XOUTCONT
READ
WRIT
E
TP
INV
Y
INV
X
INVYC OPTPC(Address) XC OPT0
PCMUX
Micro InstructionControl
IDX
DFLG
432
IDX1
MUX
432
IDXW
1
+1
MUX
432
JF1
Y0~11X0~11
INVERT INVERT
MUX
MUX MUX
MUX
YBXB
ALU ALU
/X /YX
32
手法: テスタ言語→HDL→FPGA着眼点:
(1) 使うテスタ・コマンドのみ記述した.使うコマンドは10%程度
(2) あるテスト・ステップで実働しているハードが10%程度
テスタ言語(テスト・プログラム)からテスタ回路を構成するとテスタ規模は1/100化できる.
着眼点
メモリ仮想テスタの研究から
構造可変なFPGAの利用:テスタの低価格,低消費電力が実現。構造可変テスタ
33この構造をTOB(Tester On Board)と呼称
PROM
外部メモリ 外部メモリ
DAC
DACADC
ADC
FPGA
オペアンプ
オペアンプ
オペアンプ
オペアンプ
F
S
F
S
F
S
F
S
DUT1 DUT2
PG
DPSDC
TG
DR/COMP
構造可変テスタの基本構造
テスト信号線
PC
34
15cm
DUT1接続端子
DUT2接続端子
48ピン
48ピン
FPGA
外部メモリ
PC接続(PROMは裏面)
ADC
DAC
オペアンプ
リレー群
TOB-Ⅰ開発
使用FPGA:Xilinx社 XC2V1000
35
TGCOMP
ALPG
インストラクション・メモリ
TG
DC
ALPG
PDS
FC
32M
NO
R フ
ラッシュ・メ
モリ
フラッシュメモリをテストする場合のFPGAの構成
TOB-Ⅰに搭載したデザイン
Verilog記述で2000行規模
PDS: Pin Data SelectorFC: Format ControlDC: Digital ComparatorTG: Timing Generator
36
TOB-Ⅰにおけるフラッシュ・メモリ・テストSTEP1 STEP2 STEP3
Write Enable
Write Data
Output Enable
Address A0
STEP1:ステータス・モード・クリアSTEP2:ワード書込みモード指定STEP3:データの書込み
Hiレベル:3.3V, Lowレベル:0V書込み動作
37
条件設定用
RAM搭載逐次書き込みテスタ制御方法
DIMMタイプDRAM1Mステップ以上1Kステップ相当パターン・メモリ容量の増強
Iddq測定機能高精度DC計測複数DC計測装備
電流印加電圧測定
電圧印加電流測定DC計測器の強化
P/E搭載FPGA出力ピンエレクトロニクス(P/E)の搭載
128ピン以上は複数ボードで対応,コントロールはUSBを利用
128ピン/ボード96ピン/ボードピン数の拡大
備考TOB-ⅡTOB-Ⅰ開発項目
TOB-Ⅱ開発TOB-Ⅰ仕様とTOB-Ⅱの開発要件
38
DUT接続端子(128ピン)
P/E群
高精度DC計測系
ピン数拡大:96ピン→128ピンピンエレクトロニクス搭載高精度DC計測器搭載
TOB-Ⅱ概観(表面部品)
39
FPGAXC2V3000
外部RAMDIMM装着コネクタ
パターン・メモリ容量増強:1Kステップ→1Mステップ/テストテスタ制御方法:逐次書き換え→外部RAM搭載設定方式
TOB-Ⅱ概観(裏面部品)
40
製品概要と設計要求HDD Motor Driver Combo IC(ルネサス・テクノロジ)
プロセス:0.35μm BiCOMS機能概要:HDDのスピンドル・モータ(SPM)ドライバ
HDDのアクチェータ駆動ボイス・コイル(VCM)ドライバ
設計要求:顧客実装回路と計測器(パルス発生器,ワード発生器等)実機評価
↓自動化実機セット
TOB-Ⅱは構造可変であるのでこの設計要求に応えられる
TOB-Ⅱの応用事例
41
SHファームウエア 制御コマンドto シリアル
RL制御
周期/インターバル測定回路
Audio制御回路
CLK生成回路
SCLK
DATA
-DLOAD
CLK
Patter生成回路TGPG
Format
TIMEA1
TIMEA6
TIMEB1
TIMEB6
Audio to CT
外部リレイ制御
電源制御xAx4
0~+20V
PMU制御100mAx1 ±20V100mAx4 ±20V
PE
PE DriverOutput
PE CompInput
MAX
72CH
MAX
36CH
DPS0
DPS1
DPS2
DPS3
PMU
MMU1
MMU2
MMU3
MMU4
XC95288FPGA
制御Register
制御Register
制御Register
SRAM BLOCK
制御Register
制御Register
制御Register
制御Register
搭載回路
TOB-Ⅱ実機セット
外観
DUT
42構造可変テスタTOB-Ⅱでの
FPGAの配置配線の結果
搭載回路FPGA状況
43実行テストの選択
PASS・FAIL表示 データログ表示
プログラム・ロード指定データログ指定 デバックモード指定
設定画面(DPS設定)
プログラム表示(EXCELシート)
デバック画面
TOB-ⅡのGUI環境
操作環境整備の要求
44
DLOAD
DATA
SCLK
U-BUS_CS
◆モード・セレクト信号
◆モード・コントロール・シリアル・データ
◆クロック信号
◆TOB-Ⅱボード・セレクト信号
◆VCMコントロール波形
◆VCMドライバ波形
◆デバイス電源波形
◆動作インジケート波形
VCM正相波形(VCMP)
VCM逆相波形(VCMN)
HDD Motor Driver Combo IC実機結果例
テスト・モードの設定
テスト・モードの実行
45DC:デバイス直流特性(Direct Current Character)
リニア・テスタ TOB-Ⅱ1 ICC Ips+Iss 34.14mA 33.14mA2 Iss0 3.54mA 3.47mA3 Iss 5.27mA 5.03mA4 Iss1 5.50mA 5.35mA5 Iss(5.55V) 5.62mA 5.30mA6 Ips0 9.07mA 9.12mA7 Ips(10V) 27.27mA 26.68mA8 Ips(12V) 28.64mA 27.79mA9 Ips(14V) 29.22mA 29.30mA
230 U CUTOFF 4.70V 4.7022V231 V CUTOFF 4.70V 4.7109V232 W CUTOFF 4.79V 4.8016V234 PHASE VOL 0.172V 0.1619V235 PHASE VOH 3.15V 3.1225V
461 VBEMF AC 6.00V 5.9878V461.1 VBEMF Vol 1.844V 1.8809V
462 VBEMF Vin 1KHz 51.9mV 52.5mV465 VBEMF Vout 1KHz 388.9mV 355.9mV
DEVICE 1Test # NAME
HDD Motor Driver Combo IC測定結果例
精度確認
46
3章のまとめ FPGAを使った構造可変テスタ手法を開発した
TOB-Ⅰ :96ピン/50MHz TOB-Ⅱ :128ピン/50MHz 高精度ピンエレクトロニクス搭載
テスタの低価格化 テスタ論理規模の1/100化の実現 ⇒ 低価格化 テスタ消費電力の1/100化を実現 ⇒ 環境に配慮
GUI環境整備とその応用 HDD Motor Driver Combo IC評価環境 NANDフラッシュ・メモリ・テスト装置
47
48
4章 テスタ構造表現言語の提案とテスタ選択ツールへの応用
49
研究背景 テスト・コスト低減の重要性
STRJ半導体ロードマップ コスト削減における複数テスタの活用
テスト・プログラム作成工数大
テスタ言語の研究
2003年度STRJ活動におけるテスタ言語調査 テスタ構造表現言語の提案
水平分業化する半導体業界への対応
インターネットを使ったテスト・サービスの提案
新しいビジネス・モデルの構築と環境整備
50
2005年度の活動
DFTテスタを使用した場合の コストメリット 。。
・DFTテスタの価格
・生産数量との関係
・DFTテスタ測定可能な割合
パラメータに検討!
◎テスタの課題 :高速化 ・ 多ピン化 ・ 多機能化 ・ 低価格化
☆2004年度の活動: テスタの低価格化について議論⇒ DFT SWGと共同でDFTテスタの構成(案)を作成
DFTテスタの特徴・Logic部 : 低速(50MHz) , 精度要求しない・Pin数 : 32ピン/DUT×32個同時測定
1024ピン/System・Analog機能 : 無し
開発の動機(1) 出展: 2005 STRJ報告
DFTテスタの活用の際
汎用テスタ+DFTテスタの2pathが基本
51テスタ言語の推移
開発の動機(2)
‘80 ‘84 ‘88 ‘92 ‘96 ‘00 ‘04
Year
(High)
ASSEMBLER
BASIC/FORTRAN
PASCAL
C
GUI
Lang
uage
leve
l
‘08
52
PG :テスト・パターン発生器TG :タイミング発生器DPS :プログラマブル電源DC :DC計測器DR : ドライバCOMP:コンパレータ
DR/COMPを総称してP/E(ピン・エレクトニクス)と総称
COMP
Test Program
DR
PG TG
CPU
DPS
OS
DC
COMP
大型汎用テスタの基本構造
大型汎用テスタは構造を持つ(それがテスト・プログラムで処理される)
DUT
53
CPU
Interpreter
Test Program
Resource Address
Regis
ter
Addre
ss
Data Register
Data Register
Resource Address
Data Register
Data Register
Data Bus
Intermediatelanguage
(Source Program)
PG TG
Data Register
Data Register
DPS
Data Register
Data Register
DC
Data Register
Data Register
P/ETest Head
Address Bus
Resource Address Resource Address Resource Address
Regis
ter
Addre
ss
Regis
ter
Addre
ss
Regis
ter
Addre
ss
Regis
ter
Addre
ss
リソース・アドレス:テスタ・リソースの選択アドレスレジスタ・アドレス:テスタ・リソースのパラメータ設定レジスタ
のレジスタ・アドレス
テスタの論理構造
54注) 標準ロジック(Dual Edge trigger Type F/F)を対象に調査
出展: 2003 STRJ報告テスタ言語調査
55
テスタ言語調査
テスタ・メーカ A社 B社 C社テスタ機種 テスタ1 テスタ2 テスタ3 テスタ4 テスタ5言語形態 Fortran Like C言語 Like BASIC LIKE C言語 Like C言語 Like
総プログラム行数(比率) 2.0 3.8 1.0 1.8 1.2VS1=0.000V,R8V,M(0.8A),400MA,-400MADPSVSIM dpsvsim; DEFINE部: VCC=BS1(4R,4C) uvi(VCC) {v=@vcc; vi=vfim; i=3mA
; vrng=r8V;irng=r3mA;aiarm=off; }
set vs1 v=0.000v,vr=10v,
cur=400ma,ir=800ma;テ
ス
タ
記
述
dpsvsim.pin(VS1); DATA部: VCC=0.0Vdpsvsim.SRng(R8V);dpsvsim.SVal(0V);dpsvsim.MRng(M800MA);dpsvsim.CPVal(400mA);dpsvsim.CMVal(-400mA);dpsvsim.Load();isvm.Load();
パターン記述 PATTERN1 XX0001XX0001 % SPL0 HL1000HL1000 % SPL0
∫XX1001XX1001 % HALT
LPAT PFCT2CHANNEL 1-8,10-13CFPF NOP/T1 !1000XX1000XX
NOP/T2 !0001LH0001LH∫
STPS /T11 !1001XX1001XXEND
END
PPRO PATFUNCTMODE LCDPPCPPDSECT
CHANNEL 1 2 3 4 5 6 13 12 11 10 9 8PMSECTSTART:NOP /T1 ! 1001XX 1001XX
NOP /T1 ! 0001LH 0001LH∫
STOP: NOP /T1 ! 1001XX 1001XXEND
PATTERNsk7474MODE ATRDX 10CHANNEL 1-6,8-13CFPFMODULE PAT1NOP ,T1 !1001XX XX1001;NOP ,T1 !0001LH HL1000;
∫STOP,T1 !1001XX XX1001;MODULE END
LPAT PFCT2
CHANNEL 1-8,10-13CFPF NOP/T1 !1000XX1000XX
NOP/T2 !0001LH0001LH∫
STPS /T11 !1001XX1001XX
END
デバイス電源
DPSの構造
DAC +AMP
RNGA
DU
T
Upper Clamp
Lower Clamp
DAC :Digital to Analog ConverterRNG :Voltage Range selectorAMP :Operational AmplifierA :Current measurement unit and range selectorUpper clamp :DPS Protection circuit upper current limiterLower clamp :DPS Protection circuit Lower current limiterDUT :Device Under Test
MSB
LSB A社:アドバンテストB社:横河電機C社:シバソク
テスタ1:T3347テスタ2:T6575テスタ3:AL9300テスタ4:TS6000テスタ5:S230
56
VS1=0.000V,R8V,M(0.8A),400MA,-400MA
DAC +AMP
RNGA
DU
T
Upper Clamp
Lower Clamp
DAC :Digital to Analog ConverterRNG :Voltage Range selectorAMP :Operational AmplifierA :Current measurement unit and range selectorUpper clamp:DPS Protection circuit upper current limiterLower clamp:DPS Protection circuit Lower current limiterDUT :Device Under Test
MSB
LSB
リソース名
F
S
FORTRAN型言語の例(テスタ1)
57
DEFINE部記述: VCC=BS1(4R,4C)DATA部記述: VCC=0.0V
DAC +AMP
RNGA
DU
T
Upper Clamp
Lower Clamp
DAC :Digital to Analog ConverterRNG :Voltage Range selectorAMP :Operational AmplifierA :Current measurement unit and range selectorUpper clamp:DPS Protection circuit upper current limiterLower clamp:DPS Protection circuit Lower current limiterDUT :Device Under Test
MSB
LSB
リソース名
F
S
BASIC型言語の例(テスタ3)
58
DAC +AMP
RNGA
DU
T
Upper Clamp
Lower Clamp
DAC :Digital to Analog ConverterRNG :Voltage Range selectorAMP :Operational AmplifierA :Current measurement unit and range selectorUpper clamp:DPS Protection circuit upper current limiterLower clamp:DPS Protection circuit Lower current limiterDUT :Device Under Test
MSB
LSB
リソース名DPSVSIM dpsvsim;
dpsvsim.pin(VS1);dpsvsim.SRng(R8V);dpsvsim.SVal(0V);dpsvsim.MRng(M800MA);dpsvsim.CPVal(400mA);dpsvsim.CMVal(-400mA);dpsvsim.Load();
F
S
C型言語の例(テスタ2)
59
uvi(VCC) {v=@vcc; vi=vfim; i=3mA; vrng=r8V; irng=r3mA; aiarm=off; }¥
set vs1 v=0.000v,vr=10v,cur=400ma,ir=800ma;
テスタ4
テスタ5
C言語であってもステートメント方式を取っている.その形式はテスタ・メーカ個別の形式を取っている。
C型言語におけるその他の例
60
LPAT PFCT2CHANNEL 1-8,10-13CFPF NOP/T1 ! 1000XX1000XX
NOP/T2 ! 0001LH0001LH
∫
STPS /T11 ! 1001XX1001XXEND パターン記述
入力Hi:入力Low:出力期待Hi: 出力期待Low: 無判定:
10HLX
テスト・パターン記述の例
61
分析:(1)FORTRAN型言語およびBASIC型言語のテスタ言語では,記述の順番を理解する必要があり,プログラム開発が困難でかつ理解しずらい.
(2)C型言語のテスタ言語ではプログラム行数が長くなる.(3)プログラム行数の短縮のために1行のステートメントで記述することが必要になることもあるが,テスタ・ベンダ固有となっている
(4)テスト・パターン記述はほとんど同じであり,パターン変換は容易である
テスタ言語の調査の結果
62
A
B C
D
E
G F
TesterH
Individual program
Individualprogramming
A
B C
D
E
G F
H
Database
③The latest programming conversion
① The programming technique ofthe conventional form
A
B C
D
E
G F
H
② Test programming conversion
Tester
Tester
従来のテスト・プログラミング手法について
63
提言:(1)テスタリソースに併せた形で,C言語の関数を定義する.(2)多くのテスト・エンジニアが理解容易なテスタ言語とする.(3)テスト・パターンは現状の一般的な記述を定義する.
メリット① C言語関数の関数定義を各テスタで持てば,各テスタ
で実行可能なテスト環境が構築できる.②テスタの構造を表現しているのでテスタへの理解が
促進できる.③テスタの構造を表現しているので,使用可能なテスタ
の検索および照会ができる.④テスト・パターンは従来の形式で適用可能になる.
テスタ構造表現言語の提案
64
テスタ構造表現言語 出展: 2003 STRJ報告
テスタプログラミング言語記述C言語関数記述
デバイス電源 VS(ユニット番号,印加電圧,印加電圧レンジ,電流測定レンジ,上限電流クランプ,下限電流クランプ)
DC記述:電圧印加電流測定 VSIM( 印加電圧,印加電圧レンジ,電流測定レンジ,上限電流クランプ,下限電流クランプ)
DC記述 : 電流印加電圧測定 ISVM( 印加電流,印加電流レンジ, 電圧測定レンジ,上限電圧クランプ ,下限電圧クランプ)
ピン記述 PIN(ピン番号,入力Hi レベル,入力Low レベル,終端電圧,波形モード,クロック指定,Driver/Comparator/IO,出力比較Hi レベル,出力比較Low レベル,ストローブ指定)
電圧印加シーケンス TIME(シーケンス番号,待ち時間,ユニット名)SRONSROF
テスト番号記述 TEST(テスト番号)測定命令記述 MEAS(測定ユニット名)
REG(ユニット名,レジスタ名,データ)SEND(ユニット名,レジスタ名,data)
テスタ記述 待ち時間記述 WAIT(待ち時間)テスト・プログラム開始 MAIN(テスト・プログラム名) {テスト・プログラム終了 }テスト終了 STOP分岐制御命令 if(ARGn(n)0)ループ制御命令 for ( I=n; I
65
VS(ユニット番号,印加電圧,電圧レンジ,測定電流レンジ,上限クランプ電流,下限クランプ電流)
VS: デバイス電源リソース記述ユニット数: デバイス電源番号印加電圧: 印加電圧[V]電圧レンジ: 電圧レンジ[V] (省略可)測定電流レンジ: 電流測定レンジ[A] (省略可)上限電流クランプ:保護電流値[A] (省略可)下限電流クランプ:保護電流値[A] (省略可)
VS(1,0V, , , , )
VS(1,0V,8V,800ma,400ma,-400ma)例
テスタ構造表現言語での記述の例(DPS)
66
テスタA
テスタB
テスタD
テスタE
テスタG テスタF
テスタH
Database
テスタC
Tester structureexpression language
テスタ構造表現言語 : GTL (General Tester Language)
テスタ構造表現言語の考え方(1)
67
COMP
Test Program
DRPG TG
CPU
DPS
OS
DC
COMP
GTL (General Tester Language)
テスタ構造表現言語の考え方(2)
PATTER pattern nameCHANNEL (ピン記述)NOP(タイミング・セット数,パターン記述)
∫STPS(タイミング・セット数,パターン記述)END
VS(ユニット数,印加電圧,電圧レンジ,測定電流レンジ,上限クランプ電流,下限電流クランプ)
VSIM(ユニット番号,印加電圧,電圧レンジ,測定電流レンジ,上限クランプ電流,下限電流クランプ)
PIN(ピン番号,入力Hiレベル,入力Lowレベル,終端電圧゙,波形モード,クロック指定,Driver/Comparator/IO,出力判定Hiレベル,出力判定Lowレベル,ストローブ指定)
DUT
68
Test Program
TEST VS
UnitNumber
Voltage Value
Voltage RNG
Clamp Current
n
n
Value [V]
n [REG]
Value [A]
PIN
nPinNumber
n
n
Input level number
modWave Mode
n
n
Clock number
Strobe number
Output level number
Number
テスタ構造表現言語の考え方(3)
GTLの言語の木構造
69
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/_/_/_/ MAIN PROGRAM _/_/_/_/_/_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/MAIN(8bit_adder)
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/ UNIT /_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/TIME(1,3mS,"VS");TIME(2,6mS,"ALL");
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/ Contact Test /_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/TEST(100);VS(1,0V,8V,2A,1A,-1A);ISVM(-100uA,800uA,8V,3V,-3V);LIMIT("DC",100mV,-1.5V);SRON();MEAS("DC",ALLPIN);SROFF();
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/ RATE /_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/RATE(1,50nS*5);
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/ PINS /_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/PIN(ADD_A,"IN" ,"NRZ1", 1, 0nS, 0nS, 0nS, 0nS, "DRENRZ", 0nS, 0nS, 5V, 0V, 0V, 0V 0nS, 0nS);PIN(ADD_B,"IN" ,"NRZ1", 1, 0nS, 0nS, 0nS, 0nS, "DRENRZ", 0nS, 0nS, 5V, 0V, 0V, 0V, 0nS, 0nS);PIN(OUT_Y,"OUT","NON", 1, 0nS, 0nS, 0nS, 0nS, "DRENRZ", 0nS, 0nS, 0V, 0V, 3V, 1V, 47nS*5, 0nS);PIN(CARY, "OUT","NON", 1, 0nS, 0nS, 0nS, 0nS, "DRENRZ", 0nS, 0nS, 0V, 0V, 3V, 1V, 47nS*5, 0nS);
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/ Function Test /_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/TEST(1000);SRON();MEAS("FT","pt8bti.lpa");MEAS("FT","pt8bta.lpa");MEAS("FT","pt8btall.lpa");SROFF();
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/ FINISH /_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/STOP();ENDMAIN()// program end
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/_/_/_/ MAIN PROGRAM _/_/_/_/_/_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/MAIN(8bit_adder)
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/ UNIT /_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/TIME(1,3mS,"VS");TIME(2,6mS,"ALL");
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/ Contact Test /_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/TEST(100);VS(1,0V,8V,2A,1A,-1A);ISVM(-100uA,800uA,8V,3V,-3V);LIMIT("DC",100mV,-1.5V);SRON();MEAS("DC",ALLPIN);SROFF();
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/ RATE /_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/RATE(1,50nS*5);
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/ PINS /_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/PIN(ADD_A,"IN" ,"NRZ1", 1, 0nS, 0nS, 0nS, 0nS, "DRENRZ", 0nS, 0nS, 5V, 0V, 0V, 0V 0nS, 0nS);PIN(ADD_B,"IN" ,"NRZ1", 1, 0nS, 0nS, 0nS, 0nS, "DRENRZ", 0nS, 0nS, 5V, 0V, 0V, 0V, 0nS, 0nS);PIN(OUT_Y,"OUT","NON", 1, 0nS, 0nS, 0nS, 0nS, "DRENRZ", 0nS, 0nS, 0V, 0V, 3V, 1V, 47nS*5, 0nS);PIN(CARY, "OUT","NON", 1, 0nS, 0nS, 0nS, 0nS, "DRENRZ", 0nS, 0nS, 0V, 0V, 3V, 1V, 47nS*5, 0nS);
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/ Function Test /_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/TEST(1000);SRON();MEAS("FT","pt8bti.lpa");MEAS("FT","pt8bta.lpa");MEAS("FT","pt8btall.lpa");SROFF();
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/ FINISH /_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/STOP();ENDMAIN()// program end
LPAT PT8BTARDX 10CHANNEL 26, 8-1, 16-9, 24-17, 25CFPFLOC 0; C AAAAAAAA BBBBBBBB YYYYYYYY C ; L 76543210 76543210 76543210 A ; K R ; Y ; NOP /T1 ! 1 00000000 00000000 XXXXXXXX X ;STEP0 INIT NOP /T1 ! 1 00000000 00000000 LLLLLLLL L ;STEP1 0+0=0 NOP /T1 ! 1 00000000 00000001 LLLLLLLH L ;STEP2 0+1=1 NOP /T1 ! 1 01111110 01111110 HHHHHHLL L ;STEP3 126+126=252 NOP /T1 ! 1 01111111 01111111 HHHHHHHL L ;STEP4 127+127=254 NOP /T1 ! 1 10000000 10000000 LLLLLLLL H ;STEP5 128+128=256 (0) NOP /T1 ! 1 10000001 10000001 LLLLLLHL H ;STEP6 129+129=258 (2)NOP /T1 ! 1 11111110 11111110 HHHHHHLL H ;STEP7 254+254=508 (252) NOP /T1 ! 1 11111111 11111111 HHHHHHHL H ;STEP8 255+255=510 (254) NOP /T1 ! 1 00000000 00000000 XXXXXXXX X ;STEP9 INIT
STPSEND
LPAT PT8BTARDX 10CHANNEL 26, 8-1, 16-9, 24-17, 25CFPFLOC 0; C AAAAAAAA BBBBBBBB YYYYYYYY C ; L 76543210 76543210 76543210 A ; K R ; Y ; NOP /T1 ! 1 00000000 00000000 XXXXXXXX X ;STEP0 INIT NOP /T1 ! 1 00000000 00000000 LLLLLLLL L ;STEP1 0+0=0 NOP /T1 ! 1 00000000 00000001 LLLLLLLH L ;STEP2 0+1=1 NOP /T1 ! 1 01111110 01111110 HHHHHHLL L ;STEP3 126+126=252 NOP /T1 ! 1 01111111 01111111 HHHHHHHL L ;STEP4 127+127=254 NOP /T1 ! 1 10000000 10000000 LLLLLLLL H ;STEP5 128+128=256 (0) NOP /T1 ! 1 10000001 10000001 LLLLLLHL H ;STEP6 129+129=258 (2)NOP /T1 ! 1 11111110 11111110 HHHHHHLL H ;STEP7 254+254=508 (252) NOP /T1 ! 1 11111111 11111111 HHHHHHHL H ;STEP8 255+255=510 (254) NOP /T1 ! 1 00000000 00000000 XXXXXXXX X ;STEP9 INIT
STPSEND
テスト・プログラム テスト・パターン
テスト・プログラムの記述例
70開発ツール群
(1) Interactive editor(2)Tester resource evaluation(3)Tester inquiry(4)Tester Navigation(5)Pattern conversion(6)Virtual Tester
テスタ選択支援システムへの応用
対象テスタ:29機種
Virtual tester
Web
customer
TestersD/B
Patternconversion
Tester(Tester 1,Tester 2,Tester 3)
customer
customer
GTLLibrary
COMP
Test Program
DRPG TG
CPU
DPS
DUT
OS
DCCOMP
Interactiveeditor
GTLProgram
Testerinquiry
evaluationTester resourceevaluation
Navigator
Tester
Developed tool
3rd Vender tool
Test Program
TesterCPU
TESTERFunction
definition
main(){Test(1000);vs(1,5v,8v,100ma,-100ma,200a);p(1,3.5v,0.4v,1.5v,NRZ,clk1,Driver,0v,0v,sb1);P(2,3,5v,0.4v,1.5v./RZ,clk2,Driver,0v,0v,sb1);
Time(1,5ms,vs,1,5ms,DC);meas(func);stop;}
OS
+
Tester structureexpression Languagetest program
(3)
(2)
(1)
(4)
(5)
(6)
71
Patternconversion
Virtualtester
Tester navigation
Interactive editor
開発ツール画面
Tester inquiry
開発環境
72
Tools Man-month Scale(Kstep)
Visual C++ 4 3.7TestCost Calculator Visual C++ 1 2.2Tester Resource evalution Visual C++ 2 3.2Tester inquiry Visual C++ 1 2.6GUI Visual C++ 4 11.6
3rd Vender tool ‐3rd Vender tool ‐
ExcelVBA
3 4.5
Total 15 27.8
Test Spec Sheet
Pattern Conversion
TesterNavi
SoftwareInteractiveEditor
Virtual Tester
開発規模
テスト・プログラム作成容易性を考えスペック・シート方式のGTLによるテスト・プログラム生成ツールを整備
Test Spec Sheet
開発規模
73
テスタ実機*** 2 D Normal (ASCII Display) 31-Mar-2006 16:13:14 ***LPAT Name : pt8btall. lpa Plan Name : pro_tdl_8a. tdlTest ID : 1000 ""Device Name: -------- DUT I/F : --------Lot No : -------- Sub Lot No : --------Operator : -------- Comment : --------Wafer Name : -------- Sample No : 62STN No : 1
Y:(VOH)O
4.000V +. . . . . . . . . . . . . . . . . . . . . . . . . .3.900V |. . . . . .3.800V |. . . . . .3.700V |. . . . . .3.600V |. . * *************************************3.500V +. . . . . . ***************************************3.400V |. .****************************************3.300V |. .****************************************3.200V |. * .****************************************3.100V |. * *****************************************3.000V +. . . . * *************************************2.900V |. *******************************************2.800V |. *******************************************2.700V |. *******************************************2.600V |. *******************************************2.500V +. . . . *********** *******************************2.400V |. *******************************************2.300V |. *******************************************2.200V |. *********** *******************************2.100V |. *********** *******************************2.000V +. . . . *********** *******************************1.900V |. **.******** *******************************1.800V |. **.******* *******************************1.700V |. **. **** * **** **************************1.600V |. *. **** * * ***** ***********************1.500V +. . . . . *. ******. ****.**************************1.400V |. . ***** * ** ************************1.300V |. . * * .*** ***********************1.200V |. . * .* **********************1.100V |. . . * **********************1.000V +. . . . . . . . . . . . . . .**********************900.0mV |. . . *.********************800.0mV |. . . .* ******************700.0mV |. . . . *****************600.0mV |. . . . *****************500.0mV +. . . . . . . . . . . . . . . . . *****************400.0mV |. . . . * ************300.0mV |. . . . ** ***200.0mV |. . . . . *100.0mV |. . . . . .0.000V >+. . . . . . . . . . . . . . . . . . . . . . . . . .
+---------+---------+---------+---------+---------+^
0.00000 S 50.0000nS 100.000nS 150.000nS 200.000nS 250.000nSX:(STRB)
PassArea
Test Board
ケーブル接続によるノイズの影響
GTL
GtiL
T6575Functionlib
Device:FPGA(8bits Full Adder)
テスト実行の状況(T6575):出力波形シュム・プロット
74
テスタ構造表現言語の提案汎用テスタのテスタ言語を調査して,テスタ構造表現言語を
GTL(General Tester Language)として提案した.また,その実働を確認した.
テスタ選択支援システムへの応用テスタ構造表現言語GTLの応用として,テスト・プログラムから
最適テスタを照会し,選択できるシステムを開発した.
テスト・コスト削減のためのプログラム手法複数テスタ利用の測定で,テスト・プログラム工数削減の可能性
4章のまとめ
75
76
5章 SRAMブロックを用いた論理回路の一構成手法
77
テスタ技術のパラダイムシフト 2003年度STRJ報告 テスタ・コストの抜本的低減
構造可変テスタの高度化
大規模SoCにおけるマルチ・コア対応 SoCでのシステム・テスト SoCに内装できる再構成テスト回路手法の検討
研究背景
78
開発の動機 出展: 2003 STRJ報告
79
CPU
ユーザ・ロジック
ユーザ・ロジック(FPGA構成)
DRAM
DRAM
DRAM
SRAM
SRAM
3.3V
I/F
3.3V
I/F
3.3V I/F
5V I/F (PCMCLA)
救済ビット・ライン
TAP
IEEE1149.1 TAP
ポイント(1) ユーザ・ロジックの部分をFPGAで構成する(2) 上記FPGAにテスト回路を構成して、
各ブロックのテストを実施する(3) テスト完了後、このFPGAにはユーザの回路を構成させ、
要求の製品とする。
SoC構成
FPGAにALPGを構成
SRAMをテスト
FPGAとSRAMでテスト回路を構成
CPU,ロジックをテスト
FPGAにALPGを構成,SRAMをFBMとして
DRAMを測定して救済
DRAMをテストし救済する,
FPGAにユーザ回路を構成
FPGAをテスト
再構成可能テスト回路の提案
TOC: Tester On Chip
80
SoC内のデバイスの比較
デバイス再構成
(可制御性可観測性)総合コスト
ロジック
CPU
FPGA
メモリ
×
○
○
△
△
○ ○
△
×
× ×
×
○
△
△
×
○
故障救済
SoC内蔵のメモリに注目
△
△
△
デバイス回路の検討
テスト(故障修復)
81
Vertex XC2V3000必要メモリ容量の試算
このCLBの構成データ1.4Kbを評価指標として
CLB(Configurable Logic Block)
I/O I/O I/O I/O
I/O I/O I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
論理セル
論理セル
論理セル
論理セル
論理セル
論理セル
論理セル
論理セル
論理セル
論理セル
論理セル
論理セル
論理セル
論理セル
論理セル
論理セル
配線SW:スイッチ・マトリックス
FPGAは論理セルと配線と接続スイッチを分離した構造
FPGAについて
再構成可能テスト回路の検討
SRAMMOSスイッチ
SW:スイッチ
CLB: 4入力1出力LUT 2個,2段 2スライス構造LUT: 4アドレス(16b)
8LUT×16b = 128bスイッチ・アレイMOSスイッチ数
8×8×3ブロック+8×2×1ブロック =208個スイッチ当たりのMOスイッチ数:6 MOSスイッチ
208個×6 MOSスイッチ =1,248b1 CLBでの必要メモリ容量 =1,376b(1.4Kb)
Vertex XC2V3000の必要メモリ容量:3,584CLB × 1,376b = 4,931,584b(4.9Mb)
*Vertex XC2V3000カタログ:コンフィグレーション・ビット数 10Mb
論理セル
SW SWSWSWSW
SW SWSWSWSW
SW SWSWSWSW
SW SWSWSWSW
SW SWSWSWSW
アイランド・スタイル型FPGA
F/F
2Χ8SW MUX=16SW
8Χ8SW MUX=64SW
8Χ8SW MUX
=64SW
LUT
LUT
LUT
LUT
8Χ8SW MUX=64SW
F/F
再構成可能テスト回路を検討
82
(1) LUTカスケード方式井口幸洋,笹尾勤,”LUTカスケード・アーキテクチャについて,”電子情報通信学会 信学技報 第1回リコンフィギャラブルシステム研究会,pp.193-198,Sep.2003
SRAM
Control
メモリと配線構造
従来研究調査
問題:配線のプログラム性
(2) 再構成可能構造メモリ・セルYuki Yamagata, et al.” Implementation of Memory Tester Consisting of SRAM-Based Reconfigurable
Cells,” Proceedings Asian Test Symposium 2003,pp.137-142 November 11-12, 2003
83メモリ使用ビット数が膨大→最適化要CLB相当が4Mb
4方向配置メモリ・ベース論理回路
1MbSRAMblock
A0D0A1D1A2D2A3D3
A4 D4
A5 D5
A6 D6
A7 D7
D11A11D10A10D9A9D8A8
D15 A1
5D
14 A14
D13 A1
3D
12 A12
1MbSRAMblock
A0D0A1D1A2D2A3D3
A4 D4
A5 D5
A6 D6
A7 D7
D11A11D10A10D9A9D8A8
D15 A15
D14 A14
D13 A13
D12 A12
1MbSRAMblock
A0D0A1D1A2D2A3D3
A4 D4
A5 D5
A6 D6
A7 D7
D11A11D10A10D9A9D8A8
D15 A15
D14 A14
D13 A1
3D
12 A12
1MbSRAMblock
A0D0A1D1A2D2A3D3
A4 D4
A5 D5
A6 D6
A7 D7
D11A11D10A10D9A9D8A8
D15 A15
D14 A14
D13 A13
D12 A12
4方向にアドレスとI/Oを配置した構造
1MbSW
block
A0D0A1D1A2D2A3D3
A4 D4
A5 D5
A6 D6
A7 D7
D11A11D10A10D9A9D8A8
D15 A1
5D
14 A14
D13 A1
3D
12 A12
1MbSW
block
A0D0A1D1A2D2A3D3
A4 D4
A5 D5
A6 D6
A7 D7
D11A11D10A10D9A9D8A8
D15 A15
D14 A14
D13 A13
D12 A12
1MbSW+LUT
block
A0D0A1D1A2D2A3D3
A4 D4
A5 D5
A6 D6
A7 D7
D11A11D10A10D9A9D8A8
D15 A15
D14 A14
D13 A1
3D
12 A12
1MbSW+LUT
block
A0D0A1D1A2D2A3D3
A4 D4
A5 D5
A6 D6
A7 D7
D11A11D10A10D9A9D8A8
D15 A15
D14 A14
D13 A13
D12 A12
アイランド・スタイル型FPGACLB
F/F
2Χ8SW MUX=16 SW
8Χ8SW MUX=64SW
8Χ 8
SW MUX=64SW
LUT
LUT
LUT
LUT
8Χ 8
SW MUX=64SW
F/F
84
1MbSRAMblock
A0D0A1D1A2D2A3D3
A4
D4
A5
D5
A6
D6
A7
D7
A1
2D
12
A1
3D
13
A1
4D
14
A1
5D
15
A8D8A9D9A10D10A11D11
A0D0A1D1A2D2A3D3
A4 D4 A5 D
5 A6 D6 A7 D
7A8D
8A9D9A1
0D10A1
1D11
48KbSRAMblock
A0D0A1D1A2D2A3D3
A4D
4 A5 D5
A6D6A7D
7
2KbSRAMblock
A0D0A1D1A2D2A3D3 A4
D4
A5D5
160bSRAMblock
4方向配置
3方向配置
3方向配置非対称(1)
3方向配置非対称(2)
メモリ・ベース論理回路 vs Xillixs
0
2
4
6
8
10
12
14
16
0 5 10 15
n値
対X
iilixs面
積比
系列1
4方向配置
4方向配置論理圧縮
3方向配置
3方向配置非対称
(1)
3方向配置非対称(1)論理圧縮
3方向配置非対称(2)
3方向配置非対称(2)論理圧縮
メモリ・セル配置での最適化
n値
n値: 一辺にあるアドレスとデータの数AD対: アドレス・データの対の数
1
4
85
変形:3方向交互配置の提案
A6
D6
A7
D7
A0D0A1D1A2D2A3D3
A4
D4
A5
D5
A6
D6
A7
D7
2KbSRAMBlock
A4
D4
A5
D5
A6
D6
A7
D7 2Kb
SRAMBlock
A0D0A1D1A2D2A3D3
A4
D4
A5
D5
A6
D6
A7
D7
2KbSRAMBlock
A4
D4
A5
D5
A6
D6
A7
D7
2KbSRAMBlock A
4D4
A5
D5
A6
D6
A7
D7 2Kb
SRAMBlock
D0A0D1A1D2A2D3A3
A4
D4
A5
D5
2KbSRAMBlock
D0A0D1A1D2A2D3A3
A4
D4
A5
D5
A6
D6
A7
D7
2KbSRAMBlock
A4
D4
A5
D5
A6
D6
A7
D7
2KbSRAMBlock
A0D0A1D1A2D2A3D3
A4
D4
A5
D5
A6
D6
A7
D7
2KbSRAMBlock
A4
D4
A5
D5
A6
D6
A7
D7
2KbSRAMBlock
A0D0A1D1A2D2A3D3
A4
D4
A5
D5
A6
D6
A7
D7
2KbSRAMBlock
A4
D4
A5
D5
A6
D6
A7
D7
2KbSRAMBlock A
4D4
A5
D5
A6
D6
A7
D7
2KbSRAMBlock
D0A0D1A1D2A2D3A3
A4
D4
A5
D5
A6
D6
A7
D7
2KbSRAMBlock
D0A0D1A1D2A2D3A3
A4
D4
A5
D5
A6
D6
A7
D7
2KbSRAMBlock
A4
D4
A5
D5
A6
D6
A7
D7
2KbSRAMBlock
2KbSRAMBlock
AiDi
2KSRAM
2KSRAM
2KSRAM
2KSRAM
2KSRAM
2KSRAM
2Kb SRAMの交互配置
AiDi
2KSRAM
2KSRAM
2KSRAM
2KSRAM
2KSRAM
2KSRAM
SRAMブロック → MLUT (Multi LUT)CLB相当の3方向配置(32Kbits)
86
(2Kbメモリ・セルの交互配置)原理:4ビット乗算
adr0
adr1
adr2
adr3
q0
q1
q2
q3
ad r4
ad r5
ad r6
ad r7
q4
q5
q6
q7
Ai
Ai+ 1
Ai
A i+1B j
B j
YiC i
y iYi+1
Yi
Y i+1
C i+1
Yi+ 1Yi+2
C i+2
Y i+2
Ci +3
adr0
adr1
adr2
adr3
q0
q1
q2
q3
ad r4
ad r5
ad r6
ad r7
q4
q5
q6
q7
Ai
Ai+1
Ai
A i+1B j
B j
Y iC i
y iY i+1
Yi
Y i+1
C i+1
Yi+ 1Y i+2
C i+2
Yi +2
Ci+ 3
adr0
adr1
adr2
adr3
q0
q1
q2
q3
adr4
adr5
adr6
adr7
q4
q5
q6
q7
Ai
Ai+ 1
Ai
A i+1B j
B j
YiC i
y iYi+1
Yi
Y i+1
C i+1
Yi+ 1Yi+2
C i+2
Y i+2
Ci +3adr0
adr1
adr2
adr3
q0
q1
q2
q3
ad r4
ad r5
ad r6
ad r7
q4
q5
q6
q7
Ai
Ai+ 1
Ai
A i+1B j
B j
YiC i
y iYi+1
Yi
Y i+1
C i+1
Yi+ 1Yi+2
C i+2
Y i+2
Ci +3
adr0
adr1
adr2
adr3
q0
q1
q2
q3
ad r4
ad r5
ad r6
ad r7
q4
q5
q6
q7
Ai
Ai+ 1
Ai
A i+1B j
B j
YiC i
y iYi+1
Yi
Y i+1
C i+1
Yi+ 1Yi+2
C i+2
Y i+2
Ci +3
adr0
adr1
adr2
adr3
q0
q1
q2
q3
ad r4
ad r5
ad r6
ad r7
q4
q5
q6
q7
Ai
Ai+ 1
Ai
A i+1B j
B j
YiC i
y iYi+1
Yi
Y i+1
C i+1
Yi+ 1Yi+2
C i+2
Y i+2
Ci +3adr0
adr1
adr2
adr3
q0
q1
q2
q3
ad r4
ad r5
ad r6
ad r7
q4
q5
q6
q7
Ai
Ai+1
Ai
A i+1B j
B j
Y iC i
y iY i+1
Yi
Y i+1
C i+1
Yi+ 1Y i+2
C i+2
Yi +2
Ci+ 3
adr0
adr1
adr2
adr3
q0
q1
q2
q3
adr4
adr5
adr6
adr7
q4
q5
q6
q7
Ai
Ai+ 1
Ai
A i+1B j
B j
YiC i
y iYi+1
Yi
Y i+1
C i+1
Yi+ 1Yi+2
C i+2
Y i+2
Ci +3adr0
adr1
adr2
adr3
q0
q1
q2
q3
ad r4
ad r5
ad r6
ad r7
q4
q5
q6
q7
Ai
Ai+1
Ai
A i+1B j
B j
Y iC i
y iY i+1
Yi
Y i+1
C i+1
Yi+ 1Y i+2
C i+2
Yi +2
Ci+ 3adr0
adr1
adr2
adr3
q0
q1
q2
q3
ad r4
ad r5
ad r6
ad r7
q 4
q 5
q 6
q 7
A i
A i+1
Ai
A i+1B j
B j
Y iC i
y iY i+1
Yi
Y i+1
C i+1
Yi+1Y i+2
C i+2
Yi+ 2
Ci+ 3
adr0
adr1
adr2
adr3
q0
q1
q2
q3
adr4
adr5
adr6
adr7
q4
q5
q6
q7
Ai
Ai+ 1
Ai
A i+1B j
B j
YiC i
y iYi+1
Yi
Y i+1
C i+1
Yi+ 1Yi+2
C i+2
Y i+2
Ci +3
adr3 q 7
adr0
adr1
adr2
q0
q1
q2
q3
ad r4
ad r5
ad r6
ad r7
q 4
q 5
q 6
B j
Bj
Yi
Yi-1Yi-1
Yi adr0
adr1
adr2
adr3
q0
q1
q2
q3
ad r4
ad r5
ad r6
ad r7
q 4
q 5
q 6
q 7B j
B j
Yi
Yi-1Yi-1
Yi
ad r0
adr1
adr2
adr3
q 0
q 1
q 2
q 3
ad r4
ad r5
ad r6
ad r7
q 4
q 5
q 6
q 7B j
B j
Yi
Yi-1Yi-1
Yi
ad r0
adr1
adr2
adr3
q 0
q 1
q 2
q 3
ad r4
ad r5
ad r6
ad r7
q 4
q 5
q 6
q 7B j
B j
Yi
Yi-1Yi-1
Yi
ad r0
ad r1
ad r2
ad r3
q 0
q 1
q 2
q 3
adr4
adr5
adr6
adr7
q 4
q 5
q 6
q 7
A i
A i+1
A i
Ai+ 1B j
B j
Y iCi
y iY i+1
Y i
Yi+ 1
C i+1
Y i+1Y i+2
C i+2
Yi+2
C i+3
ad r0
adr1
adr2
adr3
q 0
q 1
q 2
q 3
ad r4
ad r5
ad r6
ad r7
q 4
q 5
q 6
q 7
A i
A i+1
A i
Ai +1B j
B j
Y iC i
y iY i+1
Y i
Yi +1
C i +1
Y i+1Y i+2
C i +2
Yi+ 2
Ci+3
ad r0
adr1
adr2
adr3
q 0
q 1
q 2
q 3
adr4
adr5
adr6
adr7
q 4
q 5
q 6
q 7
A i
A i+1
A i
Ai+ 1B j
B j
Y iCi
y iY i+1
Y i
Yi+ 1
C i+1
Y i+1Y i+2
C i+2
Yi+2
Ci+3
ad r0
adr1
adr2
adr3
q 0
q 1
q 2
q 3
adr4
adr5
adr6
adr7
q 4
q 5
q 6
q 7B j
B j
Yi
Yi- 1Yi-1
Yi
ad r0
adr1
adr2
adr3
q 0
q 1
q 2
q 3
adr4
adr5
adr6
adr7
q 4
q 5
q 6
q 7B j
B j
Yi
Yi- 1Yi-1
Yi
②
①
④
③
⑤
⑦
B0
B1
0
A0
A1
A2
A30 0
0
0
0
0
adr0
adr1
adr2
adr3
q0
q1
q2
q3
adr4
adr5
adr6
adr7
q4
q5
q6
q7Bj
Bj
Yi
Yi-1Yi-1
Yi
A3,2 A1,0B3 B2 B1 B0
A3,2×B0 A1,0×B0A3,2×B1 A1,0×B1
A3,2×B2 A1,0×B2 A3,2×B3 A1,0×B3
Y3 Y2 Y1 Y0
×①②
③④
⑤
⑥
⑦
⑧
adr0
adr1
adr2
adr3
q0
q1
q2
q3
adr4
adr5
adr6
adr7
q4
q5
q6
q7
A i
A i+1
A i
Ai+1B j
B j
YiCi
y iYi+1
Y i
Yi+1
C i+1
Yi+1Yi+2
C i+2
Yi+2
Ci+3
Yi , Ci+1 = Yi + yi + Ci
Yi+1 , Ci+2 = Yi+1 + yi+1 + Ci+1
Yi+2 , Ci+3 = Yi+2 + Ci+2
yi = Ai ×Bj yi+1 = Ai+1×Bj Bj = B j
Yi = Yi
Yi-1 = Yi-1
adr0
adr1
adr2
adr3
q0
q1
q2
q3
adr4
adr5
adr6
adr7
q4
q5
q6
q7Bj
Bj
Yi
Yi-1Yi-1
Yi
実験(32bits乗算器)
87
B0
B1
B2
B3
B4
B5
B6
B7
B8B9 B10 B11 B12 B13B14 B15 B16 B17 B18 B19 B20 B21 B22 B23B24 B25 B26 B27 B28 B29 B31B30
A1,0A3,2A5,4A7,6A9,8A11,10A13,12A15,14A17,16A19,18A21,20A23,22A25,24A27,26A29,28A31,30
Y0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y10Y11Y12Y13Y14
Y16Y15
Y17
Y20Y21Y22Y23
Y25Y26Y27Y28
Y29Y30Y31
Y18Y19
240
使用セル:392 使用メモリ:392×2Kb=784Kb
32ビット乗算器の実装実装方法:アルテラFPGA: Stratixを利用
微小メモリ・ブロックによるMLUTの実現
88
n値(AD対)
乗算回路での必要メモリ容量とクリティカル・パス・セル数
2(4)
3(6)
4(8)
必要メモリ容量
1M
500K
100K
784K
140K 210K 100
200
300
400
クリテイカル・パス・セル数
n値による最適化(乗算器の例)
FPGA 624K
89
0.18μm ROHMプロセスVDECシャトル・チップ
1767.54×1690.06μm2
チップ設計
設計:広島市立大学
Colum
n Decoder
Row Decoder
WordLine
DataLine
Address
AddressDataControlSignal
MLUT0,0
MLUT0,1
MLUT0,2
MLUT0,3
MLUT1,0
MLUT1,1
MLUT1,2
MLUT1,3
MLUT2,0
MLUT2,1
MLUT2,2
MLUT2,3
MLUT15,0
MLUT15,1
MLUT15,2
MLUT15,3
D-FF(3 pieces)
D-FF(3 pieces)
3
3 3 3 3
3
3 33 3
8
48 2
4
D-FF
(36 pieces)
D-FF
(36 pieces)48
256
Logic In/Out
Logic In/OutLogic In/Out
Note) Address Data pair (LADR,LDATA)
2 Port SRAMN×2N
For Mem
ory Operation
MADR
MDATA
LADR1LDATA1LADR2LDATA2
LADRNLDATAN
For Logic Operation
Address Data Pair
N
N
Port A Port B
マルチポート・メモリの活用
デバイス仕様デバイス・レイアウト
AD対:6 MLUT 16×4アレイ配置(メモリ容量 48Kbits)
MPLD: Memory Programmable Logic Device
90
0
0.5
1
1.5
2
2.5
Islan
dstyeF
PGA
AD pair
4
AD pair
6
AD pair
8
Logic area
switch area
wire area
評価
SoCに搭載可能な再構成可能テスト回路の可能性テスタオンチップの基礎検討
91
SRAMブロックを用いた論理構成再構成可能構造メモリ・セルを発展させ、SRAMブロック
の交互配置による再構成可能デバイスを提案した.
また,その最適化を行った.
チップの設計再構成可能デバイスの実現性の検証として、0.18μm
ROHMプロセスVDECシャトルによる試作設計を進めた.この手法によりSoC搭載での再構成可能テスト回路の
可能性が検討できた.
5章のまとめ
92
6章 結論
93
全体のまとめ (1) VLSIの設計とその製造におけるテスト技術
開発フローと事前テスタ・デバックの課題
仮想テスタ技術の必要性
仮想テスト技術の現状
汎用半導体テスタの構造 汎用半導体テスタの基本構造
汎用半導体テスタのアーキテクチャ
構造可変テスタの開発 FPGAを使った構造可変テスタの提案 TOB-Ⅰ,TOB-Ⅱの開発 構造可変テスタの応用
94
全体のまとめ (2) テスト・プログラム作成容易性の研究
テスタ言語調査とその分析
テスタ構造表現言語GTLの提案 テスタ選択ツールの応用と環境構築
インターネット・サービスの試行
テスタ・オン・チップの研究 再構成可能構造メモリ・セルの研究
SRAMブロックを用いた論理構成の研究と最適化 そのチップ設計によるSoC搭載の再構成可能テスト回
路の検討
テスタオンチップの基礎検討
95
96
ご清聴ありがとうございました。