(57)【要約】【課題】ファームウェアとハードウェアモデルとが結合した状態で仕様や機能を事前に確認することができる。【解決手段】ハードウェアモデル２４の動作のシミュレーションを実行するシミュレータ２３を有する情報処理装置１であって、ファームウェア２１からのハードウェアモデル２４の動作を指示する入力データ３１をシミュレータ２３用のデータ形式の入力データ３２に変換する変換部１２を備える。【選択図】図１
2016042326.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアモデルの動作のシミュレーションを実行するシミュレータを有する情報処理装置であって、
ファームウェアからの前記ハードウェアモデルの動作を指示する入力データを前記シミュレータ用のデータ形式の入力データに変換する変換部を備える情報処理装置。
【請求項２】
前記変換部は、
前記ファームウェアからの入力データから前記ハードウェアモデルの動作を指示する命令を抽出する第１データ抽出部と、
前記第１データ抽出部で抽出された命令を前記シミュレータ用のデータ形式の入力データに変換して前記シミュレータに読み込ませる第１データ形式変換部と、を含む請求項１に記載の情報処理装置。
【請求項３】
前記変換部は、前記シミュレータからのシミュレーションの結果を示す出力データを前記ファームウェア用のデータ形式の出力データに変換する請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記変換部は、
前記シミュレータからの出力データからシミュレーションの結果を抽出する第２データ抽出部と、
前記第２データ抽出部で抽出されたシミュレーションの結果を前記ファームウェア用のデータ形式の出力データに変換して前記ファームウェアに読み込ませる第２データ形式変換部と、を含む請求項３に記載の情報処理装置。
【請求項５】
前記ファームウェアからの入力データと前記シミュレータからの出力データとの少なくとも一方はテキスト形式のデータである請求項１から請求項４のうちいずれか１項に記載の情報処理装置。
【請求項６】
変換部がファームウェアからのハードウェアモデルの動作を指示する入力データをシミュレータ用のデータ形式の入力データに変換する第１ステップと、
シミュレータが前記変換部で変換された入力データに基づいて前記ハードウェアモデルの動作のシミュレーションを実行する第２ステップと、を備えるシミュレーション方法。
【請求項７】
前記第１ステップは、
前記変換部が前記ファームウェアからの入力データから前記ハードウェアモデルの動作を指示する命令を抽出する抽出ステップと、
前記変換部が前記抽出ステップで抽出された命令を前記シミュレータ用のデータ形式の入力データに変換して前記シミュレータに読み込ませるデータ形式変換ステップと、を含む請求項６に記載のシミュレーション方法。
【請求項８】
前記変換部が前記シミュレータからのシミュレーションの結果を示す出力データを前記ファームウェア用のデータ形式の出力データに変換する第３ステップをさらに備える請求項６または請求項７に記載のシミュレーション方法。
【請求項９】
前記第３ステップは、
前記変換部が前記シミュレータからの出力データからシミュレーションの結果を抽出する抽出ステップと、
前記変換部が前記抽出ステップで抽出されたシミュレーションの結果を前記ファームウェア用のデータ形式の出力データに変換して前記ファームウェアに読み込ませるデータ形式変換ステップと、を含む請求項８に記載のシミュレーション方法。
【請求項１０】
前記ファームウェアからの入力データと前記シミュレータからの出力データとの少なくとも一方はテキスト形式のデータである請求項６から請求項９のうちいずれか１項に記載のシミュレーション方法。
【請求項１１】
ハードウェアモデルの動作のシミュレーションを実行するシミュレータを有するコンピュータに、
ファームウェアからのハードウェアモデルの動作を指示する入力データをシミュレータ用のデータ形式の入力データに変換する変換処理を実行させる制御プログラム。
【請求項１２】
前記変換処理は、
前記ファームウェアからの入力データから前記ハードウェアモデルの動作を指示する命令を抽出する第１データ抽出処理と、
前記第１データ抽出処理で抽出された命令を前記シミュレータ用のデータ形式の入力データに変換して前記シミュレータに読み込ませる第１データ形式変換処理と、を含む請求項１１に記載の制御プログラム。
【請求項１３】
前記変換処理は、前記シミュレータからのシミュレーションの結果を示す出力データを前記ファームウェア用のデータ形式の出力データに変換する請求項１１または請求項１２に記載の制御プログラム。
【請求項１４】
前記変換処理は、
前記シミュレータからの出力データからシミュレーションの結果を抽出する第２データ抽出処理と、
前記第２データ抽出処理で抽出されたシミュレーションの結果を前記ファームウェア用のデータ形式の出力データに変換して前記ファームウェアに読み込ませる第２データ形式変換処理と、を含む請求項１３に記載の制御プログラム。
【請求項１５】
前記ファームウェアからの入力データと前記シミュレータからの出力データとの少なくとも一方はテキスト形式のデータである請求項１１から請求項１４のうちいずれか１項に記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組み込みシステムのテストを実行する情報処理装置、シミュレーション方法、及び制御プログラムに関する。
【背景技術】
【０００２】
組み込みシステム（エンベデッドシステムともいう。）は、特定の機能を実現するために様々な機器に組み込まれるコンピュータシステムである。組み込みシステムの設計において、技術者は、仕様に合わせて、デバイスの選定、回路設計、ファームウェアのコーディングなどを行う。また、技術者は、選定したデバイスや設計した回路が仕様に応じた動作を行うか否かを確認するために、ハードウェア（デバイス、回路など）をモデル化したハードウェアモデルの動作のシミュレーションを行う。
【０００３】
ハードウェアモデルの動作のシミュレーションは、ＳＰＩＣＥ（Simulation Program with Integrated Circuit Emphasis）などの汎用のシミュレータ（シミュレーションプログラム）を用いて行われることがある。下記特許文献１には、シミュレータ（ＳＰＩＣＥ）の種類に応じた書式タイプに基づいて、シミュレータの入力用データの書式を設定する装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３４６６１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ボード（基板）の設計検討の段階において、技術者はハードウェアやファームウェアが仕様を満たしているか否かが判らないことが多い。また、組み込みシステムの設計においては技術者の経験や勘に頼っている部分が多く、デバイスの選定、回路設計、ファームウェアのコーディングなどにおいて技術者の見当違いが発生することがある。このことから、組み込みシステムの開発工程において後戻りが発生し、組み込みシステムの開発の遅延を招いている。
【０００６】
組み込みシステムの開発工程における後戻りを防ぐために、ボードの設計検討の段階において、汎用のシミュレータを用いてハードウェアモデルのシミュレーションを行う。しかし、ファームウェアとハードウェアモデルとが結合した状態でシミュレーションを行わなければ、技術者はファームウェアとハードウェアモデルとが仕様に応じた動作を連携して行うか否かを確認することができない。上記特許文献１に記載された装置は、シミュレータの入力用データを生成する装置であって、ファームウェアとハードウェアモデルとが結合した状態でシミュレーションを行う技術について記載されているわけではない。
【０００７】
本発明は、前述した事情に鑑みてなされたものであり、ファームウェアとハードウェアモデルとが結合した状態で仕様や機能を事前に確認することができる情報処理装置、シミュレーション方法、及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明では、ハードウェアモデルの動作のシミュレーションを実行するシミュレータを有する情報処理装置であって、ファームウェアからのハードウェアモデルの動作を指示する入力データをシミュレータ用のデータ形式の入力データに変換する変換部を備える情報処理装置が提供される。
【０００９】
また、本発明では、変換部は、ファームウェアからの入力データからハードウェアモデルの動作を指示する命令を抽出する第１データ抽出部と、第１データ抽出部で抽出された命令をシミュレータ用のデータ形式の入力データに変換してシミュレータに読み込ませる第１データ形式変換部と、を含む構成でもよい。このような構成によれば、ファームウェアやハードウェアモデルのある部分の機能に対してシミュレーションを行うこともできる。従って、短い時間でシミュレーションを行うことが可能となるとともに、高い精度のシミュレーション結果を得ることも可能である。
【００１０】
また、本発明では、変換部は、シミュレータからのシミュレーションの結果を示す出力データをファームウェア用のデータ形式の出力データに変換してもよい。このような構成によれば、ファームウェアからハードウェアモデルへのデータだけでなく、ハードウェアモデルからファームウェアへのデータに対してもデータ形式の変換を行うことができるので、ファームウェアとハードウェアモデルとの間の双方向のデータに基づく制御が正常に行われているか否かを確認することができる。
【００１１】
また、本発明では、変換部は、シミュレータからの出力データからシミュレーションの結果を抽出する第２データ抽出部と、第２データ抽出部で抽出されたシミュレーションの結果をファームウェア用のデータ形式の出力データに変換してファームウェアに読み込ませる第２データ形式変換部と、を含む構成でもよい。このような構成によれば、ファームウェアやハードウェアモデルのある部分の機能に対してシミュレーションを行うこともでき、短い時間でシミュレーションを行うことが可能となるとともに、高い精度のシミュレーション結果を得ることも可能である。
【００１２】
また、本発明では、ファームウェアからの入力データとシミュレータからの出力データとの少なくとも一方はテキスト形式のデータであってもよい。このような構成によれば、ＳＰＩＣＥなどの汎用のシミュレータを用いてシミュレーションを行うことができ、シミュレーションを行う技術者の利便性が向上する。
【００１３】
また、本発明では、変換部がファームウェアからのハードウェアモデルの動作を指示する入力データをシミュレータ用のデータ形式の入力データに変換する第１ステップと、シミュレータが変換部で変換された入力データに基づいてハードウェアモデルの動作のシミュレーションを実行する第２ステップと、を備えるシミュレーション方法が提供される。
【００１４】
また、本発明では、第１ステップは、変換部がファームウェアからの入力データからハードウェアモデルの動作を指示する命令を抽出する抽出ステップと、変換部が抽出ステップで抽出された命令をシミュレータ用のデータ形式の入力データに変換してシミュレータに読み込ませるデータ形式変換ステップと、を含む構成でもよい。このような構成によれば、ファームウェアやハードウェアモデルのある部分の機能に対してシミュレーションを行うこともできる。従って、短い時間でシミュレーションを行うことが可能となるとともに、高い精度のシミュレーション結果を得ることも可能である。
【００１５】
また、本発明では、変換部がシミュレータからのシミュレーションの結果を示す出力データをファームウェア用のデータ形式の出力データに変換する第３ステップをさらに備える構成でもよい。このような構成によれば、ファームウェアからハードウェアモデルへのデータだけでなく、ハードウェアモデルからファームウェアへのデータに対してもデータ形式の変換を行うことができるので、ファームウェアとハードウェアモデルとの間の双方向のデータに基づく制御が正常に行われているか否かを確認することができる。
【００１６】
また、本発明では、第３ステップは、変換部がシミュレータからの出力データからシミュレーションの結果を抽出する抽出ステップと、変換部が抽出ステップで抽出されたシミュレーションの結果をファームウェア用のデータ形式の出力データに変換してファームウェアに読み込ませるデータ形式変換ステップと、を含む構成でもよい。このような構成によれば、ファームウェアやハードウェアモデルのある部分の機能に対してシミュレーションを行うこともでき、短い時間でシミュレーションを行うことが可能となるとともに、高い精度のシミュレーション結果を得ることも可能である。
【００１７】
また、本発明では、ファームウェアからの入力データとシミュレータからの出力データとの少なくとも一方はテキスト形式のデータであってもよい。このような構成によれば、ＳＰＩＣＥなどの汎用のシミュレータを用いてシミュレーションを行うことができ、シミュレーションを行う技術者の利便性が向上する。
【００１８】
また、本発明では、ハードウェアモデルの動作のシミュレーションを実行するシミュレータを有するコンピュータに、ファームウェアからのハードウェアモデルの動作を指示する入力データをシミュレータ用のデータ形式の入力データに変換する変換処理を実行させる制御プログラムが提供される。
【００１９】
また、本発明では、変換処理は、ファームウェアからの入力データからハードウェアモデルの動作を指示する命令を抽出する第１データ抽出処理と、第１データ抽出処理で抽出された命令をシミュレータ用のデータ形式の入力データに変換してシミュレータに読み込ませる第１データ形式変換処理と、を含む構成でもよい。このような構成によれば、ファームウェアやハードウェアモデルのある部分の機能に対してシミュレーションを行うこともできる。従って、短い時間でシミュレーションを行うことが可能となるとともに、高い精度のシミュレーション結果を得ることも可能である。
【００２０】
また、本発明では、変換処理は、シミュレータからのシミュレーションの結果を示す出力データをファームウェア用のデータ形式の出力データに変換してもよい。このような構成によれば、ファームウェアからハードウェアモデルへのデータだけでなく、ハードウェアモデルからファームウェアへのデータに対してもデータ形式の変換を行うことができるので、ファームウェアとハードウェアモデルとの間の双方向のデータに基づく制御が正常に行われているか否かを確認することができる。
【００２１】
また、本発明では、変換処理は、シミュレータからの出力データからシミュレーションの結果を抽出する第２データ抽出処理と、第２データ抽出処理で抽出されたシミュレーションの結果をファームウェア用のデータ形式の出力データに変換してファームウェアに読み込ませる第２データ形式変換処理と、を含む構成でもよい。このような構成によれば、ファームウェアやハードウェアモデルのある部分の機能に対してシミュレーションを行うこともでき、短い時間でシミュレーションを行うことが可能となるとともに、高い精度のシミュレーション結果を得ることも可能である。
【００２２】
また、本発明では、ファームウェアからの入力データとシミュレータからの出力データとの少なくとも一方はテキスト形式のデータであってもよい。このような構成によれば、ＳＰＩＣＥなどの汎用のシミュレータを用いてシミュレーションを行うことができ、シミュレーションを行う技術者の利便性が向上する。
【発明の効果】
【００２３】
本発明によれば、ファームウェアとハードウェアモデルとが結合した状態で仕様や機能を事前に確認することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態に係る情報処理装置の構成を示すブロック図である。
【図２】図１に示す情報処理装置におけるデータの流れを示す図である。
【図３】本発明の実施形態に係る情報処理装置の動作を説明するためのシーケンス図である。
【図４】本発明の実施形態に係る情報処理装置の動作を説明するためのシーケンス図である。
【図５】ハードウェアシミュレーションモデルの具体例を示す回路図である。
【図６】図５に示す回路における信号を説明する図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施形態について図面を参照して説明する。ただし、本発明はこれに限定されるものではない。また、図面においては、実施形態を説明するため、一部分を大きくまたは強調して記載するなど適宜縮尺を変更して表現することがある。
【００２６】
図１は、本発明の実施形態に係る情報処理装置１の構成を示すブロック図である。また、図２は、図１に示す情報処理装置におけるデータの流れを示す図である。図１に示す情報処理装置１は、組み込みシステムのテストを実行する装置である。この情報処理装置１は、例えばパーソナルコンピュータ（コンピュータ）で実現される。なお、技術者は情報処理装置１を使用して、ボードの設計、回路設計、ファームウェアのコーディングなどを行ってもよい。この場合、情報処理装置１には、ボードの設計、回路設計、ファームウェアのコーディングなどを行うためのツール（例えば設計用エディタ、コーディング用エディタなど）が設けられる。以下の説明において、ファームウェアのことをＦ／Ｗと記すことがあり、ハードウェアのことをＨ／Ｗと記すことがある。
【００２７】
図１に示すように、情報処理装置１は、演算部１０及び記憶部２０を備える。演算部１０は、ＣＰＵ（Central Processing Unit）や、一時記憶手段としてのＲＡＭ（Random Access Memory）などで構成される。この演算部１０は、図１に示すように、ファームウェア制御部１１、変換部１２、及びシミュレーション制御部１３を有している。これらの処理部のうち、ファームウェア制御部１１は、演算部１０が記憶部２０に記憶されている仮想Ｆ／Ｗ２１に基づいて実行する処理や制御に相当する。また、変換部１２は、演算部１０が記憶部２０に記憶されている制御プログラム２２に基づいて実行する処理や制御に相当する。また、シミュレーション制御部１３は、演算部１０が記憶部２０に記憶されているシミュレータ（シミュレーションプログラム）２３に基づいて実行する処理や制御に相当する。
【００２８】
ファームウェア制御部１１は、記憶部２０に記憶されている仮想Ｆ／Ｗ２１に従って、記憶部２０に記憶されている仮想Ｆ／Ｗ２１の制御を行う処理部である。ここで、仮想Ｆ／Ｗ２１は、ハードウェアモデルと結合した状態で正常に動作するかを確認するために予め仮想的に設定されたファームウェアである。図２に示すように、ファームウェア制御部１１は、仮想Ｆ／Ｗ２１に従って、シミュレータ２３にＨ／Ｗシミュレーションモデル（ハードウェアモデル）２４のシミュレーションを実行させるための命令やパラメータ（シミュレーションを実行させるための入力条件）を含む入力データ３１を作成する。そして、ファームウェア制御部１１は、仮想Ｆ／Ｗ２１に従って、作成した入力データ３１を制御プログラム２２に出力する。また、図２に示すように、ファームウェア制御部１１は、仮想Ｆ／Ｗ２１に従って、Ｈ／Ｗシミュレーションモデル２４のシミュレーション結果を示す出力データ４２を読み込み、読み込んだ出力データ４２に基づいてＨ／Ｗシミュレーションモデル２４の制御が成立しているか否か（つまり、Ｈ／Ｗシミュレーションモデル２４が正常に動作しているか否か）を確認する。
【００２９】
変換部１２は、制御プログラム２２に従って、ファームウェア制御部１１から出力される入力データの形式をシミュレータ２３用のデータの形式に変換し、またシミュレータ２３から出力される出力データの形式を仮想Ｆ／Ｗ２１用のデータの形式に変換する処理部である。この変換部１２は、図１に示すように、データ抽出部（第１データ抽出部、第２データ抽出部）１２ａと、データ形式変換部（第１データ形式変換部、第２データ形式変換部）１２ｂとを有している。
【００３０】
データ抽出部１２ａは、図２に示すように、ファームウェア制御部１１から出力される入力データ３１から命令やパラメータを抽出する処理を行う。そして、データ形式変換部１２ｂは、データ抽出部１２ａで抽出された命令やパラメータに基づいてシミュレータ２３用のデータ形式（書式）の入力データ３２を生成し、生成した入力データ３２をシミュレーション制御部１３に出力する。本実施形態においては、シミュレータ２３として、汎用のシミュレータであるＳＰＩＣＥを用いる。ＳＰＩＣＥに入力される入力データ３２はテキストで記述されたデータである。以下の説明において、入力データ３２のことをテキスト入力データという。
【００３１】
また、データ抽出部１２ａは、図２に示すように、シミュレーション制御部１３から出力される出力データ４１からＨ／Ｗシミュレーションモデル２４のシミュレーション結果を抽出する処理を行う。そして、データ形式変換部１２ｂは、データ抽出部１２ａで抽出されたシミュレーション結果に基づいて仮想Ｆ／Ｗ２１用のデータ形式の出力データ４２を生成し、生成した出力データ４２をファームウェア制御部１１に出力する。シミュレーション制御部１３から出力される出力データ４１はテキストで記述されたデータである。以下の説明において、出力データ４１のことをテキスト出力データという。
【００３２】
シミュレーション制御部１３は、シミュレータ２３に従って、Ｈ／Ｗシミュレーションモデル２４に対するシミュレーションを実行する処理部である。具体的には、シミュレーション制御部１３は、シミュレーションの対象となるＨ／Ｗシミュレーションモデル２４を読み込む。また、シミュレーション制御部１３は、変換部１２で変換されたテキスト入力データ３２を読み込み、読み込んだテキスト入力データ３２に含まれる命令やパラメータに基づいてＨ／Ｗシミュレーションモデル２４のシミュレーションを実行する。そして、シミュレーション制御部１３は、Ｈ／Ｗシミュレーションモデル２４のシミュレーション結果を示すテキスト出力データ４１を変換部１２に出力する。なお、シミュレーションの対象となるＨ／Ｗシミュレーションモデル２４は、技術者により選定されたデバイス（例えばＬＳＩ）などのハードウェアをモデル化したものである。Ｈ／Ｗシミュレーションモデル２４は、通常、ハードウェアを設計・製造する会社から提供される。ただし、Ｈ／Ｗシミュレーションモデル２４は、技術者によって作成されたものでもよい。シミュレータ２３がＳＰＩＣＥの場合は、Ｈ／Ｗシミュレーションモデル２４はテキストで記述される。
【００３３】
記憶部２０は、各種データを記憶する装置である。この記憶部２０は、例えばハードディスクなどの記憶媒体で実現される。図１に示すように、記憶部２０には、仮想Ｆ／Ｗ（ファームウェア）２１、制御プログラム２２、シミュレータ２３、及びＨ／Ｗシミュレーションモデル（ハードウェアモデル）２４が記憶されている。仮想Ｆ／Ｗ２１は、技術者が選定したデバイスや設計した回路などのハードウェアを制御するファームウェアであって、技術者により予め仮想的に設定されたものである。制御プログラム２２は、演算部１０に変換部１２による処理を実行させるプログラムである。シミュレータ２３は、Ｈ／Ｗシミュレーションモデル２４のシミュレーションを行う汎用のシミュレーションプログラムである。このシミュレータ２３として、上述したようにＳＰＩＣＥが用いられる。Ｈ／Ｗシミュレーションモデル２４は、上述したように、技術者により選定されたデバイスなどのハードウェアをモデル化したものである。
【００３４】
次に、情報処理装置１の動作について図３及び図４を参照して説明する。
【００３５】
図３及び図４は、本発明の実施形態に係る情報処理装置１の動作を説明するためのシーケンス図である。図３に示す処理において、まず、シミュレーション制御部１３は、技術者による操作部（例えばマウス、キーボード）の操作に応じて又は自動的に、シミュレーションの対象となるＨ／Ｗシミュレーションモデル２４を読み込む（ステップＳ１）。次に、ファームウェア制御部１１は、仮想Ｆ／Ｗ２１に従って、タスク処理や機能処理の命令、パラメータなどを含む入力データ３１を作成し、作成した入力データ３１を変換部１２に出力する（ステップＳ２）。
【００３６】
変換部１２のデータ抽出部１２ａは、ファームウェア制御部１１から出力された入力データ３１から命令やパラメータなどを抽出する（ステップＳ３）。そして、変換部１２のデータ形式変換部１２ｂは、データ抽出部１２ａで抽出された命令やパラメータなどを、シミュレータ２３用のデータ形式のテキスト入力データ３２に変換する（ステップＳ４）。データ形式変換部１２ｂは、変換したテキスト入力データ３２をシミュレーション制御部１３に出力する（ステップＳ５）。
【００３７】
シミュレーション制御部１３は、変換部１２から出力されたテキスト入力データ３２を読み込み、読み込んだテキスト入力データ３２に含まれる命令やパラメータなどに基づいてＨ／Ｗシミュレーションモデル２４に対するタスク処理と機能処理のシミュレーションを合わせて実行する（ステップＳ６）。そして、シミュレーション制御部１３は、Ｈ／Ｗシミュレーションモデル２４のシミュレーション結果を示すテキスト出力データ４１を変換部１２に出力する（ステップＳ７）。
【００３８】
変換部１２のデータ抽出部１２ａは、図４に示すように、シミュレーション制御部１３から出力されたテキスト出力データ４１からＨ／Ｗシミュレーションモデル２４のシミュレーション結果を出力結果として抽出する（ステップＳ８）。そして、データ形式変換部１２ｂは、データ抽出部１２ａで抽出されたシミュレーション結果（出力結果）を、仮想Ｆ／Ｗ２１用のデータ形式の出力データ４２に変換する（ステップＳ９）。データ形式変換部１２ｂは、変換した出力データ４２をファームウェア制御部１１に出力する（ステップＳ１０）。ファームウェア制御部１１は、変換部１２から出力された出力データ４２に基づいて、Ｈ／Ｗシミュレーションモデル２４のタスク処理や機能処理が正常に動作しているか否かを確認する（ステップＳ１１）。
【００３９】
次に、情報処理装置１によるシミュレーション動作の具体例について図５及び図６を参照して説明する。
【００４０】
図５は、Ｈ／Ｗシミュレーションモデル２４の具体例を示す回路図である。また、図６は、図５に示す回路における信号を説明する図である。図５に示すように、Ｈ／Ｗシミュレーションモデル（評価モデル）２４において、電源部１００として、「ＸＰ５Ｖ」と「ＸＭ５Ｖ」とが記述されている。図６に示すように、電源部１００のＸＰ５Ｖはオペアンプに＋５Ｖの電源電圧を供給する＋５Ｖ電源であり、１０００Ｈｚ、１００ｍＶ（０−ｐ）のノイズがある電源である。また、電源部１００のＸＭ５Ｖはオペアンプに−５Ｖの電源電圧を供給する−５Ｖ電源であり、６００Ｈｚ、２００ｍＶ（０−ｐ）のノイズがある電源である。ＸＰ５Ｖ及びＸＭ５ＶはＤＣＤＣコンバータで構成されることを想定している。
【００４１】
また、Ｈ／Ｗシミュレーションモデル２４において、入力信号の信号源１１０として、「ＳＩＧ２」と「ＳＩＧ２＿ＣＯＮＳＴ」と「ＳＩＧ１」とが記述されている。図６に示すように、入力信号の信号源１１０において、ＳＩＧ２信号はオペアンプの−側入力の信号源（１Ｖ（０−ｐ）の周波数スイープ）である。また、入力信号の信号源１１０において、ＳＩＧ２＿ＣＯＮＳＴ信号はオペアンプの−側入力の信号源（＋５Ｖ固定）である。また、入力信号の信号源１１０において、ＳＩＧ１信号はオペアンプの＋側入力の信号源（０Ｖ固定）である。
【００４２】
また、Ｈ／Ｗシミュレーションモデル２４において、図５に示すようなオペアンプを含む回路１３０が記述されている。回路１３０におけるＨ／Ｗ信号として、「ＳＩＧ２＿ＳＩＧ」と「−ＩＮ」と「＋ＩＮ」とが設定される。図６に示すように、ＳＩＧ２＿ＳＩＧ信号はスイッチ（ＳＷ１、ＳＷ２）の状態によりＳＩＧ２＿ＣＯＮＳＴ信号及びＳＩＧ２信号と接続される。また、回路１３０における−ＩＮ信号はオペアンプの−側入力信号である。また、回路１３０における＋ＩＮ信号はオペアンプの＋側入力信号である。
【００４３】
また、Ｈ／Ｗシミュレーションモデル２４において、スイッチ選択用の信号源１２０として、「ＳＩＧ２＿ＳＥＬ１」と「ＳＩＧ２＿ＳＥＬ２」とが記述されている。図６に示すように、スイッチ選択用の信号源１２０において、ＳＩＧ２＿ＳＥＬ１信号は、５ｍｓの間Ｈｉｇｈ（＋５Ｖ）、５ｍｓの間Ｌｏｗ（０Ｖ）を繰り返す信号である。このＳＩＧ２＿ＳＥＬ１信号が＋２Ｖ以上の場合、スイッチＳＷ１が接続されてＳＩＧ２＿ＣＯＮＳＴ信号とＳＩＧ２＿ＳＩＧ信号とが接続される。また、ＳＩＧ２＿ＳＥＬ２信号は、５ｍｓの間Ｈｉｇｈ（＋５Ｖ）、５．２ｍｓの間Ｌｏｗ（０Ｖ）を繰り返す信号である。このＳＩＧ２＿ＳＥＬ２信号が＋２Ｖ以上の場合、スイッチＳＷ２が接続されてＳＩＧ２信号とＳＩＧ２＿ＳＩＧ信号とが接続される。また、Ｈ／Ｗシミュレーションモデル２４において、ＶＯＵＴ信号はオペアンプの出力信号である。
【００４４】
シミュレーション制御部１３は、上記図５に示すようなＨ／Ｗシミュレーションモデル２４を読み込む（ステップＳ１参照）。ファームウェア制御部１１は、電源部１００（ＸＰ５Ｖ，ＸＭ５Ｖ）のシミュレーションを行うために、タスク処理や機能処理の命令などを含む入力データ３１を変換部１２に出力する（ステップＳ２参照）。変換部１２は、入力データ３１から命令などを抽出し、抽出した命令などをテキスト入力データ３２に変換し、変換したテキスト入力データ３２をシミュレーション制御部１３に出力する（ステップＳ３〜Ｓ５参照）。
【００４５】
シミュレーション制御部１３は、変換部１２から出力されたテキスト入力データ３２に基づいてＤＣＤＣコンバータ（電源部１００のＸＰ５Ｖ，ＸＭ５Ｖ）のシミュレーションを実行する（ステップＳ６参照）。そして、シミュレーション制御部１３は、シミュレーション結果としての電圧とスイッチング周波数を抽出し、抽出したシミュレーション結果を示すテキスト出力データ４１を変換部１２に出力する（ステップＳ７参照）。
【００４６】
変換部１２は、シミュレーション制御部１３から出力されたテキスト出力データ４１からシミュレーション結果を抽出し、抽出したシミュレーション結果を仮想Ｆ／Ｗ２１用のデータ形式の出力データ４２に変換する（ステップＳ８，Ｓ９参照）。変換部１２は、変換した出力データ４２をファームウェア制御部１１に出力する（ステップＳ１０参照）。ファームウェア制御部１１は、出力データ４２に基づいて、電源部１００が正常に動作しているか否かを確認する（ステップＳ１１参照）。
【００４７】
ファームウェアは、一般にマイクロコンピュータ上で動作する。そして、ファームウェアがマイクロコンピュータのレジスタにデータを設定することでハードウェアと入出力する信号の設定が行われる。ファームウェア制御部１１は、仮想Ｆ／Ｗ２１に従って、マイクロコンピュータの所定のレジスタにデータが設定されたものと仮定することにより、入力信号としてのＳＩＧ２信号、ＳＩＧ２＿ＣＯＮＳＴ信号及びＳＩＧ１信号を作成し、作成したＳＩＧ２信号、ＳＩＧ２＿ＣＯＮＳＴ信号及びＳＩＧ１信号を入力データ３１として変換部１２に出力する（ステップＳ２参照）。変換部１２は、入力データ３１からＳＩＧ２信号、ＳＩＧ２＿ＣＯＮＳＴ信号及びＳＩＧ１信号を抽出し、抽出したＳＩＧ２信号、ＳＩＧ２＿ＣＯＮＳＴ信号及びＳＩＧ１信号をテキスト入力データ３２に変換してシミュレーション制御部１３に出力する（ステップＳ３〜Ｓ５参照）。
【００４８】
また、ファームウェア制御部１１は、仮想Ｆ／Ｗ２１に従って、マイクロコンピュータの所定のレジスタにデータが設定されたものと仮定することにより、スイッチ選択用のＳＩＧ２＿ＳＥＬ１信号及びＳＩＧ２＿ＳＥＬ２信号を作成し、作成したＳＩＧ２＿ＳＥＬ１信号及びＳＩＧ２＿ＳＥＬ２信号を入力データ３１として変換部１２に出力する（ステップＳ２参照）。変換部１２は、入力データ３１からＳＩＧ２＿ＳＥＬ１信号及びＳＩＧ２＿ＳＥＬ２信号を抽出し、抽出したＳＩＧ２＿ＳＥＬ１信号及びＳＩＧ２＿ＳＥＬ２信号をテキスト入力データ３２に変換してシミュレーション制御部１３に出力する（ステップＳ３〜Ｓ５参照）。
【００４９】
シミュレーション制御部１３は、テキスト入力データ３２に基づいて回路１３０のシミュレーションを行う（ステップＳ６参照）。この場合、ＳＩＧ２＿ＳＥＬ１信号及びＳＩＧ２＿ＳＥＬ２信号が所定間隔でＨｉｇｈ（＋５Ｖ）とＬｏｗ（０Ｖ）とを繰り返すことにより、スイッチＳＷ１，ＳＷ２がオン・オフし、ＳＩＧ２＿ＣＯＮＳＴ信号とＳＩＧ２＿ＳＩＧ信号とが接続され、またＳＩＧ２信号とＳＩＧ２＿ＳＩＧ信号とが接続される。これにより、オペアンプの−側入力端子の電圧とが変化し、オペアンプの差動電圧が変化する。シミュレーション制御部１３は、シミュレーション結果としてのオペアンプの出力信号ＶＯＵＴを抽出し、抽出したシミュレーション結果を示すテキスト出力データ４１を変換部１２に出力する（ステップＳ７参照）。
【００５０】
変換部１２は、シミュレーション制御部１３から出力されたテキスト出力データ４１からシミュレーション結果を抽出し、抽出したシミュレーション結果を仮想Ｆ／Ｗ２１用のデータ形式の出力データ４２に変換する（ステップＳ８，Ｓ９参照）。変換部１２は、変換した出力データ４２をファームウェア制御部１１に出力する（ステップＳ１０参照）。ファームウェア制御部１１は、出力データ４２に基づいて、回路１３０が正常に動作しているか否かを確認する（ステップＳ１１参照）。このような解析に基づいて、技術者はバグの発生個所、スイッチングが遅いか否か、信号が衝突しているか否か、音声の帯域にノイズが混入しているか否か、などの不具合を事前に確認することができる。
【００５１】
技術者が不具合を発見した場合は、タスクの競合などをなくしたり、ノイズの発生個所で該ノイズが発生しないようにタスクを調整する。また、仕様に応じた制御が不可能であればデバイスを変更して再度シミュレーションを行う。その後、Ｈ／Ｗシミュレーションモデル２４が仕様に応じた動作を行うことが確認された場合、技術者は仮想Ｆ／Ｗ２１やＨ／Ｗシミュレーションモデル２４に基づいて実機の設計を行う。
【００５２】
以上に説明したように、本実施形態では、ハードウェアモデル２４の動作のシミュレーションを実行するシミュレータ２３を有する情報処理装置１であって、ファームウェア２１からのハードウェアモデル２４の動作を指示する入力データ３１をシミュレータ２３用のデータ形式の入力データ３２に変換する変換部１２を備える。このような構成によれば、ファームウェア２１とハードウェアモデル２４とが結合した状態で仕様や機能を事前に確認することができる。
【００５３】
また、本実施形態では、変換部１２は、ファームウェア２１からの入力データ３１からハードウェアモデル２４の動作を指示する命令を抽出する第１データ抽出部１２ａと、第１データ抽出部１２ａで抽出された命令をシミュレータ２３用のデータ形式の入力データ３２に変換してシミュレータ２３に読み込ませる第１データ形式変換部１２ｂとを含む。このような構成によれば、ファームウェア２１やハードウェアモデル２４のある部分の機能に対してシミュレーションを行うこともできる。従って、短い時間でシミュレーションを行うことが可能となるとともに、高い精度のシミュレーション結果を得ることも可能である。
【００５４】
また、本実施形態では、変換部１２は、シミュレータ２３からのシミュレーションの結果を示す出力データ４１をファームウェア２１用のデータ形式の出力データ４２に変換する。このような構成によれば、ファームウェア２１からハードウェアモデル２４へのデータだけでなく、ハードウェアモデル２４からファームウェア２１へのデータに対してもデータ形式の変換を行うことができるので、ファームウェア２１とハードウェアモデル２４との間の双方向のデータに基づく制御が正常に行われているか否かを確認することができる。
【００５５】
また、本実施形態では、変換部１２は、シミュレータ２３からの出力データ４１からシミュレーションの結果を抽出する第２データ抽出部１２ａと、第２データ抽出部１２ａで抽出されたシミュレーションの結果をファームウェア２１用のデータ形式の出力データ４２に変換してファームウェア２１に読み込ませる第２データ形式変換部１２ｂとを含む。このような構成によれば、ファームウェア２１やハードウェアモデル２４のある部分の機能に対してシミュレーションを行うこともできる。従って、短い時間でシミュレーションを行うことが可能となるとともに、高い精度のシミュレーション結果を得ることも可能である。
【００５６】
また、本実施形態では、ファームウェア２１からの入力データ３１とシミュレータ２３からの出力データ４１との少なくとも一方はテキスト形式のデータである。このような構成によれば、ＳＰＩＣＥなどの汎用のシミュレータを用いてシミュレーションを行うことができ、シミュレーションを行う技術者の利便性が向上する。
【００５７】
以上、本発明の実施形態を説明したが、本発明の技術的範囲は、上記の実施形態に記載の範囲には限定されない。本発明の趣旨を逸脱しない範囲で、上記の実施形態に、多様な変更または改良を加えることが可能である。また、上記の実施形態で説明した要件の１つ以上は、省略されることがある。そのような変更または改良、省略した形態も本発明の技術的範囲に含まれる。また、上記した実施形態や変形例の構成を適宜組み合わせて適用することも可能である。
【００５８】
上記した実施形態において、ファームウェア制御部１１は仮想Ｆ／Ｗ２１（すなわち仮想的に設定されたファームウェア）に基づいて処理を実行していたが、実際の組み込みシステムで使用されるファームウェアに基づいて処理を実行してもよい。また、ファームウェア制御部１１と変換部１２とは同じ処理部であってもよい。すなわち、１つの処理部が例えば制御プログラムに基づいてファームウェア制御部１１の処理と変換部１２の処理とを実行してもよい。
【００５９】
また、上記した実施形態では、シミュレータ２３としてＳＰＩＣＥを用いることを想定していたが、ＳＰＩＣＥ以外のシミュレータを用いてもよい。この場合、変換部１２はＳＰＩＣＥで利用されるテキスト形式のデータに変換するのではなく、シミュレータに応じたデータ形式のデータに変換する。また、上記した実施形態では、Ｈ／Ｗシミュレーションモデル２４は、ハードウェアを設計・製造する会社から提供されるもの、技術者によって作成されたものに限らず、過去のシミュレーションで用いたシミュレーションモデル（ハードウェアモデル）を流用してもよい。
【符号の説明】
【００６０】
１      情報処理装置
１０    演算部
１１    ファームウェア制御部
１２    変換部
１２ａ  データ抽出部（第１データ抽出部、第２データ抽出部）
１２ｂ  データ形式変換部（第１データ形式変換部、第２データ形式変換部）
１３    シミュレーション制御部
２０    記憶部
２１    仮想Ｆ／Ｗ（ファームウェア）
２２    制御プログラム
２３    シミュレータ
２４    Ｈ／Ｗシミュレーションモデル（ハードウェアモデル）
【図１】
2016042326.tif 000003
【図２】
2016042326.tif 000004
【図３】
2016042326.tif 000005
【図４】
2016042326.tif 000006
【図５】
2016042326.tif 000007
【図６】
2016042326.tif 000008