21
1 SystemC標準化と ヴァーチャル・プロトタイプのためのペリ フェラル・モデリングに対する取り組み ISIT 7回カーエレクトロニクス研究会 中野淳二 日本シノプシス システムレベルソリューションズ

SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

1

SystemC標準化とヴァーチャル・プロトタイプのためのペリフェラル・モデリングに対する取り組み

ISIT 第7回カーエレクトロニクス研究会

中野淳二日本シノプシス システムレベルソリューションズ

Page 2: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

2

歴史と状況

SystemCの開発と標準化におけるSynopsysの貢献

Page 3: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

3

SystemCに対する10年間の貢献、OSCI

Page 4: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

4

主な貢献

• OSCIの創設メンバー SystemC 1.0

• LWGの創設メンバー SystemC 2.0

• “TLM”の立ち上げ

• TLM 2.0

• SCML

最高水準のツール、モデル、サービスを提供

Synopsys システムレベルソリューションズ

Page 5: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

“TLM”

の語源

SystemC トランザクション・レベルモデル

DSP C

MEM ASIC

ARBBUS

clock

2000年

Page 6: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

SystemC 2.0: 異なる抽象レベルを一つの言語でカバー

(アンタイムド)機能レベル

実行可能な仕様

トランザクション・レベル

プラットフォーム設計、HW/SW協調検証

ピン・レベル

HWのRTL/動作設計と検証

UTF UTF UTF

UTF UTF

TLM TLM TLM

TLM TLM

RTL RTL RTL

RTL RTL

DAC

2001

Page 7: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

逐次リファイメント、早期検証

実行可能な仕様から一気にRTLを設計するような大きなギャップを回避

開発の早期に利用する高速プラットフォーム・シミュレーションのためのバス・サイクル精度トランザクション・モデル(100KCycle/秒以上)

CoSimulationによって異なるシミュレータを結合する必要なし

TLM UTF UTF

RTL UTF

TLM TLM TLM

UTF RTL

RTL RTL TLM

UTF RTL

DAC

2001

Page 8: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

8

• SystemC 2.0

の定義と開発に貢献

• トランザクション・モデリング

simple_busを覚えてますか?

–ブロッキング・インターフェース(単一の流れ)

– ノンブロッキング・インターフェース(複数の流れ)

–依存性のないデバッグ・インターフェース

SystemC 2.x

Page 9: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

9

• パフォーマンス向上のためのSynopsysの貢献– テンポラル・デカップリング

– クオンタム(Quantum)

– DMI

– タイミング付加

• 再利用と拡張性– トランスポートAPI

– ジェネリック・ペイロード

– フェーズ

– ペイロードとフェーズ拡張

TLM 2.0

TLMのさらなる進化

1

OSCI TLM2.0 standard

Blocking

interfaceDMI Quantum

Mechanisms

Use cases

Software

development

Architectural

analysis

Hardware

verification

Software

performance

Loosely-timed

Approximately-timed

Coding styles, abstractions

SocketsGeneric

payloadExtensions Phases

Non-blocking

interface

Single-phase, blocking API

Multi-phase, non-blocking API

1

Page 10: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

10

• TLM2 ではインターフェースを定義

• SCML2 は構成ブロック内部を提供– メモリ

–レジスタ

–ビット・フィールド

–デコーダ

– コールバック

– コマンド

–その他

SCML2

(TLM) モジュール内部の考察

1

CoWare Confidential

SCML2 overview

initiator target

TL

M2

GP

LT

bu

sdmi_handler

Quantum keeper Initiator socket

target socket

target adapter

memory

memory_alias

register

Page 11: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

1111

SCML2 解析とデバッグを加速

SystemC

シミュレーション

Synopsys

モデルライブラリ

ユーザSystemC

ブロック

プラットフォームの構築と設定(GUI 及びスクリプト)

パフォーマンス解析

SystemC Debug

組み込みSW

デバッグコンポーネントウィザード

SCML

inside

• メモリ表示• レジスタ•ウォッチポイント• コマンド• …

• トレース•統計測定• ブレークポイント

•効果的なモデリングのためSCMLを公開• Synopsys ツールによりSCMLの効果を最大限に発揮

Page 12: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

12

メモリ・マップのためのバスを検証可能さらにCANバスに対する取り組み

Engine Model

MATLAB/Simulink

Engine Controller

Processor

(VPM) CAN Controller

CPU Bus

Suspension Controller

Processor

(VPM) CAN Controller

CPU Bus

Panel Controller

Processor

(VPM) CAN Controller

CPU BusCan-TT

Bus

MATLAB/Simulink

Suspension Model

& Display

Engine Model

MATLAB/Simulink

Engine Model

MATLAB/Simulink

Engine Controller

Processor

(VPM) CAN Controller

CPU Bus

Engine Controller

Processor

(VPM) CAN Controller

CPU Bus

Suspension Controller

Processor

(VPM) CAN Controller

CPU Bus

Suspension Controller

Processor

(VPM) CAN Controller

CPU Bus

Panel Controller

Processor

(VPM) CAN Controller

CPU Bus

Panel Controller

Processor

(VPM) CAN Controller

CPU BusCan-TT

Bus

MATLAB/Simulink

Suspension Model

& Display

• TLM CAN バス• CAN モニタ/インジェクタ•電子・物理シミュレーション・インターフェース

• CanAlyzerインターフェース

Page 13: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

13

要因、必要性、計画

Synopsys

カーエレクトロニクス研究会

Page 14: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

14

主な要因:ソフトウェア要素の飛躍的増加

1970

100,000行のコード

SW とE/Eは全体コストの9%以下

1990

1,000,000 行のコード

SW と E/Eは全体コストの 33%

2010

100,000,000 行のコード

SW と E/E は全体コストの40%以上

Source: IBM

Page 15: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

15

HW/SW 統合と全体検証が大きな課題に

• 仮想化により

– 実行可能な仕様

– 早期解析、統合、検証

• SystemCエコシステム

– 効果的モデリング

– インターフェース標準

• ツールサポート

– 解析

– デバッグ

Page 16: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

16

• 段階的展開

• 優先度

– ECU単体

• メモリベース・バス

• メモリ及びレジスタのモデリング

• クロックベースTLMシステムの効果的モデリング

–車載ネットワーク

• CANバス・サンプル

• さらなるインターフェース

自動車向けSystemC標準Synopsysの計画

Page 17: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

17

1. メモリベース・バス

– ECU内部の中核となる通信

–現行 TLM2 LRMのチェック

– IEEE 1666 WGへフィードバックを提供

2. レジスタ/メモリ/ビット・フィールドのモデリング

–ペリフェラル開発の主要素

– Synopsys の貢献: SCMLの公開

段階的展開

Page 18: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

18

3. クロックベース・システムの効果的モデリング

– sc_clockはRTL同等動作

–パフォーマンスとモデリング効率化のためのトランザクションレベル・クロック

– Synopsys の貢献:

• 長年にわたるクロックベース・システムの高速モデリングの経験

• SCML クロック・オブジェクト

段階的展開(続き)

Page 19: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

19

4. 車載ネットワーク・モデリング、CAN

– TLM2はメモリベース・システムのみカバー

– CANバス・サンプル

– Synopsys 貢献:

• 長年にわたるトランザクション・レベルでのCANバスモデリングの経験

• SystemC CAN インターフェース

段階的展開(続き)

Page 20: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

20

5. さらなるインターフェース

– ECUシステム(ネットワーク、ストリーミング、SoC)に必要となるインターフェースを随時追加

–中核となるモデル化要素(レジスタ、クロック)と通信リンク(TLM2、CAN)に関する作業を進めながらインターフェースのプライオリティ付け

– Synopsys の貢献:

• 長年にわたる、さまざまな自動車業界における完全なヴァーチャル・プロトタイプの提供経験

段階的展開(続き)

Page 21: SystemC Standards and Digital Automotive Electronics ...car-electronics.jp/CE07/CEW7_Nakano.pdfsystemc 2.0: 異なる抽象レベルを一つの 言語でカバー (アンタイムド)機能レベル

21

各種分野で実績のある仮想プラットフォーム群

MATLAB/Simulink

エンジン・モデル

4駆トルク制御ECU

ブレーキ制御ECU

CAN Bus model

CAN Device

Register Virtual

MCU

CPU Bus

Virtual

MCU

CAN Device

Register

CPU Bus

Engine

Mechanical

Model

MATLAB/Simulink

Virtual

MCU

CAN Device

Register

CPU Bus

エンジン制御ECU

Break

Mechanical

Model

MATLAB/Simulink

4-wheel drive

Mechanical

Model

MATLAB/Simulink

スマートフォンなどのASSPをベースとした、SW開発の早期立上げ

モバイル、プリンタ、カーナビなどの、SWドリブンの性能解析を早期実現し実機に反映

自動車、産業機器など、メカ部との協調がキーとなる信号レベルのSW開発高速サイクル精度プロセッサコアモデル