Comments
Description
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