ルネサス エレクトロニクスは、車両制御モデルを基にソフトウェアの並列設計と並列ソースコードの生成を自動で行う、マルチコアマイコン向けのモデルベース開発環境を開発した。逐次ソースコードからCPUコアの割り当てや並列処理のソースコードを作成する従来の開発手法と比較して、開発期間を10分の1に短縮する。
ルネサス エレクトロニクスは2016年6月23日、車両制御モデルを基にソフトウェアの並列設計と並列ソースコードの生成を自動で行う、マルチコアマイコン向けのモデルベース開発環境を開発したと発表した。逐次ソースコードからCPUコアの割り当てや並列処理のソースコードを作成する従来のマルチコアマイコン向けのソフトウェア開発手法と比較して、開発期間を10分の1に短縮する。
まずは2016年秋から制御周期の時間が同じ処理の並列化に対応した開発環境を発売する。今後は、制御周期の時間が異なる処理同士の並列化や、エンジンの回転数のように時間ではなく角度が基準となる制御も含む処理の並列化にも順次対応していく。
自動運転システムは、センシング結果の処理と判断、車両の制御を統合して低遅延で行う必要がある。そのため、処理性能を向上しながら消費電力低減を図ることができるマルチコアマイコンの優位性が高まっている。同社はシングルコアやマルチコアなど多様なCPUコア構成に対応した車載マイコン「RH850ファミリ」を発表している。駆動用モーターやエンジン、シャシーなどの制御に向けた製品だ。
車両制御システムはデータの入出力時に情報量が少ないが、制御の細かな調整のために処理の中間で情報量が増えるため、画像認識のように処理を並列化するのが困難となっている。
車両制御システムの処理を並列化するには、制御モデルから自動生成した逐次ソースコードを基に並列設計と並列ソースコードの作成を人間の手で行う。しかし、複数のCPUコアに処理を最適に割り振ってリアルタイム性を達成できる処理が完成するまでは手戻りが繰り返し発生するため、開発期間が長期化する傾向がある。
また、逐次ソースコードを基に並列ソースコードを作成すると、どのように並列化したのか人の目では確認しにくいという課題もあった。
同社が開発したモデルベース開発環境は、制御モデルのブロックの中から依存関係がなく並列処理が可能な部分を抽出。自動運転システムとして十分な処理時間に収まるように、各CPUコアが行うべき処理を自動で最適に割り当てて並列化する。並列ソースコードは、数十秒間で制御モデルの数千ブロックのつながりを分析し、自動生成する。
機能は並列ソースコードの自動生成だけではない。マルチコアに割り当てた処理を反映させて制御モデルを修正し、その制御モデルに基づいて、実際のマルチコアマイコンがどのように処理を実行するか確認することもできる。処理の総実行時間やCPUコアごとの実行時間、CPUコア同士の同期タイミングなどをグラフで示す。処理に最も長い時間を要したケースを基に制御周期にどの程度余裕があるかも可視化する。
これにより、自動車メーカーやティア1サプライヤは制御モデルが完成した段階で、マルチコアマイコンの処理性能が要件を満たせるか評価できる。また、モデル上でマルチコアマイコンの処理能力を効率的に使用できるソフトウェアの構成を検証することも可能になる。
これまで人の手で行うことにより10日間以上かかっていた作業は1日で完了できるという。つまり開発期間は10分の1に短縮なる。
Copyright © ITmedia, Inc. All Rights Reserved.