11
と形式的検証の協調 に超VLSI 東京大学 大学院情報理工学系研究科 坂井 修一 (代表者) 五島 正裕 東京大学 大規模集積設計教育研究(DEC) 藤田 昌宏 東京工業大学 大学院情報理工学研究科 吉瀬 謙二 日本電気(株) 若林 一敏 戦略的創研究推事業 VLSIの基盤技術」 2013/3/16 DVLSI-CREST

゠ヺカツキタメと形式的検証の協調 による超ヅァヘ …...2013/03/16  · ゠ヺカツキタメと形式的検証の協調 による超ヅァヘヱゾピラVLSI

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ゠ヺカツキタメと形式的検証の協調 による超ヅァヘ …...2013/03/16  · ゠ヺカツキタメと形式的検証の協調 による超ヅァヘヱゾピラVLSI

アーキテクチャと形式的検証の協調による超ディペンダブルVLSI

東京大学 大学院情報理工学系研究科 坂井 修一 (代表者)

五島 正裕

東京大学 大規模集積システム設計教育研究センター(VDEC) 藤田 昌宏

東京工業大学 大学院情報理工学研究科 吉瀬 謙二

日本電気(株) 若林 一敏

戦略的創造研究推進事業「ディペンダブルVLSIシステムの基盤技術」

2013/3/16 DVLSI-CREST

Page 2: ゠ヺカツキタメと形式的検証の協調 による超ヅァヘ …...2013/03/16  · ゠ヺカツキタメと形式的検証の協調 による超ヅァヘヱゾピラVLSI

全体マップ: ディペンダビリティ階層

それぞれの階層で技術開発+ 全体を通した最適化+ 最新アーキテクチャの検証

Best Effort Design

Run Time Recovery

(1) 形式的検証手法

� 等価性検証ソフトウェア

� ハード・ソフト協調による検証高速化・エミュレータへの応用

� ボトムアップ・トップダウン協調検証

� 算術回路合成・検証・高速化

� 設計解析技術・デバッグ支援

(2) テスト技術・テスト段階修復技術

� テスト容易化・検証容易化を実現する設計手法

� プログラマブル素子自動挿入

(3) 回路技術

� タイミング制約緩和回路

(4) アーキテクチャ技術

� 故障検出・回復機構の提案・実現

� 耐永久故障FPGA

� 耐故障高機能ルータ

� 超ディペンダブルプロセッサ、超ディペンダブルメニコア

(5) 新アーキテクチャ形式的検証

� ディペンダブルアーキテクチャ技術自体を形式的に検証

� 既存のアーキテクチャ、最新のアーキテクチャを形式的に検証

(7) 各設計階層間のディペンダビリティ役割分担を

最適化

software

design

verification

architecturecircuittest

user interface

2013/3/16DVLSI-CREST

Page 3: ゠ヺカツキタメと形式的検証の協調 による超ヅァヘ …...2013/03/16  · ゠ヺカツキタメと形式的検証の協調 による超ヅァヘヱゾピラVLSI

VLSI設計に対する形式的検証とデバッグ支援設計に対する形式的検証とデバッグ支援設計に対する形式的検証とデバッグ支援設計に対する形式的検証とデバッグ支援

• 設計変更・抽象化に対する等価性検証

– 形式検証ツールの開発(FLEC)

– NECとの協調による産業用設計例題を用いた評価

• ポストシリコン検証・デバッグ支援

– 企業とパッチ可能ハードウェアとその設計環境の開発

3

2013/3/16 DVLSI-CREST

NEC

Cyber Work Bench (CWB)

高位合成・設計環境(ポストシリコン

デバッグ支援機構)

設計ライブラリ(算術演算回路支援)

Cベース設計記述 1 Cベース設計

記述 2

Cベース設計記述 n

・・・

RTL設計 + ポストシリコンデバッグ支援

等価

性検

証(チ

ップ

、コ

ア、

ブロ

ック

CWBの例題

チップの意図通りの正しい動作の保証(向上):・ 仕様(元のC記述)通りの動作・ 誤設計のチップ製造後のデバッグと修正

(元のC設計上のバグをチップ製造後に修正)

Page 4: ゠ヺカツキタメと形式的検証の協調 による超ヅァヘ …...2013/03/16  · ゠ヺカツキタメと形式的検証の協調 による超ヅァヘヱゾピラVLSI

パッチ可能ハードウェアと設計開発環境パッチ可能ハードウェアと設計開発環境パッチ可能ハードウェアと設計開発環境パッチ可能ハードウェアと設計開発環境(ポストシリコン検証・デバッグ支援ポストシリコン検証・デバッグ支援ポストシリコン検証・デバッグ支援ポストシリコン検証・デバッグ支援)

• 冗長性・プログラム可能性を設計段階で回路に導入

• 製造後に生じた不具合の修正が可能

– 企業と共同で、設計手法/フローのツール化が完了(デモ)

論理合成配置配線

設計

高位設計記述

高位ECO(Post-Silicon)

高位検証(Pre-Silicon)

形式検証/シミュレーション

バグ修正

バグ特定

パッチ可能SoC

冗⻑性を考慮した高位合成

(パッチ可能HW)

バグ修正

バグ特定

パッチ生成

NoRespin

Needed!

エラー検出

4

2013/3/16 DVLSI-CREST

Page 5: ゠ヺカツキタメと形式的検証の協調 による超ヅァヘ …...2013/03/16  · ゠ヺカツキタメと形式的検証の協調 による超ヅァヘヱゾピラVLSI

部分的プログラム可能回路による自動修正技術部分的プログラム可能回路による自動修正技術部分的プログラム可能回路による自動修正技術部分的プログラム可能回路による自動修正技術5

2013/3/16 DVLSI-CREST

• 与えられた仕様を満たすプログラム可能回路(LUTや任意関数)の定義(真理値表、関数定義)を効率的に求める新規手法– (10万ゲート規模の組合せ回路+LUT100個)を1時間程度で解析

(従来手法では3千ゲート以下の規模でもtimeout)

• 企業の大規模ネットワークチップ設計の実バグ事例で評価– (企業)設計とバグ事例を提供(設計の最終段階のバグ)

– (大学)回路にLUTを挿入し、実際のバグが修正できるかどうかを評価

– LUT挿入方法の工夫し、数分~数十分でいくつかのバグを自動修正(協調評価は継続し、手法を定式化。企業とツール化準備中)

Page 6: ゠ヺカツキタメと形式的検証の協調 による超ヅァヘ …...2013/03/16  · ゠ヺカツキタメと形式的検証の協調 による超ヅァヘヱゾピラVLSI

FLECの実用化シナリオC言語ベース設計環境において

より有用性の高いFLEC活用シナリオを検討

既存IP(検証済み)の設計変更前後のC対C等価性検証

Design

for

ASIC

Design

for

FPGA

verifiedASICs

FPGAs

FLECはシミュレーションでは達成困難な100%の機能等価性検証を可能とするがFLECをもってしても大規模回路の検証には時間がかかる

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

0 10 20 30 40 50 60

Verification TIme

Number of branch statements in design

Floating Point

Arithmetic

DES

大規模な実用回路ではFLECでの検証時間が増大

Verify

with

FLEC

6

2013/3/16 DVLSI-CREST

試行錯誤を伴う人手の設計変更

Page 7: ゠ヺカツキタメと形式的検証の協調 による超ヅァヘ …...2013/03/16  · ゠ヺカツキタメと形式的検証の協調 による超ヅァヘヱゾピラVLSI

差分抽出比較法

int str_to_i(char str[10]) {

int val = 0;

for(int i=0;i<9;i++) {

val += char_to_i(str[i]);

val = val * 10 ;

}

val += str[9];

return val ;

}

int str_to_i(char str[10]) {

int val = 0;

for(int i=0;i<9;i++) {

val += char_to_i(str[i]);

int t = (val << 3);

int u = (val << 1);

val = t + u;

}

val += str[9];

return val ;

}

?

==

Before After

int str_to_i(char str[10]) {

int val = 0;

for(int i=0;i<9;i++) {

val += char_to_i(str[i]);

val = uif(val) ;

}

val += str[9];

return val ;

}

int str_to_i(char str[10]) {

int val = 0;

for(int i=0;i<9;i++) {

val += char_to_i(str[i]);

val = uif(val) ;

}

val += str[9];

return val ;

}

==

Before After

int uif(int u) {

int val ;

val = val * 10 ;

return val ;

}

int uif(int u) {

int val ;

int t =(val << 3);

int u = (val << 1);

val = t + u;

return val ;

}

差分抽出

Equiv.

FLECFLEC

設計全体の比較は規模の問題で検証不可(数日でも検証終了せず)

変更箇所のみの比較で規模の増大を抑制(FLECによる検証が数秒で成功)

設計変更が限定的であることを利用し、変更箇所のみ比較することにより検証時間を短縮

設計変更が限定的であることを利用し、変更箇所のみ比較することにより検証時間を短縮

7

2013/3/16 DVLSI-CREST

比較==

Page 8: ゠ヺカツキタメと形式的検証の協調 による超ヅァヘ …...2013/03/16  · ゠ヺカツキタメと形式的検証の協調 による超ヅァヘヱゾピラVLSI

回路・アーキテクチャ技術: 耐過渡・耐永久故障 FPGA

� 基本的なアイディア:

� Triple Modular Redundancy (TMR) による故障マスク & 検出

� Dynamic Partial Reconfiguration (DPR) による回復

� 目標 : 「高信頼用途にも使える通常用途用 FPGA」

� 通常用途におけるオーバヘッドを極小化

� ハードワイアート・ボータ(多数決回路)

� ユーザ・ロジック回復コントローラ

� ボータ・ネットワークの省略(三つ組を構成する BLE を固定)

� ノンストップ再構成手法

� FF の値のスペアへのコピー

� スペアの FF をランダムにセット/リセットし,

別のスペア・モジュール内のボータを用いて一致を確認

� VTR (Verilog-to-Router) を改造して,評価中

2013/3/16 DVLSI-CREST

FF

FF

FF

Vote

r

LUT

LUT

LUT

FF

FF

FF

Vote

r

LUT

LUT

LUT

置き換え

スペア・モジュール

Page 9: ゠ヺカツキタメと形式的検証の協調 による超ヅァヘ …...2013/03/16  · ゠ヺカツキタメと形式的検証の協調 による超ヅァヘヱゾピラVLSI

回路・アーキテクチャ技術: 耐タイミング故障技術

� LSI のランダムばらつき

� 動的タイミング故障 検出 & 回復 でワースト・ケースから脱却

� 動的タイム・ボローイングを可能にするクロッキング方式

� 二相ラッチ + タイミング故障検出

� ワースト遅延 → (入力ばらつきも含めた)ティピカル遅延 での動作

� 最大動作周波数は 2倍 ⇒ 電圧低下にも

� 耐タイミング故障プロセッサ

� コミット方式の詳細な検討

� Out-of-Order スーパスカラ・プロセッサにも適用可能 (ARM Cortex-A9,A15,etc.)

� パイプライン初期化による回復方式の検討

� 故障発生率 1回/1000サイクルで,IPC 低下率 2% 未満

2013/3/16 DVLSI-CREST

FPGA ボード

Page 10: ゠ヺカツキタメと形式的検証の協調 による超ヅァヘ …...2013/03/16  · ゠ヺカツキタメと形式的検証の協調 による超ヅァヘヱゾピラVLSI

回路・アーキテクチャ技術: 出口戦略

� 耐過渡・耐永久故障 FPGA

� 日立研との共同研究(今年度から)

� ターゲットは,車載制御

• FPGA による ASIC の置き換えを狙う

� 某大手 FPGA ベンダ(複数)との協業

• この夏に,本社訪問の予定

• その前に,特許を取得し,交渉を有利に

� 車載のため,更なる低コスト化の工夫

� 耐タイミング故障 クロッキング & プロセッサ

� LSI 試作等により,信頼性を高める

� LSI ベンダとの具体的な協議: 研究開発と並行して継続的に

� Intel,AMD,ARM,国内メーカ

2013/3/16 DVLSI-CREST

Page 11: ゠ヺカツキタメと形式的検証の協調 による超ヅァヘ …...2013/03/16  · ゠ヺカツキタメと形式的検証の協調 による超ヅァヘヱゾピラVLSI

超ディペンダビリティ支援高機能ルータグループ

� 高信頼・高効率メニーコア

� 高機能ルータを核として送受信パケットのレベルで多重実行を実現するSmartCoreシステム

� SmartCoreシステムのために設計した高機能ルータは,パケットの複製,パケットの送信先変更,パケットレベルの比較とエラー検出という独自の3つの機能を実現

� 180FPGAによるメニーコアの大規模テストベッド

� 現実的な制約のもと、SWと比較して,129倍の速度で メニーコアの動作をエミュレーション

� メニーノードシステムのためのタスク配置手法(RMAP, MOPT),耐故障機構の開発・実証

� 成果移転と展開(2012年10月から米田チームにて実施中)

� マルチコアコア/メニーコアのディペンダビリティ向上方式として確立

� マルチコア研究を支援する実用的な基盤環境の改良と普及

– 開発している最新の版を2013年5月に公開予定

� FPGAプロトタイプシステムの販売開始(2012年11月),普及のための支援活動

� 実用化に向けて自動車メーカーとのミーティングを開催,協議中

180FPGA プロトタイプシステム

normal task mapping RMAP

タスク配置手法RMAP高機能ルータアーキテクチャ

11

2013/3/16DVLSI-CREST