平成 25 年度 学士学位論文 セルフタイム型パイプラインにおける DL タイミングエラー検出回復回路の検討 A Study on DL-Timing-Error Detection and Recovery in Self-Timed Pipeline 1140309 岡宗 祥平 指導教員 岩田 誠 2014 年 2 月 28 日 高知工科大学 情報学群 要 旨 セルフタイム型パイプラインにおける DL タイミングエラー検出回復回路の検討 岡宗 祥平 近年, トランジスタの微細化・高集積化に伴い LSI のディペンダビリティ向上が益々重要 視されている.100 億を超えるトランジスタを集積化するチップを設計・製造段階で網羅的 にテストして 100% の高信頼化を図ることは,時間的・金銭的なコストを考えると事実上困 難である. よって,従来のような高信頼化に代わって,故障が起こると残りの部分がそれを 補い, 自己修復的な動作を行なう能力であるディペンダビリティが注目されている. 本研究では, 過渡故障のひとつであるタイミングエラー [2] に着目し,将来のヘテロジニ アスなマニーコア構成には必須となるセルフタイム型パイプライン回路 (STP)[1] のディペ ンダビリティを向上する方法を検討した. 具体的には,STP のパイプライン段のデータラッ チ (DL) において,セットアップ/ホールド時間違反に伴って発生するタイミングエラーを 検出し,これを回復する回路構成を提案した.さらに,提案回路を 4 段パイプライン構成の 32bit 整数乗算器に適用した回路を 65nm CMOS 標準論理セル・ライブラリを用いて設計 し,動作検証および面積オーバヘッドを評価した. キーワード セルフタイム型パイプライン,ディペンダビリティ,タイミングエラー, エラー回復 –i– Abstract A Study on DL-Timing-Error Detection and Recovery in Self-Timed Pipeline Syouhei Okamune With advanced semiconductor technology, higher dependability of LSI chips is required more and more. When billions of transistors are integrated on a LSI chip, it is realistically difficult to guarantee 100 % reliability of the LSI chip by verifying the chip with 100 % test coverage in its design and production phase. This is because its design and production cost must be reflected in its price so that it might be very expensive. Therefore, in place of traditional reliability, the concept of dependable LSI is being focused. Dependability means a kind of resilient capability to allow partial failure but to work with self-recovery mechanism by the rest part of LSI chip. In this study, we focus on the timing error[2] which is one of the transient fault of LSI ’s and we then try to improve dependability of the self-timed pipeline circuit (STP)[1] which is one of necessary technologies in future heterogeneous many core LSI chips. This paper proposes a timing error detection and recovery circuit applicable to every data latch (DL) in STP. In order to verify and evaluate the proposed circuit, we designed four-stage 32-bit integer multiplier module equipped with the proposed circuit using 65 nm CMOS standard cell library. key words self-timed pipeline, dependability, timing-error, error recovery – ii – 目次 第1章 序論 1 第2章 ディペンダビリティの要求 6 2.1 諸言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 リライアビリティの問題点 . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 ディペンダビリティのアプローチ . . . . . . . . . . . . . . . . . . . . . . 8 2.4 タイミング・エラーへの着目 . . . . . . . . . . . . . . . . . . . . . . . . 8 2.4.1 タイミングエラーによるデータ読み込みの誤り . . . . . . . . . . . . 9 2.4.2 セットアップ/ホールド時間 . . . . . . . . . . . . . . . . . . . . . . 10 結言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 DL タイミングエラー検出回復回路 12 3.1 諸言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2 セルフタイム型パイプラインの特徴 . . . . . . . . . . . . . . . . . . . . . 12 3.3 DL タイミングエラー検出回復回路の全体構成 . . . . . . . . . . . . . . . 14 2.5 第3章 3.3.1 OK-FF(タイミングエラー検出・回復部) の構成 . . . . . . . . . . . 15 3.3.2 可変遅延部の構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.3.3 遅延素子の時間ばらつきによる誤作動保障 . . . . . . . . . . . . . . 18 3.4 タイミングチャート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.5 タイミング制約 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.6 第4章 3.5.1 エラー検出に関するタイミング制約 . . . . . . . . . . . . . . . . . 25 3.5.2 MUX 切り替えに関するタイミング制約 . . . . . . . . . . . . . . . 26 結言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 性能評価 30 – iii – 目次 4.1 諸言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.2 評価方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3 評価結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.4 結言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 結論 34 第5章 謝辞 37 参考文献 39 – iv – 図目次 1.1 ムーアの法則 [3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2.1 網羅的なテストパターン数 . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 タイミングエラーによる FF の誤動作 . . . . . . . . . . . . . . . . . . . . 9 2.3 セットアップ/ホールド時間 . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.1 STP の構成図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2 DL タイミングエラー検出回復回路 -回路の全体構造- . . . . . . . . . . . . 15 3.3 OK-FF の構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.4 可変遅延の構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.5 タイミングチャートの各信号 . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.6 タイミングチャート –エラーなし– . . . . . . . . . . . . . . . . . . . . . . 22 3.7 タイミングチャート –エラーあり– . . . . . . . . . . . . . . . . . . . . . . 23 3.8 エラー検出に関するタイミング制約 . . . . . . . . . . . . . . . . . . . . . . 25 3.9 MUX 切り替えに関するタイミング制約 . . . . . . . . . . . . . . . . . . . 27 3.10 MUX 切り替えのタイミング . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.1 32bit 整数乗算器の概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.2 4 段パイプラインで設計した 32bit 整数乗算器 . . . . . . . . . . . . . . . . 31 –v– 表目次 3.1 インバータセルの遅延時間 . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2 インバータセルの時間ばらつき発生条件 . . . . . . . . . . . . . . . . . . . 19 4.1 評価結果➀ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.2 評価結果➁ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 – vi – 第1章 序論 ŽƵŶƚ WƌŽƐƉĞĐƚ ϭϵϳϭ ϭϵϳϯ ϭϵϳϱ ϭϵϳϳ ϭϵϳϵ ϭϵϴϭ ϭϵϴϯ ϭϵϴϱ ϭϵϴϳ ϭϵϴϵ ϭϵϵϭ ϭϵϵϯ ϭϵϵϱ ϭϵϵϳ ϭϵϵϵ ϮϬϬϭ ϮϬϬϯ ϮϬϬϱ ϮϬϬϳ ϮϬϬϵ ϮϬϭϭ ϮϬϭϯ ϮϬϭϱ ϮϬϭϳ ϮϬϭϵ dƌĂŶƐŝƐƚŽƌƐ DŽŽƌΖƐ>Ăǁ ϭϬ͕ϬϬϬ͕ϬϬϬ͕ϬϬϬ ϭ͕ϬϬϬ͕ϬϬϬ͕ϬϬϬ ϭϬϬ͕ϬϬϬ͕ϬϬϬ ϭϬ͕ϬϬϬ͕ϬϬϬ ϭ͕ϬϬϬ͕ϬϬϬ ϭϬϬ͕ϬϬϬ ϭϬ͕ϬϬϬ ϭ͕ϬϬϬ ϭϬϬ ϭϬ ϭ zĞĂƌŽĨ/ŶƚƌŽĚƵĐƚŝŽŶ 図 1.1 ムーアの法則 [3] LSI チップのトランジスタ高集積化により, 飛躍的に性能を向上させた情報端末は情報通 信社会の基幹要素を担うものとなった. 図 1.1 に示したムーアの法則に従うと, トランジス タ数は 18∼24ヶ月に 2 倍の速度で増加するといわれる. そのため, 2020 年には約 100 億個 に達すると予測されている. しかし, トランジスタ数の急激な増加は LSI チップの故障率を 高める原因となる. トランジスタの故障率は, 式 (1.1) で表すことができる. LSI チップの故障率 [件/時間] = トランジスタ故障率 × トランジスタ数 (1.1) トランジスタサイズが微細化しても一個に対する故障率は変わらないため, LSI チップの 故障率はトランジスタ数の増加に比例して上昇することがわかる. よって今後益々LSI チッ –1– プに対する故障対策が重要になってくる. LSI で発生する故障の一部を以下に示す. 1. 過渡故障 非常に短い期間に起こる一時的な故障. • ソフトエラー – 宇宙線の衝突により, 記憶素子のビット反転やラッチアップなどを引き起こす. • トランジスタ特性ばらつき – トランジスタの微細化が原因となり, 製造段階における各トランジスタの個体 寸法や不純物密度が異なる. – トランジスタ特性が異なることにより, 回路内の処理速度にばらつきが生じる. • タイミングエラー – 入力データやクロック信号のタイミングがずれることにより起こる誤動作. – セットアップ/ホールド時間違反の原因となり, FF が正しい値を保存できなく なる. 2. 永久故障 経年劣化や物理的損傷が原因となり, 長期間に渡って起こる故障. 回路そのものに致命的なダメージを与え, 永久故障の原因になるものをハードエラー という. また, ソフトエラーによるダメージが蓄積することよって永久故障が発生する 場合もある. 例を挙げるとエレクトロ・マイグレーション等がある. 約 100 億個のトランジスタが LSI に集積されるといわれる 2020 年に備えて, LSI チップ の故障対策には変化が要求されている. これまでの LSI 設計には信頼性 (リライアビリティ) が求められてきた. リライアビリティには設計・製造段階において, 故障が起こり得る信号パ ターンを全てテストし, 設計上の故障を 100% なくすことを目的としていた. しかし, 2013 年現在の LSI チップにおけるトランジスタ総数は約 10 億個以上であり, テストパターンが 指数関数的に増加することで時間的, 金銭的なコストの問題が発生する. –2– そこで, 100% 高信頼化しなくても良い設計方法として, ディペンダビリティのアプローチ が考案された. ディペンダビリティとは “頼りがいがある” ことを意味し, 実運用段階で故障 が起こると残りの部分が故障個所を補い, 自己修復的な動作を行なう. これにより故障発生 時に性能や機能の劣化はあるが, 最低限の動作保証を行なうことができる. よって, ディペン ダビリティのアプローチはリライアビリティに比べると設計・製造コストが削減できる. ディペンダブルな LSI を検討する前に, クロック同期型回路と自己同期型回路の特徴を比 較する. クロック同期型回路には以下の点が挙げられる. 1. クロックスキューがある場合, パイプラインレジスタが誤動作する可能性がある. 2. クロック信号を回路全体に分配するため, 無駄な電力を消費する. それに従い経年劣化 しやすくなる. 3. クロックサイクルを一時的に伸長し, 局所的なパイプライン段に分配することができ ない. • クロック信号に遅延素子を挟んだ場合, 以降全てのクロックサイクルが伸長される. • クロックサイクルの伸長はパイプライン全体に影響を与える. 自己同期式回路には以下の点が挙げられる. 1. クロック信号を使用しないため, クロックスキューによる誤動作の心配がない. 2. 動作ステージのみに電力を供給するため, 未使用ステージの電力を削減できる. 3. パイプライン段の転送時間を局所的に伸ばすことができる. • 自己同期型回路では転送要求信号を送信し, 転送許可信号が返ることでデータが転 送される. 転送許可信号を遅らせれば, 任意に転送時間を延ばすことができる. • 局所的にパイプライン段の転送時間を伸ばしても, 他の段には影響を与えない. 以上の理由から, 自己同期型回路は入力データを受動的に処理することができるため, クロ ック周波数の異なる入力データに対するスケジューリングを必要としない. ヘテロジニアス・ –3– マニーコアを構成するうえで, CPU と GPU 間でのデータ送受信, NoC(Network ON Chip) 等に使用されている. また近年では, ARM 社の big.LITTLE 処理 [4] において周波数の異 なるプロセッサ間のデータ移行に用いられている. したがって, 本研究では, 将来のヘテロジニアスなマニーコア構成に必要となるセルフタイ ム型パイプライン (STP)[2] のディペンダビリティを向上する方法について検討する. STP は隣接パイプラインステージ間で相互通信 (ハンドシェイク) することにより, 自律的なタイ ミングでパイプライン処理を行なう自己同期型回路である. ハンドシェイクは自律駆動素子 (C 素子) によって行われ, 自己タイミングでデータを転送することができるためクロック信 号が必要ない. ステージ n からステージ n + 1 にデータを転送するために要する時間を Tf 時間 [1] と呼ぶ. STP におけるディペンダビリティの向上を検討するうえで, 過渡故障のひとつであるタイ ミングエラーに着目した. タイミングエラーはセットアップ/ホールド時間違反による誤動 作の原因となる. タイミングエラーが発生すると, フリップフロップ (FF) への入力データに ずれが生じるため, 目的と異なる誤ったデータが保存される. 本研究では, これらの故障から データの値を修復するため, 2つの FF を用いたタイミングエラーの検出・回復機能を検討 した. タイミングエラーを修復する機能を持たせるため, 最初の FF(メイン FF) と並列した二つ 目の FF(シャドー FF[5]) を付加した. シャドー FF は信号配線の伝達を遅らせる遅延素子 により, メイン FF の δTf 後のタイミングでデータを保存する. この値はタイミングエラー の影響を受けていないデータである. メイン FF とシャドー FF の値を比較して, エラーが 検出されればシャドー FF の値を元にデータを回復する. 以上に述べたタイミングエラーの 検出・回復を担う FF 構成を OK-FF と名付ける. 続いて, STP のパイプラインステージ間で誤ったデータの伝搬を防止する可変遅延を考案 する. タイミングエラー発生時に, STP のハンドシェイクを通常時より δTf 遅らせること で, エラーの修復に必要な時間を保証する. データが次段ステージに転送された直後に, 転送 時間の伸長を初期化するため, 性能への影響が最小化される. また, 可変遅延がインバータ –4– セルの処理時間ばらつきに対応可能なことを示すことで, 遅延素子の時間ばらつきに対する ディペンダビリティを証明する. 本稿では, 上記の OK-FF(タイミングエラー検出・回復部) と可変遅延部に基づき, STP における DL タイミングエラー検出回復回路を提案する. 本稿は全 5 章の構成となっている. 第 2 章では, リライアビリティの問題点を挙げ, ディペ ンダビリティが要求されている理由を明らかにする. また, タイミング・エラーに着目した理 由について述べる. 第 3 章では, まず STP の基本的な動作について説明を行った後, 提案回 路を構成するタイミングエラー検出・回復部, および可変遅延部の動作について回路構成と タイミングチャートを元に解説する. また, 提案回路の正常な動作を保証するためタイミン グ制約を定める. 第 4 章では性能評価を行ない, 提案回路の Tf 時間と回路面積のオーバー ヘッドを求める. 提案回路を Verilog で設計した提案回路に 65nm CMOS 標準論理セル・ラ イブラリを用いて, Synopsys Design Compiler で合成する. 4 段 STP 構成の 32bit 整数乗 算器を設計し, 各 DL 部に提案回路を付加する. 比較用に通常の DL を用いた 32bit 整数乗 算器を設計したうえで比較し, 差分を見積もる. 最後に第 5 章では, DL タイミングエラー検 出回復回路における今後の課題を明確化し, 研究の展望を述べるとともに本論文を総括する. –5– 第2章 ディペンダビリティの要求 2.1 諸言 回路の設計は, NAND や OR などのスタンダードセルとそれらを繋ぐ配線等を用いて行 う. トランジスタサイズの微細化により, LSI チップ上で使用できるセル数が増え, 回路内部 は複雑化している. 第 1 章ではリライアビリティを考えた設計において, テストパターンが指数関数的に増加 していることについて述べた. 本章では, リライアビリティを考えた設計における問題点を 明確化し, ディペンダビリティが要求されている技術的背景を述べることで, 100 億トランジ スタ世代の故障対策についての考察を行なう. また, 本研究で過渡故障のひとつであるタイミングエラーに着目する理由について述べる. この故障により生じる誤動作を図解して示し, セットアップ/ホールド時間を満たすための制 約を解説する. 2.2 リライアビリティの問題点 従来の LSI 設計では, 設計・製造段階のテストで誤動作を 100% なくすことを目的とする リライアビリティが求められてきた. リライアビリティを必要とする LSI が使用されるもの で, 身近で知られているものには人工衛星がある. 人工衛星の制御回路には長期間の航宙に も耐えられる耐故障性が必要なため, 製造コストを度外視してでも信頼性の高い製品が要求 される. しかし LSI の高集積化が進み, リライアビリティを実現する製造方法は限界に差し –6– 2.2 リライアビリティの問題点 掛かっている. 半導体の集積密度が 18∼24ヶ月で倍増するとムーアの法則で示されるよう に, トランジスタの微細化に伴う LSI の高集積化が圧倒的に進んだためである. LSI の設計プロセスは, ツールで設計した回路を合成, 配置配線し, 誤動作が起こらないか をテストシミュレーションする. テストを終えた回路は組み立て製造 (ファブリケーション) され, 良品・不良品をテスターで分別する. 製造段階でリライアビリティを保証するために は, 対象 LSI において誤動作の起きる可能性があるパターンを全てテストシミュレーション する必要がある. 例として, 図 2.1 に簡単な組み合わせ回路と順序回路を示す. まず n 個の入力を備える組 み合わせ回路では, 入力のみによって出力が決まるため, 2n の入力パターンをテストする必 要がある. 続いて, m 個の入力と s 個の FF を備える順序回路においては, FF の状態によっ て出力が左右されるため, 2m × 2s のパターンをテストする必要がある. 以上より LSI の内部が複雑化するとともに, テストパターン数が指数関数的に増加するこ とがわかる. LSI チップが N 個製造されたとすると, テスターは N 個分のテストパターン を全て調べる必要がある. 近年における LSI の高集積化に対して, 製造段階における網羅的 なテストで 100% のリライアビリティを保証することは時間的, 金銭的な面からも困難であ るといえる. 2020 年にはトランジスタ数が 100 億個以上に達すると予測されており, 将来を 見据えた設計手法の変化が求められている. ȷȷȷȷ ኵLjӳǘƤׅែ ȷȷȷȷ ȷȷȷȷ ࡀׅែ 図 2.1 網羅的なテストパターン数 –7– 2.3 ディペンダビリティのアプローチ 2.3 ディペンダビリティのアプローチ 設計上の LSI に 100% の高信頼を求めるリライアビリティに対し, 実運用段階で誤動作の 検出・回復を行なうアプローチをディペンダビリティと呼ぶ. ディペンダビリティは “頼り がいがある” という意味を持つ用語である. 例えば 95% のリライアビリティしか持たなくて も, 残り 5% の発生率で誤動作が起きた際には最低限の動作保証を行う. これにより, 必ずし も設計上の LSI で 100% の高信頼化を行なう必要がなくなるため, テストに費やすコストを 削減できるというメリットがある. 近く 2020 年にはトランジスタ数が 100 億個以上になる と予測されており, 設計段階で故障を防止するリライアビリティのアプローチはほぼ不可能 となりつつある. よってリライアビリティの設計手法には変化が求められており, 実運用段 階で信頼性を高められるディペンダビリティが要求されている. 2.4 タイミング・エラーへの着目 本研究では, 過渡故障の一つであるタイミング・エラーに着目した. タイミングエラーの 原因としては次のものが挙げられる. • トランジスタ製造時の特性 (速度) ばらつき • 運用時の電源電圧のゆらぎ タイミングエラーが起こると, FF へ入力されるデータやクロック信号のタイミングがずれ, セットアップ/ホールド時間が守れなくなる. これにより FF では誤ったデータの値が保存・ 出力されるため, 正しいデータの保存・転送が阻害される. –8– 2.4 タイミング・エラーへの着目 2.4.1 タイミングエラーによるデータ読み込みの誤り 図 2.2 には, FF に入力されるデータとクロック信号が示されている. FF はクロック信号 が立ち上がったタイミングで 5bit のデータを保存する. このとき, タイミングエラーにより データの読み込まれるタイミングがずれると入力データの値が切り替わり, FF に誤った値 が読み込まれることになる. Bit 1 Bit 1’ Bit 2’ Bit 2 Bit 3 Bit 3’ Bit 4 Bit 4’ Bit 5 Bit 5’ ǯȭȃǯ (a) クロックのずれなし Bit 1 Bit 1’ Bit 2’ Bit 2 Bit 3 Bit 3’ Bit 4 Bit 4’ Bit 5 Bit 5’ ǯȭȃǯ (b) クロックのずれあり 図 2.2 タイミングエラーによる FF の誤動作 –9– 2.4 タイミング・エラーへの着目 図 2.2(a) では, データ入力が切り替わる前に Bit1, Bit2, Bit3, Bit4, Bit5 が正しく読み 込まれている. しかし図 2.2(b) ではタイミングエラーによるタイミングのずれにより, Bit2, Bit3, Bit5 が目的とは異なる値を読み込んでいることがわかる. 2.4.2 セットアップ/ホールド時間 ȇȸǿλщ ǯȭȃǯ PET t PET : Positive Edge Trriger 図 2.3 セットアップ/ホールド時間 図 2.3 にセットアップ/ホールド時間の概要を示す. 図中の Positive Edge Trriger(PET) は, クロックが立ち上がったときに FF が処理を行なうことを意味する. データを正しく 記憶するには, PET がセットアップ時間とホールド時間の条件を満たしている必要がある. セットアップ時間はデータを記憶する準備をするために必要な前処理時間であり , 図中の s に該当する. ホールド時間はデータを保存する処理を行なうために必要な後処理時間であり, 図中の h に該当する. データが切り替わってからクロックが立ち上がるまでの時間を ts , ク ロックが立ち上がってからデータが別の値に切り替わるまでを th とすると, 式 (2.1), (2.2) を満足する必要がある. ts > s (2.1) th > h (2.2) – 10 – 2.5 結言 PET のタイミングが式 (2.1),(2.2) を満たせないとき, FF に正しいデータは保存されず, 誤った値が保存される. よって記憶回路を用いた正しいデータの転送には, セットアップ/ ホールド時間を満たしていることが前提となる. タイミングエラーはデータの保存・転送を 阻害する重大な故障であり, トランジスタ特性ばらつきやソフトエラーによって突然に起こ される故障である. 将来の LSI チップ高集積化による故障対策として, タイミングエラーを 補償するディペンダビリティについて検討することは, 情報ネットワークを保全する観点か らも必要である. 本研究ではタイミングエラー検出・回復を実現し, かつトランジスタ特性 ばらつきに対応できる回路を検討する. 2.5 結言 本章では, 近年におけるリライアビリティを考えた設計の問題点について述べるとともに, ディペンダビリティが必要とされている理由について考察した. また, タイミング・エラー に着目した理由として, 正しいデータの保存・転送を阻害する故障への対策が重要であるこ とを示した. 近年の LSI 集積化によって故障率が上昇している理由の一つに, トランジスタ特性ばらつ きの増加がある. トランジスタの急激な微細化の結果, 製造されるトランジスタの個体性能 にばらつきが多くなり, タイミング・エラーが発生する. タイミングエラーを検出・回復す る回路を設計するには, トランジスタ特性のばらつきに対処できる機能が必要となる. トラ ンジスタ特性ばらつきの指標として標準偏差 (σ) が用いられる. 例えば 3σ は, 標準偏差に おける中心地 (µ) から ±3σ のばらつきに対して基準を満たしていることを表す. 本研究に おいて, トランジスタ特性ばらつきの 3σ の合格基準を満たすことが目標である. – 11 – 第3章 DL タイミングエラー検出回復回路 3.1 諸言 本章では, 本研究で提案した STP におけるデータ・ラッチ (DL) タイミングエラー検出回 復回路について解説する. 初めに STP の基本的な特徴を述べた後, 提案回路を構成する二つ の動作部分について, 回路図を用いながら説明する. また, タイミングチャートを図示することで, 提案回路の論理的な動作を保証する因果関 係を表す. タイミングチャートより, 回路の正しい動作保証に必要な条件個所を見つけ, タイ ミング制約を定める. 3.2 セルフタイム型パイプラインの特徴 STP の特徴は, クロック信号を用いず, 隣接したパイプラインステージ間の相互通信 (ハ ンドシェイク) を自己タイミングで行ない, データを転送することである. STP の自己タイ ミング型ハンドシェイクは, 自律駆動素子である C 素子により実現される. – 12 – 3.2 セルフタイム型パイプラインの特徴 3 段 STP の構成図を図 3.1 に示す. ȑǤȗȩǤȳǹȆȸǸ DL1 SEND0 ACK0 C1 CP0 Logic SEND1 ACK1 DL2 Logic CP1 C2 SEND2 ACK2 DL3 CP2 C3 Logic SEND3 ACK3 図 3.1 STP の構成図 図 3.1 の 3 段 STP は以下の要素から構成される. • C 素子 – 転送要求信号 (SEND 信号) と転送許可信号 (ACK 信号) を相互通信することによ り, 隣接したパイプラインステージ間のデータを自己タイミングで転送する自律駆 動素子である. 図の C1 , C2 , C3 がこれに当たる. • データラッチ (DL) – C 素子から CP 信号を受信するとラッチを開放し, パイプラインステージ内にデー タを流入させる記憶回路である. 図の DL1, DL2, DL3 がこれに当たる. • Logic – ステージ内に流入したデータを用いて演算や読み出し, 書き込みなどの様々な処理 を行なう回路が配置されている. • パイプラインステージ – C 素子とデータラッチ, Logic 等を含めてパイプラインステージ (あるいは単にス テージ) と呼ぶ. – 13 – 3.3 DL タイミングエラー検出回復回路の全体構成 図 3.1 の 3 段 STP におけるパイプラインステージ間のデータ転送は次のように行われる. 1. C1 から C2 に転送要求信号 (SEND1 = ’1’) が送られる. 2. C2 から C1 に転送許可信号 (ACK1 = ’1’) が返される. 3. C1 から C2 に転送要求信号 (SEND1 = ’0’) が送られる. 4. C2 から C1 に転送許可信号 (ACK1 = ’0’) が返される. 5. C1 から C2 に転送要求信号 (SEND1 = ’1’) が送られると CP1 が立ち上がり, C2 から C3 に転送要求信号 (SEND2 = ’1’) が送られる. 6. CP1 が DL2 に送信されると, 前ステージから図 3.1 の破線で囲まれたパイプラインス テージにデータが転送され, Logic で処理が行われる. 7. C3 から C2 に転送許可信号 (ACK2 = ’1’) が返される. 8. C2 から C3 に転送要求信号 (SEND2 = ’0’) が送られる. 9. C3 から C2 に転送許可信号 (ACK2 = ’0’) が返されると CP1 は’0’ に立ち下がる. 10. C2 から C3 に転送要求信号 (SEND2 = ’1’) が送られると C3 の CP2 が立ち上がり, DL3 が破線で囲まれたパイプラインステージで処理されたデータを次段ステージに転 送する. 11. このようにして, STP はパイプラインステージ内の Logic で処理を行なった後, 自己タ イミングで同期したラッチを開放することでデータを次段ステージに転送することを繰 り返す. 3.3 DL タイミングエラー検出回復回路の全体構成 図 3.2 に DL タイミングエラー検出回復回路 (提案回路) の全体構成を表す. 提案回路は, 以下の2つの動作部より構成される. • OK-FF(タイミングエラー検出・回復部) タイミングエラーを検出・回復する動作部であり, 誤った値の回復を行なうとともに, エ ラー信号を可変遅延部に送信する. – 14 – 3.3 DL タイミングエラー検出回復回路の全体構成 OK- FF ǿǤȟȳǰǨȩȸ ౨Јȷࣄׅᢿ DL OK- FF SENDĬ C ACKĬ DL C ACKĭ C SENDĮ ACKĮ ӧ٭ࡨᢿ 図 3.2 DL タイミングエラー検出回復回路 -回路の全体構造- • 可変遅延部 タイミングエラー検出・回復部よりエラー信号が送信されたとき, マルチプレクサ (MUX) の配線を切り替えることでハンドシェイクを遅らせ, 誤った値の伝搬を防ぐ. 3.3.1 OK-FF(タイミングエラー検出・回復部) の構成 䝯䜲䞁FF ȇȸǿλщ 32 D Q Main_CP MUX 32 0 ȇȸǿЈщ 1 32 䝅䝱䝗䞊FF D Shadow_CP Q 32 Ǩȩȸ̮ӭ Comparator ǨȩȸЈщ ᚩӧ̮ӭ ࡨእ܇ 図 3.3 OK-FF の構成 図 3.3 にタイミングエラー検出・回復部の構成を示す. OK-FF の構成要素は以下のよう になる. – 15 – 3.3 DL タイミングエラー検出回復回路の全体構成 • メイン FF – メイン FF は C 素子から送信される CP 信号 (Main CP) に同期して入力データを 保存する. タイミング・エラーが起こったときには, メイン FF に誤った値が保存さ れることになる. • シャドー FF – シャドー FF は, 遅延素子を挟んだ CP 信号 (Shadow CP) と同期し, メイン FF よ り δTf 遅れたタイミングで入力データを保存する. タイミングエラーによる誤っ た値を回復するためには, シャドー FF に常に正しい値が保存されることが前提と なる. • Comparator(比較器) – Comparator は X-OR ゲートであり, 排他的論理和の演算を行なう. メイン FF と シャドー FF で比較された値が同じ値のときにはエラー信号’0’ を出力し, 異なる値 のときにはエラー信号’1’ を出力する. – タイミング・エラーが検出されたとき, エラー信号は OK-FF 内の MUX に’1’ の値 を入力して, シャドー FF を元に誤った値を回復する. また, OK-FF の外部にも出 力されて可変遅延部の MUX を切り替える. – エラー信号の出力は, 通常 AND ゲートで閉じられており, エラー出力許可信号の 入力によって適切な期間にだけ解放される. この期間をエラー出力許可期間と呼ぶ. • エラー出力許可信号 (ACK 信号) – エラー信号の出力期間を制御する信号で, Comparator の出力を閉じている AND ゲートに送信される. AND ゲートへの入力の直前にはインバータが挟まれており, ACK の信号値が’0’ のときにのみエラー信号の出力を許可する. – エラー出力許可信号 (ACK 信号) は, データが現在のパイプラインステージから次 段ステージに転送された直後に’1’ に立ち上がり, エラー信号をシャットダウンする 特徴を持つ. これにより効率的にエラー信号の初期化を行ない, スループットの低 下を防止する. – 16 – 3.3 DL タイミングエラー検出回復回路の全体構成 • マルチプレクサ (MUX) – タイミングエラーが検出されなかったとき, エラー信号の値’0’ が MUX に入力さ れるため, メイン FF に保存されたデータが選択されパイプラインステージ内に出 力される. タイミング・エラーが検出された場合, エラー信号の値’1’ が MUX に入 力されるため, シャドー FF に保存されたデータに切り替えられて出力される. こ れにより, 誤った値を保存したメイン FF の出力を, シャドー FF の出力を元にして 回復することができる. 3.3.2 可変遅延部の構成 ȇȸǿЈщ OK-FF ȇȸǿλщ OK-FF ȭǸȃǯ Ǩȩȸ̮ӭ ǨȩȸЈщ ᚩӧ̮ӭ CP SENDĬ ACKĬ C SENDĭ 0 ࡨእ܇ 1 ACKĭ CP C SENDĮ ACKĮ ӧ٭ࡨᢿ 図 3.4 可変遅延の構成 可変遅延部の構成を図 3.4 に示す. 可変遅延部は 2 入力 1 出力の MUX に二つの配線が接 続されており, 一方の配線は通常の SEND 信号, もう一方の配線は遅延素子を挟んだ SEND 信号である. タイミングエラーがないとき, MUX では通常のハンドシェイクが行えるように遅延の無 い SEND 信号が選択されている. しかし, タイミング・エラーが発生したときには, 遅延素 子を挟んだ SEND 信号に切り替えられる. 遅延素子による信号遅延は δTf であり, ハンド シェイクに要する Tf 時間は Tf + δTf になる. タイミングエラーの発生に伴い, OK-FF か – 17 – 3.3 DL タイミングエラー検出回復回路の全体構成 ら誤ったデータが出力されたとしても, その値を回復するのに十分な Tf 時間をもたせるこ とで後段ステージへの伝搬を防止する. 可変遅延部の構成要素は以下のようになる. • MUX – 2 入力 1 出力の MUX を切り替えることにより, タイミングエラーによる誤動作の 伝搬を防ぐ. タイミングエラーが発生したときに, 通常の SEND 信号から δTf の 遅延素子を挟んだ SEND 信号に切り替え, ハンドシェイクの時間を長くする. これ により Tf 時間は Tf + δTf になる. • 遅延素子 – ここでは SEND 信号の立ち上がりを δTf 遅らせるためのディレイ・バッファが用 いられている. セルライブラリには 65nm CMOS 標準論理セル・ライブラリが用 いられている. 自己タイミングでパイプラインステージ処理を行なう STP でなければ, データ転送時間 を局所的に伸ばすことは不可能である. 次の第 3.3.3 項では Tf 時間を伸ばすことにより遅 延素子の時間ばらつきへの対処を検討する. 3.3.3 遅延素子の時間ばらつきによる誤作動保障 可変遅延部は, タイミングエラー検出時にハンドシェイクを遅らせることによって, 通常 Tf 時間を δTf 遅らせる. Tf 時間が T f + δTf に伸ばされることで, 遅延素子の処理時間ば らつきに対応できることを示す. 評価には 65nm CMOS 標準論理セル・ライブラリのインバータセルを使用する. イン バータセルは, セルライブラリの中でも特に処理時間が大きいため, 遅延素子の代わりに使 用されている. インバータセルの時間ばらつきに対応できれば, 遅延素子のばらつきによる 誤作動を保障できると考える. 表 3.1 には 65nm CMOS 標準論理セル・ライブラリのデータシートを参照した. Nomi- – 18 – 3.3 DL タイミングエラー検出回復回路の全体構成 nal(基準ケース) の遅延時間は 65ps, Worst(最悪ケース) の遅延時間は 97ps となっており, 1.49 倍のばらつきがある. 表 3.1 インバータセルの遅延時間 遅延時間 Nominal Worst 比率 (%) 65ps 97ps +149% Nominal と Worst の各ケースが発生する条件を表 3.2 に示す. 表 3.2 インバータセルの時間ばらつき発生条件 電圧 (V) 温度 (℃) Nominal(基準ケース) 1.2 25 Worst (最悪ケース) 1.05 -40 Nominal と Worst の比率は 149% なので, インバータセル時間ばらつきの最悪ケースに 対処するためには, タイミングエラー検出時の Tf 時間と未検出時の Tf 時間の比率を 149% よりも大きくする必要がある. これを数式で表すと式 (3.1) になる. • IN VW orst インバータセルの遅延時間ばらつきにおける最悪ケース • IN VN ominal インバータセルの遅延時間ばらつきにおける基準ケース • Tf Error エラー検出時の延長された Tf 時間 • Tf エラー未検出時の通常 Tf 時間 Tf + δTf IN VW orst Tf Error = > Tf Tf IN VN ominal 式 (3.1) より, δTf に必要な遅延時間がわかる. – 19 – (3.1) 3.3 DL タイミングエラー検出回復回路の全体構成 δTf ≥ Tf 2 (3.2) 可変遅延部に必要な遅延時間 δTf を式 (3.2) で表す. 式 (3.4) の Tf に 1 を代入する. IN VW orst = 1.49 IN VN ominal Tf + Tf Error = Tf Tf Tf 2 = 1.5(Tf = 1) (3.3) (3.4) 式 (3.3), (3.4) より式 (3.1) に代入すると, 式 (3.5) が成り立つ. 1.5 > 1.49 以上から, δTf ≥ Tf 2 (3.5) ならば, 遅延素子の時間ばらつきが最悪ケースでも, タイミングエラー の検出・回復が可能であることを証明できる. 今後は, 様々なトランジスタの特性ばらつきによる誤作動に対して, 本回路のディペンダ ビリティを検討する. – 20 – 3.4 タイミングチャート 3.4 タイミングチャート ǿǤȟȳǰȁȣȸȈƷӲ̮ӭ OK- FF DL Ǩȩȸ ̮ӭ MAIN_CP SENDĬ ACK Ĭ ǨȩȸЈщ ᚩӧ̮ӭ C 図 3.5 CP ĭ SENDĭ ACK ĭ C タイミングチャートの各信号 本節では提案回路にタイミングエラーが起きなかった場合, タイミングエラーが起こった 場合のタイミングチャートをそれぞれ図示して説明する. タイミングチャートに用いられる 各信号は図 3.5 に示す. 回路動作の因果関係を示すタイミングチャートの矢印線はそれぞれ以下の通りである. • 論理で保証 主にセルや配線等からなる回路構造によって動作順序が決まっている部分は論理で保 証されているとする. • 論理とタイミング制約で保証 論理的な保証に加えて, 遅延セルや回路の処理遅延によって動作順序が決まっている 部分は論理とタイミング制約で保証されているとする. • タイミング制約で保証 主に遅延セルや回路の処理遅延のみによって動作順序が決まっている部分はタイミン グ制約で保証されているとする. – 21 – 3.4 タイミングチャート ᛯྸư̬ᚰ ᛯྸƱǿǤȟȳǰСኖư̬ᚰ ǿǤȟȳǰСኖư̬ᚰ SENDĬ ACKĬ MAIN_CP SHADOW_CP CPĭ Ǩȩȸ̮ӭ SENDĭ ACKĭ (ǨȩȸЈщᚩӧ̮ӭ) ǨȩȸЈщ ᚩӧ᧓ 図 3.6 ǨȩȸЈщ ᚩӧ᧓ タイミングチャート –エラーなし– 提案回路でタイミング・エラーが起きなかった場合のタイミングチャートを図 3.6 に示す. 1. SEND1 が’0’ に立ち下がった後, ACK1 が’0’ に立ち下がる. 2. SEND1 が’1’ に立ち上がった後, MAIN CP が’1’ に立ち上がる. また, ACK1 が’1’ に 立ち上がる. 3. MAIN CP が’1’ に立ち上がった δTf 後に SHADOW CP が’1’ に立ち上がる. 4. MAIN CP が’1’ に立ち上がった後, SEND2 が’0’ に立下り, その後 ACK2 が’0’ に立ち 下がる. 5. SHADOW CP が’1’ に立ち上がった後で ACK2 が’0’ に立ち下がることがタイミング 制約で保証されない場合, タイミング・エラーが起きていないにも関わらず故障が検出 されるという誤動作が起こる. これをエラー検出に関するタイミング制約とする. 6. ACK2 が’0’ に立ち下がることでエラー出力許可期間になるが, エラー信号が’0’ なので 通常のハンドシェイクが行われる. 7. SEND2 が’1’ に立ち上がった後, CP2 が’1’ に立ち上がる. また ACK2 が’1’ に立ち上 – 22 – 3.4 タイミングチャート がる. 8. ACK2 が’1’ に立ち上がらないと, ハンドシェイクが行われても MAIN CP は’1’ に立ち 上がらない. MAIN CP が立ち上がってから CP2 が立ち上がるまでの時間が Tf 時間である [1]. また, ACK2 が’0’ に立ち下がっている期間がエラー出力許可期間であり, エラー信号の出力を許 可する. 次に, 提案回路でタイミング・エラーが起こった場合のタイミングチャートを図 3.7 に 示す. ᛯྸư̬ᚰ ᛯྸƱǿǤȟȳǰСኖư̬ᚰ ǿǤȟȳǰСኖư̬ᚰ SENDĬ ACKĬ MAIN_CP SHADOW_CP ERROR_CP (SENDĭ) CPĭ Ǩȩȸ̮ӭ SENDĭ ࡨ ࡨ ACKĭ (ǨȩȸЈщᚩӧ̮ӭ) $6WXG\RQ7KH&LUFXLWWR'HWHFWLQJ'/7LPLQJ(UURUDQG5HFRYHUIRU6HOI7LPHG ǨȩȸЈщᚩӧ᧓ 3LSHOLQH ǨȩȸЈщᚩӧ᧓ / 図 3.7 タイミングチャート –エラーあり– 1. 途中まではタイミング・エラーが起きなかった場合と同じである. 2. ACK2 が’0’ に立ち下がるとエラー出力許可期間となり, エラー信号が’1’ に立ち上がり 出力される. 可変遅延部の MUX にエラー信号’1’ が入力されると, SEND 信号に遅延 素子を挟んだ配線が選択されるため, SEND2 の立ち上がりは δTf 遅れる. 3. 可変遅延部の MUX を切り替えるとき, エラー信号が入力されるタイミングを正しく調 – 23 – 3.5 タイミング制約 節しなければ, MUX の出力部で発振 (グリッチ) が発生する. これを MUX 切り替えに 関するタイミング制約とする. 4. SEND2 の立ち上がりが遅れることにより, CP2 は δTf 遅れて’1’ に立ち上がる. タイ 0 0 ミングエラー発生時の Tf 時間を Tf とすると, Tf = Tf + δTf となる. 5. CP2 が’1’ に立ち上がることで DL はラッチを開放し, 次段のパイプラインステージに データを転送する. DL が解放された直後に ACK2 が’1’ に立ち上がるため, エラー信 号’1’ は’0’ に初期化され, エラー出力許可期間が終了する. 可変遅延部の MUX にはエ ラー信号’0’ が入力されるため, 遅延の無い SEND2 の配線に再び切り替えられる. 6. ACK2 が’1’ に立ち上がらないと, ハンドシェイクが行われても MAIN CP は’1’ に立ち 上がらない. 7. SEND2 と ACK2 によるハンドシェイクが δTf 長くなったため, SEND1 の立下がりに は δTf の遅延が生じる. 3.5 タイミング制約 タイミング制約は, ある条件が守られている限り回路の正常な動作を保証するが, 逆に違 反した場合には回路が誤動作することを意味する. エラー検出に関するタイミング制約はタイミングチャート中において保証されている. A の動作の後で B の動作が起こるという条件において, 回路に誤動作が起きないことを保証す るが, 動作順序が逆になった場合には必ず誤動作が起きることを示している. MUX 切り替えに関するタイミング制約はタイミングチャートに直接示されていないが, 論理とタイミング制約で保証されている. 提案回路において, MUX 切り替えに関するタイ ミング制約は最も厳しい制約であり, 違反すると最悪の場合, STP の動作が停止する可能性 がある. 本節では, DL タイミングエラー検出回復回路を正確に動作させるために, 定められた2つ のタイミング制約について述べる. – 24 – 3.5 タイミング制約 3.5.1 エラー検出に関するタイミング制約 エラー検出に関するタイミング制約について述べる. OK-FF 内には 2 つの FF, メイン FF とシャドー FF がある. C 素子から CP 信号を受けるとメイン FF はデータを保存し, 遅 延素子により δTf 遅れたタイミングで CP 信号を受けるシャドー FF にもデータが保存さ れる. ȷǨȩȸƳƠƷئӳ ȡǤȳ((Јщ Ƿȣȉȸ((Јщ ൔ᠋֥Јщ ǨȩȸЈщᚩӧ̮ӭ ǨȩȸЈщᚩӧ᧓ 図 3.8 エラー検出に関するタイミング制約 図 3.8 の OK-FF はタイミングエラーが起きていない状態である. メイン FF の出力 a が Main CP 信号を受けて b に更新されたとき, シャドー FF の値は以前から更新されていない a のままである. このため, タイミングエラーは発生していないにも関わらず, 比較器はエ ラー信号’1’ を出力する. その後, δTf 後にシャドー FF の値も更新されて b となるので, 比 較器からは’0’ の値が正しく出力される. エラー信号の誤出力を避けるには, エラー出力許可信号 (ACK 信号) の立ち下がるタイミ ングを調整する必要がある. つまり, シャドー FF に Shadow CP 信号が入力された後でエ ラー出力許可信号が’0’ に立ち下がる必要がある. この順序が守られる限り回路は正常に動 作する. しかし, 順序が入れ替わった場合, 回路が誤動作を起こす. – 25 – 3.5 タイミング制約 エラー検出に関するタイミング制約を解決するために, エラー出力許可信号 (ACK 信号) に最低限の遅延素子を挟んで対処した. エラー検出に関するタイミング制約を数式で表すた めに以下の代数を定義する. • T1 C 素子の CP 信号が立ち上がってから OK-FF 内のメイン FF とシャドー FF の値を 更新して, エラー信号を出力するまでにかかる時間. • T2 C 素子の CP 信号が立ち上がってから SEND 信号が次の C 素子に送られ, ACK 信 号が返ってきてからエラー出力許可信号として OK-FF 内の AND ゲートに入力される までの時間. 配線に遅延素子を挟むことで, ACK 信号の立ち下がるタイミングが T1 よ りも遅くなるように調節する. T1 < T 2 (3.6) T1 と T2 が式 (3.6) の関係を満たすとき, 提案回路の論理とタイミング制約により誤動作 が起こらないことを保証できる. 3.5.2 MUX 切り替えに関するタイミング制約 MUX 切り替えに関するタイミング制約について述べる. 可変遅延部ではタイミングエ ラーが検出されない限り, MUX で通常の SEND 信号を選択している. しかし, OK-FF から エラー信号が出力され, MUX にエラー信号’1’ が入力されると遅延素子の挟まれた SEND 信号に切り替えられる. 遅延なしの配線と遅延ありの配線の 2 つを切り替える際に, MUX の出力から発振 (グリッチ) が発生する可能性がある. – 26 – 3.5 タイミング制約 Ǩȩȸ̮ӭ ࡨƳƠ ࡨƋǓ Ǩȩȸ̮ӭ MUXЈщ t ࡨƳƠэࡨƋǓ 図 3.9 MUX 切り替えに関するタイミング制約 図 3.9 に MUX を切り替える際にグリッチが起こるタイミングを示す. これには, 遅延な しの配線から遅延ありの配線へと MUX 出力が切り替えられるタイミングに問題がある. 図 中のエラー信号’1’ が入力されたタイミングは, 遅延なしの信号が SEND = ’1’ に立ち上がっ た直後であり, 遅延ありの信号が SEND = ’1’ に立ち上がる寸前である. このときに配線を 切り替えると, MUX 出力は立ち上がってすぐ立ち下がり, また立ち上がるという発振の状態 になる. 発振が発生すると C 素子内に伝搬し, 最悪の場合には STP を停止させる可能性が ある. 発振を防止するためには, 遅延なしの信号と遅延ありの信号のビット値が共に’0’ であるタ イミングでエラー信号’1’ を入力して MUX を切り替える必要がある. これにより, MUX を 誤動作なく切り替えられる. エラー信号のタイミングを調節するには, エラー出力許可信号 (ACK 信号) に遅延素子を挟む必要がある. – 27 – 3.5 タイミング制約 また, 遅延素子数の違いによって MUX を切り替えるタイミングは変化する. これを図 3.10 で表す. ࡨእ܇ƕݲƳƍ ࡨƳƠ ࡨƋǓ ࡨእ܇ƕٶƍ ࡨƳƠ ࡨƋǓ 図 3.10 MUX 切り替えのタイミング 検証環境やライブラリの違い, STP の構成によって Tf 時間は変化するため, 可変遅延部 に適当な数の遅延素子を配置する必要が生じる. これは可変遅延部のみでなく, タイミング エラー検出・回復部の Shadow CP に用いられる遅延素子数にも同様のことが言える. • 遅延素子が少ない場合 2つの信号の値がともに’0’ である期間が長いため, エラー信号の入力による MUX の切り替えが簡単である. • 遅延素子が多い場合 2つの信号の値がともに’0’ である期間が短く, エラー信号の入力タイミングを調節す ることが厳しい. また, ともに値が’0’ である範囲が完全に離れてしまうこともある. 遅 延なしの信号に少ない遅延素子を挟むことで両者の距離を緩和できる場合もあるが, エ ラー発生時に可変遅延部で延長できる Tf 時間, Tf Error Tf の比率が小さくなる. エラー信号を入力するタイミングは, エラー出力許可信号 (ACK 信号) に適当な数の遅延 素子を挟むことで調節できる. しかし, Tf 時間や δTf を変更すると, MUX の切り替えタイ ミングが複雑化してしまう問題がある. このため, MUX を切り替える際に発振を起こさず, – 28 – 3.6 結言 容易に二つの配線入力を変更できる機構を検討している. 3.6 結言 本章では STP の基本的な動作を述べた後, DL タイミングエラー検出回復回路の動作部に ついて回路図とタイミング制約より解説した. 提案回路を構成するタイミングエラー検出・ 回復部と可変遅延部のそれぞれについて動作の順序を説明し, タイミングチャートより定め たタイミング制約を明らかにした. 提案回路では, タイミングエラーを OK-FF と可変遅延部で修復するというディペンダビ リティのアプローチを取る. 可変遅延部におけるタイミングエラー検出時の Tf 時間拡張は, 自己タイミング型パイプラインの特徴を活かしたものであり, クロック同期を取る FF との 差分を明確化できる. タイミング制約の項でも触れたが, STP を構成する C 素子は発振に弱い. 今後もタイミン グ・エラーに対処できる回路を検討すると共に, 発振にも耐えられる自律駆動素子を設計す ることが重要な課題となる. – 29 – 第4章 性能評価 4.1 諸言 本稿で提案する DL タイミングエラー検出回復回路は, タイミングエラーに対して自己修 復的な動作を行なうディペンダビリティの概念を備えている. 誤動作を実運用時に検出・回 復することにより, 信頼性を確保できる. しかし, 通常の STP と比較して, 2つの FF を持 つ本回路は面積オーバーヘッドが大きい. また, タイミングエラーの検出・回復を補償する ために可変遅延部がハンドシェイクを遅らせるため, 性能の低下も考慮しなければならない. 提案回路は, 使用される用途によって求められるものが違う. 提案回路を人工衛星や発電 所に用いる場合, 多少のオーバーヘッドよりもディペンダビリティによる安全性が重視され る. 逆に携帯端末等では, 多少の誤動作が起きても再稼働できるため, 小型で性能効率が良い 方が都合が良い. つまり, 面積・性能オーバーヘッドと, タイミングエラー検出・回復による ディペンダビリティはトレードオフの関係にある. このため提案回路における詳細な面積・ 性能オーバーヘッドを見積もる必要が出てくる. 本章では提案回路を Verilog で設計し, Synopsys Design Compiler で 65nm CMOS 標 準論理セル・ライブラリを用いて合成し, 機能検証を行なう. – 30 – 4.2 評価方法 4.2 評価方法 32bit 整数乗算器を 4 段セルフタイム型パイプラインで設計し, 全 DL にタイミングエラー 検出回復回路を付加した. 32bit 整数乗算回路は図 4.1 のような計算を行なう. (16bit) (16bit) ĭ į (16bit) Į (16bit) (32bit) Ĭ ĭ (32bit) SHIFT Į (32bit) SHIFT (32bit) į SHIFT (16bit) (16bit) ɥˮ32bit(Mul_Upper) (64bit) Ĭ 図 4.1 (16bit) (16bit) ɦˮ32bit(Mul_Lower) 32bit 整数乗算器の概念 入力データは, 32bit のオペランド2つと 1bit のオペレーション・コードからなる 65bit である. 1bit のオペレーション・コードは, 乗算結果から求まる 64bit のうち上位 32bit, 下 位 32bit のどちらの精度を出力するか選択する. 図 4.1 に示されるようにオペランドを 16bit ごとに分割し, ➀, ➁, ➂, ➃の順に乗算してい く. 値を図のようにビット・シフトして加算すると 64bit の乗算結果を求めることができる. オペレーション・コードが’1’ の場合は上位 32bit を出力し, ’0’ の場合は下位 32bit を出力す る. 図 4.1 の整数乗算器を 4 段 STP で設計したものが図 4.2 である. 16 32 ᳇᳆ Ჾ 16 ᳇᳆ 1 図 4.2 4 段パイプラインで設計した 32bit 整数乗算器 – 31 – 32 ᲾᲾᲿ 32 ᳅̺᳀᳀ ᳅̺᳀᳀ 32 ᳇᳆ OP ᳅̺᳀᳀ 16 ᳇᳆ ᳅̺᳀᳀ 16 Ჽ 32 4.3 評価結果 通常 DL を用いた 32bit 整数乗算器を比較用に設計した結果, 正常時の Tf 時間 (ns), エ ラー発生時の Tf 時間 (ns), 面積 (mm2 ) を求め, それぞれの比率 (%) を取った. 4.3 評価結果 DL タイミングエラー検出回復回路を Synopsys Design Compiler で合成してシミュレー ションした結果, 提案回路の性能評価は表 4.1 のようになった. 評価結果➀ 表 4.1 Tf (ns) 正常時 通常 DL 提案回路 比率 (%) 26.3 27.0 +103% - 40.4 - 0.023 0.042 +184% Tf (ns) エラー時 面積 (mm2 ) 表 4.1 から, 提案回路の Tf 時間は 27ns と STP に比べて 103% 増加し, エラー時の Tf 時 間は正常時に比べて 150% 増加した. 遅延素子ばらつきを保障できる Tf 時間の拡張比率を 持つが, 面積比率は STP に比べて 184% の増加と目立つ結果になった. 改善のために提案回 路の遅延素子を 1 2 に減らして検証した結果, 表 4.2 になった. 評価結果➁ 表 4.2 Tf (ns) 正常時 Tf (ns) エラー時 面積 (mm2 ) 表 4.1 と比べると Tf 時間は 2 5 通常 DL 提案回路 比率 (%) 8.9 10.8 +121% - 14.9 - 0.021 0.035 +166% まで短くなったが, 比率は 121% と増加した. エラー時の Tf 時間は 14.9ns となり, 正常時との比率は 137% と以前より下がる結果になった. 反して面積オーバーヘッドは以前と比較して 166% まで小さくなった. – 32 – 4.4 結言 4.4 結言 本章では性能評価対象として 32bit 整数乗算器を作成し, 提案回路を実装した場合の Tf 時 間および面積のオーバーヘッドを検証した. 表 4.1 に見られる 1 回目の評価結果では, 面積 のオーバーヘッドが目立ったため遅延素子を 1 2 取り除いて合成し, 再度評価した. その結果, 表 4.2 における 2 回目の評価では Tf 時間および面積比率に改善が見られた. しかしタイミ ングエラー検出時に拡張される (Tf + δTf ) の正常時との比率が 137% と下がった. これは MUX 切り替えに関するタイミング制約を満たすことが難しく, 可変遅延部の最適化が困難 なためである. よって設計時に満たすべき制約条件を見直し, タイミング制約を検討しなお す必要がある. 本研究において, 可変遅延部における Tf 時間の延長は, 本回路における目立った特徴であ ると考えている. 提案回路にはまだ最適化の余地が残されているため, 可変遅延部の切り替 えを容易にすることを目的として検討を行なっている. – 33 – 第5章 結論 第 1 章ではトランジスタの微細化による LSI の集積化が進んでおり, LSI チップのエラー 発生率が増加傾向にあることを述べた. トランジスタは以前の性能を保ったままサイズを縮 小できるので, 故障率は一定のままである. よって, 2020 年には 100 億個のトランジスタを 搭載できるといわれる LSI チップの故障率への対策が必要となる. 第 2 章では, 自律的自己修復の概念であるディペンダビリティのアプローチが要求されて いることを述べた. LSI チップの高集積化により, リライアビリティの設計方法は困難とな るため, 最低限の動作を保障しコストを削減できるディペンダビリティの設計手法が求めら れている. また, 過渡故障の一つであるタイミングエラーに着目する理由についても述べた. 高度情 報化社会において, LSI は様々なハードウェアの基幹制御に用いられている. タイミングエ ラーは記憶回路に誤動作を引き起こし, データの保存や転送を阻害する. よって, 重要な情報 の喪失や制御回路の誤動作による大きな損失を回避するための対策が必要となっている. 第 3 章ではタイミング・エラーを実運用段階で検出・回復する DL タイミングエラー検 出回復回路を提案した. 提案回路の設計プロセスでは回路構造の検討を行ない, タイミング チャートによって動作を保証するとともにタイミング制約を定めた. 提案回路はタイミン グ・エラーを検出・回復するとともに, パイプラインステージ間の転送時間を拡張すること で誤ったデータの伝搬を防止する. また, この特徴により遅延素子の時間ばらつきに対処す ることができる. これは STP の特徴を活かした機能であり, クロック同期回路との差分を取 ることができる. 第 4 章では合成した提案回路を 4 段 STP による 32bit 整数乗算器に付加し, ディペンダビ – 34 – リティを持たせる代わりに生じる性能・面積オーバーヘッドについて評価した. 結果として, 遅延素子を削減することにより性能・面積オーバーヘッドの比率は減少するが, 同時に回路 のタイミング制約も複雑になり設計が困難になることが分かった. 提案回路にはまだ最適化の余地が残されているため, 可変遅延部に柔軟性を持たせるとこ ろから改善していきたいと考えている. 今後の課題としては, 以下のことについて研究を行う予定である. 1. SPICE シミュレーションを行い, プロセスのばらつきに対応できるか. 2. 65nm 以外のプロセス・ルール, 温度変化にどれだけ対応できるか. 3. Dynamic Voltage Scaling(DVS) への適用 [7]. 4. C 素子のタイミングエラーに対する保証機能の検討. 5. 可変遅延部における MUX 切り替えの簡易化. 1 については, Synopsys Design Compiler では提案回路のプロセスのばらつきを考慮で きないため, SPICE シミュレータを使用して提案回路のディペンダビリティを評価する必要 がある. 2 については, 45nm, 32nm などのプロセス・ルールでシミュレーションした場合や, 温度 環境を変更した場合に提案回路が正常に動作するかを確認する. また 3 では, DVS に提案回路を付加した場合におけるディペンダビリティ, および提案回 路のエラー信号と閾値を用いた PID 制御による省電力化を検討する. 4 では, C 素子におけるタイミングエラーに対して動作を保証する構成を検討する. 最後に5については, 可変遅延部の MUX 切り替えの問題に対して, Tf 時間の拡張時に発 振を起こさず, 簡単に配線を切り替えられる構成を検討する. これまで, STP における故障の検出・回復に関する研究は行なわれてこなかった. 処理速 度向上や電力削減といった研究を進めている限り, 必ず回路の誤動作という壁に突き当たる. ディペンダビリティの研究は LSI の性能向上, 省電力化と並行して進めることに意味があ り, 停滞期の壁を突破する可能性を持っていると考えている. STP は自律的なハンドシェイ – 35 – クによりデータを転送するという特徴から, 転送に要する Tf 時間を動的に拡張できる. ク ロック同期型回路において, 周波数を実運用中に変更することが不可能であることは自明で あり, そこに STP におけるディペンダビリティ実現の可能性がある. 本稿での提案がヘテロ ジニアスなマニーコアのディペンダビリティ向上に繋がることを期待して, 本論文の結びと したい. – 36 – 謝辞 本研究を進めるにあたり, 指導教員として終始熱心かつ温かいご指導をいただきました岩 田誠教授に心からの感謝の意を表すとともに, 厚く御礼を申し上げます. 進学後の 2 年間も お世話になると思いますが, これまで以上のご指導ご鞭撻のほどをよろしくお願いします. 本研究論文の副査をお引き受けくださいました福本昌弘教授, 吉田真一准教授には貴重な 意見を頂き, 心より感謝の意を表します. 本論文作成に当たり, 大学院博士課程, 岩田研究室の宮城桂氏には, 常日頃から本研究に対 する意見やアイデアを頂きました. お忙しいにも関わらず, 後輩の指導に時間を割いて頂き, 深く感謝を申し上げます. 研究室内にもう一人先生がいるように感じられ, いつも頼りにさ せていただきました. 岩田研究室修士課程 2 年の畠山博信氏と山崎弘法氏には, 日頃から研究に関する知識と勉 学に対する興味を与えて頂き, 感謝いたします. 課題作成中で煮詰まっているときに, 回路構 造に対する熱意のこもった講義をして頂いたことが, 当時とても心強かったです. 宮城氏, 畠山氏, 山崎氏は今年で本大学を卒業されますが, 皆様に教えて頂いた知識・経験 を忘れず, 後代に伝えていきたいと思います. 岩田研究室修士課程 1 年の田口龍一氏と松田佳介氏には, 学年の近い先輩ということから, 研究室配属時よりとても良くして頂きました. 私達 4 年生が研究室の活動に早く馴染めたの もお二人のおかげです. 改めて感謝の意を表すとともに, これからもよろしくお願いします. 岩田研究室学士 4 年の宇野則文氏, 栗焼崇史氏, 佐々木大地氏, 田窪大揮氏, 辻太一氏には 同期の良き学友として共に影響を与え合いながら学ぶことができました. 研究室という場に おいて紆余曲折を経ながら, 共に成長できたのではないかと考えています. これから就職さ れる栗焼氏, 佐々木氏, 田窪氏, 辻氏には, 大学で学んだ知識と忍耐力を武器に社会へ羽ばた いてくれることを願っています. そして共に進学される宇野氏には, これからも同じ研究室 でお互いに頑張りましょう. – 37 – 謝辞 岩田研究室の後輩として, ご支援, ご協力を頂いた清藤敦氏, 塘居治世氏, 馬場滉也氏, 弘 光俊太氏, 福田昌平氏, 並びに越智明彦氏に感謝いたします. 最後に, 日頃よりご支援いただいている多くの関係者の皆様に心からの御礼を申し上げ ます. – 38 – 参考文献 [1] 三宮秀次 他, “自己タイミング型パイプラインシステムの性能見積もりモデル,” 信学 論, Vol. J92-A, No. 7, pp. 477–486, July 2009. [2] 荻野健 他, “レジスタファイルの書き込み時タイミングエラーの検出・回復手法,” 情 報処理学会研究報告 計算機アーキテクチャ研究会報告, Vol. 2006(88), pp. 19–24, 2006-07-31. R Microprocessor Transistor Count Chart,” http://www. [3] Intel Corporation, “Intel° intel.com/pressroom/kits/events/moores law 40th/ (2014/2/28 アクセス). [4] ARM Corporation, “The Architecture for the Digital World,” http://www.arm.com/ ja/products/processors/technologies/biglittleprocessing.php (2014/2/28 ア ク セス). [5] D. Ernst, et al., “Razor:A Low-Power Pipeline Based on Circuit-Level Timing Speculation,” Int’l Symp. on Microarchitecture, pp. 7–18, 2003. [6] 松田佳介, “セルフタイム型パイプラインにおける複合粒度パワーゲーティングの検討,” 高知工科大学学位論文, March 2010. [7] Chippa. V, et al., “Dynamic Effort Scaling: Managing the Quality-Efficiency Tradeoff,” 48th Design Automation Conference, pp. 603–608, 2011. – 39 –
© Copyright 2024 ExpyDoc