...

修士論文 消費電力を考慮した マルチクロックドメインコアに対する 再構成

by user

on
Category: Documents
1

views

Report

Comments

Transcript

修士論文 消費電力を考慮した マルチクロックドメインコアに対する 再構成
NAIST-IS-MT0451074
修士論文
消費電力を考慮した
マルチクロックドメインコアに対する
再構成可能ラッパー設計に関する研究
田中 裕
2006 年 2 月 2 日
奈良先端科学技術大学院大学
情報科学研究科 情報処理学専攻
本論文は奈良先端科学技術大学院大学情報科学研究科に
修士 (工学) 授与の要件として提出した修士論文である。
田中 裕
審査委員:
藤原 秀雄 教授
(主指導教員)
関 浩之 教授
(副指導教員)
井上 美智子 助教授
(副指導教員)
消費電力を考慮した
マルチクロックドメインコアに対する
再構成可能ラッパー設計に関する研究∗
田中 裕
内容梗概
システムオンチップ (System-on-Chip,以下 SoC) をテストするためには、組み
込まれたコアが周辺回路や他のコアと独立した状態でテストされるために,(1)
テストパターン発生器およびテスト応答解析器 (ATE),(2) テストアクセス機構
(TAM),(3) ラッパーの設計が必要となる.また一般的に,SoC の各コアに対する
テスト系列長は長く,SoC のテスト実行には膨大な時間が必要となるのでテスト
実行時間を短縮する機構が必要である.更にテスト実行時の消費電力は通常動作
時よりも大きく,消費電力を考慮することも重要である.通信やディジタル信号
処理に用いられる SoC に搭載されるコアは,コア内部で複数のクロック周波数で
動作するマルチクロックドメインコアであるため、従来のシングルクロックドメ
インコア向けのラッパー設計法を適用することが出来ない.本研究では消費電力
制約下でテスト時間最小化を目的としたラッパー設計に関する研究を行う.本研
究では,SoC に搭載されるスキャン設計されたマルチクロックドメインコアに対
するラッパー設計法を提案する.提案するラッパーは,スキャンシフト時とキャプ
チャ時でその構成を切り替え可能な再構成可能ラッパーである.また,シフト時
のラッパー設計においてシフト時専用のクロックドメインを追加することで,消
費電力制約下において従来手法よりもシフト時間の削減が可能である.hCADT01
∗
奈良先端科学技術大学院大学 情報科学研究科 情報処理学専攻 修士論文, NAIST-ISMT0451074, 2006 年 2 月 2 日.
i
回路に対する評価実験では,従来法に比べ同じ電力制約下で同等か短いテスト実
行時間を達成可能であることを示し,提案手法の有効性を示す.
キーワード
システムオンチップ,再構成可能ラッパー,消費電力,マルチクロックドメイン
ii
Studies on Re-configurable Wrapper Design for
Multi-Clock Domain Cores
Under Power Constraints∗
Yuu Tanaka
Abstract
Embedded cores are isolated from the surronding logics and tested independently of other cores. Therefore, In order to make a System on Chip (SoC)
testable, the following three components for each core are necessary: (1) a pair
of test pattern source (TPS) and test response sink (TRS), (2) a test access
mechanizm (TAM), and (3) a wrapper. Moreover, it is important to shorten test
application time since each embedded core has a large number of test patterns
and SoCs have a long test application time. We must also consider the power
consumption during test application because it is much higher than the power
consumption during normal operation. Furthermore, SoCs for communication
and signal processing operate at multiple clock domains, which means that current wrapper design methods for single-clock domain cores cannot be applied as
is. This thesis presents a re-configurable wrapper design for scan-designed cores
in multi-clock domains. The proposed wrapper can be reconfigured between scanshift and capture operations. Futhermore, by adding additional clock domains
for shift operation, shift time can be reduced compared to the previous methods
under power constraints.
∗
Master’s Thesis, Department of Information Processing, Graduate School of Information
Science, Nara Institute of Science and Technology, NAIST-IS-MT0451074, February 2, 2006.
iii
Keywords:
System-on-Chip, Re-configurable Wrapper, Power Constraints, Multi-Clock Domain
iv
目次
第 1 章 序論
1
第 2 章 諸定義
5
2.1. 消費電力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.2. バーチャルテストバス . . . . . . . . . . . . . . . . . . . . . . . .
6
. . . . . . . . . . . . . . . . . . . .
7
2.3. マルチクロックドメインコア
第 3 章 従来のマルチクロックドメインコアラッパー
9
3.1. 従来手法 [DATE’04[14]] . . . . . . . . . . . . . . . . . . . . . . . .
9
3.2. 従来手法 [DAC’05[16]] . . . . . . . . . . . . . . . . . . . . . . . .
10
第 4 章 提案手法:再構成可能マルチクロックドメインコアラッパー
12
第 5 章 問題の定式化
15
第 6 章 ラッパー設計法
17
第 7 章 実験
23
第 8 章 結論
28
謝辞
29
参考文献
30
v
図目次
1.1
TAM モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2
IEEE1500 ラッパー . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1 バーチャルテストバス . . . . . . . . . . . . . . . . . . . . . . . .
6
. . . . . . . . . . . . . . . . . . . .
8
3.1 キャプチャウィンドウ . . . . . . . . . . . . . . . . . . . . . . . .
10
3.2 マルチクロックドメインコアラッパー [16] . . . . . . . . . . . . .
11
4.1 提案法アーキテクチャ:シフト時 . . . . . . . . . . . . . . . . . .
13
4.2 ラッチの追加 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
4.3 クロックツリーの追加 . . . . . . . . . . . . . . . . . . . . . . . .
14
6.1 提案アルゴリズムの概要 . . . . . . . . . . . . . . . . . . . . . . .
18
6.2 ステップ 2 終了後のラッパー設計例 . . . . . . . . . . . . . . . . .
19
6.3 ステップ 3:電力削減ラッパー再設計の概要 . . . . . . . . . . . .
21
6.4 電力削減ラッパー再設計例 . . . . . . . . . . . . . . . . . . . . . .
22
2.2 マルチクロックドメインコア
vi
表目次
7.1
hCADT01 回路 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
7.2 Pmax =1500,3000 シフト時間 [μ sec] . . . . . . . . . . . . . . . . .
26
7.3 Pmax =4500, ∞ シフト時間 [μ sec] . . . . . . . . . . . . . . . . . .
27
vii
第1章
序論
製造された VLSI 回路中の故障を検出することを VLSI のテストという.VLSI
のテストは,テスト生成とテスト実行の2つのプロセスからなる.テスト生成は,
VLSI の故障を検出するために印加するテストパターンを求めることである.テ
ストパターンとはそのパターンを入力することにより,回路中に故障がある場合
の出力値と無い場合の出力値を異なるものに出来る入力パターンのことである.
テスト実行とは生成されたテストパターンを VLSI に印加し,出力応答を故障の
ない場合の値 (期待値) と比較することにより行われる.その結果,出力応答と
期待値が異なるとき,故障を検出するという.近年の半導体技術の向上に伴い,
シリコンチップ上に搭載されるトランジスタ数とその集積度が向上している.そ
の結果,従来では複数の LSI を組み合わせることで構成していたシステムを,設
計済みのコアと呼ばれる機能ブロックを組み合わせることで一つの LSI 上でシ
ステムとして実現することが可能である.そのようなものをシステムオンチップ
(System-on-Chip,以下 SoC) という.SoC により,ボードに搭載するチップ数の
低減による実装面積の縮小化,実装コストの低減,高速化といった効果を持つ.
また設計済みのコアを再利用することで短期間で,大規模な回路の設計が可能に
なる.しかし,SoC のテストは従来のボード上に複数の LSI で構成していたシス
テムに比べ困難であり膨大な時間とコストが必要となるため,SoC に対するテス
ト容易化設計が必要不可欠である.
SoC においては,内部に埋め込まれたコアは SoC 外部からは直接制御,観測す
1
Core A SoC
TPS
TAM
Core B
Core A TAM TRS
Core B
Core B
図 1.1 TAM モデル
ることは出来ない.また,テスト対象コアは他のコアと論理的に切り離してテス
トされる.これより SoC のテストには,(1) テストパターン発生器およびテスト応
答解析器,(2) テストアクセス機構 (Test Access Mechanism,以下 TAM),(3) ラッ
パーが必要となる [1].本研究では,テストパターン発生器 (test pattern source,
以下 TPS) およびテスト応答解析器 (test response sink,以下 TRS) として自動テ
スト装置 (Automatic Test Equipment,以下 ATE) を用いるものとする.
TAM とは図 1.1 に示すように,TPS から出力されるテストパターンをコアへ
伝搬し,そのときのコアの応答出力を TRS まで伝搬する機能を提供するもので
ある.TAM は既存のコアおよびインターコネクトを利用しても良いし,新たに
TAM 用に回路要素を付加しても良い.更にはコア毎の TAM や複数コア共有の
TAM も可能である.既存のコアおよびインターコネクトを利用して TAM を実現
した場合は,新たに回路要素を付加する場合に比べて面積オーバーヘッドは小さ
くなるが,テストアクセス経路の実現およびその制御が複雑になる.また,複数
コアで共有する TAM を実現するとコア毎に TAM を実現する場合に比べて面積
オーバーヘッドは大きくなるが,複数コアを同時にテスト出来るためテスト実行
時間の削減が可能である.
2
これまでに,テストバス方式に基づく TAM[3][4][5],境界スキャン透明経路方
式に基づく TAM[6][7][8] と数多くの TAM が提案されている.
テストバス方式とは SoC の外部入力から外部出力へテストデータを伝搬するた
めのみの目的で新たにバスを付加し,更に各コアの入力にマルチプレクサを付加
し,通常動作時の入力とテスト実行時のバスからの入力を切り換えることでコア
間の接続状況とは無関係にコアへのテストアクセスを実現する方式である.この
方式の主たる目的はテスト実行時間の短縮であるため,テストバスおよび追加マ
ルチプレクサに因る面積/遅延オーバーヘッドの増加を招いてしまうという欠点
がある.
境界スキャン透明経路方式は,SoC 内の全てのコアの入出力にスキャンフリッ
プフロップ (以下スキャン FF) を挿入し,それらのスキャン FF を SoC の外部入力
から外部出力まで鎖状に接続しスキャンチェーンを構成する.このスキャンチェー
ンに因り,コア間の接続情報とは無関係に各コアの入出力値を SoC 外部から直接
的に制御/観測可能とすることでテストアクセスを実現する方式である.この方
式ではシフト動作によるテスト系列の印加/観測のためにテスト実行時間は長く,
さらにスキャン FF による面積オーバーヘッドが大きいという欠点がある.
透明経路方式とは,テストバス方式や境界スキャン方式とは異なり,コア内部の
回路要素やコア間のインターコネクトを利用して透明経路と呼ばれるテストデー
タを伝搬するための経路を実現し,テストアクセスを実現する方式である.コア
間の接続情報を用いるために,テストバス方式や境界スキャン方式に比べテスト
アクセス経路の実現およびその制御は複雑であるが,面積/遅延オーバーヘッド
は小さく,テスト実行時間も境界スキャン方式より短い.
ラッパーとは他のコアからテスト対象のコアを論理的に独立させ,通常動作と
TAM を利用したテスト動作とを切り替える機能を提供するものであり,図 1.2 に
示すようにコアを包むような形でラッパーが実現され,IEEE1500[2] として標準
化されている.TPS から TAM を通じて入力されるテストパターンをコア内部の
スキャンチェーンとラッパーの入力セルに伝搬し,1サイクル動作した応答出力
値をコア内部のスキャンチェーンとラッパーの出力セルに取り込み,応答出力値
を TAM から TRS へ伝搬する.テストの際にラッパーの入力セル,出力セル,ス
3
Scan Chain 0
Scan Chain 1
d[0:4]
From
TAM
Core A
䊤䉾䊌䊷
q[0:2]
To
TAM
図 1.2 IEEE1500 ラッパー
キャンチェーンへ効率的にテストパターンを伝搬させなければテスト実行時間の
増大を招いてしまうため,ラッパー設計法が重要となり,数多く提案されている
[9][10].TAM とラッパーを設計することでコアのテストは可能になるが,テスト
実行時間を短縮するためにはテストスケジュールを決定する必要がある.そのた
めに様々なテストスケジューリング手法が提案されている [11][12].
以下,2 章では本研究においての諸定義について説明する.3 章で従来のマル
チクロックドメインコアラッパーの説明,4 章で提案するマルチクロックドメイ
ンコアラッパーの説明,5 章で問題の定式化を行い,6 章でラッパー設計法の説
明をする.7 章で実験結果を示し,8 章でまとめを行う.
4
第2章
諸定義
2.1. 消費電力
CMOS トランジスタにおける消費電力には,静的なものと動的なものがある.
リーク電流や電源から連続的に流れ込むその他の電流が静的な消費電力を発生さ
せる.一方,動的な消費電力は短絡電流や負荷容量の充放電による出力のスイッ
チングで発生する.しかし,スイッチング動作による動的な電力消費に比べると
リーク電流などによる電力消費は微少である.
2つのテストパターン (Vk−1 ,Vk ) を回路に印加したときの CMOS 回路全体の消
費電力 Pactive は次式で近似される.
Pactive (k) =
1
2
· f · VDD
· Ci · Si (k)
2
(1)
ここで,Si (k) は,i 番目のゲートの出力値が (Vk−1 ,Vk ) を印加後,変化したとき
に 1,そうでなければ 0 となる関数であり,Ci は i 番目のゲートの負荷容量であ
る.この式を用いると平均消費電力 Pave ,ピーク消費電力 Ppeak はそれぞれ以下
の式で与えられる.
n
Pactive (k)/n
(2)
Ppeak = max(Pactive (k))
(3)
Pave =
k=1
k
ここで,n はテストパターン数である.本論文では,式 (1)∼(3) より平均消費電
力とピーク消費電力は共に周波数に比例するものと考える.また,本論文で提案
5
TPS
VTB
VTB
TAM
VTB
DIU
TAM
VTB
MIU
Core
TRS
図 2.1 バーチャルテストバス
する手法は,平均消費電力またはピーク消費電力のどちらを制約として考慮した
場合でも同様に取り扱うことが可能であるので,以降は単に消費電力とし,平均
消費電力とピーク消費電力を区別しない.
2.2. バーチャルテストバス
本研究では [18] で述べられたバーチャルテストバス (Virtual Test Bus,以下
VTB) という概念を利用する.図 2.1 にモデルを示す.これにより ATE より与
えられるテストパターンの周波数と TAM の本数を VTB 逆多重化回路 (VTB-
Demultiplexing Interface Unit,以下 VTB-DIU) と VTB 多重化回路 (VTB-Multiplexing
Interface Unit,以下 VTB-MIU) を用いることで変更することが可能になる.
TAM のビット幅を Wext ,動作周波数を fAT E とする.バーチャルコア (Virtual
Core,以下 VC) の数を n とし,各 V C Vi (1 ≤ i ≤ n) に接続する VTB のビット
幅を Wi ,その動作周波数を fV T B,i とすると以下の関係が成立する.
Wext × fAT E ≥
n
(Wi × fV T B,i )
(4)
i=1
この式を満たす範囲で各 VTB のビット幅および動作周波数を変更可能である.例
えば,ある V C Vi に接続する VTB が持つ周波数を
1
d
倍にすると式 (1) よりその
Vi の消費電力も d1 倍になる.しかし,この周波数の低下に伴い,VTB を用いな
い場合に同一の処理をする時間は d 倍となるが,ここで VTB を用いることで d
倍のビット幅を使用可能になるので時間の増加を防ぐことが可能である.
6
2.3. マルチクロックドメインコア
近年の通信端末やデジタル信号処理に用いられる SoC では,複数のクロックド
メインを持つコア (以下,マルチクロックドメインコア (図 2.2)) が多く使われて
いる [13].またコアなどの VLSI の動作周波数の高速化により縮退故障などの論
理故障のみならず遅延故障などのようなタイミング故障のテストも重要となる.
従って,コアに対してタイミング故障を対象としたテスト系列が供給される場合
も想定されるため,そのテスト系列を実動作速度でコアに印加し、その応答を
観測しなければならない.そのため,マルチクロックドメインコアに対するテス
トでは実動作速度によりテストを行い,さらにテスト時の各クロックドメイン間
のクロックスキューの問題を解消する手法が必要となる.本研究でのクロックス
キューの問題とは異なる周波数で動作するドメイン間におけるクロック信号のず
れによりそのドメイン間のデータ転送が正常に行われず,本来とは異なる値を保
持してしまうことを言う.従来のシングルクロックドメインコア向けのラッパー
設計法はこのクロックスキューの問題を考慮しておらず,マルチクロックドメイ
ンコアをテストする際には適用不可能であるため,マルチクロックドメインコア
向けのラッパー設計法が必要である.
7
clk_a
Scan Chain a1
Scan Chain a2
clk_b
Domain a
Scan Chain b1
Domain b
Scan Chain b2
clk_c
Scan Chain c1
Scan Chain c2
Domain c
Core
図 2.2 マルチクロックドメインコア
8
第3章
従来のマルチクロックドメインコア
ラッパー
3.1. 従来手法 [DATE’04[14]]
[14] で初めてマルチクロックドメインコアに対するラッパー設計法が提案され
た.このラッパーを図 3.2 に示す.これでは同一のクロックドメイン内のスキャン
チェーン,入力端子,出力端子,双方向端子を仮想的なコア (Virtual Core, 以下
VC) とみなし,その VC に対しラッパー (Virtual Core Wrapper,以下 VCW) を
設計している.これにより他のドメインとのデータ転送を無せるため,クロック
スキューの問題を解決可能としている.各 VCW には VTB が接続される.TAM
と VTB は動作周波数が異なるので VTB-DIU,VTB-MIU を通じてデータの転送
が行われる.スキャンコントロールブロック (Scan Control Block,以下 SCB) は,
VTB-DIU と VTB-MIU のデータ転送の制御,各 VC へのクロック信号,および
スキャンイネーブル信号を供給しキャプチャウィンドウ [15] の制御を行う.
スキャンコントロールブロックよりシフト時には各 VCW へ同一のクロックが
供給されることでシフト動作をし,キャプチャ時には各 VCW へそれぞれの実動
作速度のクロックが供給され,キャプチャウィンドウを用いることで実動作速度
テストを実現する.
9
䉨䊞䊒䉼䊞䉡䉞䊮䊄䉡
TCK
Launch
Capture
Gated_clk[1]
Scan_en[1]
Launch
Capture
Gated_clk[2]
Scan_en[2]
Launch Capture
Gated_clk[3]
Scan_en[3]
図 3.1 キャプチャウィンドウ
3.2. 従来手法 [DAC’05[16]]
[16] において [14] よりシフト周波数の決定についてより柔軟なラッパー設計法
が示された.アーキテクチャは [14] と同じ図 3.2 に示すものと同一であるが SCB
内部に変更が加わっている.キャプチャ時の動作は [14] と同じであるが,シフト
時の動作が [14] と異なる.[16] においては各 VC へ異なるシフト周波数を供給す
ることが可能な SCB を設計している.それによりシフト時のクロックスキュー
の問題を解決したまま消費電力制約下でのシフト時間を削減可能である.
10
Scan Chain a1
VTB
Scan Chain a2
VC1
VTB
VTB-MIU
TAM
-in
VTB-DIU
VCW1
Scan Chain b1
Scan Chain b2
VC2
VCW2
Scan Chain c1
Scan Chain c2
VC3
VCW3
Sel-d
clk[1…3]
Scan_en[1…3]
Sel-m
Scan Control Block
図 3.2 マルチクロックドメインコアラッパー [16]
11
TAM
-out
第4章
提案手法:再構成可能マルチクロック
ドメインコアラッパー
本論文では,シフト時とキャプチャ時で異なる VC を形成する再構成可能なラッ
パーを提案する.図 4.1 に提案手法におけるシフト時のマルチクロックドメイン
コアラッパーを示す.異なるドメインに属するスキャンチェーンを用いて VC を
形成し,各 VC 毎に異なる周波数で動作するラッパーを設計することでより柔軟
なラッパー設計が可能になり消費電力制約下で短いシフト時間が達成可能である.
異なるドメインに属するスキャンチェーンを用いて VC を形成しラッパーを設計
した場合にはクロックスキューの問題が発生する場合がある.提案手法では,ラッ
チを追加してクロックスキュー問題を解決する [17].図 4.1 ではスキャンチェー
ン a2 と b1,b2 と c1 でドメインが異なるので,それらの間にスキューを吸収す
るラッチが必要となる.a2 と b1 の間に追加されるラッチを図 4.2 に示す.さら
に本手法では同一ドメイン内のスキャンチェーンを複数の周波数で動作させるこ
とを考える.この際に既存のクロックツリーでは 1 種類の周波数しか供給できな
い.クロックツリーとは入力されたクロックを各フリップフロップへ伝搬するた
めの経路のことである.一つのドメイン内には一つのクロックツリーしか存在し
ないため,シフト時専用のクロックを供給するためには新たにクロックツリーを
追加することが必要である.それにより同一ドメイン内のスキャンチェーンを異
なる周波数で動作可能とする.図 4.3 では図 4.1 のスキャンチェーン b2 のクロッ
12
Scan Chain a1
Scan Chain a2
VTB-DIU
TAM
-in
Scan Chain b1
VTB-MIU
VTB
VTB
VC1
VCW1
TAM
-out
Scan Chain b2
Scan Chain c1
Scan Chain c2
VC2
VCW2
Sel-d
clk[1,2]
Scan_en[1,2]
Sel-m
Scan Control Block
図 4.1 提案法アーキテクチャ:シフト時
ク入力に対してマルチプレクサを挿入することにより b1 と b2 を異なる周波数で
動作可能としている.
本研究ではキャプチャ時に関しては [16] と同一のキャプチャウィンドウを用い
る.キャプチャウィンドウ内では実動作速度でシフトする必要があり,各ドメイ
ン毎にラッパーを設計する必要がある.しかし,スキュードロードテストにおい
ては実動作速度でのシフト動作が一度のみしか必要ないのでキャプチャ時のラッ
パー設計に因らずテスト時間は一定である.またキャプチャウィンドウに必要な
時間はシフト時間に比べて短いため,以後本論文ではシフト時のラッパー設計法
についてのみ提案する.
13
clk_a
Scan Chain a2
Latch
EN
clk_b
Scan Chain b1
図 4.2 ラッチの追加
clk_a
Scan Chain b1
clk_b
Scan Chain b2
図 4.3 クロックツリーの追加
14
VC1
VC2
第5章
問題の定式化
消費電力制約下において,シフト時間の最小化を目的としたシフト時のマルチ
クロックドメインコアラッパー設計を以下の最適化問題として定式化する.
[定義 1] マルチクロックドメインコアラッパー設計問題
入力
• ATE 周波数 fAT E
• TAM 幅 Wext
• 最大許容消費電力量 Pmax
• シフト時に使用可能な周波数の集合
F = {f1 , f2 , f3 , , , fm |fi = 2 × fi+1 , i ∈ 1, , , m − 1}
• 入力端子数 Nin
• 出力端子数 Nout
• 双方向端子数 Nbi
• スキャンチェーン数 Nsc
• 各スキャンチェーン i (1≤i≤Nsc ) に対して,
15
– 長さ li
– fAT E で動作した場合の消費電力量 pi
出力
• VC の集合 V = {V1 , V2 , V3 , , , Vk }
• 各 VC Vj ∈ V に対して
– シフト周波数 fV T B,j
– VTB のビット幅 Wj
– ラッパー設計
目的
• シフト時間の最小化
制約
• VTB のビット幅とシフト周波数に関する制約
Wext × fAT E ≥
|V |
(Wj × fV T B,j )
j=1
• 使用可能なシフト周波数に関する制約
各 VC Vj ∈ V に対して fV T B,j ∈ F
• 消費電力量に関する制約
VC Vj に属するスキャンチェーンの集合を SCj とした時,
Pmax ≥
|V |
j=1 i∈SCj
16
pi ×
fV T B,j
fAT E
第6章
ラッパー設計法
本章ではマルチクロックドメインコアに対するシフト時のラッパー設計法につ
いて述べる.シフト時間最小化のためには,マルチクロックドメインコアを構成
する全てのスキャンチェーン,入力端子,出力端子,双方向端子を 1 つの VC と
し,その VC のシフト周波数を使用可能なシフト周波数の最大値としてラッパー
を設計することが望ましい.そこで提案するラッパー設計法では,まず全てのス
キャンチェーン,入力端子,出力端子,双方向端子で 1 つの VC を形成し,使用
可能なシフト周波数の最大値を用いることとする (ステップ 1).そして,その VC
と周波数を用いてシフト時間最小化を目的としたラッパー設計を行う (ステップ
2).しかしながら,使用可能なシフト周波数の最大値のみを用いてラッパーを設
計すると,与えられた電力制約を満たさない場合が存在する.この場合,提案手
法では設計されたラッパーに対して 1 ビットの VTB とその VTB に属するスキャ
ンチェーン,入力端子,出力端子,双方向端子を VC から削除する.削除したス
キャンチェーン,入力端子,出力端子,双方向端子で新たな VC を形成し,その
VC に対してより低い周波数で動作するラッパーを再設計することで消費電力を
削減する (ステップ 3).この際,シフト時間の増加が最も少ない VTB を選択す
ることで短いシフト時間を達成する.この手続きを電力制約を満たすまで繰り返
す.図 6.1 に提案するアルゴリズムの概要を示し,その詳細を以下に示す.
ステップ1:初期設定
VC の集合 V = {V1 } とし,V1 を全てのスキャンチェーン,入力端子,出力端
17
㐿ᆎ
ೋᦼ⸳ቯ
䉲䊐䊃ᤨ㑆ఝవဳ
䊤䉾䊌䊷⸳⸘
㪧㩷㻡 㪧㫄㪸㫏
㪥
㪰
㔚ജ೥ᷫᜰะဳ
䊤䉾䊌䊷ౣ⸳⸘
⚳ੌ
図 6.1 提案アルゴリズムの概要
子,双方向端子で形成する.V1 のシフト周波数 fV T B,1 を f1 とし,W1 を以下の式
を満たす最大の整数とする.式を満たす W1 が存在しない場合にはシフト周波数
fV T B,1 を下げて同様の処理を繰り返す.
Wext × fAT E ≥ (W1 × fV T B,1 )
(5)
ステップ2:シフト時間優先型ラッパー設計
VC V1 に対して消費電力制約を考慮せずに [9] のアルゴリズムを用いてラッパー
を設計する.図 6.2 にステップ 2 終了時点でのラッパー例を示す.
この例では VC 数が 1,そのビット幅 W1 = 3,周波数 fV T B,1 = 100M Hz に対
して 100,100,80,70,60,40,40 の長さのスキャンチェーンで構成されるコア
に対してラッパーを設計した結果を示す.ここでラッパー設計後の V C Vi に接続
する V T B V T Bi,j (1 ≤ j ≤ |Wi |) に属するスキャンチェーンの集合,入力端子の
SC
in
out
bi
, Si,j
, Si,j
, Si,j
とする.
集合,出力端子の集合,双方向端子の集合をそれぞれ Si,j
SC
このとき,Si,j
に属するスキャンチェーンの長さの総和を Li,j とすると Li,j は以
18
Time(㱘sec)
VTB1.1 100MHz
100ff
VTB1.2 100MHz
100ff
40ff 40ff
80ff
70ff
VTB1.3 100MHz
60ff
V1
図 6.2 ステップ 2 終了後のラッパー設計例
下の式で表すことが出来る.
Li,j =
ls
(6)
SC
s∈Si,j
式 (6) を用いると Vi に対するシフト時間 Ti と消費電力量 Pi は以下の式で求め
られる.
in
bi
out
bi
| + |Si,j
|, Li,j + |Si,j
| + |Si,j
|}
max{Li,j + |Si,j
Ti = max {
}
1≤j≤Wi
fV T B,i
Pi =
Wi
ps ×
j=1 s∈SC SC
i,j
fV T B,i
fAT E
(7)
(8)
また,マルチクロックドメインコア全体に対するシフト時間 T と消費電力量 P は
以下の式で求められる.
T = max {Ti }
1≤i≤|V |
P =
|V |
Pi
(9)
(10)
i=1
図 6.2 の例では,各スキャンチェーンが 100MHz で動作した場合の消費電力量
をそのスキャンチェーンの長さとしすると,消費電力量 P = 490,シフト時間
T = 180µsec となる.
そして P ≤ Pmax ならば終了.そうでなければステップ 3 へ移る.
ステップ 3:電力削減指向型ラッパー再設計
図 6.3 に本ステップの概要を示す.fV T B,i > fm を満たす各 Vi ∈ V に接続す
る各 VTB V T Bi,j (1 ≤ j ≤ Wi ) に対して,以下の処理を行う.V T Bi,j を
19
fV T B,i
2
で動作する 2 本の VTB とし,その 2 本の VTB を用いて V T Bi,j に属していた
SC
in
out
bi
Si,j
, Si,j
, Si,j
, Si,j
に対するラッパーを再設計し,再設計後の V T Bi,j のシフト時
間 Ti,j を求める.その場合の消費電力の削減量 Pi,j は以下の式で表される.
Pi,j =
s∈SCi,j
ps ×
fV T B,i
fAT E
(8)
2
Tmin = mini,j {Ti,j } とした時,以下の条件を満たす V T Bi,j を選択する.
• Tmin > T ならば,Ti,j が最小
• Tmin ≤ T ならば,Ti,j ≦ T かつ Pi,j が最大
選択した Vi の VTB のビット幅 Wi を 1 減らし,選択した V T Bi,j に接続されてい
SC
in
out
bi
, Si,j
, Si,j
, Si,j
を Vi から削除する.次に周波数
た Si,j
fV T B,i
2
で動作する V C を Vh
とする.Vh が存在しない場合には,新たに Vh を生成し,fV T B,h =
SC
in
out
bi
0 とする.Wh を 2 増やし,削除された Si,j
, Si,j
, Si,j
, Si,j
fV T B,i
,Wh
2
=
を Vh に追加し,追加さ
れた要素に対するラッパーを再設計後のものに更新する.また,P = P − Pi,j と
し,Tmin > T ならば T = Tmin として,消費電力量とシフト時間を更新する.上
記の手続きは P ≤ Pmax を満たすまで繰り返し行う.
図 6.2 のラッパー設計例に対して,この処理を実行した例を図 6.4 に示す.この
例では 100MHz で動作する V1 内の各 V T B1,2,3 およびそれに属するスキャンチェー
ンを V1 から削除し,新たに 50MHz で動作する V2 を作成し,2 ビットのラッパー
を設計する.この場合,(a)(b) よりシフト時間の増加量が少ない (c) が選択され
る.このときシフト時間 T = 180,消費電力量 P = 415 となり,シフト時間を増
加させることなく消費電力のみを減少させることに成功している.
20
㐿ᆎ
㪭㪚 㪭㫀䉕ㆬᛯ
㪭㪫㪙㫀㪃㫁䉕ㆬᛯ䈚ಽഀ
䊤䉾䊌䊷ౣ⸳⸘䈚䈢႐ว䈱
㪫㫀㪃㫁 㪧㫀㪃㫁䈱⸘▚
㪰
ᧂಣℂ䈱㪭㪫㪙䈏ሽ࿷
㪥
㪰
ᧂಣℂ䈱㪭㪚䈏ሽ࿷
㪥
ㆬᛯ䈜䉎㪭㪚㪃
㪭㪫㪙䉕᳿ቯ
㪭㪚䈱ᦝᣂ
䊤䉾䊌䊷ౣ⸳⸘
⚳ੌ
図 6.3 ステップ 3:電力削減ラッパー再設計の概要
21
Time(㱘sec)
100ff
VTB1.1䉕ಽഀ VTB1.1-a 50MHz
60ff
VTB1.1-b 50MHz
P1,1= 80
T1,1=200 (㱘sec) VTB1.2 100MHz
V2
100ff
80ff
VTB1.3 100MHz
40ff 40ff
70ff
V1
(a)
Time(㱘sec)
100ff
VTB1.2䉕ಽഀ VTB1.1 100MHz
VTB1.2-a 50MHz
P1,2= 90
T1,2=200 (㱘sec) VTB1.2-b 50MHz
40ff
VTB1.3 100MHz
80ff
60ff
100ff
40ff
V1
V2
70ff
(b)
Time(㱘sec)
VTB1.3䉕ಽഀ VTB1.1 100MHz
VTB1.2 100MHz
P1,3= 75
T1,3=180 (㱘sec) VTB1.3-a 50MHz
VTB1.3-b 50MHz
100ff
100ff
60ff
40ff 40ff
80ff
70ff
(c)
図 6.4 電力削減ラッパー再設計例
22
V1
V2
第7章
実験
本章では提案するラッパー設計法をマルチクロックドメインコア hCADT01[16]
に適用した評価実験を行い,従来手法と比較した結果を示す.提案手法を C 言語で
実装し,Pentium3 800MHz 512MB メモリ搭載の計算機上で実験を行った.解を求
めるための実行時間は全てにおいて 1 秒以内で解を求めることが出来た.表 7.1 に
実験対象である hCADT01 コアの特性を示す.表 7.2,7.3 にこの回路に対する実験
“Nout ”,
“Nbi ”,
“Nsc ”,
“li ”はそれぞれ,入力端子数,出力端
結果を示す.
“Nin ”,
子数,双方向端子数,スキャンチェーン数,各スキャンチェーンの長さを示す.本実
験では,各スキャンチェーンの fAT E で動作した場合の消費電力量はそのスキャン
“Pmax ”は許容電力量を表し,
チェーンの長さとした.
“T AM ”は TAM 幅を表し,
それを 1500,3000,4500,∞と変化させた.また,本実験では fAT E = 100M Hz
とし,使用可能な周波数の集合を F = {100M Hz, 50M Hz, 25M Hz, 12.5M Hz}
とした.
“ DAC’05 ”および“ 本手法 ”は各条件に対するシフト時間 (単位:μ sec)
を表す.
全ての場合において従来法以下のシフト時間を達成している.特に Wext = 12,
Pmax =∞の場合に 22.17 %の削減率を達成した.これは,ドメインに関わらずス
キャンチェーンを自由に接続するラッパー設計を可能としたことの効果だと考え
られる.削減率が 0 %のところが各所にあるが,これは従来法,提案法共にシフ
ト時間の下界に達しているため,それ以上の削減を達成することが出来ないと考
えられる.また提案手法の実現のためにはクロックスキュー問題を解決するため
23
のラッチ,新たなドメインを追加するためのマルチプレクサ,およびシフト時と
キャプチャ時のラッパー再構成のためのマルチプレクサの追加が必要となる.追
加されるラッチとマルチプレクサの面積オーバーヘッド量を比較した.FF のエ
リア面積を 7,ラッチのエリア面積を 5,マルチプレクサのエリア面積を 4 とし
た.各スキャンチェーンへのクロック入力 1 箇所を切り替えることでそのスキャン
チェーンが持つ全ての FF へのクロック信号の切り替えが可能であるとした.本
手法に必要なオーバーヘッド量は hCADT01 回路面積と比較してどの条件下にお
いても 0.01 %以下で実現可能であるため,面積オーバーヘッドは小さいと言える.
24
周波数 (MHz)
Nin
Nout
200
109
32
表 7.1 hCADT01 回路
Nbi Nsc
72
16
li
168 168 166 166 163 163 163 163 162
162 162 162 151 151 151 151
133
144
67
72
3
150 150 150
120
89
8
72
10
93 93 93 93 93 93 93 93 93 93
75
111
31
72
6
219 219 219 219 219 219
50
117
224
72
5
521 521 521 521 521
33
146
68
72
11
82 82 82 81 81 81 18 18 17 17 17
25
15
30
72
4
10 10 10 10
25
表 7.2 Pmax =1500,3000 シフト時間 [μ sec]
TAM
Pmax =1500
DAC’05 本手法
Pmax =3000
削減率
DAC’05 本手法
削減率
1
116.04
97.28 16.17%
116.04
97.24 16.20%
2
59.88
48.64 18.77%
58.02
48.64 16.17%
3
41.68
41.68
0.00%
38.36
32.42 15.48%
4
29.76
26
12.63%
29.76
24.32 18.28%
5
25.04
20.84 16.77%
23.24
19.46 16.27%
6
20.84
20.84
0.00%
20.84
16.24 22.07%
7
20.84
20.84
0.00%
17.76
13.92 21.62%
8
20.84
20.84
0.00%
14.48
12.48 13.81%
9
20.84
20.84
0.00%
13
10.82 16.77%
10
20.84
20.84
0.00%
12.08
10.42 13.74%
11
20.84
20.84
0.00%
11.62
10.42 10.33%
12
20.84
20.84
0.00%
10.42
10.42
0.00%
13
20.84
20.84
0.00%
10.42
10.42
0.00%
14
20.84
20.84
0.00%
10.42
10.42
0.00%
15
20.84
20.84
0.00%
10.42
10.42
0.00%
16
20.84
20.84
0.00%
10.42
10.42
0.00%
26
表 7.3 Pmax =4500, ∞ シフト時間 [μ sec]
TAM
Pmax =4500
DAC’05 本手法
Pmax = ∞
削減率
DAC’05 本手法
削減率
1
116.04
97.22 16.22%
116.04
97.22 16.22%
2
58.02
48.62 16.20%
58.02
48.61 16.22%
3
38.36
32.42 15.48%
38.36
32.42 15.48%
4
29.01
24.32 16.17%
29.01
24.31 16.20%
5
23.24
19.46 16.27%
23.24
19.45 16.31%
6
19.2
16.22 15.52%
19.18
16.21 15.48%
7
15.63
13.9
11.07%
15.63
13.89 11.13%
8
14.88
12.16 18.28%
14.88
12.16 18.28%
9
12.78
10.81 15.41%
12.78
10.81 15.41%
10
11.62
10.42 10.33%
11.62
9.73 16.27%
11
10.42
10.42
0.00%
10.42
8.84 15.16%
12
10.42
10.42
0.00%
10.42
8.11 22.17%
13
10.42
10.42
0.00%
9.59
7.48 22.00%
14
8.88
8.76
1.35%
8.88
6.95 21.73%
15
8.76
8.76
0.00%
7.49
6.49 13.35%
16
7.44
7.44
0.00%
7.44
6.08 18.28%
27
第8章
結論
本論文では,システムオンチップに搭載されるスキャン設計されたマルチクロッ
クドメインコアに対するラッパー設計法を提案した.提案手法では,コアに関す
る制約としてテストに使用可能なバーチャルテストバスのビット幅とシフト周波
数に関する制約,使用可能なシフト周波数に関する制約,消費電力量に関する制
約を考え,テスト時間最小化を目的としたラッパー設計を出力する.提案したラッ
パーは,スキャンシフト時とキャプチャ時でその構成を切り替え可能な再構成可
能ラッパーである.シフト時のラッパー設計において,ラッチを用いたクロック
スキュー解消法を導入し,さらにシフト時専用のドメインを追加することで消費
電力制約下でのシフト時間の削減が可能である.
マルチクロックドメインコア hCADT01 回路に対する評価実験では,従来法よ
り約 10 %∼20 %のシフト時間の削減が可能であることを示した.しかし,提案
手法ではテスト用の新たなドメイン追加のために新たなクロックツリーも追加す
る必要がある.クロックツリー追加のためにはコア全体の再設計が必要になる場
合がある.したがって再設計のコストを抑えるために追加可能なクロックツリー
数を制限した手法を提案することが今後の課題として挙げられる.
28
謝辞
本研究の機会を与えて下さるとともに,本研究の全過程を通じて,絶えず懇切
な御教示,御援助を賜わりました藤原秀雄教授に心から感謝の意を表します.
本研究に際して,有益な御指導を頂きました関浩之教授に深く感謝致します.
本研究に際して,日頃より貴重な御指導,御討論頂きました井上美智子助教授
に心から感謝致します.
本研究に際して,日頃より有益な御指導,御討論頂きました大竹哲史助手に心
から感謝致します.
本研究の全過程において,折に触れて貴重な御討論,御助言を頂き,懇切丁寧に
直接的な御指導を頂きました米田友和助手に心からの敬意と感謝の意を表します.
最後に,本研究を進めるにあたり,日頃より御援助,御協力を頂きました吉川
祐樹氏,尾野佐恵子秘書をはじめといたしますコンピュータ設計学講座の諸氏に
深く感謝致します.
29
参考文献
[1] Y.Zorian, E.J.Marinissen and S.Dey,“ Testing embedded core-based system
chips, ” Proc. IEEE International Test Conference (ITC), pp130-143, 1998
[2] E.J.Marinissen, R.Kapur, M.Lousberg, T.McLaurin, M.Ricchetti and
Y.Zorian, “ On IEEE P1500’s standard for embedded core test, ”JETTA
Vol.18, Numbers 4/5, August/October, 2002.
[3] P.Varma and S.Bhatia,“ A structured test re-use methodology for core-based
system chips, ”Proc. IEEE International Test Conference (ITC), pp294-302,
1998
[4] S.Bhatia, T.Gheewala and P.Varma, “ A unifying methodology for intellectual property and custom logic testing, ”Proc 1996 Int. Test Conf., pp.639648, Oct. 1996.
[5] E.J.Marinissen, et al.“ A structured and scalable mechanism for test access
to embedded reusable cores, ” Proc. IEEE International Test Conference
(ITC), pp284-293, 1998
[6] M.Nourani and C.A.Papachristou, “ Structural fault testing of embedded
cores using pipelining, ”JETTA, pp284-293, 1998
[7] I. Ghosh, N.K.Jha and S.Dey, “ A low overhead design for testability and
test generation technique for core-based systems-on-a-chip, ” IEEE Trans.
on CAD, Vol.18, No.11, pp.1661-1676, Nov. 1999.
30
[8] T.Yoneda, T.Uchiyama and H.Fujiwara,”Area and time co-optimization for
system-on-a-chip based on consecutive testability, ”IEEE International Test
Conference (ITC), pp.415-422, Sep. 2003.
[9] V. Iyengar, K. Chakrabarty, and E. J. Marinissen,“ Co-Optimization of Test
Wrapper and Test Access Architecture for Embedded Cores, ” Journal of
Electronic Testing: Theory and Applications, Vol.18, No.2, pp.213-230, Apr.
2002.
[10] S. Koranne. A Novel,“ Reconfigurable wrapper for testing of embedded corebased SOCs and its associated scheduling algorithm, ”Journal of Electronic
Testing: Theory and Applications, Vol.18 No.4 pp.415-434, Aug. 2002.
[11] K.Chakrabarty,“ Design of system-on-a-chip test access architectures using
integer linear programming, ”Proc.18th VLSI Test Symp., pp.127-134, May
2000.
[12] V.Iyengar, K.Chakrabarty and E.J.Marinissen, “ On using rectangle packing for SOC wrapper/TAM co-optimization, ”Proc. 20th VLSI Test Symp.,
pp.253-258, Apr. 2002.
[13] B. Vermeulen, S. Oostdijk, and F. Bouwman,“ Test and debug strategy of the
PNX8525 NexperiaTM digital video platform system chip, ”In Proceedings
IEEE International Test Conference (ITC), pp.121-130, Oct. 2001.
[14] Q.Xu and N.Nicolici,“ Wrapper design for testing IP cores with multiple
clock domains, ”Design Automation and Test in Europe (DATE), pp.416421, Paris, France, Feb. 2004
[15] S.Bhawmik,“ Method and apparatus for built-in self-test with multiple clock
circuits, ”U.S. Patent 5680543, Lucent Technologies Inc., Murray Hill, N.J.,
Oct. 21, 1997.
31
[16] Q.Xu, N.Nicolici and K.Chakrabarty,“ Multi-frequency wrapper design and
optimization for embedded cores under average power constraints, ”In Proceedings (DAC), 2005
[17] Mentor
Graphics
Corporation“ Designs
with
Multiple
Clock Domains:Avoiding Clock Skew and Reducing Pattern Count Using
DFTadvisor and FastScan, ” March 2001 http://www.mentor.com/dft
[18] A. Sehgal, V. Iyengar and K. Chakrabarty,“ SOC test planning using virtual
test access architectures, ”IEEE Transactions on VLSI Systems, vol. 12,
pp.1263-1276, December 2004.
32
Fly UP