バックナンバーはこちら

today&tomorrow

Technology Update

  • T&T HOME
  • Technology Update
  • ソフトウェア・イン・ザ・ループからバーチャル・ハードウェア・イン・ザ・ループへのシームレスな移行を実現するVirtualizer Studio

2017 Dec. vol.108

ソフトウェア・イン・ザ・ループからバーチャル・ハードウェア・イン・ザ・ループへのシームレスな移行を実現するVirtualizer Studio

シノプシス バーチャル・プロトタイピングR&D担当マネージャー Andreas Ropers
シノプシス バーチャル・プロトタイピング担当エンジニア Markus Wedler
シノプシス バーチャル・プロトタイピング担当テクニカル・マーケティング・マネージャー Victor Reyes

はじめに

次世代ECU(エンジン・コントロール・ユニット)上で動作するソフトウェアの複雑化が進む中、自動車メーカーおよびサプライヤは電気的および物理的部品のモデルをさまざまな抽象度で作成する必要に迫られています。抽象度には次に示すような種類があり、図1に示すように開発のフェーズによって使い分けます。

  • モデル・イン・ザ・ループ(MiL):機能の動作を主に機能レベルで表現したもので、設計にはMathWorks社のSimulinkを使用するのが一般的です。
  • ソフトウェア・イン・ザ・ループ(SiL):機能デザインのブロックを、動作を表現した実際のコードで置き換えたものです。
  • プロセッサ・イン・ザ・ループ(PiL):実際に使用するハードウェアをターゲットにしてコードをコンパイルしたものです。ターゲット・ハードウェアはプラント・モデルと「非リアルタイム」に直接通信します。
  • ハードウェア・イン・ザ・ループ(HiL):PiLと似ていますが、ターゲット・ハードウェアは通常I/Oボード経由でECUの物理ポートと接続したPCと通信します。プラント・モデルは、コンピュータ上でリアルタイムに実行できる形式にコンパイルされます。

画像(仮)

図1:Vモデル

フェーズを移行するには、時間のかかるバリデーションと検証を人手で行う必要があります。そのうえ、アナログ・コンポーネントとデジタルIPを同じ環境でシミュレーションする場合などは時間領域の異なるモデルを統合する必要があり(マルチドメイン・シミュレーション)、それには柔軟な時間同期方式が必要です。Vモデルに従った伝統的なフローでは、コンポーネント統合フェーズとサブシステム統合フェーズに「空白」が存在します。それは、設計サイクル最終盤のシステム統合フェーズになるまでHiLベースの検証を利用できないという点です。

バーチャル・ハードウェア・イン・ザ・ループ(vHiL)ソリューションのシノプシスVirtualizerを使用すると、ECUをシミュレーションしながら外部シミュレータと接続できます。通常、プラント・モデルの物理/機械部品はMathworks社のSimulinkなどの外部シミュレータで実行します。また、プラットフォーム・アセンブリ・ツールのVirtualizer Studioを使用すれば、MiL/SiLからvHiへシームレスに移行できます。プラント・モデルのうち、シャシーやギアボックスなどは機能ドメインに残したまま、サブシステムにカプセル化したSimulinkモデル(Simulinkの階層モデル)をECUに移行することも容易に行えます。電気部品のシミュレーションはシノプシスのSaberとVirtualizerを統合して実行でき、RestBusシミュレーションはVector社のCANoeとの統合によりサポートされます。

「モデル・イン・ザ・ループ」から「バーチャル・ハードウェア・イン・ザ・ループ」への移行

「モデル・イン・ザ・ループ」から「バーチャル・ハードウェア・イン・ザ・ループ」(モデルの一部をECUのバーチャル・モデル上で実行するシミュレーション)への移行では、プラント・モデルの制御部品をECUシミュレータに移します。このECUシミュレータはVirtualizer Development Kit(VDK)と呼ばれ、Infineon社、NXP/Freescale社、ルネサス社など幅広いプラットフォーム用に提供されています。VDKには車載向けの各種テスト/シミュレーション・ツールとの連携、カスタム・ツールとの統合をサポートするAPI、幅広い組込みソフトウェア・デバッガとの統合といった機能があります。プラント・モデルの機械部品はSimulinkなどでそのままシミュレーションできます。次のセクションでは、自動車分野の簡単な例としてトランスミッション・コントローラを取り上げ、プラント・モデルの一部をVDKに移行する手順についてご説明します。

カテゴリートップ