実 CPU をマイコン実行エンジンとして使う

実 CPU をマイコン実行エンジンとして使う
いよいよ
ハイブリッド型 「ソリッドシミュレータ」
10 月
リリース
!
組み込みシステム検証の決定版
Super システムシミュレータ
ISS シミュレータの現状と限界
要となってしまっては、シミュレーションに
よる動作検証が、 非常にコストの高いも
この様に、 ハード制御の検証に十分な
のとなってしまいます。
ガイオは昨年、 「Super システムシミュ
精度が得られるシステムなのですが、 そ
このソフトウエア化とは具体的には、
レータ」をリリースいたしました。 これは、
の反面、 シミュレーションのパフォーマン
Visual C++を使って、ハードウエアの振る
最もオーソドックスなマイコンシミュレータ
スには限界があります。
舞いをソフトウエアで模擬するプログラム
であるISS (
インストラクション・セット・シ
現状の 「
Super システムシミュレータ」を
を作成することです。 作成したプログラム
ミュレータ)をカーネルとしたシミュレー
最速の PC で動作させた場合でも、 一般
をMPU シミュレータのカーネルと接続し
ションシステムです。
的なRISC マイコンのシミュレーション性能
て、 MPU と周辺デバイスを同時に動作さ
は、 300 万命令 /sec に留まります。 これ
せ、 システム動作を実現します。
は、 3MIPS すなわち3MHz 動作のマイコ
この周辺デバイスのソフトウエア化を最
ンと同等と言うことですから、 その速度が
小限の工数に抑えて、 効率の良いモデ
おわかり頂けると思います。
ル化を行うことが、 シミュレーションシステ
デバドラや、 局所的なハードに関連す
ムの運用の1つのポイントとなっていま
る部 分 の 動 作 検 証 や 、 関数などのモ
す。
ジュール単位での動作試験には、 現状
下の図は、 ソフトウエアモデル化した
のパフォーマンスでも十分に実用になり、
周辺デバイスの GUI 部分の一例です。
効 果 を上げていただいていますが、
Super システムシミュレータ 実行例
RTOS を利用したシステム全体を対象とす
るアプリケーションの動作検証までは、 ま
この ISS とは、 ソフトプログラムをコンパ
だまだパフォーマンス不足と言ったところ
イル、アセンブルした後の命令コードを、
です。
1命令単位に解釈しながら動作するイン
タプリタ型シミュレータです。 完全なソフ
トウエアモデルであるため、 パイプライ
ン、キャッシュなどを含めた精度の高いシ
ミュレータを構築できます。
OK
ドライバ開発
モジュール試験
不満
システム全体の
動作検証
DC モータ制御系
3MIPS
3MIPS
シミュレータカーネル性能
(
Pentum4 2.4G にて実行)
実行するWindows PC
マイコ
命令
コード
実行時に解釈
インタプリタ型
マイコンシミュレーショ
カーネル
周辺デバイ
仮想モデル
ISS ベースのシミュレータ 構成概念図
周辺デバイスモデルをソフトウエア
化する工数
SW 操作盤
また、 シミュレーションで組み込みシス
テムを動作させるためには、 MPU のカー
ネル部分以外の周辺デバイスもソフトウ
導入例としては、 DMA 転送、 FIFO 処
エアで置き換えなければなりません。
理などのメモリコントローラ部分や、 周辺
この作業は、 検証を行う前の準備、 環
デバイスに対するポート制御ドライバなど
境構築に当たり、 組み込みシステムの検
の検証に実績があります。
証をする立場の皆様にとっては本来の仕
事とは別物です。 ここに多くの工数が必
4
GAIO CLUB
i/o ポートモニター画面
シミュレーションツールに対する
要求
FPGA を用いたシミュレーションシ
ステム
前述の様に、 現状の
最近では、 マイコンの周辺チップを、
シミュレー タの 運 用 で
HDL(ハードウエア記述言語)ソースコード
は、 検証範囲を限定し
やネットリストによるIP として購入するケー
て、 モジュール試験や
スも多くあります。 このような場合では、
デバドラの動作検証に
シミュレーションのために、 この周辺チッ
役立てて頂いています。しかし、 皆様の
プをVisual C++ によるC 言語で記述し直
目標は、 やはりシステム全体を対象とし
すよりも、 そのままIP レベルで FPGA に
た、 アプリケーションレベルの動作検証
して、 シミュレータにより込んだ方が好都
ではないでしょうか?
合な場合もあります。 このように、 プログ
この課題を克服する
ラマブルなFPGA を利用して、周辺デバ
ために、 シミュレータ
実行速度
に要求され るポイント
は、 「シミュレーション
の実行速度を改善する
こと」と 「
周辺デバイス
システム LSI を前提としたマイコン
では FPGA を積極的に利用
モデルを必要最小限にする」ことです。
実ハードとの融合で課題をクリア
する 「ソリッドシミュレータ」
ガイオでは、 この課題をクリアするため
い うの は 存 在 せ ず 、 モ トロー ラ社 の
Dragon Ball の様な入手可能は実チップ
は、 周辺デバイスを含んでしまっていま
す。
オリジナルなARM コアのシステムLSI を
シミュレータに持ち込むには、 コアのみ
のチップを特注して、 FPGA と組み合わ
せるシステムを考えるか、ARM コアごとIP
で入手して、 FPGA に焼いてしまうかの
どちらかになります。
標準ボードとカスタムボード
イスのソフトウエア化に割く工数を、 最小
限に抑えるアポローチも可能です。
ソフトウエア化
チップの場合、 ARM コアのみのチップと
「
ソリッドシミュレータ」は、実ハードウエ
アをシミュレーションに積極的に利用し
て、 従来のシミュレータを大きく改善し、
RTOS、Linuxを使用したアプリケーション
レベルのシステム検証を可能にします。
ARM などのマイコンは、 周辺回路と共
ガイオでは、 標準ボードとして、 ARM9
にシステムLSI として実装されます。 この
(モトローラ社 Dragon Ball)とSuperH4(ル
ケースでもFPGA に周辺デバイスの IP を
ネサステクノロジ社)を用意しております。
焼き込んで、 シミュレーションシステムと
FPGA の実装など、 必要に応じたカスタ
組み合わせる方法が非常に有効です。
ム仕様でのボードの設計お受けしており
ただし、 1つの問題点としては、 ARM
ます。
に、 シミュレーションシステムに実際の
ハードウエアを取り込み、 ハイブリッド型
のシミュレータを構築する、 「ソリッドシ
仮想検証装置
ミュレータ」を開発いたしました。
シミュレーション速度のネックとなるMPU
シミュレーションエンジンには、 実際の
MPU を使用します。 ターゲットと同等の
動作速度を得ることができます。
また、 周辺のデバイスモデルについて
は、 実回路を使用できる部分はそのま
シミュレータカーネル
(
リモートデバッガ)
ま実回路を使用し、 データi/o、 表示パ
波形出力モニタ
ネルなど、シミュレーションに都合の良い
部分のみ、 PC 上にソフトウエアモデルを
構築し、 ハードと連動させます。 これに
より、 デバイスのソフトウエア化を最小限
CPU
FPGA
に抑える事ができます。
PCIなど拡張カード
マイコン
命令
コード
実MPU
実行エンジンハード
「
ソリッドシミュレータ」はシミュレーション開発の 「
壁」を打ち破ります
ガイオ ・テクノロジー 営業部 高橋 圭一
周辺デバイス
仮想モデル
Windows PC
ソリッドシミュレータ構成概念図
ソリッドシミュレータは、 従来の ISS ベースのシミュレータへの 「
壁」とされて
いました 「
実行速度」と 「
デバイスのソフトウエア化へのコスト」の両面を打
ち破る、 ガイオが自身を持ってご提案する、 新しい組み込み向けシステム検
証ツールです。 皆様の開発への運用をご検討下さい!
GAIO CLUB
5