仮想ECU活用のための ユーザ向け 導入検討支援ガイド

仮想ECU活用のための
ユーザ向け 導入検討支援ガイド
Rev3.0
2015年9月29日
仮想マイコン応用推進協議会/vECU-MBD WG
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
1
目次
1.仮想ECUシミュレータの導入・活用の狙い
1.1 本書の目的
1.2 本書の作成経緯
1.3 用語
1.4 モデルベース開発(MBD)
1.5 今後のシステムテストの課題
1.6 仮想マイコン
1.7 仮想ECU
1.8 仮想ECUシミュレータ導入の狙い
2.開発プロセス上の位置付け
2.1 開発プロセス上の仮想ECU活用場面
2.2 HILS と vHILS
2.3 仮想ECU応用 モデルベース開発プロセス
3.現状事例(ユースケース)
3.1 調査経緯
3.2 事例1:仮想車一台分シミュレーション
3.3 事例2:バーチャルHILS (vHILS)
3.4 事例3:CPU負荷計測
3.5 事例4:故障注入・故障解析
3.6 事例5:vECUによる網羅的検証
3.7 事例6:ソフトウェア機能検証
3.8 事例7:フォールト注入
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
2
目次
4.時間精度について
4.1 時間精度に関するトレードオフ
4.2 時間精度の要求分析
4.3 時間精度の誤差発生理由
4.4 時間精度の分類定義(ATAL)
4.5 時間精度の評価方法
5.複数シミュレータの同期化
5.1 複数ECU協調シミュレーションの概要
5.2 プラントモデルとコントローラモデルの同期化
5.3 複数コントローラモデル間の同期化
6.モデル間インタフェースについて
6.1 モデル間インタフェースの分類
6.2 モデル間インタフェース仕様検討時の留意点
6.3 マイコン内部のモデル間インタフェースの標準化(TLMインタフェース)
6.4 マイコン外部との通信インタフェースの標準化
6.5 周辺モデル付SILSとその標準化
7.ユーザインタフェース(UI)について
7.1 ユーザインタフェース(UI)の分類
7.2 ユーザインタフェース(UI)仕様検討時の留意点
8.フォールト注入について
8.1 フォールト注入のねらい
8.2 フォールト注入の活用方法
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
3
目次
9.性能評価(CPU負荷率)
9.1 車載制御ソフトウェアにおけるCPU負荷率とは?
9.2 CPU最大負荷率測定の目的
9.3 用法
9.4 仮想ECUの要件
9.5 今後の動向
10.周辺モデル設計における留意点
10.1 周辺モデル設計における基本的な留意点
10.2 事例分析と留意点
11.マルチコアモデルについて
11.1 マルチコアモデルにおけるトレードオフ
11.2 マルチコアにおける基本要求仕様
11.3 マルチコアで想定されるソフトウェアバグ
11.4 マルチコアにおけるタイミング精度要求仕様
11.5 コア間の同期化周期に関する要求仕様
11.6 ソフトウェア機能検証用途における追加要求仕様
11.7 性能評価用途における要求仕様
補足
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
4
第1章 仮想ECUシミュレータの導入・活用の狙い
1.1 本書の目的
1.2 本書の作成経緯
1.3 用語
1.4 モデルベース開発(MBD)
1.5 今後のシステムテストの課題
1.6 仮想マイコン
1.7 仮想ECU
1.8 仮想ECUシミュレータ導入の狙い
1.9 機能安全規格ISO26262と仮想ECU
第2章 開発プロセス上の位置付け
第3章 現状事例(ユースケース)
第4章 時間精度について
第5章 複数シミュレータの同期化
第6章 モデル間インタフェースについて
第7章 ユーザインタフェース(UI)について
第8章 フォールト注入について
第9章 性能評価(CPU負荷率)
第10章 周辺モデル設計における留意点
第11章 マルチコアモデルについて
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
5
1.1 本書の目的
本書は、仮想マイコンおよび仮想ECUシミュレータの活用に関する啓蒙活動の一環として、
自動車分野での利用目的、現状事例(ユースケース)、要件分析、留意点などを解説し、
ユーザ向け導入検討支援ガイドとして纏めたものである。
(1)仮想ECUシミュレータのユースケースや活用効果を示す。そうすることで、仮想ECUシ
ミュレータの活用拡大と活用効果向上を期待する。
(2)ユーザ要求を整理し、要件分析する。要件検討時の留意点やトレードオフを示す。そう
することで、仮想ECUシミュレータ(およびモデル)に対する要件の標準化を図り、そのコスト
低減、早期リリースを期待する。
(3)仮想ECUシミュレータ(およびモデル)のインタフェース仕様や利用仕様に関わる標準
化案を提唱する。そうすることで、ユーザ間やベンダ間での相互利用を容易化し、双方の効
率向上を期待する。
注意事項:
本書の考え方は、あくまで、現状知られている事例と一般的な見解をベースに解説したものである。仮想マイ
コンおよび仮想ECUシミュレータの導入業務そのものを保証するものではない。従って、個別のシミュレーショ
ンシステムに対しては、各社の判断にて検討願いたい。
今後、技術動向の変化により、本書の内容に改訂が必要となった場合には、vECU-MBD WGにて審議した上
で改訂するものとする。
vECU-MBD WGは、本書の使用により知的財産権の侵害若しくは知的財産権侵害に係る紛議が生じないこ
と、または本書の使用に関する知的財産権の存在確認及び当該知的財産権に関する実施許諾について、
一切の保証を行わない。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
6
1.2 本書の作成経緯
本書の作成経緯、参加メンバは以下のとおりである。
(1)作成経緯
2011年10月~2012年6月 本書のベースとなる現状事例などを調査および報告書作成
2012年7月~2013年2月 原稿作成および編集
2013年2月~2013年6月 レビューおよび改訂⇒Rev 1.0発行
(2)初版対応参加メンバ (情報提供、原稿作成およびレビュー)
・アイシン精機株式会社
・イータス株式会社
・オムロンオートモーティブエレクトロニクス株式会社
・ガイオ・テクノロジー株式会社
・カルソニックカンセイ株式会社
・株式会社 デンソー
・日本アイ・ビー・エム株式会社
・日本シノプシス合同会社
・日立オートモティブシステムズ株式会社
・株式会社 日立製作所 (中央研究所)
・株式会社 半導体理工学研究センター
・富士通セミコンダクター株式会社
・富士通テン株式会社
・株式会社 本田技術研究所
・マツダ株式会社
・ルネサス エレクトロニクス株式会社
・公益財団法人 九州先端科学技術研究所
・Australian Semiconductor Technology Company株式会社
・TOOL株式会社
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
7
1.2 本書の作成経緯
本書の改訂経緯、参加メンバは以下のとおりである。
(1)改訂経緯
2014年8月~2014年9月
2014年9月~2014年10月
原稿改訂
レビューおよび指摘反映⇒Rev 2.0発行
(2)改訂版対応参加メンバ
(株)本田技術研究所、マツダ(株)、日産自動車(株)、アイシン精機(株)、カルソニックカンセイ(株)、 (株)デンソー、富士
通テン(株)、(株)日立製作所、日立オートモティブシステムズ(株)、 (株)日立産業制御ソリューションズ 、日本IBM(株)、
オムロンオートモーティブエレクトロニクス(株)、トヨタテクニカルデベロップメント(株)、 (株)ヴィッツ、ルネサスエレクトロ
ニクス(株)、スパンション・イノベイツ(株)、(株)東芝、イータス(株)、日本シノプシス合同会社、ガイオ・テクノロジー(株)、
Australian Semiconductor Technology Company(株)、 TOOL(株)、(株)リンクポート、dSPACE Japan(株)、クオリアーク・
テクノロジー・ソリューションズ(株)、(一財)日本自動車研究所(JARI)、(株)半導体理工学研究センター(STARC)、(公
財)九州先端科学技術研究所(ISIT)(計28機関) 【順不同】(2014年9月)
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
8
1.3 用語
用語、略号
説明
ECU
電子制御ユニット
MBD
モデルベース開発手法。複雑化・高度化した現代の自動車制御システム開発に於て、MATLAB/Simulink等のツー
ル活用によって、制御装置と制御対象の機能をモデル化し、それらを実行可能な仕様書として用いることで、製品
ライフサイクル全般に渡った品質向上と開発効率向上を目指した開発手法
MILS
Model-in-the-loop simulation。モデルを用いたシミュレーション。Simulinkモデルなどで記述されたアプリケーション
ソフトをシミュレーション実行できる。
SILS
Software-in-the-loop simulation。ソースコードを用いたシミュレーション。C言語などで記述されたアプリケーション
ソフトをシミュレーション実行できる。
SPILS
注1
Simulated-processor-in-the-loop simulation。実装対象プロセッサのモデル(仮想マイコン)を用いたシミュレーショ
ン。OSなど基盤ソフトも含めて製品と同一のオブジェクトコード(バイナリコード)をシミュレーション実行できる。
PILS
Processor-in-the-loop simulation。実装対象プロセッサ(マイコン)を用いたシミュレーション。
HILS
Hardware-in-the-loop simulation。実装対象ECUを用いたシミュレーション。
仮想マイコン
Virtual Microcontroller。実装対象プロセッサのモデル。マイコン内蔵の周辺回路を含む。OSなど基盤ソフトも含め
て製品と同一のオブジェクトコード(バイナリコード)をシミュレーション実行できる。マイコンモデルとも呼ぶ。
仮想ECU
vHILS
注1
注1
Virtual ECU。実装対象ECUのモデル。実装対象プロセッサのモデル(仮想マイコン)を含む。OSなど基盤ソフトも
含めて製品と同一のオブジェクトコード(バイナリコード)をシミュレーション実行できる。バーチャルECU、vECU、
ECUモデルとも呼ぶ。
Virtual HILS。実装対象ECUのモデル(仮想ECU)を用いてHILSを仮想化したシミュレーション。
SPILSの応用例の1つである。HILSライクに利用できることが特徴である。バーチャルHILSとも呼ぶ。
注1: 別の用語も使われているが、本WGで審議の結果、この表に示すような用語を使用することにした。
注2: 上記用語および関連用語については、別資料「仮想ECUに関わる用語集」も参照願いたい。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
9
1.3 用語
参考: 各シミュレーション形態の概要説明
シミュレー
ション形態
制御ソフト
(アプリソフト)
基盤ソフト
マイコン
スケジューラ、割り込み、
ドライバなど
ECU
(周辺回路含む)
制御対象(プラント)
車両、センサ、アク
チュエータなど
MILS
モデル
ツールの実行制御機能
で代行
なし
なし
モデル
SILS
ソースコード
(実物を加工し
Simullinkに変換)
ツールの実行制御機能
で代行
なし
なし
モデル
SPILS
実物(バイナリ)
(オブジェクトコード)
実物(バイナリ)
(オブジェクトコード)
モデル
モデル
モデル
PILS
実物(バイナリ)
(オブジェクトコード)
ツールの実行制御機能
で代行
実物
(ハードウェア)
モデル
モデル
HILS
実物(バイナリ)
(オブジェクトコード)
実物(バイナリ)
(オブジェクトコード)
実物
(ハードウェア)
実物
(ハードウェア)
モデル
: ソフトウェア(モデル)
2012/12/21
: 実物(ソフトウェア)
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
: 実物(ハードウェア)
10
1.4 モデルベース開発(MBD)
モデルとは?
資料より引用
仮想システムでのシミュレーションを可能とするもの
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
11
1.4 モデルベース開発(MBD)
開発プロセスでのモデル活用位置付け
×
要求検証
要求設計
量産
Auto Calibration
プラントモデル
コントロールモデル
実車検証
仕様設計
実車テスト
MBD仕様書
単体検証
…
Rapid ECU
ソフトウエア詳細設計
***
・・
ECU
***
HILS テスト
プログラミング
Vプロセスの実物テスト(右側)前にモデルで問題を抽出
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
12
1.5 今後のシステムテストの課題
今後のネットワークを介した複合システムテストの課題
実車テスト
B-CAN
HILS
F-CAN
車一台分の大規模HILSテスト
アプリ+プラットフォーム+ネットワークのテストは
実ユニット完成後となり問題抽出の早期化が図れない
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
13
1.6 仮想マイコン
仮想マイコン(マイコンモデル): Virtual Microcontroller
実装対象プロセッサのモデル。マイコン内蔵の周辺回路を含む。
OSなど基盤ソフトも含めて製品と同一のオブジェクトコード(バイナリコード)をシミュレーション実行できる。
複数ECUモデルの内の1つまた
は複数ECUのオブジェクトコード
を仮想エミュレーションし車両挙
動と合わせたプログラム挙動解
析が可能な環境
B-CAN F-CAN
エアコン ECU
モデル
仮想ECUで検
証後、実ECU
を用いたHILS
最終検証
FI ECU
モデル
VSA ECU
モデル
キーレス ECU
モデル
Plants
Controller
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
14
1.7 仮想ECU
仮想ECU(バーチャルECU、ECUモデル): Virtual ECU
実装対象ECUのモデル。実装対象プロセッサのモデル(仮想マイコン)を含む。
OSなど基盤ソフトも含めて製品と同一のオブジェクトコード(バイナリコード)をシミュレーション実行できる。
ECUモデル
制御対象モデル
システム階層
入力モデル
マイコンモデル
出力モデル
エ
ン
ジ
ン
回
転
数
ユニット階層
A
T
ギ
ア
仮想ECU
実オブジェクトコード
パーツ階層
仮想マイコン
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
15
1.8 仮想ECUシミュレータ導入の狙い
実ユニットレスでオブジェクトコードベースのテスト実行(製品と同一ソフトの検証)
実行時間を実時間かそれ以下に短縮したい
実機では実施困難なテスト(フォールト注入テストなど)を行いたい
×
要求検証
要求設計
量産
新ループ
プラントモデル
Auto Calibration
コントロールモデル
実車検証
仕様設計
実車テスト
MBD仕様書
単体検証
…
Rapid ECU
ソフトウエア詳細設計
***
・・
ECU
***
HILS テスト
OBJECT
プログラミング
CODE
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
16
1.9 機能安全規格ISO26262と仮想ECU
自動車用機能安全規格ISO26262は、2011年11月に制定された。
この中で、仮想ECUの活用に関連する記述として以下がある。
ソフトウェア統合テストのテスト環境
Part6(ソフトウェア)-10節 Software integration and testing
~
10.4.8 The test environment for software integration testing shall correspond
as closely as possible to the target environment
テスト環境は極力
ターゲット環境と一致させること
~
NOTE 2 ~ Such test environments can be the target processor for final integration,
or a processor emulator or a development system for the previous integration steps.
テスト環境は、プロセッサエミュレータでもよい
⇒基盤ソフト含めてオブジェクトコードがそのまま走る
仮想ECUを適宜活用可能
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
17
1.9 機能安全規格ISO26262と仮想ECU
フォールト注入テストのテスト環境
Part4(システム)-8節 8.4.2 Hardware-software integration and testing
++
++
備考: +:推奨、++:強く推奨
Part5(ハードウェア)-10節 Hardware integration and testing
安全度水準が
高い場合
(ASIL-C以上)
↓
フォールト注入
テストの実施が
要求される。
++ ++
備考: +:推奨、++:強く推奨
b) ~ Model-based fault injection (e.g. fault injection done at the gate-level netlist level) is also
applicable, especially when fault injection testing is very difficult to do at the hardware product
level.
ハードウェアに対するフォールト注入テストは、モデルベースのフォールト注入シミュレーションでもよい。
⇒仮想ECUを適宜活用可能
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
18
第1章 仮想ECUシミュレータの導入・活用の狙い
第2章 開発プロセス上の位置付け
2.1 開発プロセス上の仮想ECU活用場面
2.2 HILS と vHILS
2.3 仮想ECU応用 モデルベース開発プロセス
第3章 現状事例(ユースケース)
第4章 時間精度について
第5章 複数シミュレータの同期化
第6章 モデル間インタフェースについて
第7章 ユーザインタフェース(UI)について
第8章 フォールト注入について
第9章 性能評価(CPU負荷率)
第10章 周辺モデル設計における留意点
第11章 マルチコアモデルについて
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
19
2.1 開発プロセス上の仮想ECU活用場面
この段階でも
モデル活用
したい
ソフト開発の流れ
MILS
SW/HW
分割
要求仕様
段階
ソ
フ
ト
制
御
モ
デ
ル
ソ
フ
ト
制
御
モ
デ
ル
ソ
フ
ト
制
御
モ
デ
ル
ソ
フ
ト
制
御
モ
デ
ル
SILS
ソ
フ
ト
制
御
モ
デ
ル
ソ
フ
ト
制
御
モ
デ
ル
仮想ECU
HILS
SW/HW
統合
制御アプリソフト
Cソースコード
ソフトプラットフォームモデル
ソフトプラットフォームモデル
ECUハードウエアモデル
ECUハードウエアモデル
モデル
仕様段階
SPILS
制御アプリソフト
オブジェクトコード
ソフトプラットフォーム
オブジェクトコード
仮想マイコン
ECUハードウエアモデル
ハード開発の流れ
ECUハードウエア回路
Cソースコード
生成段階
マイコン
組込み段階
実ECU
オブジ ェクトコー
ド
マイコン
ECUハードウェア
実ECU
統合段階
開発段階に応じたハード・ソフトの最適モデル活用
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
20
2.1 開発プロセス上の仮想ECU活用場面
要求設計
実車レス
デバッグ&検証
システム要求モデル
ECU要求モデル
仮想システム
単体実機レス
デバッグ&検証
供給側
コード
ソフトウエア要求モデル
コード
単体実機
検証
コード
要求側
ECU内部要求モデル
ソフトウエア詳細設計
実車検証
コード
要求側
仕様設計
量産
仮想ECU
供給側
仮想マイコン
実装
各設計プロセスの階層間をさかのぼった仮想ECU活用
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
21
2.2 HILS と vHILS(Virtual HILS)
仮想マイコン、仮想ECU を活用したvHILS(Virtual HILS)の特長を以下に示す。(HILSとの対比で)
HILS (Hardware-in-the-loop Simulator)
■構成: 実ECU+プラントモデル
■特長
-製品と同一のバイナリコードを動作検証
-実機ベースのソフトウェア検証
■短所:場所制約、ターゲット環境切替工数、再
現性不確定、観測性制約、フォールト注入の制
約など
HILS
車両モデル
ソフトウェア
(バイナリコード)
01001010
01101011
11101010
01010111
・・・・・・・・
HILS装置
ECU(実機)
vHILS (Virtual HILS)
■構成: 仮想ECU+プラントモデル
■特長
-製品と同一のバイナリコードを動作検証
-実機ベースとほぼ等価なソフトウェア検証
-実機レス (実機不要、実機完成前でもテスト可)
-場所制約、ターゲット環境切替工数、再現性
不確定、観測性制約、フォールト注入の
制約などの実機(HILS)の短所は解決
-クラウド活用による遠隔利用や並列実行可
-精度の高いプラントモデル(実時間では
動作不可)でも利用可能
vHILS
(Virtual HILS)
プラントモデル
コントローラモデル
(仮想ECU)
(車両モデル)
ソ フ トウェア
( バイナリコード)
マイコ ンモデル
( 仮想マイコン)
Simulator
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
Co-sim
仮想ECU
シ ミュレータ
22
2.2 HILS と vHILS
仮想ECUを使ったHILS つまり vHILSを実現するには、HILSと比べて以下のモデル
が必要になる
・マイコンモデル
・ECUの入出力回路のモデル(H/Wモデル)
なお、HILS/vHILS共に、プラントモデルとしてセンサ・アクチュエータのモデルも必
要であるが、HILSの場合は実機を利用することも可能である。
HILS
オブジェクト
コード
オブジェクト
コード
vHILS
仮想 ECU
H/W
モデル
H/W
モデル
マイコン
モデル
ECU実機
プラント
モデル
SPILS用ツール
PC/サーバ
ECU・センサ・アクチュエータの実機完成前に各種モデルが整うと、vHILSとしてのメ
リットが大きい(ソフトウェアのテストを先行できる)
⇒ 実機完成前に、モデルの作成または調達ができることが望ましい
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
23
2.3 仮想ECU応用モデルベース開発プロセス
実機の完成前に 、vHILSによる実機レスのシステムテストを行う場合の
開発プロセスを以下に示す
オブジェクトコードと
車両テスト
各部品モデル(ハードウェアモデル)を
組込んで実機レスシステムテスト
自動車メーカー
要求分析
実機レス
オブジェクト システムテスト
コード
部品 モデル
システム設計
ドメイン毎に
担当範囲は変化
実機
要求分析
Validation
構成設計
サプライヤ
システムテスト
結合検証
詳細設計
単体検証
コーディング
要求分析
要求分析
要求分析
Validation
Validation
Validation
テスト・検証
テスト・検証
テスト・検証
構成設計
構成設計
構成設計
詳細設計
詳細設計
詳細設計
モデリング
モ デリング
モ デリング
結合検証
結合検証
結合検証
単体検証
単体検証
単体検証
実装
実装
実装
ECUソフト
ECUハード ・ センサ ・ アクチュエータ
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
24
第1章 仮想ECUシミュレータの導入・活用の狙い
第2章 開発プロセス上の位置付け
第3章 現状事例(ユースケース)
3.1 事例調査経緯
3.2 事例1:仮想車一台分シミュレーション
3.3 事例2:バーチャルHILS
3.4 事例3:CPU負荷計測
3.5 事例4:故障注入・故障解析
3.6 事例5:vECUによる網羅的検証
3.7 事例6:ソフトウェア機能検証
3.8 事例7:故障注入(フォールト注入)テスト
第4章 時間精度について
第5章 複数シミュレータの同期化
第6章 モデル間インタフェースについて
第7章 ユーザインタフェース(UI)について
第8章 フォールト注入について
第9章 性能評価(CPU負荷率)
第10章 周辺モデル設計における留意点
第11章 マルチコアモデルについて
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
25
3.1 事例調査経緯
本調査の実施時期、参加メンバは以下である。
(1)調査実施時期 2011年10月~2012年4月 (含む資料作成およびレビュー)
(2)参加メンバ
・アイシン精機株式会社
・ガイオ・テクノロジー株式会社
・カルソニックカンセイ株式会社
・株式会社 デンソー
・日本アイ・ビー・エム株式会社
・日本シノプシス合同会社
・日立オートモティブシステムズ株式会社
・株式会社 日立製作所 (中央研究所)
・株式会社 半導体理工学研究センター
・富士通セミコンダクター株式会社
・富士通テン株式会社
・株式会社 本田技術研究所
・マツダ株式会社
・ルネサス エレクトロニクス株式会社
(3)追加調査
2012年度の事例調査から事例7を追加した。
備考: 本章では事例提供いただいた会社名を以下のように略記させていただく。
2012/12/21
正式会社名
略記
アイシン精機株式会社
アイシン精機
カルソニックカンセイ株式会社
カルソニックカンセイ
株式会社デンソー
デンソー
日立オートモティブシステムズ株式会社 および
株式会社日立製作所
日立
富士通テン株式会社
富士通テン
株式会社本田技術研究所
ホンダ
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
26
3.1 事例調査経緯
事例(ユースケース)を利用目的ごとに分類したものを以下の表に示す。本調査では、その代表事例
について、各社にて分担して自社事例を中心に調査し纏めた。
vECU/vHILS利用目的整理表と個別事例情報提供担当
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
27
3.1 事例調査経緯
◆調査項目
事例(ユースケース)の調査にあたっては、以下の項目に従って纏めた。
1.ユースケース名称
2.概要
3.作業項目
4.目的
5.内容説明
フリーフォーマットで内容紹介
6.用途
7.主要要件
時間精度、処理スピード、ユーザインタフェース(UI)
など、シミュレータに対する主要要件
8.現状の実現状況(あるいは見通し)
9.想定効果
10.今後の課題
11.参考文献
なお、本章の内容は、11年度調査結果である。現時点では一部状況変化している場合もあるので、留意願い
たい。(特に、「8.現状の実現状況(あるいは見通し)」「10.今後の課題」など)
備考: 第3章(現状事例)と第4章以降の位置づけ
本ガイドの作成においては、現状事例をまず分析して、そこから得られた教訓も考慮しながら、第4章以降に
留意すべきことを整理展開した。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
28
3.2 事例1:仮想車一台分シミュレーション
事例1
情報提供:本田技術研究所
1.ユースケース名称
仮想車一台分シミュレーション
2.概要
実ECUを揃えてHILSシステム構築しなくとも検証可能
ソフトはオブジェクトさえあれば検証可能(ソースコードやモデルは不要)
UIはHILSモニター画面ライク
3.作業項目
複数ECUの実機レス統合試験
4.目的
検証作業効率アップ
検証期間短縮
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
29
3.2 事例1:仮想車一台分シミュレーション
5.内容説明
Full Vehicle Off-Line simulation
Full Vehicle HILS
HILS
B-CAN
F-CAN
Actual Object Code
Actual Object Code
Actual Object Code
Actual Object Code
Vehicle
I/F
Virtual MCU Model
I/F
Virtual MCU Model
I/F
Virtual MCU Model
B-CAN
F-CAN
I/F
Virtual MCU Model
Operation
Pattern
Environment
並列分散処理が可能な仮想車一台分シミュレーション環境
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
30
3.2 事例1:仮想車一台分シミュレーション
5.内容説明<続>
ECUモデル
制御対象モデル
システム階層
簡易入力モデル マイコンモデル 簡易出力モデル
エ
ン
ジ
ン
回
転
数
ユニット階層
A
T
ギ
ア
仮想ECUモデル
パーツ階層
実オブジェクトコード
仮想マイコンモデル
故障診断状態でのECU動作
1機能ECUでの仮想ECUモデル化技術はあるがECU内回路のモデル対応も必要
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
31
3.2 事例1:仮想車一台分シミュレーション
6.用途
①走行テストモード中の故障診断警告発生がないことのテスト確認
②バッテリー電圧変動時の故障診断警告発生がないことのテスト確認
◆テストパターンおよび判定方法
走行モード・操作パターンに対する故障診断警告信号の有無確認
車速
バッテリー電圧
バッテリー電圧変動パターン
ギア段
走行テストモード
走行位置
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
時間
32
3.2 事例1:仮想車一台分シミュレーション
7.主要要件
①時間精度
車1台分としてはネットワーク通信の信号レベルの再現の観点から
500kbpsの信号再現ができると良い(サンプリング周波数5MHz 0.2μS)
エンジン回転の割り込みやモータ回転センサへの対応は個別HILSとし
車1台分ではサンプリング周期としては1mS程度が妥当と考える。
②処理スピード
実時間相当または実時間より短い時間での処理を希望
③ユーザインタフェース(UI)
HILSモニター画面ライク
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
33
3.2 事例1:仮想車一台分シミュレーション
8.現状の実現状況
複数ECUでの実現は未
当面は単体ECUに対するHILSの仮想化を進め、シミュレーションスピードの向
上に合わせ1台分への対応展開が必要と思われる
9.想定効果
大規模HILSの台数削減
テスト設備の省スペース化
テスト環境設定時間及び切り替え時間の短縮化
並列実行によるテスト時間の短縮
10.今後の課題
・マイコンモデル供給体制
・シミュレーションの高速化対応技術の確立
・ECUネットワーク信号の取り扱い手法の明確化
・ECU内の電気回路やセンサアクチュエータのモデル化対応
・仮想マイコンモデルライブラリを意識しない仮想ECUモデルとしての取り扱い
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
34
3.2 事例1:仮想車一台分シミュレーション
11.参考文献



2012/12/21
嶋田: 車両制御システム開発におけるシミュレーションモデル活用の有効性と課題
ISIT第5回カーエレクトロニクス研究会 2009年4月
http://www.car-electronics.jp/schedule.php?name=CE05
山口、嶋田、ほか: エレクトロニクス設計を支えるシミュレーション技術
自動車技術 Vol.65, No.1 2011年1月
嶋田: 仮想ECUモデルベース開発の実現に向けた業界縦断型取り組み
ISIT第9回カーエレクトロニクス研究会 2011年10月
http://www.car-electronics.jp/schedule.php?name=CE09
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
35
3.3 事例2:バーチャルHILS
情報提供:日立オートモティブシステムズ(株)および
(株)日立製作所/中央研究所
事例2
1.ユースケース名称
バーチャルHILS (vHILS)
2.概要
HILSの補間
クラウド活用して回帰テストを短期間に終わらせる (例:3日→1晩)
UIはHILSモニター画面ライク
3.作業項目
ソフト機能検証
HILSの補間
オブジェクトレベルのテスト
4.目的
検証作業効率アップ
検証期間短縮
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
36
3.3 事例2:バーチャルHILS
5.内容説明
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
37
3.3 事例2:バーチャルHILS
5.内容説明<続>
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
38
3.3 事例2:バーチャルHILS
5.内容説明<続>
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
39
3.3 事例2:バーチャルHILS
5.内容説明<続>
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
40
3.3 事例2:バーチャルHILS
5.内容説明<続>
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
41
3.3 事例2:バーチャルHILS
5.内容説明<続>
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
42
3.3 事例2:バーチャルHILS
6.用途
①ソフト回帰テスト (HILSの補間)
クラウド活用して回帰テストを短期間に終わらせる
②ソフト結合テスト (HILSの補間)
テストケースによっては、必ずしもHILS上でなく、vHILS上でのテストで代用
③HILSの代替
HILS環境の構築が技術的に困難な場合、あるいは、
vHILSのみでも実効上許容可と判断された場合
◆テストパターンおよび判定方法
→HILSの場合と同等 または 過去テスト結果との一致確認
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
43
3.3 事例2:バーチャルHILS
7.主要要件
①時間精度
・タスク周期は、1ms程度
(製品分野によっては、一部、100μs程度のタスクもある)
・プロセッサ内の命令実行速度は、ある程度考慮要だが、
サイクル精度はMUST要件ではない。 (±10%程度は許容)
・タスク周期時間は正確に
・CAN通信は、転送遅延やバス占有順序などはある程度考慮要
だが、実機との完全一致は不要。HILSも、最終製品とは完全一致は
できないので、同等の精度でかまわない。
②処理スピード
N並列実行で、実機以上の処理スピードが出せること
(単独でも、実機と同等か、それ以上を期待したいが、MUST要件で
はない。ただし、1/10以下など極端に遅いのでは困る。)
③ユーザインタフェース(UI)
HILSの自動テスト環境と同等のUIが好ましい。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
44
3.3 事例2:バーチャルHILS
8.現状の実現状況
技術的には実現可能、実施例あり
9.想定効果
①納品工程短縮(および品質向上)が可能
クラウド活用して大規模な回帰テストも短期間に終わらせる (例:3日→1晩)
②HILSの台数ネックを解消でき、固定資産削減が可能
10.今後の課題
・マイコンモデル提供スキーム確立 (高速モデル)
・ASICモデル開発スキーム確立 (高速モデル)
・通信インタフェースモデル (高速モデル)
・クラウド化(ツールライセンス体系など)
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
45
3.3 事例2:バーチャルHILS
11.参考文献




2012/12/21
Y. Ito et al, "A Model Based Software Validation for Automotive Control Systems",
International Conference on Control, Automation and Systems (ICCAS), pp.102, 2010
Y. Ito, et. al., "VIRTUAL HILS : A Model-Based Control Software Validation Method," SAE
Paper 2011-01-1018, SAE Int. J. Passeng. Cars, Electron. Electr. Syst. June 2011.
宮崎: 車載電子システムのプラットフォーム開発動向 ~課題と対応事例~
カーエレジャパン2011 専門技術セミナー (CAR-10) 2011年1月
於保: 自動車ECUの仮想開発とクラウド環境
ISIT第10回カーエレクトロニクス研究会 2012年1月
http://www.car-electronics.jp/schedule.php?name=CE10
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
46
3.4 事例3:CPU負荷計測
事例3
情報提供:カルソニックカンセイ(株)
1.ユースケース名称
CPU負荷計測
2.概要
負荷率測定作業の容易化
UIはデバッガーライク
3.作業項目
ソフト性能評価
4.目的
検証作業効率アップ
検証期間短縮
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
47
3.4 事例3:CPU負荷計測
5.内容説明
5.1.CPU負荷計測とは
CPU負荷率(%) = 最大実行時間÷実行周期*100 で求める。
実行周期
関数1
関数2
割込1 関数3
実行時間
※実行時間が最大となるテストパターンを入力し、測定する。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
48
3.4 事例3:CPU負荷計測
5.内容説明<続>
5.2.現状の実施内容
ターゲットボード+エミュレーターデバッガで最大実行時間(負荷)
となるテストを実行。
入力
テストパターン
入力装置(HILS等)
テスト
シナリ
オ
出力
テスト
シナ リオ
最大実行
時間
(負荷)
入力
ソース
コード
2012/12/21
デバッガ
ソース
コード
ICE
ターゲット
ボード
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
49
3.4 事例3:CPU負荷計測
5.内容説明<続>
5.3.現状の問題点
①ターゲットボード、エミュレーターデバッガ等の設備が必要
②ターゲットボード等の開発拠点とソフト開発拠点が違う場合、
設備を送付しなければならない
③CPU負荷測定用のテストを自動で実施する為には、HILS等の
設備が必要
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
50
3.4 事例3:CPU負荷計測
5.内容説明<続>
5.4.理想形
ソースコードとテストシナリオを入力し、最大実行時間(負荷)
を算出する。
出力
入力
テスト
シナリ
オ
SPILS
入力
ソース
コード
最大実行
時間
(負荷)
テスト
シ ナリオ
ソース
コード
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
51
3.4 事例3:CPU負荷計測
6.用途
①ターゲットボード/デバッガの代替
→ 従来の測定方法では、ターゲットボード/デバッガが必要。
SPILSで実施できればSPILSの入ったPCのみで実施可能。
②テストパターン入力装置(HILS等)の代替
→ 負荷測定の為のテストパターン入力が容易。
◆テストパターンおよび判定方法
ターゲットボード/デバッガ使用時と同等 または 過去テスト結果との一致確
認
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
52
3.4 事例3:CPU負荷計測
7.主要要件
①時間精度
・誤差数%以内
注:ユーザーとしては、実マイコンでのクロック数と完全一致することが望ま
しいが、誤差数%以内とし、ユーザーの運用でカバーする。
「4.2 時間精度の要求分析」を参照
②処理スピード
・実機以上の処理スピードが出せることが望ましい(Must要件ではない)
※自動化等により、人手がかかる時間が削減できれば良い
③ユーザインタフェース(UI)
・CPU負荷測定結果が精度良く算出できればUIは規定しない
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
53
3.4 事例3:CPU負荷計測
8.現状の実現状況
技術的には実現可能
9.想定効果
・試験環境の台数ネックを解消でき、固定資産削減が可能
・グローバルで実施可能(PCさえあれば、ボード等の準備無しで実施可能)
10.今後の課題
・マイコンモデル提供スキーム確立 (精度モデル)
・SPILSへの入出力I/F
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
54
3.5 事例4:故障注入・故障解析
事例4
2012/12/21
情報提供:デンソー(株)
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
55
3.5 事例4:故障注入・故障解析
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
56
3.5 事例4:故障注入・故障解析
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
57
3.5 事例4:故障注入・故障解析
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
58
3.5 事例4:故障注入・故障解析
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
59
3.5 事例4:故障注入・故障解析
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
60
3.5 事例4:故障注入・故障解析
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
61
3.5 事例4:故障注入・故障解析
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
62
3.6 事例5: vECUによる網羅的検証
事例5
情報提供:富士通テン
1.ユースケース名称
vECUによる網羅的検証
2.概要
ソフトウェアの設計検証を網羅的に実行。
HILS用のモデルおよび検査パターンを流用。
3.作業項目
組合せ、割り込み、動作タイミングのズレによる異常動作検出
(潜在的バグの検出)
4.目的
検証作業効率アップ
検証期間短縮
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
63
3.6 事例5: vECUによる網羅的検証
5.内容説明
HILSの問題点
 設計段階では使用できない
・上流工程のツールとして使えない
・ソフトをECUに実装しないと使えない。
・ソフト設計段階では、設備が揃わない。
 高価 ・・・1台500万~2000万
 設備の移動困難・・・本体、 PC、ECU、擬似負荷等、必要スペース約5㎡
 準備に時間がかかる
ECU手配(約3か月)、ハーネス作成(約2週間)、セッティング (約2日)
⇒ 事前に計画立て、関連部署と連携を取り、計画に沿った準備が必要
共有設備(予約制)
(問題点)
・設備の空き待ち
・段換え工数発生
・稼働率低下
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
64
3.6 事例5: vECUによる網羅的検証
5.内容説明<続>
Virtual HILS導入の狙い
1.ソフト設定のみで環境構築→設定時間の短縮、開発環境の配付
ECUモデル
制
御
ソ
フ
ト
車両モデル
回転数/
割込み
+B電圧
水温・・・
CAP
データ
変換
データ
変換
AD
燃料噴射
時間
CMP
データ
変換
データ
変換
データ
変換
データ
変換
エンジン
回転数
+B電圧
水温・・・
噴射量
2.設計段階で活用→ECUができる前に検証可能
Virtual HILS
試作ソフトを作成
設計者の思い込み
検討漏れ 誤解釈
2012/12/21
実際に動かして検証
設計ミスを見つけ即修正
レビュー(見える化)
検証結果をそのまま
レビュー資料に利用
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
実装工程での
手戻り無し
65
3.6 事例5: vECUによる網羅的検証
5.内容説明<続>
Virtual HILSの構成
Vehicle Model
自動化
条件設定
運転パターン
MATLAB/Simulink
CoMET/METeor (Synopsys社)
VPM (マイコンシミュレータ)
データ計測・モニタ
自動判定
コードレベルでのマイコン
動作をシミュレーション
CRAMAS
Hardware Model
ECU Model
MATLAB/Simulink
仮想環境下でのシステム評価をすべてソフトで実現 ⇒ SPILS
2005年11月16日
「Virtual ECU Club™」
2012/12/21
株式会社豊通エレクトロニクス
株式会社ガイア・システム・ソリューション
株式会社トヨタテクノサービス
富士通テン株式会社
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
66
3.6 事例5: vECUによる網羅的検証
5.内容説明<続>
検査条件設定
(SPOC)
vECUによる網羅的検証
試験実行&データ計測
検査パターン
自動生成
結果解析
OK/NG自動
判定モニタ
変換
システム構成
自動設定
不具合
解析
・条件網羅試験
AND
条件A
条件B
条件C
A
B
C
アルゴリズムの評価はMILS/SILSで実行可能
だが、多重割込みの影響、入力信号のチャタリ
ング時の動作、入力タイミングの差による影響
など、時間軸に依存した検証はSPILSでなけれ
ばできない。
・チャタリング試験
・ばらつき試験
A
B
2012/12/21
A
B’
B’’
B’’’
B’’’’
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
67
3.6 事例5: vECUによる網羅的検証
6.用途
① 設計確認・・・・ソフト設計時に机上で動作を確認
vHILSではソフト部品単体でも動的評価可能
② HILS検査の代用・・・オフショア、外注先、先行開発時などハードが無い場合
のソフト検査(結合検査、動的評価)
*アルゴリズム評価はSILSでHILSの代用が可能だが、時間依存の強い検査内容 (多重割込み、非同期動作、応
答遅れなど)は時間精度の高いSPILSを使用
◆テストパターンおよび判定方法
・テストパターンおよび判定ロジックの作成は
専用のツール(HILSと同じ)を使用
・ATG(自動テスト生成)は現在検討中
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
68
3.6 事例5: vECUによる網羅的検証
7.主要要件
①時間精度
・CPU負荷見積もりや応答遅れに関する評価では5%程度。
10%程度は余裕を持って設計するので、時間精度そのものは重要でない。
(クリティカルな設計をする場合は実ハードで確認を行う。)
・割込みやIOのディレイ、カウンタ等の評価ではクロックカウンタの精度でよい。
(例えば、パルス周期の計測ではパルス間の時間を計測するが、重要なのは実時間精度ではなくパルス間
のクロックのカウント値である。)
②処理スピード
・網羅的評価では数多くのテストを繰り返し実行するので早ければ早いほど良い
(実用上は実時間と同等であればよい)
・設計確認では対面実行するので、できれば実時間と同等、最悪でも1/10以上
③ユーザインタフェース(UI)
・UIに限らず、プラントモデルやハードウェアモデル、検査パターンは資産活用
の観点からHILS~MILSまで流用できることが望ましい。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
69
3.6 事例5: vECUによる網羅的検証
8.現状の実現状況
社内活用中。
但し、SPILSの需要は低下。(通常の評価はイベント駆動型のSILSへ移行)
(オブジェクト変換によるイベント駆動型のSILSはSPILSの範疇か?)
9.想定効果
実績(SPILSによる効果とSILSによる効果の判別はできない。)
① 検査工程の工数削減 ・・・ 50%減
② 検査期間の短縮 ・・・・・・・・約1/2に短縮
③ 設計工程の工数削減 ・・・ 55%減
④ 設計工程で検証漏れ ・・・ ロジックに関わる検証漏れ 0件
10.今後の課題
・メンテナンス要員の確保
評価システムを立ち上げるのに専門知識必要。I/Fが標準化されモデルが流通するようにな
れば、設計者自身で設定できるようになると考える。
・機能安全への対応
ISO26262ではHILSでオブジェクトコードでの動作確認を推奨しているが、SPILSも HILSと同
等にオブジェクトコードで動作確認をしたものとみなすよう提案すべき。
・活用範囲の拡大
全ての検査をソフトシミュレーションで可能なように機能・性能を上げていく。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
70
3.6 事例5: vECUによる網羅的検証
11.参考文献


2012/12/21
オールソフトシミュレーションによる制御ソフトウェア開発:富士通テン技法 47号(2006/06)
ガイアシステム)田中、豊通エレ)香野、富士通テン)森山他
http://www.fujitsu-ten.co.jp/gihou/jp_pdf/47/47-4.pdf
Virtual CRAMAS (SILS)へのISSレス技術の適用:富士通テン技法 52号(2008/12)
富士通テン)森山、深澤他
http://www.fujitsu-ten.co.jp/gihou/jp_pdf/52/52-1.pdf
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
71
3.7 事例6:ソフトウェア機能検証
事例6
情報提供:アイシン精機
1.ユースケース名称
ソフトウェア機能検証
2.概要
・ソフトウェア機能検証をオブジェクトバイナリーレベルで実施できる環境。
・統合されたECUの個別ソフトのハザード分析を、シミュレーションで実施できる環境。
3.作業項目
・HILSの補完
・オブジェクトレベルのテスト
・UIはSimulinkイメージ
4.目的
・機能安全対応
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
72
3.7 事例6:ソフトウェア機能検証
5.内容説明
従来: ISSシミュレータでソフトウェアの機能検証を行ってきた。主として単体テストを担ってきた。
ユースケース: 利用コンパイラのコード生成信頼性を含んで、生成されるバイナリーレベルで、よ
り実機相当環境でのシミュレーション検証が可能となる。
特に車両条件設定の困難な、場面や故障モード再現で危険であったり、再現性が難しい場面は、
HILSまたは、シミュレーション検証が必要となる。
より詳細な解析を伴う評価の場面では、HILSよりも、シミュレーションによる内部状態可視化で
のモニター、ロギング、解析が効果的である。(他の内部状態可視化手段として、ハードウェア実機でも、
NBDやJP-wireなどのマイコン内部モニタ手段もある)
統合制御ECUでは、個別ソフトモジュールの、内部状態可視化での解析切り分けが難しいが、ソ
フトシミュレーションではより容易。
必要条件: マイコン周辺で協調動作する ICモデルや、分布乗数回路モデルを含み、総合する
ECUモデルの実現の仕組みがあること。およびECUの外側のセンサー、アクチュエータモデル、
メカモデル、車両モデル、ネットワークモデルを収集し、協調シミュレーションが出来ることで、対
応が可能となる。このため、それらヘテロジニアスシミュレーション手段との接続が必要。実使用
現場では使用実績の高いMatlab/simulinkをユーザインターフエースだけでなく、それらヘテロジ
ニアスシミュレーション手段とのインターフエースとして、利用できることが、要望。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
73
3.7 事例6:ソフトウェア機能検証
5.内容説明<続>
・新規マイコンへの、早期対応
シリーズ化されるマイコンのI/Oバリエーションに、すべて早期に対応することは、タイムリー
に難しい場面がある。タイムリーでないと、評価用実マイコンが入手できる時期になり、シミュ
レータ利用価値が低くなってしまう。
マイコンコア部分のバイナリーシミュレーションがまず必要で、I/O部分は簡易シミュレーショ
ン手段との標準拡張インターフエースが存在すれば、I/O部動作をユーザがカスタム作成で
きる可能性があり(簡易でよければ)、精度は低いが、検証は可能となる。開発当初には低精
度であっても、対応できるので、標準拡張インターフエースが提起され普及すると、利用場面が
便利である。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
74
3.7 事例6:ソフトウェア機能検証
6.用途
用途1: オブジェクトバイナリーレベルでの、統合ソフトウェア機能検証
用途2: 統合制御されたECU等の個別ソフトのハザード分析シミュレーション
◆テストパターンおよび判定方法
・検証設備はmatlab/simulinkなどを利用するなど、従来シミュレーション環境に組み込まれる用途。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
75
3.7 事例6:ソフトウェア機能検証
7.主要要件
①時間精度
用途1:時間精度は、フローの前後関係が保証されればよい。
用途2:マイコン周辺で協調動作する ICモデルや分布乗数回路モデルを含み総合するECU
モデルの実現の仕組みがあること。およびECUの外側のセンサー、アクチュエータモ
デル、メカモデル、車両モデル、ネットワークモデルを収集し、協調シミュレーションが
出来るためには、それらと時間精度、前後関係を合わせこむ同期機能を有すること。
またはマイクロセカンドの時間精度が必要。
②処理スピード
・パソコン上で実機相当速度またはその10倍遅い範囲。夜間テストが可能なため、遅い速度は
検証場面により、利用可能。
③ユーザインタフェース(UI)
・Matlab/simulinkまたは、相当なインターフェースが利用できる。
④その他
・I/O部分は簡易シミュレーション手段との標準拡張インターフエースが存在する
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
76
3.7 事例6:ソフトウェア機能検証
8.現状の実現状況
・カスタムICモデルや、分布乗数回路モデルの協調シミュレーションが難しいため、ケース
バイケースで実現
9.想定効果
・OEMからのバイナリー動作環境の提供要請への対応が出来る。
・実機での再現や、動作条件設定が難しい場面や、内部動作確認を同時に行う解析
10.今後の課題
・マイコン周辺で協調動作する ICモデルや分布乗数回路モデルを含み、総合するECUモデ
ルの実現の仕組みがあること。およびECUの外側のセンサー、アクチュエータモデル、メカモ
デル、車両モデル、ネットワークモデルを作成、収集し、協調シミュレーションすることを効率的
に実現する方策の整備。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
77
3.8 事例7:故障注入(フォールト注入)テスト
情報提供: (株)日立製作所/中央研究所
事例7
1.ユースケース名称
故障注入(フォールト注入)テスト
2.概要
クラウドを活用して、膨大な故障注入(フォールト注入)テストを短期間に
終わらせる
(例:67万テストケース/600計算機ノード→12時間)
3.作業項目
故障注入・故障解析
4.目的
検証カバレッジ向上
検証作業効率アップ(検証期間短縮)
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
78
3.8 事例7:故障注入(フォールト注入)テスト
5.内容説明
Copyright © Hitachi Ltd. All rights reserved
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
79
3.8 事例7:故障注入(フォールト注入)テスト
5.内容説明<続>
Copyright © Hitachi Ltd. All rights reserved
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
80
3.8 事例7:故障注入(フォールト注入)テスト
6.用途
◆用途
①故障注入(フォールト注入)テスト
クラウドを活用して、膨大な故障注入(フォールト注入)テストを短期間に終わらせる
②HILSの補完
HILS環境ではフォールト注入テストの実施が困難な場合でも、シミュレータ上では実施可能
◆テストパターンおよび判定方法
→テストパターン: HILSの場合と同等
フォールト注入シナリオ: 新規に準備 (任意指定またはランダム発生)
判定方法: 安全目標を侵害しないこと (例:意図しない加速が発生せぬこと)
備考:
自動車用機能安全規格ISO26262では、ASIL-C以上の場合、フォールト注入テストの実施を「強
く推奨」(実際の運用上は必須)としている。実施形態は、実機テストでもシミュレーションテストで
もよい。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
81
3.8 事例7:故障注入(フォールト注入)テスト
7.主要要件
①時間精度
・タスク周期は、1ms程度
・プロセッサ内の命令実行速度は、ある程度考慮要だが、
サイクル精度はMUST要件ではない。 (±10%程度は許容)
②処理スピード
N並列実行で、実機以上の処理スピードが出せること
(単独でも、実機と同等か、それ以上を期待したいが、MUST要件で
はない。ただし、1/10 以下など極端に遅いのでは困る。)
③ユーザインタフェース(UI)
HILSの自動テスト環境と同等のUIが好ましい。
フォールト注入テストシナリオ入力UIが追加されること。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
82
3.8 事例7:故障注入(フォールト注入)テスト
8.現状の実現状況
技術的には実現可能、実施例あり
9.想定効果
①検証カバレッジ向上
フォールト注入箇所、タイミング、フォールトモード
製品と同一ソフトウェア(オブジェクトレベル)でのフェールセーフ機能検証
②検証作業効率アップ
仮想化によるフォールト注入作業工数削減
クラウド活用(多並列処理)による検証期間短縮
仮想化による再現性(回帰テスト容易)、観測性(トラブル解析容易)
10.今後の課題
・クラウド活用(多並列処理)に適したツールライセンス体系
・フォールト注入仕様の標準化と
フォールト注入機能付きECUモデル提供スキーム確立
・フォールト注入テストカバレッジ要求仕様の標準化
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
83
3.8 事例7:故障注入(フォールト注入)テスト
11.参考文献



2012/12/21
於保: 自動車ECUの仮想開発とクラウド環境
ISIT第10回カーエレクトロニクス研究会 2012年1月
http://www.car-electronics.jp/schedule.php?name=CE10
㈱日立製作所、国立大学法人神戸大学 ニュースリリース : 半導体メモリエラーの産業機
器や自動車制御への影響を解析するクラウド型の評価・検証シミュレーション技術を開発,
2011年12月2日
伊藤:“機能安全テストを加速する故障注入技術を用いた仮想ECUテスト環境の構築,”
Synopsys Users Meeting Japan 2012
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
84
第1章 仮想ECUシミュレータの導入・活用の狙い
第2章 開発プロセス上の位置付け
第3章 現状事例(ユースケース)
第4章 時間精度について
4.1 時間精度に関するトレードオフ
4.2 時間精度の要求分析
4.3 時間精度の誤差発生理由
4.4 時間精度の分類定義(ATAL)
4.5 時間精度の評価方法
第5章 複数シミュレータの同期化
第6章 モデル間インタフェースについて
第7章 ユーザインタフェース(UI)について
第8章 フォールト注入について
第9章 性能評価(CPU負荷率)
第10章 周辺モデル設計における留意点
第11章 マルチコアモデルについて
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
85
4.1 時間精度に関するトレードオフ
仮想ECUシミュレータにおいては、当該プロセッサでの演算処理時間(プロセッサクロックサイクル数)が実ECUと
同一でシミュレーションできれば、プロセッサの正確な挙動確認や性能評価ができるので、ユーザにとってはあり
がたい。しかし、その一方で、仮想ECUシミュレータにおいて、当該プロセッサでの演算処理時間(プロセッサク
ロックサイクル数)を実ECUと同一に保証させることは、後述するように困難な状況にあり、開発工数・費用や納
期の問題が発生する。
シミュレータである以上、時間精度の誤差についても、要求と実現とのトレードオフを考慮必要である。
時間精度の許容誤差を極めて小さくしようとした場合
ユーザにとってはプロセッサ命令処理時間をより精度良く評価できる
ベンダ(マイコン、ツール)にとっては開発工数・費用がかかり、納期も遅くなる可能性が高い
シミュレーション実行時間が長くなる
時間精度の許容誤差が大きくても許容するとした場合
ユーザにとってはプロセッサ命令処理時間の評価が概略評価しかできなくなる
ベンダ(マイコン、ツール)にとっては開発工数・費用が少なくてすみ、納期も早くできるメリットがある
シミュレーション実行時間を短くできるメリットがある
開発工数
開発費用
納期
時間精度
2012/12/21
実行時間
時間精度
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
86
4.2 時間精度の要求分析
(1)時間精度の要求分析整理
要求される時間精度を、ユースケースごとに、以下に纏めた。
ユースケース
時間精度
仮想車一台分
シミュレーション
・車1台分としてはネットワーク通信の信号レベルの再現の観点から500kbpsの信号再現
ができると良い(サンプリング周波数5MHz 0.2μS)
(本見解には別意見もある。ネットワーク上のアナログ波形が見たいのではなく、ネット
ワーク競合待ち状態が考慮されることなので、それを考慮した仮想ネットワークモデルでも
よいのではないか?)
・エンジン回転の割り込みやモータ回転センサへの対応は個別HILSとし、車1台分ではサ
ンプリング周期としては1mS程度が妥当と考える。
バーチャルHILS
・タスク周期は、1ms程度 (製品分野によっては、一部、100μs程度のタスクもある)
・プロセッサ内の命令実行速度は、ある程度考慮要だが、サイクル精度はMUST要件では
ない。 (±10%程度は許容)
・タスク周期時間は正確に
・CAN通信は、転送遅延やバス占有順序などはある程度考慮要だが、実機との完全一致
は不要。HILSも、最終製品とは完全一致はできないので、同等の精度でかまわない。
CPU負荷計測
・誤差数%以内
注:ユーザーとしては、実マイコンでのクロック数と完全一致することが望ましいが、誤差
数%以内とし、ユーザーの運用でカバーする。
(次ページに続く)
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
87
4.2 時間精度の要求分析
ユースケース
時間精度
故障注入・
故障解析
・システム検証には15%程度以上が望ましいが、故障再現のみではこの限りではない
vECUによる
網羅的検証
・CPU負荷見積もりや応答遅れに関する評価では5%程度。
10%程度は余裕を持って設計するので、時間精度そのものは重要でない。
(クリティカルな設計をする場合は実ハードで確認を行う。)
・割込みやIOのディレイ、カウンタ等の評価ではクロックカウンタの精度でよい。
(例えば、パルス周期の計測ではパルス間の時間を計測するが、重要なのは
実時間精度ではなくパルス間のクロックのカウント値である。)
ソフトウェア
機能検証
・用途1:オブジェクトバイナリーレベルでの、統合ソフトウェア機能検証
時間精度は、フローの前後関係が保証されればよい。
・用途2:統合制御されたECU等の個別ソフトのハザード分析シミュレーション
マイコン周辺で協調動作する ICモデルや分布乗数回路モデルを含み総合するECUモデ
ルの実現の仕組みがあること。およびECUの外側のセンサー、アクチュエータモデル、メ
カモデル、車両モデル、ネットワークモデルを収集し、協調シミュレーションが出来るため
には、それらと時間精度、前後関係を合わせこむ同期機能を有すること。またはマイクロ
セカンドの時間精度が必要。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
88
4.2 時間精度の要求分析
(2)(参考)追加ヒアリング事項、討議事項
現状事例(ユースケース)の調査時に、時間精度の要求について、疑問や要望を追加ヒアリング
し討議した。その主なものを以下に紹介する。
ユースケース
疑問や要望
ユーザ回答あるいは討議結果
仮想車一台分シ
ミュレーション
仮想ECUでは、CANのデータリンク
層以上をモデル化し、実行速度重視
のバーチャルCANを活用することも
可能と思われる。
一番の関心事はCAN通信時のデータ衝突
により通信が待たされ状態の再現である。
このユースケースにおいては、複数ECUの
統合動作で問題ないかといった検証が主目
的で、主な検証対象は、CANデータリンク
層より上位の基盤ソフト、アプリケーションソ
フトなどだと思うので、パケット転送タイプの
CAN通信モデルの検討も考えてみたい。
このユースケースにおいて、タスク実
行時間の時間精度はどの程度必要と
考えるか?
CAN通信でのデータ遅れは考慮してほしい
が、タスク実行時間の精度は、周期起動な
ので、極端に言えば、MILSと同様でよく、プ
ロセッサの命令実行時間はゼロでもかまわ
ない。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
89
4.2 時間精度の要求分析
ユースケース
疑問や要望
ユーザ回答あるいは討議結果
CPU負荷計測
当初、理想の要求として「実マイコン
でのクロック数と完全一致すること」と
提示された。しかし、「完全一致」とい
う要求だと、現実解がなくなってしまう
可能性がある。そこで、許容誤差を示
してほしい旨をユーザに要請。(モデ
ルである以上、現物との完全一致は
保証困難)
ユーザとしては「実マイコンでのクロック数と
完全一致すること」は当初必須要件と考え
ていた。命令に対するマシンサイクル数は
変わらない様に構築することは可能と思っ
ていた。保証困難なのであれば、その理由
の説明資料がほしい。
タスク実行時間の誤差数%以内でも
許容不可か?
誤差数%以内が保証可能であれば、運用
で対処可能かもしれない。但し、CPU負荷の
測定について、そのまま置き換えを考えると、
完全一致が必須となる。
完全一致保証を究極まで追求させる
となると、相当に詳細なモデルにせね
ばならないので、実行速度は相当に
悪くなる(2桁以上?)と予想されるが、
どこまでなら許容できるか?
CPU負荷の測定については、テストケースさ
え出せば、msオーダーで終了するので、
実行速度については、2桁悪くなっても問題
ないと考える。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
90
4.2 時間精度の要求分析
(3)考察と対応案
①「プロセッサ命令実行の時間精度」と、「シミュレーション実行速度(およびマイコンモデル開発工数)」と
のトレードオフが課題である。
プロセッサ命令実行の時間精度の完全性を追求する場合のベンダ側の技術的困難性を、ユーザに理解
いただくための説明資料の作成・提供が必要と考える。
また、ユーザにとって、時間精度要求仕様の決め方をガイドする必要があると思われる。
(例:ツール上での負荷80%以内を判定基準とした場合、時間精度の誤差を1%とすれば、実機では81%
以下と推定でき、100%に対してはマージンあるからOKと判断するといったことで運用できるなど。)
⇒ 関連する解説や分析結果を本章に記載した。
②プロセッサ命令実行の時間精度は、ユースケースにより、高精度モデル(低速)と高速モデル(低精度)
を使い分けることが必要と思われる。時間精度の種別定義、精度評価手法、相互利用可能化のためのモ
デル間インタフェースの標準化などを検討することが望ましいと考える。
⇒ 関連する解説を本章および第5章に記載した。
③複数ECU間を接続するインタフェースについて、時間精度と実行速度のトレードオフを考慮した標準イン
タフェースモデルを検討することが望ましい。(例:CANインタフェースモデルの標準化)
⇒ 関連する解説を第6章に記載した。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
91
4.3 時間精度の誤差発生理由
本節では、演算処理時間精度(プロセッサクロックサイクル数)の誤差発生理由を解説する。
(1)プロセッサ内部の多様な高速処理方式
バーチャルECUシミュレータにおいて、当該プロセッサでの演算処理時間(プロセッサクロックサイクル数)が実E
CUと同一でシミュレーションできることを保証するには、プロセッサ内部の多様な高速処理方式を実プロセッサと
完全に一致するようにしなければならない。しかし、最近のプロセッサでは、高い性能を得るために多様な高速化
手法が用いられている。その一例を以下に示す。
プロセッサの高速化手法(例)
No.
高速化手法
説明
1
パイプライン制御
プロセッサ処理を複数サイクルに分割し、前のサイクルが終了する前に次の命令を実行(パイプライ
ン処理)することにより、1命令当たりの消費クロックを少なく見せる手法。
2
キャッシュメモリ
プロセッサがデータや命令などの情報を低帯域バス上にある主記憶から取得する際に、プロセッサ
との性能差を埋めるために用いる高速小容量メモリのこと。プロセッサと主記憶との間に置かれ、主
記憶に代わってデータを入出力する。
3
スーパースカラ
プロセッサ内部に複数の処理系統を用意し、複数の命令を同時実行すること。
4
分岐予測
パイプライン制御では分岐命令が発生すると、既にパイプライン処理を開始した後続の命令を破棄
するため処理効率の低下となる。これを防ぐため命令分岐を予測し、分岐しそうな場合には分岐先
の命令をパイプラインに流しこむこと。
5
命令先行読み出しバ
ッファ
バス上の主記憶から命令を取得する際に次の命令も予め取得し、プロセッサからの命令要求後、
主記憶からの命令取得を待たずに次命令を供給するための高速メモリ、またはレジスタのこと。
6
内部バス制御方式
プロセッサを構成するプロセッサコア、メモリ、周辺回路を結合する回路および動作仕様。16bit,
32bitなどバス幅の他、バス構造も単一バスからクロスバースイッチ等、様々なアーキテクチャが存
在する。
7
マルチコア
2つ以上のプロセッサコアを1つのパッケージに集積したプロセッサ。コア数増加による性能向上の
他、キャッシュメモリの共有等により性能向上を実現できる。
92
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
2012/12/21
4.3 時間精度の誤差発生理由
このようなプロセッサの多様な高速化手法は、各マイコンベンダのノウハウでもあり、その制御方式は必ず
しも公開されていない。従って、ツールベンダがマイコンのマニュアルなど開示された仕様のみでは実マイコ
ンの挙動に完全一致する仮想マイコンを開発することは実質困難である。
一方で、マイコンベンダが多様な高速化手法を全てモデル化した仮想マイコンを開発&提供することは、マ
イコン設計データ(RTL)の提供と等価であり、モデル開発工数が増大する。またシミュレーション速度が得ら
れず、アプリケーションの開発や評価に適さない。
このため、仮想マイコンではある想定した条件下での処理時間を用いており、実マイコンでの動作時間と仮
想マイコンの動作時間に違いが発生する。
各高速化手法で発生する誤差の例を以下に示す。
No.
高速化手法
誤差要因
1
パイプライン制御
パイプラインハザード、パイプラインストール発生の有無による処理時間の相違。
2
キャッシュメモリ
キャッシュヒット、ミスヒットでの処理時間の相違。
3
スーパースカラ
複数命令によるデータや資源(バス、メモリ等)の競合有無による処理時間の相違。
4
分岐予測
命令分岐予測によるパイプラインへの先行投機の有無による処理時間の相違。
5
命令先行読み出しバッファ
プロセッサが要求した命令データと、先行読み出しした命令データが一致した場合と、命令デー
タが要求と異なり再読出しを行った場合の処理時間の相違。
6
内部バス制御方式
バスの競合による処理時間の相違。
7
マルチコア
複数プロセッサによるデータや資源(バス、メモリ等)の競合有無による処理時間の相違。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
93
4.3 時間精度の誤差発生理由
(2)非同期やアナログ回路によるタイミングばらつき
周辺との入出力や、複数マイコン間の通信などでは、使用クロックが別であり、当該プロセッサのクロックと
は非同期のタイミングで送受信が行われる。
例えば、CAN通信はマイコン間では非同期のタイミング要素があり、データ送受信タイミングに、ばらつきが
発生する。
また、アナログ回路では素子特性のばらつきにより、データ受信タイミングにばらつきが発生する。
以上のようなタイミングばらつきは、実ECUにおいて発生する。
一方で、仮想ECUシミュレータにおいては、非同期やアナログ回路も値を一意的に決めれば、シミュレータ
上の挙動としてはタイミングばらつきは発生せず、入力条件が同一であれば同一の挙動結果を得られる。
しかし、実機との時間精度という観点では、非同期部位やアナログ回路の特性はある想定した値を用いる
ので、タイミングを実ECUと完全に一致させることは保証困難である。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
94
4.4 時間精度の分類定義(ATAL)
仮想ECUシミュレータの導入においては、その時間精度について、開発工数・費用および納
期や、実行速度とのトレードオフを考慮する必要がある。
要件分析の節でも記述したが、要求される時間精度は、ユースケースによっていくつかに分
類される。
しかし、時間精度の分類について、共通的な定義が従来なかったため、ユーザとツールベン
ダとの間で認識合わせが困難という課題があった。
本節では、時間精度の分類を定義する。この検討においては、自動車制御分野向けのユー
スケースを念頭に定義付けを行った。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
95
4.4 時間精度の分類定義(ATAL)
シミュレーション時間精度の定義
ATAL
Automotive Timing Accuracy Level
シミュレータの実行時間の精度を分類するためのレベル。
車載制御システムのシミュレーション用途の視点で分類されている。
以下の3レベルが定義される。
主な用途
レベル
定義および説明
ソフト
機能検証
ソフト
性能評価
ATAL-3
誤差5%以内。バス調停やパイプライン制御をモデ
ル化することでプロセッサクロックサイクル数をあ
る程度厳密に模擬。
○
○
ATAL-2
誤差15%以内。各命令毎、アクセス先毎、平均実行
サイクル数設定等によりプロセッサクロックサイク
ル数をラフに推定して模擬。
○
○
ATAL-1
誤差最大値保証せず。全命令一律に1プロセッサ
クロックサイクル等で模擬。時間指定されたタイマ
割込みやイベント発生のタイミングは保証するが、
プロセッサ命令実行時間精度は保証しない。
○
×
備考:トレードオフ
時間
精度
開発工数
開発費用
実行時間
高
大
長
低
小
短
備考:上記定義はvECU-MBD WG合議結果による。本WGで審議の結果、この表に示す用語を使用することにした。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
96
4.4 時間精度の分類定義(ATAL)
【補足】
TLM(SystemC TLM-2.0)で規定されるシミュレーション時間精度の分類定義との関連を以下に示す。
TLM(SystemC TLM-2.0)で規定される
シミュレーション時間精度の分類定義
車載制御用途での時間精度の分類定義
レベル
定義および説明
レベル
定義および説明
ATAL-3
誤差5%以内。バス調停やパイプライン
制御をモデル化することでプロセッサク
ロックサイクル数をある程度厳密に模
擬。
AT
Approximately-timed
別名、cycle-accurate
マイコン内部アーキテクチャの性能調査
に十分な精度
ATAL-2
誤差15%以内。各命令毎、アクセス先毎
、平均実行サイクル数設定等によりプ
ロセッサクロックサイクル数をラフに推
定して模擬。
LT
ATAL-1
誤差最大値保証せず。全命令一律に1
プロセッサクロックサイクル等で模擬。
時間指定されたタイマ割込みやイベント
発生のタイミングは保証するが、プロセ
ッサ命令実行時間精度は保証しない。
Loosely-timed
O/S起動とマルチコアシステム実行の
ための十分なタイミング精度
各トランザクションは開始と終了の2つ
のタイミング・ポイントを持つ
・ATとATAL-3とは、同等の精度
・LTは、ATAL-2とATAL-1との間の精度
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
97
4.5 時間精度の評価方法
◆基本的考え方
時間精度の評価方法の基本的考え方を以下に示す。
• プロセッサ命令実行の時間精度を評価
• 標準テストベンチ(何本か流す)の範囲で評価
• 標準テストベンチで実行した場合、誤差何%と言う評価
• 評価のリファレンスは実機による測定(マイコンのタイマー活用)
(リファレンスの別案として設計データRTLのシミュレーションも考えられるが、
シミュレーション時間が大きく現実的ではない)
◆標準推奨テストベンチ
以下のテストベンチを標準推奨する。
EEMBC-Automotive
同テストベンチは、自動車などのアプリケーション分野におけるマイコンの性能
評価に用いられているベンチマークテストプログラムである。.
http://www.eembc.org/benchmark/automotive_sl.php
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
98
4.5 時間精度の評価方法
【参考】 標準推奨テストベンチ選定の理由
(1)方式案として、以下の2案を考慮した。
案1: 従来のテストベンチのいずれかを選定する
⇒選定候補: EEMBC-Automotive (現状、最も一般的なテストベンチである)
案2: 本WGで、ユースケースのモデルから新たなテストベンチを開発する
たとえば、実証実験で活用の「パワーウインドウシステムモデル」から抜粋する
同モデルをターゲットマイコン用に作成し、少なくとも以下の3種の負荷率を評価する
①基盤ソフト部(含む入出力ドライバ)、②アプリソフト部(浮動小数点)、③アプリソフト部(固定小数点)
(2)両案の比較を以下に示す。総合評価の結果、案1: EEMBC-Automotiveを標準推奨とした。
方式
案1:従来のテストベンチ
EEMBC-Automotive
案2:ユースケースのモデルから新たなテストベン
チを開発
仮想マイコンでの測定容
易性
○
○
実マイコン(ターゲットボ
ード)での測定容易性
○
×
(プラントモデルと連動させるのは困難)
標準化
○
(国際標準的なテストベンチといえる)
×
(国際標準的なテストベンチ用モデルは知られて
いない)
ユースケースとの親和
性
△
性能評価のためのベンチマークであり、
実際のアプリソフトではない
○
ユースケースのモデルから生成されるので、実際
のアプリソフトには近いと考えられる
総合評価
○ ⇒標準推奨
△
(3)ただし、標準推奨テストベンチ(EEMBC-Automotive)でも以下の課題は残る。
a. I/O系の時間精度は評価されない、b DMAやマルチコアなどによるバス競合負荷は評価されない
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
99
第1章 仮想ECUシミュレータの導入・活用の狙い
第2章 開発プロセス上の位置付け
第3章 現状事例(ユースケース)
第4章 時間精度について
第5章 複数シミュレータの同期化
5.1 複数ECU協調シミュレーションの概要
5.2 プラントモデルとコントローラモデルの同期化
5.3 複数コントローラモデル間の同期化
第6章 モデル間インタフェースについて
第7章 ユーザインタフェース(UI)について
第8章 フォールト注入について
第9章 性能評価(CPU負荷率)
第10章 周辺モデル設計における留意点
第11章 マルチコアモデルについて
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
100
5.1 複数ECU協調シミュレーションの概要
複数ECU協調シミュレーションのビジョン: 仮想車一台分シミュレーションの実現
従来方式
Full Vehicle HILS
コントローラは実機
新方式
Full Vehicle Off-Line simulation
コントローラも含め全て仮想化
HILS
B-CAN
F-CAN
Actual Object Code
Actual Object Code
Actual Object Code
Actual Object Code
Vehicle
I/F
Virtual ECU
I/F
Virtual ECU
I/F
Virtual ECU
B-CAN
F-CAN
I/F
Virtual ECU
Operation
Pattern
Environment
※事例1「仮想車一台分シミュレーション」より引用
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
101
5.1 複数ECU協調シミュレーションの概要
複数ECU協調シミュレーションのシステム構成
【プラントモデル】
車両挙動モデル
Head Light
モデル
車両モデル
Engine
モデル
Driving Position
モデル
Wiperモデル
T/M
モデル
ブレーキシステム
モ デル
【コントローラモデル】 エンジン系
ECU
ECUモデル
FI/AT
ECU
EPS G/B ASSY
モデル
Power
Window
/Mirror
モデル
シャシー系
ECU
ADAS
ECU
ESC
ECU
Doorモデル
ボディー系
ECU
EPS
ECU
Power
Window
ECU
通信バスモデル (例:CANバスモデル)
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
102
5.2 プラントモデルとコントローラモデルの同期化
◆プラントモデルとコントローラモデルの協調シミュレーションの構成
本節では、ECU1台の場合における、プラントモデルとコントローラモデルの協調シミュレーションの構成と同期
化について解説する。
Simulink
仮想ECUシミュレータ
プラントモデル
Simulink
プラントモデル
コントローラモデル(ECUモデル)
マイコンモデル
サンプ
リング
サンプ
リング
ポート
ポート
サンプ
リング
サンプ
リング
サンプ
リング
サンプ
リング
ポート
ポート
サンプ
リング
サンプ
リング
サンプ
リング
サンプ
リング
ADC
サンプ
リング
サンプ
リング
タイマ
タイマ
サンプ
リング
サンプ
リング
連成するツール間のデータの受け渡しで、適切なサンプリング時間を指定要
連成するツール間のデータの受け渡しで、固定したサンプリング時間を使用
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
103
5.2 プラントモデルとコントローラモデルの同期化
◆シミュレータ構成(例)
MATLAB/Simulinkと仮想ECUシミュレータを組み合わせた例を以下に示す。
シミュレーションの対象
可変サンプリング時
間を使用
•最小サンプリング
時間:XXmsec
シミュレーション用ツール
・対象制御システム
MATLAB/Simulink
仮想ECUシミュレー
No1システムシミュ
レータと連成するた
タと連成するための
S-function
めのS-function
• サンプリング時間
•サンプリング時間
の設定
の設定
・コントローラ(ECU)
No1システムシミュ
レータ側の設定
•サンプリング時間を
• サンプリング時間
設定(上記sfunctionと同じ値を
を設定(上記s使用)
functionと同じ値を
使用)
• マイコン
• マイコン上で実行
するソフトウエア
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
仮想ECUシミュレータ
104
5.2 プラントモデルとコントローラモデルの同期化
◆同期化周期とシミュレーション実行速度
ECUモデルとプラントモデルの同期化周期についても、以下を考慮要である。
・同期化周期は
短いほど、タイミング精度は上がるが、シミュレーション実行速度は下がる
長いほど、タイミング精度は下がるが、シミュレーション実行速度は上がる
・当該インタフェースごとに、必要とされるタイミング精度を検討し、適切な同期化周期を定めることが望ましい。
・協調シミュレーション同期マスタスケジューラは、その周期設定機能およびチューニング機能を持つことが
望ましい。
その評価事例を以下に示す。この試行事例の場合であれば、同期化周期を10μsに短くするとシミュレーション
実行速度が低下するので、どうしても10μsが必要なインタフェースを除いて、他のインタフェースは100μs以上
の同期化周期とすることが望ましいことがわかる。
同期化周期とシミュレーション実行速度の評価例
3
備考:
(1)MILSは、ECUモデル、プラントモデル共
に、1ノードのプロセッサコアで実行した場合
を示す。
SPILSは、2ノードのプロセッサコアを用いて、
1台でECUモデルを、もう1台でプラントモデ
ルを実行した場合を示す。
(2)この評価事例は、あくまでも1つの試行
事例であり、モデルの規模や構成、利用する
シミュレータ環境やPCの環境によって、評価
結果は相違する。
シ
ミ
ュ
レ
ー2
シ
ョ
ン
実
行
時
間1
比
0
N/A
MILS
2012/12/21
10ms
1ms
100us
10us
←同期化周期
SPILS
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
105
5.3 複数コントローラモデル間の同期化
複数ECU連動のための協調シミュレーション同期マスタスケジューラ
・各ECU/通信バス/プラントモデルのところでそれぞれ独立して実行するシミュレータ同士が、
データをやりとりして協調シミュレーションを実施。
・CAN等の通信モデルとシミュレータ間データ同期を「協調シミュレーション同期マスタスケジューラ」
が実施。
協調シミュレーション同期マスタスケジューラ
データ同期(マスタ)
データ同期
データ同期
プラント連携-1
プ ラント シミュ レータ
2012/12/21
データ同期
データ同期
通信バス調停
通信バス調停
通信バス-1
通信バス-2
ECU シミュ レータ
ECU シミュ レータ
ECU シミュ レータ
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
プラント連携-2
ECU シミュ レータ
プ ラント シミュ レータ
106
5.3 複数コントローラモデル間の同期化
複数ECU協調シミュレーションの同期化における留意点
・各ECU/通信バス/プラントモデルのところでそれぞれ独立して実行するシミュレータ同士が、 データをやりとりする
場合には、同期化が必要である。
・同期化の周期は、以下のトレードオフがある。
短いほど、タイミング精度は上がるが、シミュレーション実行速度は下がる
長いほど、タイミング精度は下がるが、シミュレーション実行速度は上がる
・シミュレータ同士のデータのやり取りのインタフェースごとに、必要とされるタイミング精度を検討し、適切 な同期化
周期を定めることが望ましい。同期化周期は協調シミュレーション全体で同一値とするのではなく、 各ECU/通信バ
ス/プラントモデル間インタフェースごとに適切な同期化周期を選択できるようにすることが 望ましい。
・非同期インタフェースや、ビット単位のタイミングが詳細動作に関与するインタフェース(例:CANバス)に おいて
は、協調シミュレーション全体で期待される時間精度によって、同期化周期を選択できるように することが望まし
い。例えば、CANバスの場合は、メッセージレベルのラフなタイミング精度でもよいケース とビットレベルの詳細なタ
イミング精度を要求されるケースの2種が考えられ、その各々で同期化周期は 適切なものを選定する必要がある。
・同期化は、必ずしも定周期でなくともよい。インタフェースによっては、次の同期化タイミングを延期しても よい場合
もある。延期してもよい時間を算定し、同期化タイミングを可変調整することで、シミュレーション 実行速度を上げる
ことができる。 (ただし、延期してもよい時間を、簡易に予測計算できるモデルであることが前提条件となる。)
◆ユーザへの要求事項
・インタフェースごとに、期待する時間精度を考慮して同期化周期を指定すること
◆ツールベンダ(またはツール環境構築者)への要求事項
・インタフェースごとに、適切な同期化周期を設定すること
・同期化タイミングを可変調整することで、シミュレーション実行速度を上げることができる場合には、
そのような高速化処理の実装を期待する。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
107
第1章 仮想ECUシミュレータの導入・活用の狙い
第2章 開発プロセス上の位置付け
第3章 現状事例(ユースケース)
第4章 時間精度について
第5章 複数シミュレータの同期化
第6章 モデル間インタフェースについて
6.1 モデル間インタフェースの分類
6.2 モデル間インタフェース仕様検討時の留意点
6.3 マイコン内部のモデル間インタフェースの標準化
(TLMインタフェース)
6.4 マイコン外部との通信インタフェースの標準化
6.5 周辺モデル付SILSとその標準化
第7章 ユーザインタフェース(UI)について
第8章 フォールト注入について
第9章 性能評価(CPU負荷率)
第10章 周辺モデル設計における留意点
第11章 マルチコアモデルについて
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
108
6.1 モデル間インタフェースの分類(1)
仮想ECU
入力回路モデル
入力
ペリフェラル
モデル
出力
ペリフェラル
モデル
マイコン
コアモデル
例:A/Dコンバータ
出力回路モデル
例:PWMタイマー
コア内インターフェース
双方向 例:CAN
ペリフェラル
モデル
コア外インターフェース
仮想マイコン
双方向回路モデル
仮想ECUの外側にはMODELISARのFMIやVDA FAT-AK30のライブラリなどが考えられる
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
109
6.1 モデル間インタフェースの分類(2)
◆コア内インタフェース
・マイコンコアモデルとマイコンペリフェラルモデルとの間のインタフェース
・標準推奨仕様 → SystemC/TLM2.0インタフェース
◆コア外インタフェース
・マイコン外部のモデルとのインタフェース
・DI、DO、AI、AO、PWM
・通信(シリアル、CAN、LIN、FlexRayなど)
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
110
6.2 モデル間インタフェース仕様検討時の留意点
◆期待すること
・個別モデルの組合せ接続が可能なモデル間インターフェース仕様が望ましい
・シミュレータが異なっても共通に使えるモデル間インタフェース仕様が望ましい
◆仕様検討時の留意点
・既存の標準仕様やデファクト仕様は極力活用する。
→コア内インタフェースには、SystemC/TLM2.0を適用する。
・時間精度と処理速度や開発工数はトレードオフの関係にあるので、 両立が
困
難な場合には、種別を定義し、ユーザが選択できるようにする。
→本WGでは、CAN通信インタフェースモデルについては、以下の2種を検討
処理速度優先の「メッセージレベル」
時間精度優先の「ビットレベル」
・ソフトウェアとの間のインタフェースや、試験シナリオなどユーザインタフェース
についても標準化を考慮する。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
111
6.3 マイコン内部のモデル間インタフェースの標準化(TLMインタフェース)
◆概要
・マイコン内部のモデル間インタフェースに関する標準化は、すでにツール業界
主導で推進され、TLMインタフェース(TLM2.0)として制定されている。
・既存の標準仕様やデファクト仕様は極力活用するべきであり、本WGにおい
てもコア内インタフェースには、TLMインタフェース(TLM2.0)の適用を推奨す
る。
◆TLMの経緯
・2005/6
・2008/6
・2009/7
・2012/1
TLM 1.0 transaction-level modeling standardリリース
TLM 2.0.0 TLM-2.0.0 libraryリリース
TLM-2.0 LRMリリース。TLM-2.0.1 libraryリリース
IEEE 1666–2011 standard for Standard SystemC LRMの中に
TLM2.0は包含されてリリース
・2012/7 ASI (Accellera System Initiative) SystemC 2.3で公開リリース
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
112
6.3 マイコン内部のモデル間インタフェースの標準化(TLMインタフェース)
◆TLMの特徴
・データ転送をPIN I/Fで行わず、関数コールにより表現する。
効果
- シミュレーション高速化
- バス仕様によらない共通の関数表現
・通常転送は以下の2種類を使用する。
•
•
blocking transport I/F (b_transport)
• 高速モデルで使用される。(SW開発向け)
non blocking transport I/F (nb_transport_fw, nb_transport_bw)
• 時間精度モデルにおいて使用される。(性能見積もり)
・高速なメモリアクセスにはdirect memory I/F (DMI)が使用される。
・時刻を進めないアクセスにおいてはdebug transport I/F(transport_dbg)が使
用される。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
113
6.3 マイコン内部のモデル間インタフェースの標準化(TLMインタフェース)
◆TLMの記述例
出典:IEEE 1666–2011 standard for Standard SystemC LRM
Blocking transport I/F
Initiator(マスタ)からTarget(スレーブ)に転送
開始時にTargetでの消費時間がわかる
ATAL-1
LT (Loosely Timed)
2012/12/21
Non-blocking transport I/F
Initiator(マスタ)からTarget(スレーブ)に転送
後、TargetからInitiatorにレスポンスされるタイ
ミングが、時間経過しないとわからない。
ATAL-3
AT (Approximately Timed)
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
114
6.4 マイコン外部との通信インタフェースの標準化
◆背景
・マイコン外部のモデル間インタフェースに関する標準化は、一般化が困難であ
り、未だ標準化されていない。
・本WGでは、自動車制御用途で利用頻度が高い通信インタフェースのモデルの
標準化を検討する方針とし、その第1ステップとして、CANバスインタフェース
に取り組むこととした。
CANバスインタフェースは複数ECU間の通信に広く利用されており、サプライ
ヤの異なる複数ECUモデルの接続を容易にするためにも、標準化が望まし
い。
⇒ 本WGで審議した標準推奨のCANバスインタフェースモデルの名称は、以下
とした。
「vECU-CANバスモデル」
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
115
6.4 マイコン外部との通信インタフェースの標準化
◆vECU-CANバスモデルの概要
・ユースケースに応じて使い分けられるよう、2種のタイミング精度のモデルを定義した。
名称
vECU-CANバスモデル_メッセージレベル
vECU-CANバスモデル_ビットレベル
特徴
高速版
高精度版
概要図
マイコンモデル
CPU
CAN
Tx
値受け渡し
CAN
バス
マイコンモデル
CPU
CAN
マイコンモデル
CPU
・・・
CAN
Rx
値受け渡し
Tx
Rx
メッセージレベル転送
ECU n
ECU 1
ECU n
ECU 1
マイコンモデル
CPU
・・・
CAN
Tx
値受け渡し
Rx
Tx
値受け渡し
CAN
バス
ビットレベル転送
Rx
タイミング精度
ビットレベル
メッセージレベル
要求機能
・アービトレーションをメッセージ単位で制御
ユースケース
・仮想車1台シミュレーション
・CANバス競合動作評価
・ソフトウェア機能検証
・フォールト注入(ビットレベルタイミング)
・フォールト注入(メッセージレベルタイミング)
2012/12/21
・CAN2.0b準拠
・アービトレーションをビット単位で制御
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
116
6.4 マイコン外部との通信インタフェースの標準化
◆CANバスと複数ECUとの同期化制御
・CAN バスにフォーカスした場合の複数ECU協調シミュレーションの構成を以下に示す。
・CANバスモデルおよびその他のモデルとの同期化制御は、協調シミュレーション同期マスタ
スケジューラによって行われる。
協調シミュレーション同期マスタスケジューラ
(マスタースケジューラ)
データ同期(マスタ)
データ同期
CANバス時間調停
CANバス時間調停
通信バス調停
低速CANバス用
その他の通信バス用
高速CANバス用
高速CANバスモデル
低速CANバスモデル
シ グナルI/F
シグナルI/F
ECU シミュ レータ
2012/12/21
データ同期
データ同期
ECU シミュ レータ
ECU シミュ レータ
データ同期
プラント連携用
ECU シミュ レータ
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
117
6.5 周辺モデル付SILSとその標準化
◆周辺モデル付SILSとは
SPILSではターゲットオブジェクトをシミュレートするが、周辺モデル付SILSではシミュレーション実
行PCのオブジェクトであるX86オブジェクトで実行する。周辺モデルとはマイコン内の周辺機構(タ
イマ、ADC、PWM、CANなど)のモデルを指す。
また、周辺モデルおよび標準基盤ソフトモデルは、ターゲットマイコンとは非依存の標準化を図
る。
周辺モデル付SILS
アプリソフト
(X86オブジェクト)
標準入出力サービスモデル-x86
標準OSモデル-x86
標準ドライバモデル -x86
(ISSレス)
ペリフェラル
標準HWモデル(ATAL1)
2012/12/21
回路
モデル
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
プラント
モデル
118
6.5 周辺モデル付SILSとその標準化
◆SPILSおよびSILSとの比較
SPILSとの比較
SILSとの比較
メリット
マイコンコア(プロセッサ)モデルあるい
はISSが不要なので、
・マイコンモデル開発工数が省略できる
・シミュレーション処理実行速度が速い
・周辺モデルが付いているので、SPILSで
構成した他のマイコンモデルやECUモデ
ルと接続できる
・プロセッサ命令実行時間やイベント割込
などをシミュレーションできる
(ただしプロセッサ命令実行時間の時間精
度は低い。時間精度レベル:ATAL-1)
デメリット
・Cソースコードの検証はできるが、ター
ゲットオブジェクトの検証はできない。
・マイコン非依存部の検証はできるが、
マイコン依存部の検証はできない。
・周辺モデル付SILS用に基盤ソフトを開発
し組み込む必要がある (SILSはシミュ
レータツールによる周期起動)
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
119
6.5 周辺モデル付SILSとその標準化
◆周辺モデル付SILS の用途
周辺モデル付SILS は以下の用途に利用できると考えられる。
(1)複数マイコンや複数ECUの検証において、搭載オブジェクトコードの検証
対象以外の、副次的なマイコンやECUの簡易モデルを作成するのに利用
できる。
例1: サブマイコンのモデル化
サブマイコンのマイコンモデルが提供されなくとも、サブマイコンの機能を
周辺モデル付SILS上で構築する。検証対象のメインマイコンはSPILS上で
構築する。両者を接続し、ECUモデルとして作り上げる。
例2: 複数ECUシステムにおいて、検証対象のメインECUはSPILS上で構築
する。副次的なECUは、もちろんSPILS上で構築してもよいが、マイコンモ
デルが提供されなくても、同ECUの機能を周辺モデル付SILS上で構築す
る。これらのECUモデルを接続し、複数ECUシステムとして作り上げる。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
120
6.5 周辺モデル付SILSとその標準化
◆標準基盤ソフトモデル(OS、入出力サービス、ドライバ)および周辺モデルの標
準化とメリット
ユーザへのメリット
標準ドライバモデルにより、周辺モデル付SILSのペリフェラルプログラミングモデルを標準化できる。
標準OSモデル、標準入出力サービスモデルにより、アプリソフトの搭載を容易にする。
仮想ECU環境開発者へのメリット
OS、入出力サービス、ドライバのモデルの標準化により、1種類開発すれば済む
周辺モデル付SILS (マイコンによらず共通)
SPILS (マイコン毎に異なる)
B社マイコン
周辺モデル付SILS
A社マイコン
アプリソフト
(X86オブジェクト)
標準化
標準OSモデル-x86
vECU-a
アプリソフト
標準入出力サービスモデルx 86
標準ドライバモデル -x86
通信インターフェース
(標準化)
(ISSレス)
ペリフェラル
標準HWモデル(ATAL1)
2012/12/21
SPILS
回路
モデル
プラント
モデル
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
基盤ソフト
ISS-a
ペリフェラル
対象HWモデル-a
回路
モデル
-a
プラント
モデル
121
6.5 周辺モデル付SILSとその標準化
◆アプリソフトの作成方法
方法1: 新規に作る (簡易な機能であれば、この方法でも十分)
方法2: SILSで動いているアプリソフトを移植したい
タスク周期処理を、標準OSモデルの割り込みハンドラに登録する
周辺機構への入出力処理を、標準入出力サービスモデルの対象変
数リストに登録する
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
122
第1章 仮想ECUシミュレータの導入・活用の狙い
第2章 開発プロセス上の位置付け
第3章 現状事例(ユースケース)
第4章 時間精度について
第5章 複数シミュレータの同期化
第6章 モデル間インタフェースについて
第7章 ユーザインタフェース(UI)について
7.1 ユーザインタフェース(UI)の分類
7.2 ユーザインタフェース(UI)仕様検討時の留意点
第8章 フォールト注入について
第9章 性能評価(CPU負荷率)
第10章 周辺モデル設計における留意点
第11章 マルチコアモデルについて
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
123
7.1 ユーザインタフェース(UI)の分類(1)
◆概要
・仮想ECU環境においては、ユーザインタフェース(UI)に関する標準化は、 従来あま
り検討されておらず、ユーザごとに個別開発されるケースが主流 であった。そのた
め、その個別開発費用が初期導入費用を押し上げるという 課題があった。
・本WGでは、自動車制御用途で利用頻度が高いユーザインタフェース(UI)を分類整
理し、その標準化を検討する。
・標準化においては、標準共通仕様とユーザ個別仕様に分離し、標準共通仕様 の
カバーする範囲をなるべく多くすることと、ユーザ個別仕様を全く付加しなくとも、標準
共通仕様のみで基本的な利用ができることが望ましい。
【備考】標準装備UIとは
・本章内で用いる、「標準装備UI」とは、仮想ECUシミュレータを提供するツールベン
ダが標準的に装備するUIを意味する。ユーザ個別仕様をヒアリングしてカスタマイズ
開発する「ユーザ個別開発UI」と区別するために用いる。 「標準装備UI」は、本章で
記述する標準共通仕様をカバーするものであり、どのツールベンダでも標準的に装
備することが望ましい。しかし、その詳細仕様や画面仕様などはツールベンダの間で
異なってもかまわない。
【備考】UI: User Interface
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
124
7.1 ユーザインタフェース(UI)の分類(2)
◆ユーザインタフェース(UI)の分類
一般的には以下を考慮要である
・テストシナリオ設定UI:
テストシナリオを設定する。画面操作および設定APIが必要である。
・結果収集UI
テスト結果を収集する。画面表示および収集APIが必要である。
・テスト実行制御UI
テスト実行を制御する。画面操作および設定APIが必要である。
仮想ECU特有の追加機能として以下も考慮要である。
・フォールト注入シナリオ設定UI
・ CPU負荷率測定設定UI
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
125
7.2 ユーザインタフェース(UI)仕様検討時の留意点(1)
◆想定すべきユースケースと期待される標準装備ユーザインタフェース(UI)
仮想ECUのユースケースとしては、以下が考えられる。その各々について、期待され
る標準装備ユーザインタフェース(UI)を以下に示す。
①上流設計におけるシステム検証
標準装備ユーザインタフェース(UI) としてはSimulinkモデルのユーザインタフェース
(UI)が有力候補である。本WGで11年度に実証実験したユースケースが本ケースにあ
たる。テストシナリオ設定UI、結果収集UI、テスト実行制御UIなどについては、
Simulinkの環境が準備するUIを活用できることが期待される。
②仮想HILS
標準装備ユーザインタフェース(UI) としてはHILSライクのユーザインタフェース(UI)が
有力候補である。テストシナリオ設定UI、結果収集UI、テスト実行制御UIなどについ
て、標準装備UIの提供が期待される。
③仮想ICE
標準装備ユーザインタフェース(UI) としてはICEライクのユーザインタフェース(UI)が有
力候補である。テストシナリオ設定UI、結果収集UI、テスト実行制御UIなどについて、
標準装備UIの提供が期待される。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
126
7.2 ユーザインタフェース(UI)仕様検討時の留意点(2)
④フォールト注入
フォールト注入は、実機に比較して仮想ECUが得意とする評価項目である。フォール
ト注入シナリオ設定UIについて、標準装備UIの提供が期待される。フォールト注入に
ついては、多様な仕様が考えられるが、標準装備UIの検討においては簡易なレベル
に留め、複雑なレベルについてはAPIを設けてユーザが追加設計できるようにするこ
とが望ましい。
⑤性能評価(CPU負荷率)
性能評価(CPU負荷率)は、実機に比較して仮想ECUが得意とする評価項目である。
CPU負荷率測定設定UIについて、標準装備UIの提供が期待される。 CPU負荷率測
定については、多様な仕様が考えられるが、標準装備UIの検討においては簡易なレ
ベルに留め、複雑なレベルについてはAPIを設けてユーザが追加設計できるように
することが望ましい。
標準装備UIの検討においては、評価すべき対象項目を限定することが必要となる。
例えば、評価できるタスク群の周期は3レベルとするなど。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
127
7.2 ユーザインタフェース(UI)仕様検討時の留意点(3)
⑥CANアナライザ
実機の場合にCANアナライザを利用するケースを仮想化するユースケースにおいて
は、 CANアナライザライクのユーザインタフェース(UI)が有力候補である。
本WGではCANインタフェースの標準化を検討中である。 CANアナライザライクの
ユーザインタフェース(UI)の提供が期待される。あるいは、CANアナライザベンダが
仮想CANアナライザを提供してくれる場合には、仮想CANアナライザと仮想CANイン
タフェースとの接続インタフェースの標準化が期待される。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
128
第1章
第2章
第3章
第4章
第5章
第6章
第7章
第8章
仮想ECUシミュレータの導入・活用の狙い
開発プロセス上の位置付け
現状事例(ユースケース)
時間精度について
複数シミュレータの同期化
モデル間インタフェースについて
ユーザインタフェース(UI)について
フォールト注入について
8.1 仮想フォールト注入の狙い
8.1.1 フォールト注入のねらい
8.1.2 フォールト注入の分類
8.1.3 フォールト注入仕様検討時の留意点
8.2 仮想フォールト注入の活用方法
8.2.1 仮想フォールト注入活用における課題と対応
8.2.2 フォールト注入レベル/箇所/モード/タイミング
8.2.3 フォールト注入方法
8.2.4 結果判定方法
第9章 性能評価(CPU負荷率)
第10章 周辺モデル設計における留意点
第11章 マルチコアモデルについて
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
129
8.1.1 フォールト注入のねらい
■実機システムによるフォールト注入テストの課題
1. 任意の場所や、タイミングでフォールト注入(再現)できない
2. 任意の場所を観測が困難
3. 設計検証の着手に遅延
実機検証環境
ECU単体
HILS
車両モデル
ECU
評価ベンチ
IC
SW
BOX
ECU
ECU外部端子や内部端子の電源短絡・地絡・断線を検証
⇒故障再現に限界あり
安全要求に対するテストカバレッジ向上のために
制御性や観測性、網羅性の面で仮想環境が活用できる
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
130
8.1.1 フォールト注入のねらい
■目的
仮想環境におけるフォールト注入テストを可能とし、システムレベルでの安全設計の
要求を完全に検証する
■うれしさ
1. 任意の場所やタイミングでフォールト注入が可能
2. システム内部状態の任意の挙動を可視化
3. 実機完成前に事前検証を前倒しかつ、検証環境の高速化
4. 実機を壊さずに検証可能
仮想検証環境
LAN
システムレベル
ECU
ECU
ECU
仮想ECU
オブジェクト
コード マイコン
H/W
モデル
モデル
H/W
モデル
マイコン+プラントを
PC上で模擬
SPILS用ツール
PC/サーバ
ECU
プラント
モデル
マイコン内外の
情報を可視化
あらゆる故障を注入できる仮想モデルを用いてシステム検証を可能にする
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
131
8.1.2 フォールト注入の分類
■フォールトモード
半導体レベル ECU(マイコン)レベル
システムレベル
Low固着
High固着
ドリフト
発振 等
・パリティエラー
・フレームエラー
・オーバーフロー
・タイミングエラー 等
・電源、クロック断
・ROM/RAM 誤データ書込/読出
・I/Oポートからの誤出力
・割り込みタイミングずれ 等
■仮想環境におけるフォールトモードの実装
~実回路~
~仮想回路~
機能ブロックモデル
機能ブロック
入力
出力
抽象化
ECU
入力
機能レベル
a+b=c
出力
マイコン
入力
出力
コア
ペリフェラル
ペリフェラル
Ex. ADC 双方向 Ex. PWM
ペリフェラル Ex. CAN
H/W
回路
H/W
回路
半導体の基本故障は、
オープン, ショート, 固着等
機能ブロックモデルの入出力
でフォールトを注入(再現)
フォールトモードの種類、実装手法の検討が必要である
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
132
8.1.3 フォールト注入仕様検討時の留意点
■フォールト注入方針の策定
■モデル抽象度
・安全設計の検証対象レベルは?
・必要なフォールトの分類は?
・要求精度と検証時間は?
・フォールト注入する箇所は?
・フォールト注入をどう実装する?
Ex. トランザクション, 端子レベル等
トランザクションレベル
(高抽象度)
端子レベル
(高精度)
機能ブロック
モデル
■注入手法
Ex. マイコンモデル外/内部実装, 機能ブロック外/内実装等
仮想ECU
■対象レベル
マイコン
モデル
Ex. ECU, マイコン, プラントモデル等
LAN
H/W
モデル
H/W
モデル
システムモデル
ECU
ECU
ECU
vHILS
仮想ECU
マイコン
モデル
オブジェクト
コード
ECU
H/W
モデル
H/W
モデル
マイコンモデル
入力
機能
機能
ブロック
コア
双方向
機能
出力
機能
I/F
機能
マイコン外部実装
(マイコン影響なし)
フォールト
シナリオ
機能ブロックモデル
フォールトモデル
プラント
モデル
機能ブロック
SPILS用ツール
PC/サーバ
マイコン内部実装
(機能影響なし)
利用目的に応じたフォールト注入の方針を明確にすることが重要である
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
133
8.1.3 フォールト注入仕様検討時の留意点
■よくある質問と対応の考え方
仮想フォールト注入テストの要求仕様を検討するに際して、ユーザ側より、以下の質問がなされる
ケースがある。
質問:
フォールト注入後の動きが机上では予測困難なケースに使いたい。例えば、マイコンの隣接端子が
短絡したときに、電圧が不詳なので、短絡時の電圧を計算してほしい。そのようなことが仮想フォー
ルト注入テストでできるのか?
対応の考え方:
仮想ECUを用いた仮想フォールト注入テストは、想定されるエラー事象(複数ケースあってもよい)
に対して、電子制御システムとして問題なきことを検証するために利用するのがよい。
短絡時の電圧として想定されるエラー事象、例えば、ケース1:L優先(短絡された2信号のいずれか
がLならばL)、ケース2:H優先((短絡された2信号のいずれかがHならばH)を想定し、両ケースの
いずれにおいても「安全要求を逸脱しないこと」を検証するという利用方法がよい。
一方で、マイコンの隣接端子が短絡したときの電圧値を計算したいという利用方法に対しては、その
用途に適した回路シミュレータ(SPICEなど)を個別に利用することが望ましい。
利用目的
適したシミュレータ
判定方法
想定されるエラー事象に対して、電子制
御システムとして問題なきこと(安全目標
を侵害しないこと)を検証したい
仮想ECU応用の連動シミュレーション
短絡時の電圧がLと見なされてもHと見な
されてもいずれのケースでも問題なきこと
(安全目標を侵害しないこと)を判定する
マイコンの隣接端子が短絡したときの電
圧値を計算したい。
回路シミュレータの個別利用
2012/12/21
( プラントモデル+仮想ECU)
(仮想ECU = 仮想マイコン+回路シミュレータ)
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
短絡時の電圧が期待値の範囲内か、許容
値をオーバーしていないかなどを判定する
134
8.2.1 仮想フォールト注入活用における課題と対応
◆仮想フォールト注入テストの要求仕様標準化(案)提唱の狙い
本WGでは、仮想フォールト注入テストを活用する上での課題を予測し、それに対処するための要求仕様標準化
案を検討したので、その結果を提唱する。
(1)フォールト注入条件(フォールト注入レベル/箇所/モード)およびフォールト注入方法
仮想フォールト注入テストでは、シミュレーション上でのテストのため、モデルやツールで追加対応すれば際限なく
フォールト注入条件(テストケース)を拡大することができる。(場所 x 故障モード x タイミングなど) そのため、
どこまでフォールト注入条件(フォールト注入レベル/箇所/モード)を考慮すればよいのかについて、標準的な
目標を策定することが望ましい。
また、フォールト注入方法も極力標準的な方法に統一できることが望ましい。
(2)結果判定条件
仮想フォールト注入テストを効率よく実施するには、結果判定条件も標準化し、自動判定できることが望ましい。
フォールト注入テストの要求仕様標準化ができれば、フォールト注入テストに対応するためのモデルやツールの標
準整備も可能になる。最終的には、仮想フォールト注入テストの環境構築および実行のための工数、費用、納期
が格段に改善されると期待する。
フォールト注入テストの要求仕様標準化
フォールト注入テストのためのモデル、ツールの標準整備
網羅的フォールト注入テストの自動化
FMEAの自動判定
【備考】 FMEA: Fault Mode and Effect Analysis
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
135
8.2.1 仮想フォールト注入活用における課題と対応
■懸念される問題点
仮想検証環境
・フォールト注入/モデリング手法は標準化されておらず
非効率
⇒標準化仕様案の提案が望まれる
フォールト注入
■目指す姿
・想定されるフォールトを定義
・ターゲット依存のないフォールト注入手法
・試験結果の効率的な判定手法の確立
⇒標準化仕様案の提唱
仮想ECU
アプリソフト
シナリオ
対象箇所,
フォールトモード,
タイミング, etc.
マイコンモデル
コアモデル
インター
フェース
期待値
周辺モデル
OK/NG
回路
モデル
回路
モデル
プラント
モデル
Sim
結果
■フォールト注入技術の要件
実現性
想定したフォールトが表現でき
ること
仮想ECUで想定される故障を分析
→フォールトレベル/注入箇所を定義
システム ECU ECU ECU
ECU / マイコン / 回路部品
→フォールトモードの定義
オープン
端子間ショート
フォールトモデル
機能ブロックモデル
汎用性
妥当性
2012/12/21
アプリケーション・機能に影響を
与えないこと
試験結果の判定が容易なこと
入力
機能レベル
a+b=c
出力
固着
機能ブロック
機能ブロックを変更したくない → I/F拡張によるフォールトモデル
結果からOK/NGまで判定したい
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
シミュレーション結果
OK / NG
136
8.2.2 フォールト注入レベル/箇所/モード/タイミング
◆フォールト注入条件(フォールト注入レベル/箇所/モード)の選定案
場所(レベル・箇所)
故障モード
a
ECU上: コネクタ端子
各端子のH固定/L固定、隣接端子ショート
b
ECU上: マイコン、ASICの端子
c
ECU上:
抵抗
電子部品(抵抗、コンデンサ、
トランジスタなど)の端子
コンデンサ
d
e
トランジスタ
オープン ただしアナログ回路の場合は中間値故
障も追加
オープン/ショート ただしアナログ回路の場合は中
間値故障も追加
各端子オープン、隣接端子間ショート
f
ECU間: 通信ネットワーク
通信エラー注入
g
マイコン、ASIC内部:
トップ層機能ブロックのI/F部
HAZOPによるフォールト注入
h
マイコン、ASIC内部:
エラー検出機構によるエラー検出
検出対象エラー注入
フォールト注入条件(フォールト注入レベル/箇所/モード)選定の考え方
(1)従来実機テストで実施している注入条件(フォールト注入レベル/箇所/モード)をカバーする。
(2)従来実機テストで実施困難な注入条件(フォールト注入レベル/箇所/モード)については、
主に、以下の視点で追加選定した。
中間値故障、マイコン内部トップ層機能ブロック、タイミング、など
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
137
8.2.2 フォールト注入レベル/箇所/モード/タイミング
(1)アナログ回路部品(抵抗、コンデンサなど)の中間値故障(ドリフト変化)
以下の4点または6点で検証する。
ドリフト変化に関しては、基準値の×2,×3,×(1/2),×(1/3)の4点でシミュレーション実施する。
ロバスト性のチェックのため、しきい値の近傍(×1.1, ×0.95など)についても検証する。
理由: 中間値については無限に取りうるが、上記案を提唱する。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
138
8.2.2 フォールト注入レベル/箇所/モード/タイミング
(2)マイコン、ASIC内部(トップ層機能ブロックのI/F部): HAZOPによるフォールト注入
a) データ化け: 以下の6点または8点で検証する。
最小値(例:0x00000000), 最大値(例:0xFFFFFFFF)
期待値の×2,×3,×(1/2),×(1/3) (中間値については無限に取りうるが、上記案を提案する。)
期待値の反転 (例:論理値の1/0反転、YES/NO反転)
しきい値の近傍(×1.1, ×0.95など) (ロバスト性のチェックのため)
前回と同一値(変化せず) (データ更新に関する部位の故障を想定)
b)データ転送やイベントの欠損
データ転送(またはイベント)をマスクして欠損させる。
c)データ転送やイベントの誤発生 (発生しないはずなのに発生)
データ転送(またはイベント)を追加発生させる。
発生させるデータの内容やタイミングについては、対象システム個別検討による。
d)データ転送やイベントの時間遅れ
タイミングについては、対象システム個別検討による。
e)データ転送やイベントの時間早まり
タイミングについては、対象システム個別検討による。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
139
8.2.2 フォールト注入レベル/箇所/モード/タイミング
(3)マイコン、ASIC内部(エラー検出機構): エラー注入
メモリ: ECCエラー(ダブルビットエラー) など
マイコンコア: 演算結果比較エラー、イリーガル命令、メモリプロテクトエラー など
入出力:
データエラー(例:パリティエラー)、タイムアウトエラー など
各エラー検出機構ごとに、エラー発生事象を注入する。
備考:
・回路上のフォールト注入部位は多数考えられるが、エラー検出部位は1箇所に集約される
・演算器Aにフォールト発生した場合は、演算結果が誤出力になるケースも検討要
フォールト1
演算結果
演算器A
比較機構
誤出力
のケースあり
比較エラー
演算器B
フォールト2
エラー
→1箇所に集約
留意事項
・「マイコンコア内のハードウェア回路にフォールト注入したときに、期待どおりにエラー検出できるか」を検証
→ マイコンコア内のハードウェア回路のシミュレータ(マイコンベンダ内の検証)に期待(本WGのスコープ外)
・「エラー検出したときに、マイコン外部のハードウェアやソフトウェアで構築された安全機構によるフェール
セーフ処置が期待どおりに働くか」を検証
→ 「仮想フォールト注入テスト」 に期待 (本WGの検討対象)
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
140
8.2.2 フォールト注入レベル/箇所/モード/タイミング
◆フォールト注入条件(フォールト注入タイミング)の選定案
フォールト注入タイミングについては、以下のケースを考慮する。
a) 初期から発生(固定故障)
b) 稼動中に発生(固定故障)
c) 稼動中に発生(間欠故障)
フォールト注入タイミングの指定条件は、「①時刻指定」(例:シミュレーション開始から1ms経過し
たとき)、および、「②特定の条件成立時(指定された変数または変数群の組み合わせ条件が指
定された領域値になったとき)」(例:車速が100km/sを越えたとき)とする。
【備考】ユーザの留意すべきこと
稼動中のフォールト注入タイミングをいかに選定するかについては本書では特に規定しないが、
安全上クリティカルと思われるタイミングを考慮に含めるのがよい。
◆ツールおよびモデルに期待すること
本章に記述されたフォールト注入支援機能を標準機能としてサポートすることが望ましい。
・ 「フォールト注入レベル/箇所/モード」をカバーできる
・ 「フォールト注入タイミング」をカバーできる
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
141
8.2.3 フォールト注入方法
◆フォールト注入方式の標準化の狙い
■標準I/Fの構想
標準化前
標準化後
仮想ECU
仮想ECU
ECUモデル~プラントモデルI/F
(シグナル/バリューI/F)
マイコンモデル
マイコンモデル
アプリケーション
ソフトウェア
コアモデル
周辺モデル
周辺
回路
モデル
プラント
モデル
フォールト注入
シナリオ
対象箇所,
フォールトモード,
タイミング, etc.
アプリケーション
ソフトウェア
レジスタ I/F
コアモデル
周辺モデル
・オブジェクトコード/周辺回路を変更
したくない
・ターゲット毎に作り込みたくない
プラント
モデル
・両面のI/F拡張によりオブジェクトコード/周辺回路
に影響を与えない注入手法
⇒フォールトシナリオ/モデルは再利用可能
シグナル(信号) I/F
2012/12/21
周辺
回路
モデル
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
バリュー(物理量) I/F
142
8.2.3 フォールト注入方法
◆周辺モデルのフォールト注入方式の標準化案
1.目的
「マイコン内部(トップ層機能ブロックのI/F部): HAZOPによるフォールト注入」
に関して、フォールト注入方式の標準化案を提唱する。
2.対象
マイコンコアモデルとマイコン周辺モデル(ROM/RAM、入出力ポート、通信ポートなど)との間のI
Fを対象とする。
3.フォールト注入箇所
フォールト注入箇所は、周辺モデルのレジスタ界面とする。(割り込み機能も含む)
製品と同一のオブジェクトコードが直接アクセスするレジスタ界面にフォールト注入を行う。
理由:
a)製品ソフトウェアと同一のオブジェクトコード上で検証できる(基盤ソフトも含めて)
b)マイコン周辺モデル内のフォールトがマイコンコアモデル(およびその上で動くソフトウェア)
に与える影響は、周辺モデルのレジスタ界面(および割り込み)へのフォールト注入によって
模擬可能と想定できる。
c)マイコンコア内のフォールトがマイコン周辺モデルに与える影響は、周辺モデルの
レジスタ界面(および割り込み)へのフォールト注入によって模擬可能と想定できる。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
143
8.2.3 フォールト注入方法
【補足】 フォールト注入テストにおける周辺モデルのレジスタ界面の位置付け
試験シナリオ
(故障注入シナリオ)
ECUモデル
アプリケーション
ソフトウェア
OS
ドライバー
ソフトウェア
マイコンモデル
周辺モデルのレジスタ界面
(および割り込み)
コアモデル
周辺モデル
ECU回路モデル
ECUモデル~プラントモデルI/F
プラントモデル
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
144
8.2.3 フォールト注入方法
4.フォールト注入方式
ツールおよびマイコン周辺モデルに期待すること
・ツール
周辺モデルのレジスタ界面(および割り込み)に対して、フォールト注入を行う機能を
持つこと(フォールト注入テストシナリオに従って)
・マイコン周辺モデル:
方式案1: 周辺モデルのレジスタ界面(および割り込み)に対して、ツールからの
フォールト注入指示を受けるAPIを持つ。
(フォールト注入のためのAPIおよびフォールト注入モデルは、ツールベンダまたは
モデルベンダが準備する。)
方式案2: コアモデルと周辺モデルとの間に、フォールト注入用モデルを挿入する。
フォールト注入用モデルは、ツールからのフォールト注入指示を受け、周辺モデルの
レジスタ界面(および割り込み)のフォールトを模擬発生させる。
(フォールト注入モデルの作成および挿入は、ユーザ側で担当するケースが多い。
ツールベンダはユーザの作業を支援する環境を準備する。)
フォールト注入方式は、当面は方式案2でもかまわないが、将来的には方式案1を期待する。
(理由: 仮想フォールト注入テストの工数削減・工程短縮)
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
145
8.2.4 結果判定方法
目的
仮想フォールト注入テストでは、網羅的なテスト実行が可能になるが、そのテスト結果判定を人手
で行うのでは、工程短縮、工数削減の効果が制約される。テスト結果判定も極力自動化するのが
望ましい。
テスト結果判定仕様を分類整理し、標準的な仕様案を提唱する。
1.従来の判定方法(実機またはHILS)
観測ポイントの値や波形を見て、安全目標を侵害していないこと(例えば、許容時間内に安全状
態に遷移していること)を確認する。
2.仮想フォールト注入テストの場合の判定方法
(1)ユースケース1: 初回テスト
観測ポイントの値や波形を見て、安全目標を侵害していないこと(例:許容時間内に安全状態に
遷移していること)を確認する。
現状:結果判定基準はテスト仕様祖に文章で記載されている
(2)ユースケース2: 回帰テスト(再テスト)
観測ポイントの値や波形が、前回値(期待値)と等しいことを確認する。
3.ツールに期待すること
結果の値や波形が容易に観測できること。そして、以下機能をサポートできること。
(1) 結果判定条件を記述でき、自動判定できる機能 (初回テスト用)
(「安全目標を侵害していないこと」という判定条件を効率よく記述できることが望ましい)
(2)結果が前回値(期待値)と等価であることを自動判定できる機能(回帰テスト用)
(従来のテスト支援ツールでもサポートされている機能)
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
146
第1章 仮想ECUシミュレータの導入・活用の狙い
第2章 開発プロセス上の位置付け
第3章 現状事例(ユースケース)
第4章 時間精度について
第5章 複数シミュレータの同期化
第6章 モデル間インタフェースについて
第7章 ユーザインタフェース(UI)について
第8章 フォールト注入について
第9章 性能評価(CPU負荷率)
9.1 車載制御ソフトウェアにおけるCPU負荷率とは?
9.2 CPU最大負荷率測定の目的
9.3 用法
9.4 仮想ECUの要件
9.5 今後の動向
第10章 周辺モデル設計における留意点
第11章 マルチコアモデルについて
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
147
9.1 車載制御ソフトウェアにおけるCPU負荷率とは?
<CPU負荷率とCPU最大負荷率>
CPU負荷率(%) = 実行時間÷実行周期*100
で求める。
CPU最大負荷率は実行時間が最大となる場合、つまり、
CPU最大負荷率(%) = 最大実行時間÷実行周期*100
となる。
実行周期
関数1
関数2
割込1 関数3
割込2
ア イ ドル動作
ア イ ドル動作
実行時間
最大となる場合を最大実行時間とする
※ここで、実行時間とは実行周期内に実行/動作する状態の時間
つまりアイドル動作(実行周期経過待ち)している状態を除く。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
148
9.2 CPU最大負荷率測定の目的
CPU負荷率が100%を超えると
・処理が飛ばされる
・処理タイミングにズレが発生する
・意図していない処理順序になる
等が発生し、結果意図しない動作になることが懸念される。
CPU最大負荷率を測定し、100%迄のマージンを把握することを目的とす
る。
【例】
関数1に於いて割り込みを使用した通信の送受信処理を実施している場合
CPU負荷率が100%を超えると以下の様な動作となることが懸念される
③次周期との間隔が短くなる
実行周期
関数1
関数2
割込1 関数3
割込2
関数1
関数1
実行時間
①実行時間が実行周期をオーバー
②起動タイミングにズレが発生
④通信処理が終了しない状態
で関数1を実行してしまう
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
149
9.3 用法
9.3.1 複数のタスクに対しての測定
機能により要求性能が異なるため、複数のタスク(実行周期)を持つ場合がある。
その際には、全てのタスクに於いて、CPU最大負荷率を確認しなければならない。
1msタスク
10msタスク
・
・
・
・
<タイミングチャート(例)>
1ms
タスク
1ms
タスク
それぞれのタスクに対して負荷測定。
以下<タイミングチャート(例)>の様に
周期が長いタスク実行の間に
周期が短いタスクが実行される為、
そのことも考慮する。
10ms
10msタスク
・・・
1ms
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
ア イ ドル
動作
150
9.3 用法
9.3.2 実機での測定方法(例)
10ms経過?
No
<10msタスクを内部タイマを使用して
経過待ちをチェックして実現している場合
>
Yes
・
・
・
・CPU最大実行時間保存用のRAMを準備
・10ms経過判断用のタイマカウンタを利用し
『カウンタ値が保存されたデータより大きければ更新』
という処理を10msタスクの最終処理に入れる
・最大実行時間となるような条件をECUに入力する
・RAMモニタ機能を利用し結果の読み出しを行う
その他、簡易的にICEのトレース機能を利用する方法等もある。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
151
9.4 仮想ECUの要件
<負荷率の計測機能>
ソースコードとテストシナリオ(最大負荷率となるシナリオ)
を入力し、レポートを出力する。
テストシナリオ
レポート
ソースコード
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
152
9.4 仮想ECUの要件
<負荷率の計測手段>
①関数毎の実行時間を計測する(関数のcall~return)
Input
Output
関数毎の
**クロック
or
**ms
**クロック
or
**ms
**%
②全体の実行時間(アイドル~アイドル)を計測する
Input
Output
**クロック
or
**ms
**%
③負荷率を算出する
Input
Output
**%
2012/12/21
出せるOutputにより、Inputとして必要な情報も変化す
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
る。
153
9.4 仮想ECUの要件
参考:最大負荷率となるパスの検索機能
・
・
・
ソースコードから最大実行時間となるパスを検索
そのテストシナリオを出力するツールが存在す
る。
この様なツールとの連携や
この様な機能の取り込みがあるのが望ましい。
テストシナリオ
最大実行時間となるパス
・
・
・
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
154
9.4 仮想ECUの要件
9.4.2 ネック箇所の検出
NGの場合(マージンが無い場合)、
関数毎や機能毎の処理時間が測定できれば、負荷の大きい処
理(ネック箇所)を特定できる。
特定したことにより、負荷分散や処理の効率化を施すことも可能
になる。
関数x
・・・
・・・
・・・
処理時間妥当
関数y’
関数y
・・・
・・・
・・・
2012/12/21
処理時間長い
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
・・・
・・・
・・・
負荷分散や
処理効率化を実施し
処理時間を妥当に
155
9.5 今後の動向
9.5.1 マルチコア
マルチコアを使用した場合のCPU負荷測定について
今後、組込みソフトウェアでもマルチコアを使用したシーンの増加
が見込まれる。
・バスの負荷
・リソースのロック
等コア間のやりとりまで仮想化する必要がある。
またシングルコア時には単純にマージンをとるだけで良かったモ
デルの精度が、複数のコア間のやりとりが発生する為、コア間の
やりとりに影響が出る。
(単純に使用できるかは構成/構造に依存する)
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
156
9.5 今後の動向
9.5.2 機能安全規格ISO26262との関係
【CPU負荷率との関連項目】
Part6 Clause10 Table13 1d(リソース使用テスト)
ソフトウェア統合テスト時に負荷測定を実施する。
※ASIL A ~ ASIL C で推奨、
ASIL D で強く推奨となっている
Part6 Clause7
Table3
1f(適切なスケジューリング)
ソフトウェアアーキテクチャ設計時に
(負荷見積もりを行いながら)
スケジューリングの設計を実施する。
※ASIL A ~ ASIL D の全てで強く推奨となっている
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
157
第1章 仮想ECUシミュレータの導入・活用の狙い
第2章 開発プロセス上の位置付け
第3章 現状事例(ユースケース)
第4章 時間精度について
第5章 複数シミュレータの同期化
第6章 モデル間インタフェースについて
第7章 ユーザインタフェース(UI)について
第8章 フォールト注入について
第9章 性能評価(CPU負荷率)
第10章 周辺モデル設計における留意点
10.1 周辺モデル設計における基本的な留意点
10.2 周辺モデル設計における事例分析と留意点
第11章 マルチコアモデルについて
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
158
10.1 周辺モデル設計における基本的な留意点
1.考え方
ツールベンダ、モデルベンダが提供するモデル(MCUコア、MCU周辺)の再利用性を配慮すべきで
ある。汎用的なモデル(標準的なモデル間インタフェースを持つモデル)とすることは、ユーザ、ベン
ダ双方にとって利点が大きい。 (周辺モデル開発のためのトータルコスト&工数を軽減の為)。
2.ツールベンダへ依頼する場合。
(1)仮想シミュレータは、Accellera Systems Initiative(旧OSCI) TLM 2.0準拠のSystemC対応シミュ
レータであるかの確認。
(2)提供のMCU周辺モデルは、他社SystemC対応シミュレータでも再利用が可能かどうかの確認。
(3)他社作成MCU周辺モデルをツールベンダー提供の仮想シミュレータにて再利用可能かの確
認。また、ビルド(あるいはMake)などの方法等の提示要求。
3.モデルベンダ(SystemC対応MCU周辺モデルを個別開発する企業)へ依頼する場合
(1)抽象度の確認
ATAL-1~ATAL-3
*ATAL-3(cycle-accurate)の対応は半導体ベンダーからの情報開示必要
(2)単体(Unit)テストのみならず、連動(Combination)テストの要求
(3)テストパターン(テストベンチ)の提供
周辺モデルを組み合わせて基本動作が確認出来るテストパターン(テストベンチ)の提供
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
159
10.2 周辺モデル設計における事例分析と留意点
■目的
・過去の事例からノウハウを抽出し、今後の周辺モデル設計の留意点として纏めた。
■進め方経緯
①各関係者(ユーザ、ツールベンダ/モデルベンダ、マイコンベンダ)より、留意すべき事例を紹介い
ただいた。
②事例を元に、発生現象、直接原因、直接対策、真因分析、モデル提供者の留意点、モデル発注
者の留意点の観点で分析し、整理した。
③仮想HILS TFで、分析結果をレビューの後、本ユーザガイドに反映した。
■モデル関係者の相互関係
本事例分析で用いられるモデル関係者の用語と相互関係を以下に示す。
モデル提供者
モデル発注者
例:ツールベンダ、モデルベンダ
例:サプライヤ - 開発環境担当部門
エンドユーザ
例:サプライヤ - 製品開発担当部門
マイコンベンダ
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
160
10.2 周辺モデル設計における事例分析と留意点
◆事例1
留意点
ハード内部仕様(状態遷移仕様など)の理解
①発生現象
複数レジスタへのアクセス順序によっては、動作結果が期待値と異なる。
ソフトウェアを走らせると、実ECUでは期待した動作をするが、仮想ECUでは期待した動作に
ならない。
②直接原因
周辺モデルの内部状態遷移仕様が実機と異なる
③直接対策
周辺モデルの内部状態遷移仕様を実機に合わせるよう修正した
④真因分析
マイコンのマニュアルには内部状態遷移仕様は記載されていない。モデル提供者は、マニュ
アルに記載されている表面的な仕様やタイミングチャートのみから、内部状態遷移仕様をモ
デル設計者のみで想像してモデル仕様設計した。
⑤モデル提供
者の留意点
案1:マイコンベンダは、モデル提供者に、モデル設計に必要な情報(内部状態遷移仕様など
)を開示する。モデル提供者は、モデル設計に必要な情報が不足していれば、その旨をマイ
コンベンダに伝え、協力を要請する。
案2:(案1で示す情報開示が機密上困難な場合) マイコンベンダは、モデル提供者のモデル
設計仕様のレビューに、モデル設計に必要な情報(内部状態遷移仕様など)を知っているハ
ードウェア設計者を参画させる。
⑥モデル発注
者の留意点
モデル発注者は、モデル設計仕様の設計・レビューが、上記のような観点でなされているか、
その開発プロセスをヒアリングチェックする。そのプロセスに不備があれば、マイコンベンダに
対する協力要請を支援する。(モデル発注者は当該マイコンの購入ユーザでもある場合が多
いので)
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
161
10.2 周辺モデル設計における事例分析と留意点
◆事例1a
留意点
複数割り込み競合時の処置仕様の理解
①発生現象
複数割り込み競合時の動作が実機と異なる。
②直接原因
割り込み制御機構のモデルが実機と不一致
③直接対策
モデルを実機に合わせるよう修正した。
④真因分析
マイコンのマニュアルにおいて複数割り込み競合時の処理仕様の記載が不十分であった。モ
デル提供者は、マニュアルに記載されている内容のみから、内部詳細仕様をモデル提供者
のみで想像してモデル仕様設計した。
⑤モデル提供
者の留意点
(留意点-1と同様)
⑥モデル発注
者の留意点
(留意点-1と同様)
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
162
10.2 周辺モデル設計における事例分析と留意点
◆事例2
留意点
モデルへの入力仕様違反時のエラー通知仕様
①発生現象
ソフトウェアを走らせると、CPU例外が発生し、ソフトウェアが異常処置動作に遷移する。
実ECUではCPU例外は発生しないのに、仮想ECUではCPU例外が発生する。
②直接原因
当該プログラムは、ReadOnlyのレジスタにダミーWriteしている。
実ECUではNo-operationだが、仮想ECUでは当該周辺モデルでTLMエラーが発生し、さら
にCPU例外も発生させていた。
③直接対策
当該周辺モデルでTLMエラー発生してもCPU例外は発生しないよう修正した。
④真因分析
検証対象のソフトウェアによっては、モデルへの入力仕様違反がありうるということを留意し
た処置仕様を検討できていない。周辺モデルTLMエラーとCPU例外エラーのユーザへの見
え方を混同している。
⑤モデル提供
者の留意点
周辺モデルへの入力仕様違反によるTLMエラーを検出した場合には、標準処置仕様として
は、TLMエラーの警告出力のみとし、CPUモデル内には影響を波及させない処置仕様とす
る。
⑥モデル発注
者の留意点
周辺モデルへの入力仕様違反によるTLMエラーの処置仕様については、個別に確認し、不
都合あれば、モデル提供者と調整する。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
163
10.2 周辺モデル設計における事例分析と留意点
◆事例3
留意点
タイマの内部カウンタ値の扱い
①発生現象
タイマの内部カウンタ値のトレース結果が想定と異なる。
本来カウントアップされるべきタイミングでは値が更新されない。
②直接原因
タイマの内部カウンタ値は、ソフトウェアがタイマにアクセス時のみ値が更新されており、
本来カウントアップされるべきタイミング(定周期)では値を更新していなかった。
③直接対策
本来カウントアップされるべきタイミング(定周期)で値が更新されるように周辺モデルを修正
した。
④真因分析
モデル提供者は、ソフトウェアに見せる値のみを考慮したモデル作りをしていた。
(カウンタの読み出しレジスタの値が、読み出しのタイミングで、正しければよいと考えた。)
タイマの基本動作部分である内部カウンタ値に対しては、特段の配慮はせず、ユーザが期待
していたモデルになっていなかった。
⑤モデル提供
者の留意点
トレースのことも考慮してカウンタレジスタLSB更新時の処置をモデルに盛り込む。
そのような考え方をモデル開発ガイドなどでモデル設計者に周知する。
ただし、LSBをあまりのも小さな時間にしてしまうと、その更新のオーバヘッド処理が問題にな
る可能性もあるので、適切な時間とする。(必要に応じてユーザの合意も取り付ける。)
⑥モデル発注
者の留意点
トレースで参照したい情報も仕様に盛り込むよう事前に要求する。仕様に盛り込まれている
かレビューする。
周辺モデル(例:タイマー)
書き込みレジスタ群
ソフトウェア
内部カウンタ
読み出しレジスタ群
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
164
10.2 周辺モデル設計における事例分析と留意点
◆事例4
留意点
シミュレータ内部仕様の影響確認
①発生現象
ハードウェアモデル(タイマー)
特定レジスタへの書き込みタイミングによって、コンペアマッチイベント発生順が逆転し、
誤った波形の出力となった。
②直接原因
特定の条件下において、モデル設計者が期待していた通りの状態遷移とならなかった。
③直接対策
モデル設計者が期待していた通りの状態遷移となるよう修正した。周辺モデルを修正した。
④真因分析
特定の条件下で起こるシミュレータ内部の動作仕様に起因するタイミングの問題。
マイコンシミュレータは複数のモジュールで構成されているが、該当箇所が他に与える影響に
対して考慮が足りなかった。
担当者の経験値不足よるものであるが、思い込みによりレビュー観点から漏れてしまった。
⑤モデル提供
者の留意点
モデル設計仕様のレビューに、シミュレータ内部の動作仕様を理解している者が参加する。
⑥モデル発注
者の留意点
モデル提供者におけるモデルの開発プロセス、特に、仕様レビューのポイントを確認する。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
165
10.2 周辺モデル設計における事例分析と留意点
◆事例5
留意点
ハードウェアマニュアルの解釈誤り防止
①発生現象
ハードウェアモデル(CAN、割り込みなど)
特定のイベント発生によるステータスフラグ等の更新処理に誤りがあった。
②直接原因
特定イベント発生直後にステータスフラグを更新する処理に漏れがあった。(など)
③直接対策
モデルをマニュアルに合わせるよう修正した。
④真因分析
ハードウェアマニュアルの解釈誤り。
型番対応のための派生開発を行うケースがある。この型番対応の開発において、各型番の
マニュアルの違いを読み落としたり、解釈の誤り(担当者の勝手な思い込み)があった。これ
をレビューで指摘出来なかった。
⑤モデル提供
者の留意点
モデル設計仕様のレビューに派生元開発者が参加する。
⑥モデル発注
者の留意点
モデル提供者におけるモデルの開発プロセス、特に、仕様レビューのポイントを確認する。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
166
10.2 周辺モデル設計における事例分析と留意点
◆事例6
留意点
ハードウェアマニュアルの誤り訂正の反映
①発生現象
モデルの動作が実機と異なる。
②直接原因
ハードウェアマニュアルの記載ミス
③直接対策
モデルを実機に合わせるよう修正した。
④真因分析
ハードウェアマニュアルの記載ミス訂正に対するモデル修正の遅れ
⑤モデル提供
者の留意点
マイコンベンダに対して、モデル提供者にも「告知(制限事項)。暫定版のリリース。」を早める
よう要請する。
⑥モデル発注
者の留意点
マイコンベンダに対して、上記のような問題のなきよう、モデル提供者との情報共有スキーム
確立を要求する。(モデル発注者は当該マイコンの購入ユーザでもある場合が多いので)
補足:
モデル提供者の開発部門は国内ではないケースも多い。この場合、ハードウェアマニュアル
英文版の改変もタイムリに実施してもらう必要あり。その旨、マイコンベンダに、協力要請する。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
167
10.2 周辺モデル設計における事例分析と留意点
■マイコンベンダに期待すること
・前記した事例分析と留意点に関連して、マイコンベンダに期待することを以下に纏めた。
No.
マイコンベンダ(またはASICベンダ)に期待すること
関連事例
1
案1:マイコンベンダは、モデル提供者に、モデル設計に必要な情報(内部状態遷移仕 事例1
様など)を開示する。モデル提供者は、モデル設計に必要な情報が不足していれば、そ 事例1a
の旨をマイコンベンダに伝えるので、タイムリな回答に協力する。
案2:(案1で示す情報開示が機密上困難な場合) マイコンベンダは、モデル提供者の
モデル設計仕様のレビューに、モデル設計に必要な情報(内部状態遷移仕様など)を
知っているハードウェア設計者を参画させる。
2
ハードウェアマニュアルの誤り訂正においては、モデル提供者に対しても、「告知(制限
事項)。暫定版のリリース。」を早める。モデル提供者の開発部門は国内ではないケー
スも多い。この場合、ハードウェアマニュアル英文版の改変もタイムリに実施する。
事例6
3
ハードウェア仕様の理解を深める為に、アプリケーション・ノートが有用な場合がある。
マイコンベンダは、モデル提供者に、アプリケーション・ノートも提供する。
(モデル提供者
からの提言)
4
MCALなどのソフトウェアの提供があるとモデル納品前の検証に有効で更に良い。
(モデル提供者
からの提言)
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
168
第1章 仮想ECUシミュレータの導入・活用の狙い
第2章 開発プロセス上の位置付け
第3章 現状事例(ユースケース)
第4章 時間精度について
第5章 複数シミュレータの同期化
第6章 モデル間インタフェースについて
第7章 ユーザインタフェース(UI)について
第8章 フォールト注入について
第9章 性能評価(CPU負荷率)
第10章 周辺モデル設計における留意点
第11章 マルチコアモデルについて
11.1 マルチコアモデルにおけるトレードオフ
11.2 マルチコアにおける基本要求仕様
11.3 マルチコアで想定されるソフトウェアバグ
11.4 マルチコアにおけるタイミング精度要求仕様
11.5 コア間の同期化周期に関する要求仕様
11.6 ソフトウェア機能検証用途における追加要求仕様
11.7 性能評価用途における要求仕様
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
169
11.1 マルチコアモデルにおけるトレードオフ
本章では、マルチコアモデルに対するユーザ要求仕様を明確化する。
マイコンコアのモデル化においては、モデルの精度(時間精度など)と開発工数(費用や納
期)・シミュレーション処理速度は、トレードオフの関係にある。
シングルコアの場合に用途に応じて3種のタイミング精度要求仕様(ATAL1~ATAL3)を定義
した。(第4章)
これをマルチコアにも適用拡大したい。
特に、タイミング精度が最も粗いATAL1相当、すなわち、マルチコアにおけるソフトの機能検
証に必要な要求仕様を明確化する。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
170
11.2 マルチコアにおける基本要求仕様
ATAL1特有の検討に入る前に、マルチコアの場合の基本的なユーザ要求仕様を以下に記載する。
時間
(1)マルチコア上のソフトウェア実行トレース結果を、
同一時間軸上に並べて表示できること。
(シングルコア個別表示ではなく)
コア1
コア2
(2)マルチコア間の共有リソース機能を模擬できること
a)具体的には、共有メモリ、コア間割り込み、コア間
セマフォ機構などの機能を、模擬できること。
b)また、マルチコア間の共有メモリに対する、
メモリリザーブ付命令(例:コンペア&スワップ命令)
の機能を模擬できること。
c)このときに実行順序制御は模擬できること。
なお、このときの命令実行タイミング精度はATAL
に従えばよい。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
コア2
コア1
共有メモリ
171
11.3 マルチコアで想定されるソフトウェアバグ
マルチコアでのソフトウェアの検証において想定されるバグの発生タイミング例を以下に示す。
No.
バグの発生タイミング例
1
共有メモリリザーブの掛け漏れにより、あるコアの2
つのメモリアクセスの間に、想定していなかった別コ
アのメモリアクセスが入る。
2
最も精度の低いタイミング精度
ATAL1においても、ソフトウェア機能
検証に利用できるためには「メモリの
あるコアの1つのメモリアクセスが、共有メモリバスの 競合動作については、アトミック性と
アラインをまたがる場合には、メモリバス上で2つの 競合は模擬できる」ことが要求される。
メモリアクセスに分割されるが、その2つのメモリアク すなわち、左記(1)~(3)の状態を作り
セスの間に、想定していなかった別コアのメモリアク 出しシミュレーションできることが要求
される。
セスが入る。
3
シングルコアのときは、割り込み禁止で対処できてい
たメモリ競合回避が、マルチコアのときは競合回避で
きない。
4
最適化禁止指定を漏らすなどのバグにより、共有メ
モリを2度リードするはずが、コンパイラの最適化に
よって2度目のリードが共有メモリのリードにならず、
他のコアが書き込んだデータをリードミスする。
2012/12/21
モデル要求仕様
オブジェクトコードベースでシミュレー
ションするSPILSであれば、基本的に
対応できるはずである。
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
172
11.4 マルチコアにおけるタイミング精度要求仕様
マルチコアの視点で、タイミング精度要求仕様の定義および説明を行う。(追加部位を朱記)
主な用途
レベル
ATAL-3
ATAL-2
定義および説明
誤差5%以内。バス調停やパイプライン制御をモデ
ル化することでプロセッサクロックサイクル数をあ
る程度厳密に模擬。メモリ競合動作については、メ
モリバス調停やキャッシュメモリ制御などをモデル
化することで、メモリの競合動作をクロックサイクル
レベルで、ある程度厳密に模擬。
誤差15%以内。各命令毎、アクセス先毎、平均実行
サイクル数設定等によりプロセッサクロックサイク
ル数をラフに推定して模擬。メモリの競合動作につ
ソフト
機能検証
ソフト
性能評価
○
○
○
○
○
×
備考:トレードオフ
時間
精度
開発工数
開発費用
実行時間
高
大
長
低
小
短
いては、アトミック性と競合は模擬できるが、そのタ
イミング精度はラフに推定。
ATAL-1
2012/12/21
誤差最大値保証せず。全命令一律に1プロセッサ
クロックサイクル等で模擬。時間指定されたタイマ
割込みやイベント発生のタイミングは保証するが、
プロセッサ命令実行時間精度は保証しない。メモリ
の競合動作については、アトミック性と競合は模擬
できるが、そのタイミング精度は保証しない(全て
のアトミックなメモリアクセス一律に1プロセッサクロ
ックサイクルなど)。
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
173
11.5 コア間の同期化周期に関する要求仕様
◆課題
マルチコアにおいて、共有メモリへのアクセス順序を正確に模擬するには、コア間の同期化周期
はプロセッササイクルと一致させるのがよい。しかし。シミュレータによっては、1サイクルごとに同
期化をとろうとするとそのたびにタスクスイッチング等が発生し、シミュレーション実行速度が極度
に低下する場合もある。
◆要求仕様(案)
コア間の同期化周期は以下の3つの方式のいずれかとする。
方式1: コア間の同期化周期はプロセッササイクルとする。その場合でも、シミュレーション実行
速度が低下しない方式(例えば切り替えオーバーヘッドが極力発生しない方式)を採ること。
方式2: コア間の同期化周期がプロセッササイクルの場合には、シミュレーション実行速度が低
下する(切り替えオーバーヘッド等が発生する)方式を採用する場合は、同期化周期をユーザが
選択指定できること。(プロセッササイクル x 1~N) ユーザは、「共有メモリへのアクセス順序
のタイミング精度」と「シミュレーション実行速度」とのトレードオフで選択指定する。
方式3:コア間の同期化タイミングは共有リソースへのアクセスのタイミングで同期化とする。
同期化周期=プロセッササイクル x 1 の場合
プ ロ セッササイクル時間
同期化周期=プロセッササイクル x 5 の場合
時間
プ ロ セッササイクル時間
コア1
コア1
コア2
コア2
書き込み
共有
メモリ
2012/12/21
書き込み
読み出し
更新後のデータ [正]
共有
メモリ
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
時間
読 み出し
更新前のデータ [誤]
174
11.6 ソフトウェア機能検証用途における追加要求仕様(1)
1.メモリ競合の発生支援機能
ソフトウェア機能検証用(ATAL1)の場合、あるコアと別のコアとのメモリ競合タイミングの精度は実
機と比較すれば不正確である。単純にシミュレーション実行させるだけでは、メモリ競合タイミング
を作り出せず、ソフトウェアのバグ検出あるいは機能検証の視点では不十分である。
ソフトウェア機能検証の視点では、正確なタイミング精度よりも、クリティカルな競合条件をカバー
するほうが有効である。
その対応策として、コア間の処理速度の差をシミュレータ上でコントロールする(例:片方のコアに
待ちを入れる)ことが考えられる。この方法により、メモリ競合タイミングを強制的にかつ網羅的に
作り出すことができる。
(シングルコアのときに、イベント割り込みの発生タイミングを、強制的かつ網羅的に作り出すこと
ができるのと同様の考え方である。)
このためには、ツールおよびマイコンモデルの機能として、以下が要求される。
「 コア間の処理速度の差をシミュレータ上でコントロールできること。具体的には、テストシナリオに
て待ちの指示をすれば、片方のコアに待ちを入れることができること。 」
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
175
11.6 ソフトウェア機能検証用途における追加要求仕様(2)
2.メモリ競合の表示支援機能 【WANT要件】
シミュレータが、同一メモリアドレスへのアクセス競合を見つけた場合には、それに対する適切な
順序制御処理を行うと同時に、「メモリアクセストレース結果の表示において、アクセス競合があっ
たことがわかりやすいような表示(例:色付けなど)ができる機能(表示支援機能)」が期待される。
3.結果解析支援機能 【WANT要件】
メモリアクセス競合が発生しそうな箇所を見つけることを容易化する補助機能が期待される。
4.競合タイミング生成機能 【WANT要件】
さらには、例えば、近傍タイミングでの同一メモリアドレスへのアクセス競合を見つけ、①直前/②
直後および③間に挿入の3ケースをシミュレーションする(適当な待ちを入れて3つの条件を作り
出す)というようなテストタイミング生成機能をツール(ユーティリティツール)でサポートされること
が期待される。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
176
11.7 性能評価用途における要求仕様
◆前提
マルチコアにおいて、ユーザが関心高い評価項目として、性能評価がある。
精度の高い性能検証には、ATAL3が必要である。しかし、概略性能見通しや性能分析において
は、ATAL1やATAL2でも有効活用できると期待している。本節では、ATAL1やATAL2の場合でも
期待する要求仕様を記載する。
◆要求仕様(案)
シングルコアで動かしていたソフトをマルチコアで動かすときに性能低下の原因となりそうな動作
要素を考慮する。具体的な要求仕様は以下である。
要求仕様
No.
分類
ATAL1
ATAL2
1
特定の命令にサイクル数を定義(設定)できること
(CAS命令など) (ATAL2では固定値設定で可)
シングルコア
○
2
メモリ種別によってサイクル数を定義できること
(共有メモリなど) (ATAL2では固定値設定で可)
シングルコア
○
3
コア間の割り込み待ち
マルチコア
○
○
4
共有メモリの解放待ち
マルチコア
○
○
◆備考
以下についての性能考慮は、ATAL1やATAL2では要求しない。(ATAL3では要求する。)
①共有メモリバス競合待ち、 ②共有I/Oバス競合待ち、 ③キャッシュ制御待ち
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
177
第1章 仮想ECUシミュレータの導入・活用の狙い
第2章 開発プロセス上の位置付け
第3章 現状事例(ユースケース)
第4章 時間精度について
第5章 複数シミュレータの同期化
第6章 モデル間インタフェースについて
第7章 ユーザインタフェース(UI)について
第8章 フォールト注入について
第9章 性能評価(CPU負荷率)
第10章 周辺モデル設計における留意点
第11章 マルチコアモデルについて
補足
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
178
【補足A】 シミュレーションの分類と活用検討時の留意点
■シミュレーションの分類 および 仮想ECU活用シミュレータの位置付け
シミュレーションは、「応力解析などの数値解析シミュレーション」と、「マイコンソフトを含む制御シス
テムの挙動検証シミュレーション」とに分類される。本書で扱う「仮想ECU応用シミュレータ」は後者に
分類される。
前者は、数値解析などの設計(Design)を人手で机上計算する代わりに、計算機で計算するものであ
る。メカ系の応力解析シミュレーションなどが相当する。前者においては、計算結果の数値精度が重
要である。
後者は、さまざまなテスト条件においてシステムの挙動が期待された仕様を満足しているかという検
証(Verification)を、人手で机上確認する代わりに、計算機で計算するものである。後者は、多数のテ
スト条件を網羅的に検証することが得意である。
■仮想ECU活用シミュレータの活用方法検討時の留意点
仮想ECU活用シミュレータの活用方法検討時には、以下に留意することが望ましい。
例1: ソフトウェア機能検証においては、「実機と全く同一のタイミング条件を高いタイミング精度で
作り出す」ことよりも、「想定されるタイミング条件を網羅的に作り出し、いずれの場合でも期待されて
いる要求仕様を逸脱しないかを網羅的に検証する」ことをめざす方が、シミュレータを有効に活用で
きる。
例2: 仮想フォールト注入テストでは、「フォールトが発生したらどういうフォールト状態になるか」を、
高い精度で計算して、その1点の条件のみでシステムの挙動を検証することよりも、「フォールトが発
生しても期待されている安全要求を逸脱しないか」を、網羅的に多点の条件でシステムの挙動を検
証することをめざす方が、シミュレータを有効に活用できる。
2012/12/21
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
179
来歴
作成・編集来歴
Rev.
内容
1.0
材料提供、編集およびレビュー結果反映
2.0
2012/12/21
年月日
以下を追加
8.2 仮想フォールト注入の活用方法
10.2 周辺モデル設計における事例分析と留意点
補足A シミュレーションの分類と活用検討時の留意点
以下を改訂
1,1 本書の目的に説明追記 (p.6)
1,2 本書の作成経緯に改訂経緯を追記 (p.8)
2012.9.21
~2013.6.21
2014.1.23
~2014.9.12
作成・編集者
会社名、機関名
氏
株式会社 本田技術研究所
嶋田 敏
マツダ株式会社
吉川 尚好
カルソニックカンセイ株式会社
小澤 哲也
株式会社 デンソー
上杉 浩
阿部 孝司
富士通テン株式会社
斗納 宏敏
アイシン精機株式会社
鈴村 延保
公益財団法人 九州先端科学技術研究所
吉松 則文
富士通セミコンダクター株式会社
吉野 竜也
ルネサス エレクトロニクス株式会社
岡崎 修
TOOL株式会社
伊藤 良治
株式会社 日立製作所 (中央研究所)
勝 康夫
日立オートモティブシステムズ株式会社
宮崎 義弘
日立オートモティブシステムズ株式会社
宮崎 義弘
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
名
180
来歴
作成・編集来歴
Rev.
内容
3.0
以下を追加
- 第11章 マルチコアモデルについて
以下を改訂
- 2.2 HILS と vHILS(Virtual HILS)
vHILSの特長に「精度の高いプラントモデル(実時間
では動作不可)でも利用可能」を追記
2012/12/21
年月日
2015.8.25
~2015.9.29
作成・編集者
会社名、機関名
氏
日立オートモティブシステムズ株式会社
宮崎 義弘
All Rights Reserved by 仮想マイコン応用推進協議会/vECU-MBD WG
名
181