平成
20
年度
学士学位論文
自己タイミング型超高速
BIST
回路の
LSI
実装
LSI Implementation of
Self-Timed Ultra High Speed BIST Circuit
1090384
宮元 裕樹
指導教員
酒居 敬一
2009
年
3
月
5
日
要 旨
自己タイミング型超高速
BIST
回路の
LSI
実装
宮元 裕樹
近年,情報社会の基盤技術であるLSIの大規模化・高速化が著しく進行している.しか し,大規模化・高速化に伴い消費電力の増加,設計の複雑化,動作検証の困難化が発生して いる.主な原因として,現在のLSIの多くは全域的なクロック信号を元に動作を行うクロッ ク同期型アーキテクチャがある.一方でデータ駆動型プロセッサ(DDP)で用いられている 自己タイミング型パイプラインでは,全域的なクロック信号を使用しないため消費電力の削 減や設計の局所化ができる.しかし,自己タイミング型パイプラインを用いても動作検証の 困難化を軽減することはできない.一般的なクロック同期回路では,テスト容易化設計とし てスキャンテストやBISTが用いられているが,非同期回路である自己タイミング型パイプ ラインではその手法をそのまま用いることはできない. 本研究では,自己タイミング型パイプラインを用いたRing-STP回路に対してテスト容 易化設計の一種である組み込み自己テスト(BIST)回路の実装を提案する.そして,BIST 回路全体をLSI上に実装し,動作検証や有効性をシミュレーションにて評価する.シミュ レーションには,e-shuttle社の65nm 12Layer CMOSスタンダードセルライブラリを用 い,シミュレータにはCadence社のVerilog-XLを用いた.そして,シミュレーション結果 から100MHz動作時で16M Packet/secのスループットを達成できることを示した.また, 回路規模はLSI全体の約5分の1と改善の余地が存在することを示す.キーワード 自己タイミング型パイプライン,自己タイミング型データ駆動プロセッサ,テ スト容易化設計,BIST
Abstract
LSI Implementation of
Self-Timed Ultra High Speed BIST Circuit
Hiroki MIYAMOTO
Recently, a large scale and speed-up of LSI has been accelerated rapidly. However, power consumption is increased making to a large scale and speeding up, and the growing difficulty of complication and the operation verification of the design is generated. The major cause is synchronous architecture that operates based on global area clock signals. On the other hand, the Data-Driven Processor (DDP) can reduce power consumption, and the design can be localized. Because global area clock signals are not used. However, even if the Self-Timed Pipeline is used, the growing difficulty of the operation verification cannot be reduced. In a clock synchronous circuit, the operation verification has been simplified as a Design for Testability(DFT). On the other hand, DFT cannot be used with STP.
In this dissertation, the main suggestion is the circuit design of the Built-in Self-Test(BIST) for the Self-Timed Pipeline. In addition, the evaluations of effectiveness are evaluated by the simulation. The library used for the simulation is e-shuttle 65nm 12Layer CMOS standard cell library. In addition, the simulator used Verilog-XL of the Cadence Design Systems. The results of the simulation when the circuit operated at 100MHz is 16M Packet/sec. Moreover, the circuit size was about 1/5 of the LSI.
目次
第1章 序論 1 第2章 テスト容易化設計 4 2.1 緒言. . . 4 2.2 自己タイミング型パイプライン . . . 4 2.2.1 動作原理と特徴 . . . 4 2.2.2 STPの実装例 . . . 6 2.3 テスト容易化設計 . . . 8 2.3.1 スキャンテスト . . . 8 2.3.2 BIST . . . 9 2.4 テスト容易化設計の非同期回路に対する親和性 . . . 10 2.5 結言. . . 11 第3章 自己タイミング型BIST回路 12 3.1 緒言. . . 12 3.2 システム構成 . . . 12 3.3 BIST部 . . . 13 3.3.1 Generator部 . . . 13 3.3.2 Comparator部 . . . 17 3.3.3 STPFIFO部 . . . 19 3.4 LSI実装 . . . 20 3.5 結言. . . 21 第4章 評価 22 4.1 緒言. . . 22目次 4.2 検証・評価条件 . . . 22 4.3 動作検証 . . . 23 4.4 性能評価 . . . 24 4.5 回路規模 . . . 24 4.6 結言. . . 26 第5章 結論 27 謝辞 30 参考文献 31
図目次
1.1 トランジスタ数と動作周波数の変化 . . . 1 2.1 STPの構成 . . . 5 2.2 STPのタイミングチャート . . . 6 2.3 DDMPの構成 . . . 7 2.4 スキャンテスト . . . 8 2.5 BIST . . . 9 3.1 システム構成 . . . 12 3.2 BIST部 . . . 14 3.3 Generator部 . . . 15 3.4 VHSのステートマシン . . . 16 3.5 VDの構成 . . . 16 3.6 Comparator部 . . . 17 3.7 POWERLOAD . . . 18 3.8 STPFIFOの構成 . . . 19 3.9 LSI全体のレイアウト . . . 20 4.1 シミュレーション結果(Generator) . . . 23 4.2 シミュレーション結果(Comparator) . . . 23表目次
4.1 回路規模(セル単体面積) . . . 24 4.2 回路規模(配置配線後面積) . . . 25 4.3 回路規模(セル数) . . . 25
第
1
章
序論
近年,情報化社会の基盤技術であるLSIの大規模化・高速化が著しく進行している.1970 年代から 2000年代のLSIに使用されているトランジスタ数と動作周波数を図 1.1に示す. 例えば1970年代に開発されたLSIでは動作周波数400kHz,トランジスタ数2,300個ほど であったが,近年では動作周波数が 3GHzを超えトランジスタ数も8億個を超える状態で ある.これにより,より大量の情報を処理することが可能になった. 㪈 㪈㪇 㪈㪇㪇 㪈㪇㪇㪇 㪈㪇㪇㪇㪇 㪈㪇㪇㪇㪇㪇 㪈㪇㪇㪇㪇㪇㪇 㪈㪇㪇㪇㪇㪇㪇㪇 㪈㪇㪇㪇㪇㪇㪇㪇㪇 㪈㪇㪇㪇㪇㪇㪇㪇㪇㪇 㪈㪐㪎㪈 㪈㪐㪏㪌 㪈㪐㪐㪎 㪉㪇㪇㪏 㪰㪼㪸㫉㫊 㪫 㫉㪸 㫅 㫊㫀 㫊㫋 㪼 㫉㫊 㪇㪅㪈 㪈 㪈㪇 㪈㪇㪇 㪈㪇㪇㪇 㪈㪇㪇㪇㪇 㪝 㫉㪼 㫈㫌 㪼 㫅 㪺 㫐㩷 㩿㪤 㪟 㫑㪀Frequency
Transistors
図1.1 トランジスタ数と動作周波数の変化 しかし,大規模化・高速化に伴い新たに次のような問題が発生している.I. 消費電力の 増加,II.設計の複雑化,III.動作検証の困難化.I.消費電力の増加では動作周波数の高速 化及び製造プロセスルールの微細化により動的・静的な消費電力が増加している [1].続 くII. 設計の複雑化では近年のLSIは製造プロセスルールの微細化により,System On aChip(SoC)などに代表されるような一つのLSIチップに対して複数の機能を持たせるよう になっている.それに伴ってLSI全域的なクロック信号の制御やクロックドメインの分割な ど設計が複雑化する傾向にある.最後に III.動作検証の困難化では,上記の2.でも挙げた SoCなどによって動作検証に必要な出力信号の組み合わせ数の増加や,LSIの高速化に伴い 外部からの測定が困難となっている. これに対して,大域的なクロックを必要としない自己タイミング型パイプライン (Self-Timed Pipeline : STP)が提案されている [2] [3].STP では,隣接するパイプラインス テージ間で,データ転送要求信号(SEND信号) 及びデータ転送許可信号(ACK信号)の授 受(ハンドシェイク)によりステージ間のデータ転送を行う.この仕組みによりクロック同 期型パイプラインのような全域的なクロック配信による制御ではなく,隣接するステージの みのクロック配信によって制御されるため,処理を行っているステージのみにクロックが供 給されるため電力消費が局所化される特徴を持っている.さらに近年では,静的な消費電力 であるリーク電力の削減を行うためにパワーゲーティング回路を付加したSTPの研究が行 われている [4].また,クロック配信の局所化により全域的なクロックを削減できるため設 計の局所化も可能となる. しかし,STPでは先に述べた動作検証の困難化は設計の局所化により軽減は可能ではあ るが,信号の信号の高速化,出力信号の組み合わせ数増加には対応することが不可能であ る.一方で,一般的なクロック同期型パイプライン持つLSIでは,テスト容易化設計として 動作検証の困難化の軽減が行われている [5].例えばテスト容易化設計で用いられる代表的 な手法として,スキャンテスト方式と組み込み自己テスト (Built-In Self Test : BIST) 方 式がある.スキャンテスト方式では,LSI内部に存在するフリップフロップに対して直接制 御及び観測を行うための経路(スキャンチェーン)とスキャンチェーンの制御を行うための テスト回路を用意し,テストパターンを外部から入力することで LSIの動作検証を行う手 法である.また,BIST方式ではテストパターンの生成回路とテスト結果を評価するための 回路を設けることでLSIの動作検証を行う手法である.これら2つの手法はクロック同期 型の回路が前提として設計されており,スキャンテストでは全域的なクロックを削減した,
STPではスキャンチェーンを構成することが不可能であり,BISTではテストパターンの生 成,テスト結果の評価を非同期で行う必要がある. これらの問題に対して本研究では,BIST回路によるテスト容易化設計の非同期化に着目 した.そして,自己タイミング型BIST回路として提案し実装,評価する. 本稿は5章で構成されており,第2章では本研究で取り上げている自己タイミング型パイ プラインの動作原理と,現在一般的に用いられているテスト容易化設計についての概説を行 う.また,本研究でBISTを用いた理由について説明をする.次に第 3章では,本研究を含 めたシステム全体及び実装を行ったBIST回路の構成を示す.続く第 4章では,実装を行っ たBIST回路のトランジスタレベルのシミュレーション結果と,回路規模,スループットを 示す.最後に,第 5章では今後の展望と課題を述べると共に,本稿を総括する.
第
2
章
テスト容易化設計
2.1
緒言
STPは,全域的なクロック信号を削減しパイプラインステージ間でハンドシェイクを行 いデータ転送をする.そして,各パイプラインステージはパケット転送時にのみ動作をする ため動的な消費電力の削減が可能となっている.また,全域的なクロック信号を削減したた め設計の局所化が可能になり設計の複雑化が緩和された.しかし,STPを用いたLSIチッ プ全体の動作検証を容易化する手法はこれまでほとんど議論されていなかった.今後LSIの 大規模化・高速化に伴いSTPを設計に用いるなどのアーキテクチャレベルでの低消費電力 化,設計の局所化が必要不可欠となる.本研究では,BIST回路の非同期化に着目し自己タ イミング型超高速BIST回路についての実装及び評価を行う. 本章では,STPの動作原理及び特性を明らかにし,一般的なクロック同期回路で用いら れるテスト容易化設計手法について概説する.2.2
自己タイミング型パイプライン
2.2.1
動作原理と特徴
STPでは,隣接するパイプラインステージ間でSEND信号及びACK信号の授受により データ転送を行う.このため隣接するパイプラインステージ間のハンドシェイクを保障する ことにより,システム全体の動作を保障することが可能である.STP の構成図を図 2.1に 示し,ハンドシェイクの動作を説明する.2.2 自己タイミング型パイプライン
DL
i-1DL
iC
i-1C
iLogic
Logic
DL
i+1C
i+1 PacketSENDi-1 SENDi+1
ACKi-1 ACKi ACKi+1 ACKi+2
SENDi SENDi+2
Logic
Logic
Pipeline Stage
DL : Data Latch C : C-element
Master Reset 図2.1 STPの構成 STPでは,図 2.1で示すように,パイプラインステージ間で転送されるパケットを保持す るデータラッチ (DL),データの処理を行う回路 Logic,そしてDLの制御をハンドシェイ クによって行うためのデータ転送制御回路(C素子 : C-element)から構成されている.図 2.1の破線で囲まれているDL,Logic,C素子をまとめてパイプラインステージと呼び,こ のパイプラインステージ間をパケットが転送されることでLogicに実装されている回路よっ て処理が行われる.パイプラインステージ間のパケットデータ転送手順を図 2.2と共に次に 示す.
まず,Master Reset時には,すべてのC素子は後続ステージへACK信号を送信する.
1. C素子Ciは,Ci−1 からのSEND信号と,Ci+1からのACK信号を受信した場合にの
み,自ステージのDLのCK信号を送信
2. DLi のゲート開放時に,DLi−1 から転送されてきたパケットはDLi によってラッチ 3. Ci は,Ci−1 にACK信号を送り,Ci+1にSEND信号を送信
4. パケットがある限り,上記の処理を繰り返す
以上に示すように,あるパイプラインステージにおいて前段のパイプラインステージから
2.2 自己タイミング型パイプライン Master Reset SEND0 To DL1 SEND1 To DL2 ACK0 ACK1 SEND2 (0) (1) (2) (3) (4) (2)’ (3)’ (4)’ 図2.2 STPのタイミングチャート ACK信号の両方が送られたとき自ステージに存在するパケットを後段ステージのDL へ転 送する.この転送手順のことをハンドシェイク方式と呼ぶ.また,このようなパケットの局 所的な転送制御により,STPはパケットが転送中にのみ電力の消費をする省電力特性や,パ ケット数の変動に対するエラスティック性等がある.このような特性は通常のクロック同期 式回路にはない特徴である.
2.2.2
STP
の実装例
これらの特徴を用いて設計されたプロセッサとして DDMP がすでに実装されている. DDMPは複数のナノプロセッサにより構成され,各ナノプロセッサは図 2.3に示すような, 環状(Ring)型パイプラインにより構成されている.簡単な構成と動作原理を以下に示す. • 合流回路 (M : Merge) STP外部から入力されるパケットと,内部を周回してきたパケットとの合流を制御し, MM部へパケットを送る2.2 自己タイミング型パイプライン
M
MM
ALU
B
PS
M : Merge
MM : Matching Memory
ALU : Arithmetic Logic Unit
PS : Program Storage
B : Branch
図2.3 DDMPの構成 • 待ち合わせ回路 (MM : Matching Memory) M部から送られてきたパケットを,一時的に内部メモリへ格納しパケットの待ち合わせ 処理を行う.その後,必要なパケットが揃い待ち合わせが完了するとパケットが処理さ れ,ALU部へ送られる• 演算回路 (ALU: Arithmetic Logic Unit)
パケットをMM部から受け取り,それに対してパケット自身が持つオペレーションコー ドに従い,演算を実行する.その後,演算結果が新たなパケットに記述され,PS部へ 送られる • 命令フェッチ回路 (PS : Program Storage) DDMPのプログラムを格納するメモリで,ALU部から受け取ったパケットの次の目的 ノード番号及びオペレーションコードのフェッチを行いパケットの内容を更新しパケッ トをB部へ送る • 分流回路 (B : Branch) パケットの行き先情報を元に,パケットの分岐を制御する 現行のDDMPコアの総ステージ数は約60段であり,これらモジュールを構成する全ス テージがSTPを元に設計されステージ毎の局所的なクロックによりパケットがパイプライ
2.3 テスト容易化設計
ンステージ上を転送される.
2.3
テスト容易化設計
一般的なクロック同期型回路では検証の困難さを軽減するために,テスト容易化設計
(Design For Testability : DFT)と呼ばれる手法が取り入れられている.DFTでは,主に テストパターンを外部から自動生成しやすい回路構成にする手法と,外部からのテストパ
ターンそのものを不要にする手法が存在する.例えば,テストパターンを外部から自動生成
しやすい回路構成にする手法としては,スキャンテスト方式が存在し,外部からのテストパ
ターンそのものを不要にする手法として組み込み自己テスト (Built-In Self Test : BIST)
が存在する.次小節からは,スキャンテスト及びBISTの概説を行う.
2.3.1
スキャンテスト
スキャンテストでは,一般的に図 2.4のような構成を取る. LSI Scan Circuit Parameter Result CircuitFF
FF
FF
FF
FF
FF : Scan Flip-Flop
Clock 図2.4 スキャンテスト2.3 テスト容易化設計
LSI内部には,テスト対象となる回路 (Circuit)及び,テスト対象に存在するスキャンフ リップフロップ(FF)を制御するスキャン回路(Scan Circuit)がある.また,LSI外部から の入力として,クロック信号(Clock)と,スキャン回路に対してテストパターンやフリップ フロップの制御等のパラメータ(Parameter)があり,出力として各フリップフロップの状態 などをスキャン回路を通じて出力するResultがある.スキャンテストではこれらの制御を 行い,LSI内部にあるフリップフロップに対してテストパターンの挿入及びフリップフロッ プの状態の測定をする.そして,その結果からテスト対象の回路の動作検証をするテスト容 易化設計手法である. 一方で,BISTではスキャンテストとは異なった方法で動作検証が行われる.次小節では, BISTの概説を行う.
2.3.2
BIST
BISTでは,一般的に図 2.5のような構成を取る. LSITest
Pattern
Generator
Test
Pattern
Validator
BIST Parameter Result Circuit P a tt e rn P a tt e rn ’ 図2.5 BIST2.4 テスト容易化設計の非同期回路に対する親和性
LSI内部には,スキャンテストと同様にテスト対象の回路(Circuit)とテストを行うBIST
回路(BIST)が存在する.スキャンテストと異なるのは,テストパターンの生成を外部で行 いLSIに送るのではなく,テストパターンの生成及び比較も LSI内部のテストパターン生 成器(TestPattern Generator)及び,テストパターン評価器(Test Pattern Validator)で行 う点である.
BISTでの回路検証の流れは,テストパターン生成器で生成されたテストパターンはテス ト対象の回路を通じて処理され,テストパターン評価器(Test Pattern Validator)で評価さ れ結果がLSI外部へ出力される構成となっている.この構成によりテストパターンを含んだ パラメータなどのテスト回路に必要な外部からの入力信号数がスキャンテストに比べ削減で きる.
2.4
テスト容易化設計の非同期回路に対する親和性
STPでは,前節で概説したクロック同期型回路で用いられているテスト容易化手法をそ のまま用いることが不可能である.何故ならば,STPの特徴でも述べたとおりSTPでは全 域的なクロック信号を持たないからである.したがって,スキャンテストのようなLSI内部 にあるフリップフロップに対して直接制御を行うような手法を用いることが困難となる. また,フリップフロップに対して直接制御を行わないBISTの場合でもテストパターンの 生成,送信,検証を非同期で行えるようにする必要がある.これらのことから現在クロック 同期型回路で用いられているテスト容易化設計手法をそのまま用いることは困難となって いる. そこで本研究では,BISTのテストパターンの生成,送信,検証を非同期で行うことに着 目した.そしてこのテスト容易化設計手法を自己タイミング型BIST回路と呼ぶ.2.5 結言
2.5
結言
本章では,自己タイミング型パイプラインの動作原理と特徴について説明し,応用例であ るDDMPを示した.また,クロック同期型回路におけるテスト容易化設計手法についてス キャンテスト及びBISTといった2つの異なる方向性のテスト容易化設計手法を例示し,非 同期回路に対する両方式の親和性の検証を行い,本研究ではBIST回路の非同期化に着目を した. 次章では,BIST回路を非同期回路に適用する自己タイミング型BIST回路を提案し,必 要な機構の説明を行う.そして,提案した回路のLSI実装を行う.第
3
章
自己タイミング型
BIST
回路
3.1
緒言
STPにテスト容易化設計を実装する場合,同期回路と非同期回路の混載が必要となる. 本章では,試作を行うLSI全体のシステム構成の概説を述べ,同期回路・非同期回路の混載 方法及び本研究で実装を行った各モジュールについて説明する.また,LSI レイアウト後の 結果を示す.3.2
システム構成
本研究を含めたシステム全体の構成を図 3.1に示す. Interval RING Mode Result 40 Stage Ring-STP VSS VDDO VDDB VDDC Vmin (for I/O) BIST BISTGEN BISTCOMP CORE 図3.1 システム構成3.3 BIST部 大まかにモジュールを分類するとテストを行うBIST部と,BIST部から送られたパケッ トに対して処理を行うRING部となる.本研究で動作検証対象となるRING部は次のよう な構成である. • パイプライン段数 : 40ステージRing-STP • Logic : グレイコード加算器(各ステージ1加算) • パワーゲーティング : ステージ毎パワーゲーティング また,LSI外部からはパワーゲーティングの有効・無効,合流回路・分流回路の制御,フラ グの選択が行われるMODE入力やパケットの送信間隔を制御するIntervalが入力される. 次節からは,本研究で実装を行ったBIST部の説明を行う.
3.3
BIST
部
BIST部全体を図 3.2に示す. BIST部では第 2 章で述べたBIST とほぼ等価な構成を持ち,3つのモジュールに分割 できる.初めに,テストパターンの生成を行う Generator部,次にパケットの検証を行う Comparator部,最後にパケットの転送・保持を行う STPFIFO部となっている.このう ち,Generator部は同期回路・非同期回路の混載構成となっており,残るComparator部と STPFIFO部は完全に非同期回路となっている.次小節からは,Generator部,Comparator部,STPFIFO部の各モジュールについて述 べる.
3.3.1
Generator
部
Generator部の構成は,図 3.3となっている.
主にハンドシェイクを生成するVHS(Virtual Hand-Shake),テストパターンであるM系 列生成器 (M-series Generator),転送制御回路(C : C-element),STPFIFO,可変遅延回
3.3 BIST部 DL DL M-series Generator C C C VHS VD DL DL
VHS : Virtual Hand-Shake DL : Data Latch C: C-element VD : Variable Delay Compare
BIST
RING
M a tc h in g C C C Generator Comparator S T P F IF O 㬍 㬍 STPFIFO STPFIFO 40 packets 40 results SEND ACK SEND ACK 図3.2 BIST部路(VD : Variable Delay)で構成されている.また,LSI外部からの入力信号としてクロッ ク(CLK),リセット,ハンドシェイク開始信号(STARTKEY),ハンドシェイク回数信号 (COUNTKEY),パケット送信間隔信号(INTERVAL)がある. 以下に,各モジュールVHS,M-series Generator,C,VDについて述べる. • 転送制御回路(C : C-element) 前後のパイプラインステージに存在する C素子とハンドシェイクを行い,パケットの 転送制御をする回路である.後段のDLにパケットが保持されていない場合,DLに対 してゲートオープン信号を送信する. 本研究で使用した転送制御回路はC素子と呼ばれる回路で,前後のパイプラインステー ジに存在するC素子とSEND信号,ACK信号を用いてハンドシェイクを行いながら DLに対して制御信号を送ることで転送制御を行っている. • M系列生成器(M-series Generator)
3.3 BIST部
DL
DL
M-series GeneratorC
C
C
VHSVD
VHS : Virtual Hand-Shake DL : Data Latch C: C-element VD : Variable Delay CLK : Clock
STPFIFO
40 packets
CLK 194 COUNTKEY STARTKEY RESET INTERVAL SEND ACK 図3.3 Generator部 BIST では,第 2 章で述べたように,テストパターンの生成をLSI内部で行う構成に なっている.本研究では,テストパターンの生成としてハードウェア実装が比較的容易 なM系列(Maximal-Length Sequences/M-Series)の線形帰還シフトレジスタ(LFSR) を用いた実装を行った. • 仮想ハンドシェイク回路(VHS : Virtual Hand-Shake) STP で処理を行う場合,処理対象のパケットを送信する際に必ず転送制御回路とハン ドシェイクを行う必要がある.本研究の自己タイミング型BIST回路では,M系列生 成器から,生成された M系列を1つのパケットとして扱い,仮想ハンドシェイク回路 (VHS : Virtual Hand-Shake)を用いて検証対象のSTPへパケットを送信する. 本研究では,図 3.4に示すようなステートマシンでハンドシェイクを行っている. 初期状態(SINI)では,ハンドシェイク開始信号STARTKEYがアサートされるまで待 機を行う.次にSTARTKEYがアサートされ次第,SEND信号をアサート(SSA)し次 状態のACK信号アサート待機(SWAA) 状態に状態遷移する.そして,ACK信号が アサートされ次第,SEND信号をネゲート(SSN)しACK信号ネゲート待機(SWAN)3.3 BIST部
SSA
SWAA
SSN
SWAN
SCOM
SINI
SINI : Initial SSA : SEND Assertion SWAA : Wait ACK Assertion SSN : SEND Negation SWAN : Wait ACK Negation
SCOM : Send Completion STARTKEY
Assert SEND Assert
ACK Assert
SEND Negate ACK Negate
Send Completion
Not ACK Assert
Not ACK Negate Not STARTKEY Assert 図3.4 VHSのステートマシン (SCOM) する.これらの状態を指定された回数だけ繰り返し,ハンドシェイクの生成 を行う. • 可変遅延回路(VD : Variable Delay)
M
U
X
D
M
U
X
D
M
U
X
D
INTERVAL IN OUT 図3.5 VDの構成 実際の CPUなどでSTPが用いられる場合,パイプラインに対してパケットが送られ3.3 BIST部 てくる間隔はいつも一定であるとは限らない.可変遅延回路(VD)では,図 3.5のよう にMUX,遅延選択信号INTERVALと遅延素子を用いて任意に遅延時間の設定が可能 となっている.これにより,パケットに対して任意の送信間隔を設定することができる.
3.3.2
Comparator
部
Generator部の構成は,図 3.6となっている.DL
DL
DL : Data Latch C : C-element PL : POWERLOAD
Compare
M
a
tc
h
in
g
C
C
C
From RING40 results
STPFIFO
F ro m G e n e ra to r Result 194 194PL
SEND ACK 図3.6 Comparator部 主にGenerator部から送られてくるパケットに対して加算を行う加算回路(PL : POW-ERLOAD),Generator部から送られてくるパケットとRING部から送られてくるパケッ トの待ち合わせを行う待ち合わせ回路(Matching),Generator部から送られてくるパケッ トとRING 部から送られてくるパケットの比較を行う比較器 (Compare)及びSTPFIFO3.3 BIST部 Resultがある. 以下に,各モジュールPL,Matching,Compareについて述べる. • 加算回路(PL : POWERLOAD)
Packet
192Packet
192GD : Gray code Decoder
G
D
A
D
D
E
R
16 16 図3.7 POWERLOAD RING 部では,パケットを各パイプラインステージでグレイコード加算器を用いてグ レイコードへのエンコード,グレイコードからのデコード及び 1加算が行われている. このことから,BIST 部で比較を行う際に必ずグレイコードのデコード及びパイプラ インステージ数の加算が必要となる.POWERLOADでは図 3.7のような構成になっ ており,グレイコードのデコード(GD)及びパイプラインステージ数である40を加算 (ADDER)し,待ち合わせ回路へパケットの転送を行っている. また,RING 部をできるだけ高速に動作させる必要があることから,クリティカルパ スを短くするために 194bitあるパケットのうち実際に RING部で処理の対象となる 192bitを12分割している.このため,図 3.7のように16bitのデコーダ及び加算器が 並列に接続されている. • 待ち合わせ回路(Matching)3.3 BIST部
待ち合わせ回路では,RING部から送られてくるパケットと BIST部のGenerator部 から生成されるパケットの待ち合わせを行う.RING部及びGenerator部からのパケッ トが到着しだい,比較器へパケットが転送される.
• 比較器(Compare)
RING部からのパケット及びGenerator部からのパケットを比較し結果(Result信号)
を出力する.
3.3.3
STPFIFO
部
STPFIFO部の構成は,図 3.8となっている.
DL
DL
C
C
DL : Data Latch
C: C-element
Packet
40 Packets
Packet
DL
C
194 or 1 194 or 1 SEND ACK 図3.8 STPFIFOの構成 STPFIFOは,パケットの保持を行うデータラッチ(DL)及び転送制御回路(C)で構成さ れている.一般的に知られているスタックの一種であるFIFO(First In, First Out)と同じ 動作をし,入力されたパケットは入力順に出力される.この際に,STPFIFOで使用され ているC素子の遅延を調整することでSTPFIFOから出力される時間を調整することがで きる.3.4 LSI実装 データビット幅が194bitもしくは1bitと異なること以外は論理的にはまったく同じ構成と なっている. • データラッチ(DL) STPFIFOに送られてきたパケットの保持を行う.
3.4
LSI
実装
BIST部及び,RING部をLSI実装するためにレイアウトを行った結果が図 3.9である.
Generator Comparator
BISTㇱ
図3.9 LSI全体のレイアウト BIST部は,図 3.9の右図で示された位置にレイアウトされている.そして左図はBIST 部のみを拡大した図で上部に Generator 部,下部に Comparator 部がレイアウトされて3.5 結言
いる.
3.5
結言
本章では,BISTを含むシステム全体及び,BIST部を構成している各モジュールについ て説明した.また,非同期回路及び同期回路の混載の必要性について明らかにし,本研究で
の実装方法を述べた.そして最後にLSI実装を行うためにRING部及びBIST部をレイア ウトした結果を示した.次章では,実装を行った自己タイミング型BIST回路の動作検証及 び性能及び回路規模から評価を行う.
第
4
章
評価
4.1
緒言
前章までに,非同期回路におけるテスト容易化設計である自己タイミング方超高速BIST 回路の提案及びLSI実装をするためのレイアウトを行った.しかし,自己タイミング型超高 速BIST回路を実装した回路は性能を評価されたことが無い. 本章では,初めに提案及び実装がされている自己タイミング型超高速BIST回路の動作検 証を行い,提案及び実装をした回路が正常に動作しているかを示す.次に提案及び実装をし た自己タイミング型超高速BIST回路を性能及び回路規模の面から評価を行う.4.2
検証・評価条件
先にLSIへ実装した際のシミュレーション条件を示す. • シミュレータ : Cadence Verilog-XL • 精度 : 1ps• ライブラリ : e-shuttle 65nm 12Layer CMOS スタンダードセルライブラリ
• 配置配線 : Synopsys Astro
• 論理合成 : Synopsys Design Compiler
4.3 動作検証
4.3
動作検証
BIST部のGenerator部とComparator部のシミュレーション結果を図4.1及び図4.2に 示す.図 4.1では Generator部の検証を行い,図 4.2では Comparator部の評価を行って いる.また,Generator部では2つのパケットを生成し,Comparator部では1つのパケッ トを比較する.
Set Hand Shake
図4.1 シミュレーション結果(Generator)
Result
図4.2 シミュレーション結果(Comparator)
図4.1から,ハンドシェイク回数設定(Set)から,STARTKEYアサート後ハンドシェイ ク開始までが正常に行えることが確認できる.これにより,Generator部では2つパケット を生成することが可能である.また,図 4.2から,RING部及び,BIST部のGenerator部 から生成されたパケットが到着後,比較が行われ,結果が出力されていることが確認できる.
4.4 性能評価 次節より,性能及び回路規模の評価を行う.
4.4
性能評価
図4.1から,ハンドシェイクとハンドシェイクの間隔が最短でも6クロック必要であると いえる.これは,第 3章で述べたGenerator部を構成する仮想ハンドシェイク回路の性能 限界からの影響である.なぜならば,仮想ハンドシェイク回路はクロックを用いてステート マシンの状態を遷移させているからである.これにより状態数が6状態あることからハンド シェイク間の最低間隔は6クロックとなる. また,このことから100MHzで動作した場合Generator部は最大17M packet/secの性 能が出せることが分かる.4.5
回路規模
回路規模を,セル数及び面積で表 4.3 - 4.2に示す.また,セル数は論理合成後のネット リストから抽出し,面積は論理合成,配置配線に使用する各ツールからの出力を元に記述を した. 表4.1 回路規模(セル単体面積) モジュール 回路面積(µm2) Generator部 39311.28 Comparator部 6195.6 STPFIFO部 42027.48 表4.1及び表4.2から表 4.3と同様の傾向が見られ,配置配線前後でSTPFIFO部が最も 面積を消費していることが分かる.また,表 4.3から,BIST全体,Generator部及びComparator部の中でSTPFIFO が 最もセル数を消費していることが分かる.これは,STPFIFOを構成するデータラッチが多
4.5 回路規模 表4.2 回路規模(配置配線後面積) モジュール 回路面積(µm2) Generator部 88646.40 Comparator部 7879.68 STPFIFO部 78796.80 表4.3 回路規模(セル数) モジュール セル数 Generator部 9961 M系列生成器 280 STPFIFO 9345 転送制御回路 336 Comparator部 3073 Matching 448 STPFIFO 1526 Compare 257 STPFIFO部 9345 その他 16 BIST全体 22395
くを占めていると考えられる.なぜならば,Generator部,Comparator部及びSTPFIFO
部に存在するSTPFIFOはデータビット数が194bitもしくは1bitと異なる点以外はほぼ等 価な構成となっているが,回路規模は3分の1程度に減少していることからデータラッチが 多くを占めていると考察できる.
これらのことから,STPFIFO部を削減もしくは廃止することによって,表4.2よりBIST
4.6 結言 かとなった.
4.6
結言
本章では,提案及び実装がされている自己タイミング型超高速BIST回路の動作検証を 行い,提案及び実装をした回路が正常に動作しているかを示した.また,提案及び実装を した自己タイミング型超高速 BIST 回路を性能から評価し,100MHz 動作時で最大17M packet/sec,6クロック/packetを実現できることを示した. また,回路規模ではSTPFIFO部が最も規模が大きくSTPFIFO部を削減もしくは廃止 することによって,BIST部が使用する面積は4分の1前後になり,セル数は10分の1前 後となることが明らかとなった.第
5
章
結論
近年,情報化社会の基盤技術であるLSIの大規模化・高速化が著しく進行している.しか し,大規模化・高速化に伴い新たに次のような課題が発生している.消費電力の増加,設計 の複雑化,動作検証の困難化という課題である. 近年では,消費電力が削減可能で設計の複雑化の軽減が可能なSTPに着目されている. しかし,STP でも設計の複雑化の軽減により緩和されるものの動作検証の容易化が困難で あるという問題は解決することができない.一般的なクロック同期型回路ではテスト容易化 設計という形で動作検証の困難化を軽減しているがSTPでは一般的なクロック同期回路で 用いられているテスト容易化設計を直接適用することができない.そこで,クロック同期回 路で用いられているテスト容易化設計の中でもBIST回路に着目し,BIST回路の非同期化 を行いSTPに対してテスト容易化設計を適応する方法が提案した. 本研究では,STPにテスト容易化設計を適用するために非同期化を行った自己タイミン グ型超高速 BIST回路をLSIに実装した.自己タイミング型超高速BIST回路は,主に 3つのモジュールで構成されテストパターンパケットの生成を行うGenerator部,Generator
部で生成されたテストパターンパケットと,RING部で処理されたテストパターンパケット の比較を行うComparator部,テストパターンパケットの保持や,テストパターンパケット のGenerator部からComparator部へ転送を行うSTPFIFO 部となる.また,Generetor
部は非同期と同期回路の混載構成となっており,仮想ハンドシェイク回路により同期回路と
非同期回路間のパケット制御を行っている.
そして,自己タイミング型超高速BIST回路の動作検証と,評価として性能評価及び回路 規模の評価を行った.その結果,性能では,100MHz動作時で最大17M packet/sec,6ク
ロック/packetを実現できることを示した.また,回路規模ではSTPFIFOが最も規模が大 きく,STPFIFO部を削減もしくは廃止することによって,BIST部が使用する面積は4分 の1前後になり,セル数は10分の1前後となることが明らかとなった. 今回, 今後予想される課題を以下に示す. • 回路規模の削減今回提案回路を LSIに実装した場合,LSI全体の面積の約4分の1を
BIST部が消費している.このことはLSIを製造するにあたって,コスト上昇やBIST
回路自体の動作検証が困難となる要因となり改善されなければならない点である.ま た,BIST部ではそのほとんどの面積をSTPFIFO部が消費していることが第 4.4章で 明らかになっており,さらに現在の設計では STPFIFO部はRING部のパイプライン ステージ数と同じ数だけデータラッチが必要となる.したがって,RING部が膨大なパ イプラインステージ数で構成された場合,STPFIFO部も比例して規模が膨大となり実 用的な非同期回路を用いたCPUなどで本研究の自己タイミング型超高速BIST回路を 用いることができない. そこで,現在考えられる改善案としてSTPFIFOをの使用を最小限にする,もしくは廃 止することである.具体的には,Generator部に使用されているSTPFIFOは,RING
部が比較的高速で動作し,BIST部が外部からの直接クロック信号供給で動作すること が想定されていたため,RING部とBIST部の動作速度差を吸収するために実装された STPFIFO である.このことから,BIST部に大して高速なクロック信号を供給するた めLSI内部にクロック発信回路を実装しBIST部の高速化を行うことにより段数の削 減もしくは,廃止することが可能である. • テストパターンの追加本研究では RING部がグレイコード加算器で1を加算するのみ の限られた機能実装なため実装をしたテストパターンはM系列のみとなる.このため 今後,RING 部で多彩な機能実装が行われた場合,十分な機能検証が不可能であると 考えられる.このため今後の課題としてRING部で実装された機能にあったテストパ
ターンの追加が必要となる. • 動作検証の高速化本研究では 100MHz 動作時で最大 17M packet/sec,6 クロック /packetという性能を算出することができた.しかし,STPの実装例であげたDDMP ではこれよりも高速な処理性能である.このため十分な機能検証が不可能と考えられる. そこで,回路規模の削減でも挙げたが,LSI内部にクロック発信回路を実装することに よりBIST部の速度を高速化することができ動作検証の高速化が可能となる. • 実際の LSIでの測定今回実装をした回路は実際の LSIとして製造されていない.そこ で,今後は実際に外部業者へLSIを製造を依頼し,実際のLSIで正常に動作検証が行 えるか確認をする. 今後,LSIの大規模化・高速化が進行するにつれ,消費電力の増加,回路規模の巨大化な どにより開発コストの増加などが予想される.そこで STPのようなそれらの問題に対して 根本的な解決ができるアーキテクチャが必要不可欠となる.そして,本研究で提案した手法 などのテスト容易化設計手法はSTPの今後の発展に必要不可欠なものとなる.また,上述 のような問題を解決することによって本提案手法がさらに有効なものになると期待できる.
謝辞
本研究を行うにあたり, LSIの製作や講義などご多忙にも関わらずご懇篤なご指導とご鞭 撻を賜りました酒居 敬一 講師に心より感謝の意を表します. 本研究論文の副査をお引き受けいただきました,岩田 誠 教授と吉田 真一 講師には有益 なご助言をいただき,心より感謝の意を表します. 本研究の基礎であるデータ駆動型アーキテクチャを提唱された寺田 浩詔 名誉教授に心よ りの感謝の意を表します. ご多忙の中, 本研究のご助言に貴重な時間を費やして頂いた岩田研究室の三宮 秀次 助手, 大学院 修士課程の香川 直也 氏,宮城 桂 氏に心より感謝を致します. 研究は異なるものの,様々なご助言,励ましを頂いた酒居研究室の川又 悠 氏,柴田 昌典 氏,西尾 花織 氏 には感謝をします. 私と同じく,卒業研究発表1ヶ月前に研究が変更になり大変な思いを共有した岩田研究室 多川 正樹 氏は本当にお疲れ様でした. 本研究は東京大学大規模集積システム設計教育研究センターを通し,シノプシス株式会 社,日本ケイデンス株式会社,メンター株式会社の協力で行われたものです. 本研究は, JST/CRESTの援助を受けて行われました. 最後に,研究室の後輩である学部3回生の上田桂示氏,久保晴博氏,中村博輝氏, 藤田雄太氏には先輩としてあまり助言ができなくて申し訳ありませんでしたが,来年度もよ ろしくお願いします.参考文献
[1] Leon, A. S., Tam, K. W., Shin, J. L., Weisner, D., Schumacher, F.,“A Power-Efficient High-Throughput 32-Thread SPARC Processor,”ISSCC 2006 Digest of Technical Papers, pp.98-99, Jan.2006.
[2] Hiroaki Terada, Souichi Miyata, and Makoto Iwata,“DDMP’s: Self-Timed Super-Pipelined Data- Driven Multimedia Processors,”Proceedings of the IEEE, Vol.87, No.2, pp.282-296, Feb. 1999.
[3] Hiroaki Nishikawa, Hiroshi Ishii, and Makoto Iwata,“Collaborative Research Project on Ultra-Low-Power Data-Driven Networking System”Proc. of Parallel and Distributed Processing Techniques and Applications ’08 Vol.2, pp.697-703, Jul. 2008.
[4] Kei Miyagi, Shuji Sannomiya, Keiichi Sakai, Makoto Iwata, and Hiroaki Nishikawa,
“Autonomous Power-Supply Control for Ultra-Low-Power Self-Timed Pipeline”
Proc. of Parallel and Distributed Processing Techniques and Applications ’08 Vol.2, pp.704-709, Jul. 2008.
[5] 畠山 一実,“ 設計者に必要なテスト容易化設計の基礎知識 ”CQ出版社, Design Wave Magazine, pp.47-54, March 2001.