Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
1
SystemC標準化とヴァーチャル・プロトタイプのためのペリフェラル・モデリングに対する取り組み
ISIT 第7回カーエレクトロニクス研究会
中野淳二日本シノプシス システムレベルソリューションズ
2
歴史と状況
SystemCの開発と標準化におけるSynopsysの貢献
3
SystemCに対する10年間の貢献、OSCI
4
主な貢献
• OSCIの創設メンバー SystemC 1.0
• LWGの創設メンバー SystemC 2.0
• “TLM”の立ち上げ
• TLM 2.0
• SCML
最高水準のツール、モデル、サービスを提供
Synopsys システムレベルソリューションズ
“TLM”
の語源
SystemC トランザクション・レベルモデル
DSP C
MEM ASIC
ARBBUS
clock
2000年
SystemC 2.0: 異なる抽象レベルを一つの言語でカバー
(アンタイムド)機能レベル
実行可能な仕様
トランザクション・レベル
プラットフォーム設計、HW/SW協調検証
ピン・レベル
HWのRTL/動作設計と検証
UTF UTF UTF
UTF UTF
TLM TLM TLM
TLM TLM
RTL RTL RTL
RTL RTL
DAC
2001
逐次リファイメント、早期検証
実行可能な仕様から一気にRTLを設計するような大きなギャップを回避
開発の早期に利用する高速プラットフォーム・シミュレーションのためのバス・サイクル精度トランザクション・モデル(100KCycle/秒以上)
CoSimulationによって異なるシミュレータを結合する必要なし
TLM UTF UTF
RTL UTF
TLM TLM TLM
UTF RTL
RTL RTL TLM
UTF RTL
DAC
2001
8
• SystemC 2.0
の定義と開発に貢献
• トランザクション・モデリング
simple_busを覚えてますか?
–ブロッキング・インターフェース(単一の流れ)
– ノンブロッキング・インターフェース(複数の流れ)
–依存性のないデバッグ・インターフェース
SystemC 2.x
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
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
1111
SCML2 解析とデバッグを加速
SystemC
シミュレーション
Synopsys
モデルライブラリ
ユーザSystemC
ブロック
プラットフォームの構築と設定(GUI 及びスクリプト)
パフォーマンス解析
SystemC Debug
組み込みSW
デバッグコンポーネントウィザード
SCML
inside
• メモリ表示• レジスタ•ウォッチポイント• コマンド• …
• トレース•統計測定• ブレークポイント
•効果的なモデリングのためSCMLを公開• Synopsys ツールによりSCMLの効果を最大限に発揮
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インターフェース
13
要因、必要性、計画
Synopsys
カーエレクトロニクス研究会
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
15
HW/SW 統合と全体検証が大きな課題に
• 仮想化により
– 実行可能な仕様
– 早期解析、統合、検証
• SystemCエコシステム
– 効果的モデリング
– インターフェース標準
• ツールサポート
– 解析
– デバッグ
16
• 段階的展開
• 優先度
– ECU単体
• メモリベース・バス
• メモリ及びレジスタのモデリング
• クロックベースTLMシステムの効果的モデリング
–車載ネットワーク
• CANバス・サンプル
• さらなるインターフェース
自動車向けSystemC標準Synopsysの計画
17
1. メモリベース・バス
– ECU内部の中核となる通信
–現行 TLM2 LRMのチェック
– IEEE 1666 WGへフィードバックを提供
2. レジスタ/メモリ/ビット・フィールドのモデリング
–ペリフェラル開発の主要素
– Synopsys の貢献: SCMLの公開
段階的展開
18
3. クロックベース・システムの効果的モデリング
– sc_clockはRTL同等動作
–パフォーマンスとモデリング効率化のためのトランザクションレベル・クロック
– Synopsys の貢献:
• 長年にわたるクロックベース・システムの高速モデリングの経験
• SCML クロック・オブジェクト
段階的展開(続き)
19
4. 車載ネットワーク・モデリング、CAN
– TLM2はメモリベース・システムのみカバー
– CANバス・サンプル
– Synopsys 貢献:
• 長年にわたるトランザクション・レベルでのCANバスモデリングの経験
• SystemC CAN インターフェース
段階的展開(続き)
20
5. さらなるインターフェース
– ECUシステム(ネットワーク、ストリーミング、SoC)に必要となるインターフェースを随時追加
–中核となるモデル化要素(レジスタ、クロック)と通信リンク(TLM2、CAN)に関する作業を進めながらインターフェースのプライオリティ付け
– Synopsys の貢献:
• 長年にわたる、さまざまな自動車業界における完全なヴァーチャル・プロトタイプの提供経験
段階的展開(続き)
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開発高速サイクル精度プロセッサコアモデル