SoC(system on a chip)に集積するプロセサ・コアの動作をコンピュータ上で模擬する「ソフトウェア・シミュレータ」に関心が集まっている。ソフトウェア・シミュレータを使うと,そのコアで稼働するミドルウェアやアプリケーション・ソフトウェアを,開発の早期から検証できるようになる(図1)。

 従来こうした目的には,論理エミュレータやハードウェア・エミュレータと呼ばれる装置を使うことが多かった。この装置では,模擬する対象の回路をFPGA(filed programmable gate array)上に載せる。ハードウェアで模擬するため,模擬する回路が確定していないと使えなかったり,装置の価格が高かったりするという問題点があった。このためハードウェア・エミュレータが実際に使える場面はそれほど多くはなかった。

プラットフォーム化が後押し

 これに対してソフトウェア・シミュレータは,C言語などを使って記述した一般的なソフトウェアであり,普通のコンピュータで稼働する。設計が未確定の場合は,詳細部分を省略して,全体の動作を大まかに模擬できる。ただし,これまではソフトウェア・シミュレータを作成する手間が大きく,一部の設計者が手元で作成して使っていた。

 流れを変えたのは,「プラットフォーム・ベースのSoC開発手法」である。この手法ではハードウェアの自由度を制限して,ソフトウェア開発の効率化を図る。その副次的な効果として,ソフトウェア・シミュレータを作成する手間が減少した。この結果,全社レベルで同シミュレータを利用する動きが活発になってきている。

ハードウェア・エミュレータとソフトウェア・シミュレータの併用で,開発期間を大幅短縮
図1 ハードウェア・エミュレータとソフトウェア・シミュレータの併用で,開発期間を大幅短縮
松下電器産業はプラットフォーム「UniPhier」を利用した開発環境に,ソフトウェア・シミュレータを統合する。ソフトウェア・シミュレータはハードウェア・エミュレータに比べて安価に使え,検証できる項目も増えるため,信頼性の向上にも寄与するという。同社のデータ。