(57)【要約】【課題】ＨＩＬシミュレーションシステムのシステム全体の処理時間の短縮化を図ること。【解決手段】ＨＩＬシミュレーションシステム１は、メモリ１２１と、ソフトウェア１１からメモリ１２１に転送された入力データをメモリ１２１から入力する入力処理及びメモリ１２１へ出力データを転送する出力処理を実行する演算装置１２４と、ソフトウェア１１がメモリ１２１に入力データを転送する間隔である入力時間単位及びソフトウェア１１が演算装置１２４からメモリ１２１に転送された出力データをメモリ１２１から入力する間隔である出力時間単位を基に、演算装置１２４の入力処理の回数に対する出力処理の回数を示す動作状態を指定する動作状態指定部１２５と、動作状態指定部１２５により指定された動作状態を基に、演算装置１２４の入力処理及び出力処理の回数を制御すると共に、演算装置１２４の動作の停止を制御する複数回実行制御部１２６と、を備える。【選択図】図６
2018022317.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
ソフトウェアから前記メモリに転送された入力データを前記メモリから入力する入力処理及び前記メモリへ出力データを転送する出力処理を実行する演算装置と、
前記ソフトウェアが前記メモリに入力データを転送する間隔である入力時間単位及び前記ソフトウェアが前記演算装置から前記メモリに転送された出力データを前記メモリから入力する間隔である出力時間単位を基に、前記演算装置の前記入力処理の回数に対する前記出力処理の回数を示す動作状態を指定する指定部と、
前記指定部により指定された前記動作状態を基に、前記演算装置の前記入力処理及び前記出力処理の回数を制御すると共に、前記演算装置の動作の停止を制御する制御部と、
を備えるＨＩＬシミュレーションシステム。
【請求項２】
前記指定部は、
前記ソフトウェアの前記入力時間単位と前記出力時間単位との比率がＮ（Ｎは２以上の自然数）対１である場合、前記演算装置の前記入力処理の回数と前記出力処理の回数との比率が１対Ｎである前記動作状態を指定する、
請求項１に記載のＨＩＬシミュレーションシステム。
【請求項３】
前記制御部は、
前記指定部により指定された前記動作状態が１対Ｎである場合、１回の前記入力処理に続いてＮ回の前記出力処理を前記演算装置に実行させる、
請求項２に記載のＨＩＬシミュレーションシステム。
【請求項４】
前記制御部は、
前記指定部により指定された前記動作状態が１対Ｎである場合、１回の前記入力処理に続いてＮ回の前記出力処理を前記演算装置に実行させた後、前記演算装置の動作を停止させる、
請求項３に記載のＨＩＬシミュレーションシステム。
【請求項５】
出力バッファをさらに備え、
前記演算装置は、
前記出力処理では、前記出力バッファへ出力データを転送し、
前記出力バッファは、
前記指定部により指定された前記動作状態が１対Ｎである場合、前記演算装置によりＮ回の前記出力処理でＮ個の出力データが前記出力バッファに転送された後、前記Ｎ個の出力データを一括して前記メモリにバースト転送する、
請求項４に記載のＨＩＬシミュレーションシステム。
【請求項６】
前記指定部は、
前記ソフトウェアの前記入力時間単位と前記出力時間単位との比率が１対Ｎ（Ｎは２以上の自然数）である場合、前記演算装置の前記入力処理の回数と前記出力処理の回数との比率がＮ対１である前記動作状態を指定する、
請求項１に記載のＨＩＬシミュレーションシステム。
【請求項７】
前記制御部は、
前記指定部により指定された前記動作状態がＮ対１である場合、１回の前記出力処理に続いてＮ回の前記入力処理を前記演算装置に実行させる、
請求項６に記載のＨＩＬシミュレーションシステム。
【請求項８】
前記制御部は、
前記指定部により指定された前記動作状態がＮ対１である場合、前記出力処理及び１回目から（Ｎ−１）回目の前記入力処理を実行させる度に、前記演算装置の動作を停止させる、
請求項７に記載のＨＩＬシミュレーションシステム。
【請求項９】
入力バッファと、
前記ソフトウェアの前記入力時間単位と前記出力時間単位との比率が１対Ｎである場合、前記ソフトウェアによりＮ個の入力データが前記メモリに転送された後、前記Ｎ個の入力データを一括して前記演算装置にバースト転送する転送部と、をさらに備え、
前記演算装置は、
前記Ｎ個の入力データを前記入力バッファに一時的に格納し、
前記入力処理では、前記入力バッファから入力データを入力する、
請求項８に記載のＨＩＬシミュレーションシステム。
【請求項１０】
メモリと、ソフトウェアから前記メモリに転送された入力データを前記メモリから入力する入力処理及び前記メモリへ出力データを転送する出力処理を実行する演算装置と、を備えるＨＩＬシミュレーションシステムの制御方法であって、
前記ソフトウェアが前記メモリに入力データを転送する間隔である入力時間単位及び前記ソフトウェアが前記演算装置から前記メモリに転送された出力データを前記メモリから入力する間隔である出力時間単位を基に、前記演算装置の前記入力処理の回数に対する前記出力処理の回数を示す動作状態を指定し、
前記指定された前記動作状態を基に、前記演算装置の前記入力処理及び前記出力処理の回数を制御すると共に、前記演算装置の動作の停止を制御する、
ＨＩＬシミュレーションシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＨＩＬ（Hardware In the Loop）シミュレーションシステム及びその制御方法に関し、例えば、ソフトウェアと演算装置との間でメモリを介してデータを入出力するＨＩＬシミュレーションシステムに好適に利用できるものである。
【背景技術】
【０００２】
マイクロコンピュータによりハードウェアを直接制御する組み込みシステムが知られている。組み込みシステムとしては、例えば、自動車のＥＣＵ（Engine Control Unit）が実ハードウェア（エンジン、モータ、センサ等）を制御するシステム等が挙げられる。また、ＥＣＵ等の演算装置のテストにおいては、演算装置の制御対象である実ハードウェアの代わりに、実ハードウェアの動作特性の数式を使用してシミュレーションするソフトウェアを用いるＨＩＬシミュレーションシステムが良く使用されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−０５４１２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ＨＩＬシミュレーションシステムは、一般的には、ソフトウェア側で発生させたイベントに対して演算装置を駆動する構成となる。そのため、例えば、ソフトウェア側で入力イベントを発生させ、その入力イベントでソフトウェアから演算装置に入力された入力データに対する応答として、演算装置が出力データをソフトウェア側に返すように、システムが組まれている。
【０００５】
近年のＥＣＵシステムの高速化に伴って、ソフトウェアの数式との同期をとらずにＥＣＵを高速に動作させると実際のハードウェア特性との計算結果の違いが発生し、逆にソフトウェアの数式との入出力の最も細かいイベントに合わせてすべての処理を行うたびに毎回転送を行うとシステム全体の処理時間が長くなり、システム処理速度が遅くなるという問題があった。
【０００６】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
一実施の形態によれば、ＨＩＬシミュレーションシステムは、ソフトウェアの入力時間単位及び出力時間単位を基に、演算装置の入力処理の回数に対する出力処理の回数を示す動作状態を指定し、指定された動作状態を基に、演算装置の入力処理及び出力処理の回数を制御すると共に、演算装置の動作の停止を制御する。
【発明の効果】
【０００８】
前記一実施の形態によれば、上述した課題の解決に貢献することができる。
【図面の簡単な説明】
【０００９】
【図１】一般的なＨＩＬシミュレーションシステムの概要構成例を示す図である。
【図２】実ハードウェアの入力時間単位及び出力時間単位の例を示す図である。
【図３】従来例に係るＨＩＬシミュレーションシステムの構成例を示すブロック図である。
【図４】従来例に係るＨＩＬシミュレーションシステムの動作例を示すタイミング図である。
【図５】従来例に係るＨＩＬシミュレーションシステムの動作例を示すタイミング図である。
【図６】実施の形態１に係るＨＩＬシミュレーションシステムの構成例を示すブロック図である。
【図７】実施の形態１に係るＨＩＬシミュレーションシステムの動作例を示すタイミング図である。
【図８】実施の形態１に係るＨＩＬシミュレーションシステムの動作例を示すタイミング図である。
【図９】実施の形態２に係るＨＩＬシミュレーションシステムの構成例を示すブロック図である。
【図１０】実施の形態２に係るＨＩＬシミュレーションシステムの動作例を示すタイミング図である。
【図１１】実施の形態３に係るＨＩＬシミュレーションシステムの構成例を示すブロック図である。
【図１２】実施の形態３に係るＨＩＬシミュレーションシステムの動作例を示すタイミング図である。
【発明を実施するための形態】
【００１０】
各実施の形態の説明をする前に、まず、各実施の形態の前提となる事項について説明する。なお、説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素のち、ハードウェアの部分は、ＣＰＵ（Central Processing Unit）、メモリ、その他の回路で構成することができ、ソフトウェアの部分は、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、又はそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１１】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００１２】
＜ＨＩＬシミュレーションシステムの概要＞
まず、図１を参照して、一般的なＨＩＬシミュレーションシステム３の概要構成について説明する。図１では、ＨＩＬシミュレーションシステム３がシミュレーションする実システムが、自動車のエンジン／モータシステム２である場合を例に挙げている。
図１に示されるように、エンジン／モータシステム２は、エンジン／モータ２０２、センサ２０３、及びドライバ２０４からなる実ハードウェア２０１と、ＥＣＵ２０５と、を備えている。
【００１３】
実ハードウェア２０１は、センサ２０３によりエンジン／モータ２０２の状態（例えば、モータの回転数等）を検知し、その検知結果であるセンサ結果を入力データとしてＥＣＵ２０５に転送する。ＥＣＵ２０５は、実ハードウェア２０１から入力データとして転送されたセンサ結果を基に、ドライバ２０４を制御するための制御信号を生成し、生成した制御信号を出力データとして実ハードウェア２０１に転送する。実ハードウェア２０１は、ＥＣＵ２０５から出力データとして転送された制御信号を基に、ドライバ２０４によりエンジン／モータ２０２を駆動する。
【００１４】
ここで、エンジン／モータシステム２の実ハードウェア２０１の部分を、実ハードウェア２０１の動作特性の数式を使用してシミュレーションするソフトウェア３０１に置き換えたものが、ＨＩＬシミュレーションシステム３に相当する。詳細には、ソフトウェア３０１は、実ハードウェア２０１の部分をモデル化した物理モデルを内部に備えており、その物理モデルを用いて実ハードウェア２０１の動作特性をシミュレーションする。
【００１５】
ところで、実際の実システムにおいては、実ハードウェアとＥＣＵとの間にはメモリが配置されており、実ハードウェアとＥＣＵとの間では、メモリを介してデータを入出力する。具体的には、実ハードウェアがメモリに入力データを転送し、その入力データをＥＣＵがメモリから入力する。また、ＥＣＵが出力データをメモリへ転送し、その出力データを実ハードウェアがメモリから入力する。
【００１６】
また、実ハードウェアには、入力時間単位及び出力時間単位が定義されている。入力時間単位とは、実ハードウェアがメモリに入力データを転送する間隔であり、出力時間単位とは、実ハードウェアがメモリから出力データを入力する間隔である。しかし、実ハードウェアにおいては、入力時間単位と出力時間単位とが異なる場合がある。
【００１７】
例えば、図２に示される例では、実ハードウェアがメモリに入力データを転送する入力イベントは、間隔Ａで発生している。これに対して、実ハードウェアがメモリから出力データを入力する出力イベントは、間隔Ａよりも短い間隔Ｂで発生している。すなわち、図２に示される例では、入力時間単位が、出力時間単位よりも長くなっている。
【００１８】
ＨＩＬシミュレーションシステムは、実ハードウェアと動作の挙動を一致させる必要があるため、実ハードウェアの入力時間単位と出力時間単位とが異なる場合には、これに合わせて、ソフトウェアも入力時間単位と出力時間単位とを異ならせる必要がある。また、ＨＩＬシミュレーションシステムは、システム全体の処理時間の短縮化を図ることも必要とされている。
【００１９】
＜比較例に係るＨＩＬシミュレーションシステムの構成＞
次に、図３を参照して、本発明者等が事前検討した、比較例に係るＨＩＬシミュレーションシステム４の構成について説明する。
図３に示されるように、比較例に係るＨＩＬシミュレーションシステム４は、ソフトウェア１１として、シミュレーションＳ／Ｗ（Software）１１１及びインタフェースＳ／Ｗ（Software）１１２を含み、ハードウェア１２として、メモリ１２１、プロセッサ１２２、ハードウェアＩ／Ｆ（Interface）１２３、及び演算装置１２４を含んでいる。
【００２０】
シミュレーションＳ／Ｗ１１１は、実ハードウェアをモデル化した物理モデルを内部に備え、その物理モデルを用いて実ハードウェアの動作特性をシミュレーションするソフトウェアである。
インタフェースＳ／Ｗ１１２は、シミュレーションＳ／Ｗ１１１から転送された入力データをメモリ１２１に転送して書き込むと共に、メモリ１２１から出力データを読み出して入力し、入力した出力データをシミュレーションＳ／Ｗ１１１に転送するソフトウェアである。
なお、シミュレーションＳ／Ｗ１１１及びインタフェースＳ／Ｗ１１２は、プロセッサ１２２により実行される。
【００２１】
メモリ１２１は、入力データ及び出力データの書き込み及び読み出しが行われる。
プロセッサ１２２は、インタフェースＳ／Ｗ１１２によりメモリ１２１に書き込まれた入力データを読み出し、読み出した入力データをハードウェアＩ／Ｆ１２３に転送する。また、プロセッサ１２２は、ハードウェアＩ／Ｆ１２３から転送された出力データをメモリ１２１に書き込む。なお、プロセッサ１２２は転送部の一例である。
【００２２】
ハードウェアＩ／Ｆ１２３は、プロセッサ１２２から転送された入力データを演算装置１２４に転送し、演算装置１２４から転送された出力データをメモリ１２１に転送する。なお、ハードウェアＩ／Ｆ１２３は、例えば、メモリ１２１へのＤＭＡ（Direct Memory Access）転送及び演算装置１２４への転送を制御するインタフェースボードや、演算装置１２４に付随する制御コントローラなどである。
【００２３】
演算装置１２４は、メモリ１２１からハードウェアＩ／Ｆ１２３を介して転送された入力データを入力する入力処理を行う。また、演算装置１２４は、入力データを基に生成した出力データをハードウェアＩ／Ｆ１２３を介してメモリ１２１に転送する出力処理を行う。なお、演算装置１２４は、例えば、自動車のＥＣＵなどである。
【００２４】
＜比較例に係るＨＩＬシミュレーションシステムの動作＞
次に、図４を参照して、比較例に係るＨＩＬシミュレーションシステム４の動作について説明する。
上述したように、ＨＩＬシミュレーションシステム４は、一般的には、ソフトウェア１１側で発生させたイベントに対して、演算装置１２４を駆動する構成となる。そのため、図４に示される例では、ソフトウェア１１側で、時刻ｔ１，ｔ２，ｔ３，ｔ４において、入力イベントを発生させ、その入力イベントで演算装置１２４に入力された入力データに対する応答として、演算装置１２４が出力データをソフトウェア１１側に返すように、システムが組まれている。
【００２５】
しかし、図４に示される例では、演算装置１２４は、出力データを転送してから、入力データを入力するまでの処理を、処理速度が遅いソフトウェア１１側の動作に合わせて低速動作で処理している。その結果、ＨＩＬシミュレーションシステム４のシステム全体の処理時間が長くなってしまうという問題があった。
【００２６】
また、図４は、シミュレーションＳ／Ｗ１１１がメモリ１２１に入力データを転送する間隔である入力時間単位と、シミュレーションＳ／Ｗ１１１がメモリ１２１から出力データを入力する間隔である出力時間単位と、が一致する例である。しかし、シミュレーションＳ／Ｗ１１１の入力時間単位と出力時間単位とが異なる場合は、システム全体の処理時間がさらに長くなってしまうという問題があった。この問題について、図５を参照して説明する。
【００２７】
ＨＩＬシミュレーションシステム４は、シミュレーションＳ／Ｗ１１１の入力時間単位と出力時間単位とが異なる場合、最小の時間単位に合わせて、入出力処理を行う。図５に示される例では、出力時間単位が最小の時間単位になるため、ＨＩＬシミュレーションシステム４は、出力時間単位に合わせて、入出力処理を行っている。そのため、時刻ｔ１，ｔ２において、実ハードウェアでは必要のない、前回値の入力データを転送するという無駄な転送処理が実行されてしまっている。その結果、ＨＩＬシミュレーションシステム４のシステム全体の処理時間がさらに長くなってしまうという問題があった。
【００２８】
また、図５に示される例では、演算装置１２４は、前回値の入力データについては更新が不要であるため、シミュレーションＳ／Ｗ１１１と演算装置１２４との間で転送タイミングの同期をとる必要があるという問題もあった。
以下で説明する各実施の形態は、シミュレーションＳ／Ｗ１１１の入力時間単位及び出力時間単位を基に演算装置１２４の動作を制御することで、上述のような課題を解決するものである。
【００２９】
＜実施の形態１＞
以下、実施の形態１について説明する。
＜実施の形態１の構成＞
まず、図６を参照して、本実施の形態１に係るＨＩＬシミュレーションシステム１の構成について説明する。図６に示されるように、本実施の形態１に係るＨＩＬシミュレーションシステム１は、図３に示される比較例に係るＨＩＬシミュレーションシステム４と比較して、ソフトウェア１１として、モデルパラメータ１１３を追加し、ハードウェア１２として、動作状態指定部１２５及び複数回実行制御部１２６を追加した構成になっている。なお、動作状態指定部１２５は指定部の一例であり、複数回実行制御部１２６は制御部の一例である
【００３０】
モデルパラメータ１１３は、シミュレーションＳ／Ｗ１１１内の物理モデルのパラメータである。モデルパラメータ１１３は、シミュレーションＳ／Ｗ１１１の入力時間単位及び出力時間単位を少なくとも示しているとする。なお、シミュレーションＳ／Ｗ１１１は、モデルパラメータ１１３を、インタフェースＳ／Ｗ１１２及び動作状態指定部１２５に設定する。
【００３１】
動作状態指定部１２５は、モデルパラメータ１１３が示すシミュレーションＳ／Ｗ１１１の入力時間単位及び出力時間単位を基に、演算装置１２４の入力処理の回数に対する出力処理の回数を示す動作状態を指定する。なお、動作状態指定部１２５は、演算装置１２４の動作状態を複数回実行制御部１２６に通知すると共に、複数回実行制御部１２６を介してハードウェアＩ／Ｆ１２３に通知する。また、動作状態指定部１２５は、演算装置１２４の動作状態が固定されるように構成されても良いし、演算装置１２４の動作状態が変更可能なように、例えば、レジスタで構成されても良い。
【００３２】
複数回実行制御部１２６は、動作状態指定部１２５により指定された演算装置１２４の動作状態を基に、演算装置１２４の入力処理及び出力処理の回数を制御すると共に、演算装置１２４の動作の停止を制御する。なお、複数回実行制御部１２６は、演算装置１２４の入力処理用のクロック及び出力処理用のクロックをＯＮ／ＯＦＦする機能を備えており、各クロックをＯＮ／ＯＦＦすることで、演算装置１２４に入力処理及び出力処理を実行させたり、演算装置１２４の動作を停止させたりする。また、複数回実行制御部１２６は、ハードウェアＩ／Ｆ１２３の制御の下で動作を開始する。
【００３３】
ここで、動作状態指定部１２５及び複数回実行制御部１２６について、より詳細に説明する。本明細書では、シミュレーションＳ／Ｗ１１１の入力時間単位が出力時間単位と比べて長い場合は、入力時間単位と出力時間単位との比率がＮ（Ｎは２以上の自然数）対１となり、また、シミュレーションＳ／Ｗ１１１の出力時間単位が入力時間単位と比べて長い場合は、入力時間単位と出力時間単位との比率が１対Ｎ（Ｎは２以上の自然数）となることを想定している。
【００３４】
まず、シミュレーションＳ／Ｗ１１１の入力時間単位が出力時間単位と比べて長く、モデルパラメータ１１３が、入力時間単位と出力時間単位との比率がＮ対１であることを示している場合を考える。この場合、動作状態指定部１２５は、演算装置１２４の入力処理の回数と出力処理の回数との比率が１対Ｎである動作状態を指定する。また、この場合、複数回実行制御部１２６は、１回の入力処理に続いてＮ回の出力処理を演算装置１２４に実行させた後、演算装置１２４の動作を停止させる。
【００３５】
続いて、シミュレーションＳ／Ｗ１１１の出力時間単位が入力時間単位と比べて長く、モデルパラメータ１１３が、入力時間単位と出力時間単位との比率が１対Ｎであることを示している場合を考える。この場合、動作状態指定部１２５は、演算装置１２４の入力処理の回数と出力処理の回数との比率がＮ対１である動作状態を指定する。また、この場合、複数回実行制御部１２６は、Ｎ回の入力処理に続いて１回の出力処理を演算装置１２４に実行させ、出力処理及び１回目から（Ｎ−１）回目の入力処理を実行させる度に、演算装置１２４の動作を停止させる。
【００３６】
＜実施の形態１の動作＞
以下、図７及び図８を参照して、本実施の形態１に係るＨＩＬシミュレーションシステム１の動作について説明する。
＜入力時間単位が出力時間単位と比べて長い場合の動作＞
まず、図７を参照して、シミュレーションＳ／Ｗ１１１の入力時間単位が出力時間単位と比べて長い場合の動作について説明する。図７に示される例では、「入力時間単位と出力時間単位との比率が３対１」になっており、このことがモデルパラメータ１１３にて示されている。そのため、動作状態指定部１２５は、演算装置１２４の動作状態として、「入力処理の回数と出力処理の回数との比率が１対３」という動作状態を指定しているものとする。
【００３７】
シミュレーションＳ／Ｗ１１１は、時刻ｔ１において、時間によるイベントトリガを受けると、インタフェースＳ／Ｗ１１２を呼び出す。インタフェースＳ／Ｗ１１２は、モデルパラメータ１１３を基に、イベントの内容を判断する。図７に示される例では、モデルパラメータ１１３は、「入力時間単位と出力時間単位との比率が３対１」であることを示しているため、出力イベントは、毎回のイベントトリガで発生させ、入力イベントは、３回のイベントトリガに対して１回発生させることになる。
【００３８】
インタフェースＳ／Ｗ１１２は、時刻ｔ１においては、出力イベント及び入力イベントの両方を発生させると判断する。そのため、インタフェースＳ／Ｗ１１２は、まず、入力イベントを発生させ、シミュレーションＳ／Ｗ１１１から転送された入力データをメモリ１２１に転送し、メモリ１２１に書き込む。プロセッサ１２２は、インタフェースＳ／Ｗ１１２の制御の下で、メモリ１２１から入力データを読み出してハードウェアＩ／Ｆ１２３に転送する。ハードウェアＩ／Ｆ１２３は、プロセッサ１２２の制御の下で、プロセッサ１２２から転送された入力データを演算装置１２４に転送する。また、インタフェースＳ／Ｗ１１２は、入力データのメモリ１２１への転送の完了後、出力イベントを発生させ、以前の処理でメモリ１２１に書き込まれた出力データを読み出して入力し、シミュレーションＳ／Ｗ１１１に転送する。
【００３９】
複数回実行制御部１２６は、ハードウェアＩ／Ｆ１２３から入力データが転送されると、動作状態指定部１２５により指定された演算装置１２４の動作状態を確認する。ここでは、「入力処理の回数と出力処理の回数との比率が１対３」という動作状態が指定されている。そのため、複数回実行制御部１２６は、演算装置１２４に対し、ハードウェアＩ／Ｆ１２３から転送された入力データを入力する入力処理を１回実行させた後、出力データをハードウェアＩ／Ｆ１２３に転送する出力処理を３回実行させる。そして、複数回実行制御部１２６は、３回の出力処理の完了後、演算装置１２４の動作を停止させる。演算装置１２４が出力処理を行う度に、ハードウェアＩ／Ｆ１２３は、演算装置１２４から転送された出力データをメモリ１２１に転送し、プロセッサ１２２は、ハードウェアＩ／Ｆ１２３の制御の下で、ハードウェアＩ／Ｆ１２３から転送された出力データをメモリ１２１に書き込む。
【００４０】
シミュレーションＳ／Ｗ１１１は、時刻ｔ２において、時間による次のイベントトリガを受けると、インタフェースＳ／Ｗ１１２を呼び出す。インタフェースＳ／Ｗ１１２は、モデルパラメータ１１３を基に、イベントの内容を判断する。時刻ｔ２においては、インタフェースＳ／Ｗ１１２は、出力イベントのみを発生させると判断する。そのため、インタフェースＳ／Ｗ１１２は、出力イベントを発生させ、以前の処理でメモリ１２１に書き込まれた出力データを読み出して入力し、シミュレーションＳ／Ｗ１１１に転送する。
以降、時刻ｔ３，ｔ５においては、時刻ｔ２と同様の処理が行われ、時刻ｔ４においては、時刻ｔ１と同様の処理が行われる。
【００４１】
すなわち、図７に示される例では、例えば、時刻ｔ１で発生した入力イベントで、インタフェースＳ／Ｗ１１２は、シミュレーションＳ／Ｗ１１１から転送された入力データをメモリ１２１に転送し、演算装置１２４は、メモリ１２１から入力データを入力する。そして、演算装置１２４は、入力データの入力に応答して、メモリ１２１に３個の出力データをそれぞれ転送し、その後、動作を停止する。メモリ１２１に転送された３個の出力データは、以降の時刻ｔ２，ｔ３，ｔ４でそれぞれ発生した出力イベントで、インタフェースＳ／Ｗ１１２にそれぞれ入力され、シミュレーションＳ／Ｗ１１１にそれぞれ転送される。
【００４２】
＜出力時間単位が入力時間単位と比べて長い場合の動作＞
次に、図８を参照して、シミュレーションＳ／Ｗ１１１の出力時間単位が入力時間単位と比べて長い場合の動作について説明する。図８に示される例では、「入力時間単位と出力時間単位との比率が１対３」になっており、このことがモデルパラメータ１１３にて示されている。そのため、動作状態指定部１２５は、演算装置１２４の動作状態として、「入力処理の回数と出力処理の回数との比率が３対１」という動作状態を指定しているものとする。
【００４３】
シミュレーションＳ／Ｗ１１１は、時刻ｔ１において、時間によるイベントトリガを受けると、インタフェースＳ／Ｗ１１２を呼び出す。インタフェースＳ／Ｗ１１２は、モデルパラメータ１１３を基に、イベントの内容を判断する。図８に示される例では、モデルパラメータ１１３は、「入力時間単位と出力時間単位との比率が１対３」であることを示しているため、入力イベントは、毎回のイベントトリガで発生させ、出力イベントは、３回のイベントトリガに対して１回発生させることになる。
【００４４】
インタフェースＳ／Ｗ１１２は、時刻ｔ１においては、入力イベント及び出力イベントの両方を発生させると判断する。そのため、インタフェースＳ／Ｗ１１２は、まず、入力イベントを発生させ、シミュレーションＳ／Ｗ１１１から転送された入力データをメモリ１２１に転送し、メモリ１２１に書き込む。プロセッサ１２２は、インタフェースＳ／Ｗ１１２の制御の下で、メモリ１２１から入力データを読み出してハードウェアＩ／Ｆ１２３に転送する。ハードウェアＩ／Ｆ１２３は、プロセッサ１２２の制御の下で、プロセッサ１２２から転送された入力データを演算装置１２４に転送する。また、インタフェースＳ／Ｗ１１２は、入力データのメモリ１２１への転送の完了後、出力イベントを発生させ、以前の処理でメモリ１２１に書き込まれた出力データを読み出して入力し、シミュレーションＳ／Ｗ１１１に転送する。
【００４５】
複数回実行制御部１２６は、ハードウェアＩ／Ｆ１２３から入力データが転送されると、動作状態指定部１２５により指定された演算装置１２４の動作状態を確認する。ここでは、「入力処理の回数と出力処理の回数との比率が３対１」という動作状態が指定されている。そのため、複数回実行制御部１２６は、まず、演算装置１２４に対し、ハードウェアＩ／Ｆ１２３から転送された入力データを入力する入力処理を１回実行させる。そして、複数回実行制御部１２６は、演算装置１２４に入力処理を３回続けて実行させたか否かを判断する。ここでは、複数回実行制御部１２６は、入力処理を３回続けて実行させたと判断し、続いて、演算装置１２４に対し、出力データをハードウェアＩ／Ｆ１２３に転送する出力処理を１回実行させ、出力処理の完了後、演算装置１２４の動作を停止させる。演算装置１２４が出力処理を行うと、ハードウェアＩ／Ｆ１２３は、演算装置１２４から転送された出力データをメモリ１２１に転送し、プロセッサ１２２は、ハードウェアＩ／Ｆ１２３の制御の下で、ハードウェアＩ／Ｆ１２３から転送された出力データをメモリ１２１に書き込む。
【００４６】
シミュレーションＳ／Ｗ１１１は、時刻ｔ２において、時間による次のイベントトリガを受けると、インタフェースＳ／Ｗ１１２を呼び出す。インタフェースＳ／Ｗ１１２は、モデルパラメータ１１３を基に、イベントの内容を判断する。時刻ｔ２においては、インタフェースＳ／Ｗ１１２は、入力イベントのみを発生させると判断する。そのため、インタフェースＳ／Ｗ１１２は、入力イベントを発生させ、シミュレーションＳ／Ｗ１１１から転送された入力データをメモリ１２１に転送し、メモリ１２１に書き込む。プロセッサ１２２は、インタフェースＳ／Ｗ１１２の制御の下で、メモリ１２１から入力データを読み出してハードウェアＩ／Ｆ１２３に転送する。ハードウェアＩ／Ｆ１２３は、プロセッサ１２２の制御の下で、プロセッサ１２２から転送された入力データを演算装置１２４に転送する。
【００４７】
複数回実行制御部１２６は、ハードウェアＩ／Ｆ１２３から入力データが転送されると、動作状態指定部１２５により指定された演算装置１２４の動作状態を確認し、まず、演算装置１２４に対し、ハードウェアＩ／Ｆ１２３から転送された入力データを入力する入力処理を１回実行させる。そして、複数回実行制御部１２６は、演算装置１２４に入力処理を３回続けて実行させたか否かを判断する。ここでは、複数回実行制御部１２６は、入力処理を３回続けて実行させていないと判断し、入力処理の完了後、演算装置１２４の動作を停止させる。
以降、時刻ｔ３，ｔ５においては、時刻ｔ２と同様の処理が行われ、時刻ｔ４においては、時刻ｔ１と同様の処理が行われる。
【００４８】
すなわち、図８に示される例では、例えば、時刻ｔ２，ｔ３，ｔ４で発生した入力イベントで、インタフェースＳ／Ｗ１１２は、シミュレーションＳ／Ｗ１１１から転送された入力データをメモリ１２１にそれぞれ転送し、演算装置１２４は、メモリ１２１から入力データをそれぞれ入力する。そのため、演算装置１２４は、合計で３個の入力データを入力する。このとき、演算装置１２４は、１個目と２個目の入力データを入力すると、その後、動作を停止する。また、演算装置１２４は、３個目の入力データを入力すると、その入力に応答して、メモリ１２１に出力データを転送し、その後、動作を停止する。メモリ１２１に転送された出力データは、以降に発生する出力イベントで、インタフェースＳ／Ｗ１１２に入力され、シミュレーションＳ／Ｗ１１１に転送される。
【００４９】
＜実施の形態１の効果＞
上述したように本実施の形態１によれば、動作状態指定部１２５は、モデルパラメータ１１３が示すシミュレーションＳ／Ｗ１１１の入力時間単位及び出力時間単位を基に、演算装置１２４の入力処理の回数に対する出力処理の回数を示す動作状態を指定し、複数回実行制御部１２６は、動作状態指定部１２５により指定された動作状態を基に、演算装置１２４の入力処理及び出力処理の回数を制御すると共に、演算装置１２４の動作の停止を制御する。
【００５０】
これにより、演算装置１２４の入力処理及び出力処理の回数を適切に制御できるため、図５に示されるような、前回値の入力データを転送するという無駄な転送処理が生じることを回避できる。また、演算装置１２４の入力処理及び出力処理の回数を適切に制御することで、入力処理及び出力処理を実行する時間以外は演算装置１２４の動作を停止させることができる。また、演算装置１２４の動作を停止させるため、演算装置１２４は、シミュレーションＳ／Ｗ１１１の動作に合わせて低速動作する必要はなくなり、入力処理及び出力処理を高速動作で処理することができる。以上の結果、ＨＩＬシミュレーションシステム１のシステム全体の処理時間の短縮化を図ることができる。
【００５１】
また、演算装置１２４の動作を停止させるため、シミュレーションＳ／Ｗ１１１と演算装置１２４との間で転送タイミングの同期を取ることができる。また、インタフェースＳ／Ｗ１１２をライブラリ化すれば、ＨＩＬシミュレーションシステム１を使用するユーザーが実際の処理を意識することなく最適なハードウェア設定にすることができる。
【００５２】
＜実施の形態２＞
続いて、実施の形態２について説明する。
実施の形態１において、シミュレーションＳ／Ｗ１１１の処理速度に対して演算装置１２４の処理速度が非常に速い場合、メモリ１２１において、シミュレーションＳ／Ｗ１１１の転送処理とハードウェアＩ／Ｆ１２３の転送処理とが競合することがあり、その分だけシミュレーションＳ／Ｗ１１１は処理を遅らされている。
【００５３】
本実施の形態２は、メモリ１２１において、シミュレーションＳ／Ｗ１１１からの入力データの転送処理とハードウェアＩ／Ｆ１２３への入力データの転送処理とが競合する回数を減少させることで、シミュレーションＳ／Ｗ１１１の処理が遅れる回数を減少させるものである。
【００５４】
＜実施の形態２の構成＞
まず、図９を参照して、本実施の形態２に係るＨＩＬシミュレーションシステム１Ａの構成について説明する。
図９に示されるように、本実施の形態２に係るＨＩＬシミュレーションシステム１Ａは、図６に示される実施の形態１に係るＨＩＬシミュレーションシステム１と比較して、ハードウェア１２として、入力バッファ１２７を追加した構成になっている。
【００５５】
入力バッファ１２７は、演算装置１２４のインタフェース部分に設けられ、演算装置１２４が入力データを入力する前にその入力データを一時的に格納するバッファである。入力バッファ１２７は、メモリ１２１から演算装置１２４に対して、複数個の入力データを一括してバースト転送するために設けられている。また、このときの転送バースト長は、複数個の入力データを一括して転送することができるように、モデルパラメータ１１３が示すシミュレーションＳ／Ｗ１１１の入力時間単位及び出力時間単位を基に設定される。
【００５６】
＜実施の形態２の動作＞
次に、図１０を参照して、本実施の形態２に係るＨＩＬシミュレーションシステム１Ａの動作について説明する。図１０に示される例では、シミュレーションＳ／Ｗ１１１の出力時間単位が入力時間単位と比べて長くなっている。具体的には、図１０に示される例では、「入力時間単位と出力時間単位との比率が１対３」になっており、このことがモデルパラメータ１１３にて示されている。そのため、動作状態指定部１２５は、演算装置１２４の動作状態として、「入力処理の回数と出力処理の回数との比率が３対１」という動作状態を指定しているものとする。また、メモリ１２１から演算装置１２４に対して入力データをバースト転送するときの転送バースト長は、３個の入力データ分のバースト長に設定されているものとする。
【００５７】
シミュレーションＳ／Ｗ１１１は、時刻ｔ１において、時間によるイベントトリガを受けると、インタフェースＳ／Ｗ１１２を呼び出す。インタフェースＳ／Ｗ１１２は、モデルパラメータ１１３を基に、イベントの内容を判断する。図１０に示される例では、モデルパラメータ１１３は、「入力時間単位と出力時間単位との比率が１対３」であることを示しているため、入力イベントは、毎回のイベントトリガで発生させ、出力イベントは、３回のイベントトリガに対して１回発生させることになる。
【００５８】
インタフェースＳ／Ｗ１１２は、時刻ｔ１においては、入力イベント及び出力イベントの両方を発生させると判断する。そのため、インタフェースＳ／Ｗ１１２は、まず、入力イベントを発生させ、シミュレーションＳ／Ｗ１１１から入力データをメモリ１２１に転送し、メモリ１２１に書き込む。続いて、インタフェースＳ／Ｗ１１２は、メモリ１２１に転送された入力データの個数が、転送バースト長に相当する３個になったか否かを判断する。ここでは、インタフェースＳ／Ｗ１１２は、メモリ１２１に転送された入力データの個数が３個になったと判断する。そのため、プロセッサ１２２は、インタフェースＳ／Ｗ１１２の制御の下で、メモリ１２１から３個の入力データを読み出してハードウェアＩ／Ｆ１２３にバースト転送する。ハードウェアＩ／Ｆ１２３は、プロセッサ１２２の制御の下で、プロセッサ１２２から転送された３個の入力データを演算装置１２４にバースト転送する。このとき、演算装置１２４は、３個の入力データを一度に処理できないため、３個の入力データを一時的に入力バッファ１２７に格納する。また、インタフェースＳ／Ｗ１１２は、入力データのメモリ１２１への転送の完了後、出力イベントを発生させ、以前の処理でメモリ１２１に書き込まれた出力データを読み出して入力し、シミュレーションＳ／Ｗ１１１に転送する。
【００５９】
複数回実行制御部１２６は、ハードウェアＩ／Ｆ１２３から転送された３個の入力データが入力バッファ１２７に格納されると、動作状態指定部１２５により指定された演算装置１２４の動作状態を確認する。ここでは、「入力処理の回数と出力処理の回数との比率が３対１」という動作状態が指定されている。そのため、複数回実行制御部１２６は、演算装置１２４に対し、入力バッファ１２７に格納された３個の入力データを１個ずつ入力する入力処理を３回実行させた後、出力データをハードウェアＩ／Ｆ１２３に転送する出力処理を１回実行させ、出力処理の完了後、演算装置１２４の動作を停止させる。演算装置１２４が出力処理を行うと、ハードウェアＩ／Ｆ１２３は、演算装置１２４から転送された出力データをメモリ１２１に転送し、プロセッサ１２２は、ハードウェアＩ／Ｆ１２３の制御の下で、ハードウェアＩ／Ｆ１２３から転送された出力データをメモリ１２１に書き込む。
【００６０】
シミュレーションＳ／Ｗ１１１は、時刻ｔ２において、時間による次のイベントトリガを受けると、インタフェースＳ／Ｗ１１２を呼び出す。インタフェースＳ／Ｗ１１２は、モデルパラメータ１１３を基に、イベントの内容を判断する。時刻ｔ２においては、インタフェースＳ／Ｗ１１２は、入力イベントのみを発生させると判断する。そのため、インタフェースＳ／Ｗ１１２は、入力イベントを発生させ、シミュレーションＳ／Ｗ１１１から転送された入力データをメモリ１２１に転送し、メモリ１２１に書き込む。続いて、インタフェースＳ／Ｗ１１２は、メモリ１２１に転送された入力データの個数が、転送バースト長に相当する３個になったか否かを判断する。ここでは、インタフェースＳ／Ｗ１１２は、メモリ１２１に転送された入力データの個数が３個になっていないと判断する。そのため、この時点では、入力データは、ハードウェアＩ／Ｆ１２３へ転送されず、３個の入力データがメモリ１２１に揃った時点で、３個の入力データがハードウェアＩ／Ｆ１２３にバースト転送されることになる。
以降、時刻ｔ３，ｔ５においては、時刻ｔ２と同様の処理が行われ、時刻ｔ４においては、時刻ｔ１と同様の処理が行われる。
【００６１】
すなわち、図１０に示される例では、例えば、時刻ｔ２，ｔ３，ｔ４で発生した入力イベントで、インタフェースＳ／Ｗ１１２は、シミュレーションＳ／Ｗ１１１から転送された入力データをメモリ１２１にそれぞれ転送し、プロセッサ１２２は、メモリ１２１に３個の入力データが転送された後に、３個の入力データを演算装置１２４にバースト転送する。演算装置１２４は、３個の入力データを一時的に入力バッファ１２７に格納し、入力バッファ１２７から３個の入力データを１個ずつ入力する。演算装置１２４は、３個目の入力データを入力すると、その入力に応答して、メモリ１２１に出力データを転送し、その後、動作を停止する。メモリ１２１に転送された出力データは、以降に発生する出力イベントで、インタフェースＳ／Ｗ１１２に入力され、シミュレーションＳ／Ｗ１１１に転送される。
【００６２】
＜実施の形態２の効果＞
上述したように本実施の形態２によれば、演算装置１２４のインタフェース部分に入力バッファ１２７を追加しているため、メモリ１２１から演算装置１２４に複数個の入力データが転送されてきた場合に、複数個の入力データを一時的に入力バッファ１２７に格納することができる。そこで、シミュレーションＳ／Ｗ１１１の出力時間単位が入力時間単位と比べて長い場合には、複数個の入力データを一括して、メモリ１２１から演算装置１２４にバースト転送することとしている。
【００６３】
これにより、メモリ１２１において、シミュレーションＳ／Ｗ１１１からの入力データの転送処理とハードウェアＩ／Ｆ１２３への入力データの転送処理とが競合する回数が減少する。その結果、シミュレーションＳ／Ｗ１１１の処理が遅れる回数を減少させることができるため、ＨＩＬシミュレーションシステム１Ａのシステム全体の処理時間のさらなる短縮化を図ることができる。
【００６４】
＜実施の形態３＞
続いて、実施の形態３について説明する。
実施の形態１において、シミュレーションＳ／Ｗ１１１の処理速度に対して演算装置１２４の処理速度が非常に速い場合、メモリ１２１において、シミュレーションＳ／Ｗ１１１の転送処理とハードウェアＩ／Ｆ１２３の転送処理とが競合することがあり、その分だけシミュレーションＳ／Ｗ１１１は処理を遅らされている。
【００６５】
本実施の形態３は、メモリ１２１において、シミュレーションＳ／Ｗ１１１への出力データの転送処理とハードウェアＩ／Ｆ１２３からの出力データの転送処理とが競合する回数を減少させることで、シミュレーションＳ／Ｗ１１１の処理が遅れる回数を減少させるものである。
【００６６】
＜実施の形態３の構成＞
まず、図１１を参照して、本実施の形態３に係るＨＩＬシミュレーションシステム１Ｂの構成について説明する。
図１１に示されるように、本実施の形態３に係るＨＩＬシミュレーションシステム１Ｂは、図６に示される実施の形態１に係るＨＩＬシミュレーションシステム１と比較して、ハードウェア１２として、出力バッファ１２８を追加した構成になっている。
【００６７】
出力バッファ１２８は、演算装置１２４のインタフェース部分に設けられ、演算装置１２４が出力した出力データを一時的に格納するバッファである。出力バッファ１２８は、演算装置１２４からメモリ１２１に対して、複数個の出力データを一括してバースト転送するために設けられている。また、このときの転送バースト長は、複数個の出力データを一括して転送することができるように、動作状態指定部１２５により指定された演算装置１２４の動作状態を基に設定される。
【００６８】
＜実施の形態３の動作＞
次に、図１２を参照して、本実施の形態３に係るＨＩＬシミュレーションシステム１Ｂの動作について説明する。図１２に示される例では、シミュレーションＳ／Ｗ１１１の入力時間単位が出力時間単位と比べて長くなっている。具体的には、図１２に示される例では、「入力時間単位と出力時間単位との比率が３対１」になっており、このことがモデルパラメータ１１３にて示されている。そのため、動作状態指定部１２５は、演算装置１２４の動作状態として、「入力処理の回数と出力処理の回数との比率が１対３」という動作状態を指定しているものとする。また、演算装置１２４からメモリ１２１に対して出力データをバースト転送するときの転送バースト長は、３個の出力データ分のバースト長に設定されているものとする。
【００６９】
シミュレーションＳ／Ｗ１１１は、時刻ｔ１において、時間によるイベントトリガを受けると、インタフェースＳ／Ｗ１１２を呼び出す。インタフェースＳ／Ｗ１１２は、モデルパラメータ１１３を基に、イベントの内容を判断する。図１２に示される例では、モデルパラメータ１１３は、「入力時間単位と出力時間単位との比率が３対１」であることを示しているため、出力イベントは、毎回のイベントトリガで発生させ、入力イベントは、３回のイベントトリガに対して１回発生させることになる。
【００７０】
インタフェースＳ／Ｗ１１２は、時刻ｔ１においては、出力イベント及び入力イベントの両方を発生させると判断する。そのため、インタフェースＳ／Ｗ１１２は、まず、入力イベントを発生させ、シミュレーションＳ／Ｗ１１１から転送された入力データをメモリ１２１に転送し、メモリ１２１に書き込む。プロセッサ１２２は、インタフェースＳ／Ｗ１１２の制御の下で、メモリ１２１から入力データを読み出してハードウェアＩ／Ｆ１２３に転送する。ハードウェアＩ／Ｆ１２３は、プロセッサ１２２の制御の下で、プロセッサ１２２から転送された入力データを演算装置１２４に転送する。また、インタフェースＳ／Ｗ１１２は、入力データのメモリ１２１への転送の完了後、出力イベントを発生させ、以前の処理でメモリ１２１に書き込まれた１個の出力デーを読み出して入力し、シミュレーションＳ／Ｗ１１１に転送する。
【００７１】
複数回実行制御部１２６は、ハードウェアＩ／Ｆ１２３から入力データが転送されると、動作状態指定部１２５により指定された演算装置１２４の動作状態を確認する。ここでは、「入力処理の回数と出力処理の回数との比率が１対３」という動作状態が指定されている。そのため、複数回実行制御部１２６は、演算装置１２４に対し、ハードウェアＩ／Ｆ１２３から転送された入力データを入力する入力処理を１回実行させた後、出力データを出力バッファ１２８に転送して格納する出力処理を３回実行させる。そして、複数回実行制御部１２６は、３回の出力処理の完了後、演算装置１２４の動作を停止させる。演算装置１２４が出力処理を行う度に、出力バッファ１２８は、出力バッファ１２８に転送された出力データの個数が、転送バースト長に相当する３個になったか否かを判断する。そして、出力バッファ１２８は、出力バッファ１２８に転送された入力データの個数が３個になった時点で、３個の出力データを一括してハードウェアＩ／Ｆ１２３にバースト転送する。ハードウェアＩ／Ｆ１２３は、出力バッファ１２８から転送された３個の出力データをメモリ１２１にバースト転送し、プロセッサ１２２は、ハードウェアＩ／Ｆ１２３の制御の下で、ハードウェアＩ／Ｆ１２３から転送された３個の出力データをメモリ１２１に書き込む。
【００７２】
シミュレーションＳ／Ｗ１１１は、時刻ｔ２において、時間による次のイベントトリガを受けると、インタフェースＳ／Ｗ１１２を呼び出す。インタフェースＳ／Ｗ１１２は、モデルパラメータ１１３を基に、イベントの内容を判断する。時刻ｔ２においては、インタフェースＳ／Ｗ１１２は、出力イベントのみを発生させると判断する。そのため、インタフェースＳ／Ｗ１１２は、出力イベントを発生させ、以前の処理でメモリ１２１に書き込まれた１個の出力データを読み出して入力し、シミュレーションＳ／Ｗ１１１に転送する。
以降、時刻ｔ３，ｔ５においては、時刻ｔ２と同様の処理が行われ、時刻ｔ４においては、時刻ｔ１と同様の処理が行われる。
【００７３】
すなわち、図１２に示される例では、例えば、時刻ｔ１で発生した入力イベントで、インタフェースＳ／Ｗ１１２は、シミュレーションＳ／Ｗ１１１から転送された入力データをメモリ１２１に転送し、演算装置１２４は、メモリ１２１から入力データを入力する。そして、演算装置１２４は、入力データの入力に応答して、出力バッファ１２８に３個の出力データをそれぞれ転送し、その後、動作を停止する。出力バッファ１２８は、出力バッファ１２８に３個の出力データが転送された後に、３個の出力データをメモリ１２１にバースト転送する。メモリ１２１に転送された３個の出力データは、以降の時刻ｔ２，ｔ３，ｔ４でそれぞれ発生した出力イベントで、インタフェースＳ／Ｗ１１２にそれぞれ入力され、シミュレーションＳ／Ｗ１１１にそれぞれ転送される。
【００７４】
＜実施の形態３の効果＞
上述したように本実施の形態３によれば、演算装置１２４のインタフェース部分に出力バッファ１２８を追加しているため、複数個の出力データを一時的に出力バッファ１２８に格納し、出力バッファ１２８からメモリ１２１に複数個の出力データを転送することができる。そこで、シミュレーションＳ／Ｗ１１１の入力時間単位が出力時間単位と比べて長い場合には、複数個の出力データを一括して、出力バッファ１２８からメモリ１２１にバースト転送することとしている。
【００７５】
これにより、メモリ１２１において、シミュレーションＳ／Ｗ１１１への出力データの転送処理とハードウェアＩ／Ｆ１２３からの出力データの転送処理とが競合する回数が減少する。その結果、シミュレーションＳ／Ｗ１１１の処理が遅れる回数を減少させることができるため、ＨＩＬシミュレーションシステム１Ｂのシステム全体の処理時間のさらなる短縮化を図ることができる。
【００７６】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
例えば、上述した実施の形態２，３は、別々の実施の形態として説明したが、これら実施の形態２，３同士を組み合わせて用いてもよい。
【符号の説明】
【００７７】
１，１Ａ，１Ｂ  ＨＩＬシミュレーションシステム
１１  ソフトウェア
１１１  シミュレーションＳ／Ｗ
１１２  インタフェースＳ／Ｗ
１１３  モデルパラメータ
１２  ハードウェア
１２１  メモリ
１２２  プロセッサ
１２３  ハードウェアＩ／Ｆ
１２４  演算装置
１２５  動作状態指定部
１２６  複数回実行制御部
１２７  入力バッファ
１２８  出力バッファ
【図１】
2018022317.tif 000003
【図２】
2018022317.tif 000004
【図３】
2018022317.tif 000005
【図４】
2018022317.tif 000006
【図５】
2018022317.tif 000007
【図６】
2018022317.tif 000008
【図７】
2018022317.tif 000009
【図８】
2018022317.tif 000010
【図９】
2018022317.tif 000011
【図１０】
2018022317.tif 000012
【図１１】
2018022317.tif 000013
【図１２】
2018022317.tif 000014