ターゲットプロセッサ上で動作するソフトウェアと、ハードウェアとの協調動作を検証するシミュレーション装置において、検証対象の前記ソフトウェアと、前記ハードウェアをシステムレベル設計言語で表現したハードウェアモデルの実行スケジューリングを行うスケジューラと、前記ソフトウェアの処理時間を前記シミュレーション装置上の処理時間をもとに算出するタイマと、を有し、前記スケジューラは、算出した前記ソフトウェアの処理時間をもとに、次のシミュレーションプロセスの開始を遅延させることを特徴とするシミュレーション装置。前記タイマは、前記シミュレーション装置のプロセッサと、前記ターゲットプロセッサとの性能差を換算して、前記ソフトウェアの処理時間を算出することを特徴とする請求項1記載のシミュレーション装置。前記スケジューラは、前記ハードウェアモデルの評価タイミングをイベントドリブンでスケジューリングし、前記ソフトウェアの実行中に、前記タイマの値をもとに次のイベント時間に達したことを検知すると、前記ソフトウェアの実行を停止し、スケジューリングされている他のシミュレーションプロセスを実行することを特徴とする請求項1または2記載のシミュレーション装置。入力される制御命令に応じて、前記タイマの機能を有効、または無効にするタイマ制御部を更に有することを特徴とする請求項1乃至3のいずれか一項に記載のシミュレーション装置。しかし、ISSを使用した従来のシミュレーション装置では、シミュレーションが1命令単位で命令を解釈し実行され、命令ごとにメモリアクセスが必要となり、スケジューラへの実行権の開放が頻繁に行われ、シミュレーションの実行に時間がかかるという問題があった。また、ISSを使用しない従来のシミュレーション装置では、ソフトウェアやハードウェアモデルが通信時などに直接スケジューラに実行権を開放するため、ソフトウェア内のハードウェアアクセス関数の呼び出しにより、実行権の開放が頻繁に行われる問題や、検証対象となるソフトウェアとハードウェアモデルの記述に依存して、シミュレーション速度や精度が固定されてしまう問題があった。また、検証対象のソフトウェアに制御点間の時間を入れる手法では、たとえば、C言語コードの10行程度に対して1回の頻度でwait時間制御文が追加されるため、シミュレーション性能が低下するという問題があった。また、従来では検証対象であるソフトウェアを変更しなければならなかったり、異なるOSへの移植が必要であり、手間がかかった。発明の一観点によれば、検証対象のソフトウェアと、ハードウェアをシステムレベル設計言語で表現したハードウェアモデルの実行スケジューリングを行うスケジューラと、前記ソフトウェアの処理時間をシミュレーション装置上の処理時間をもとに算出するタイマと、を有し、前記スケジューラは、算出した前記ソフトウェアの処理時間をもとに、次のシミュレーションプロセスの開始を遅延させるシミュレーション装置が提供される。上記の構成によれば、スケジューラは、タイマによって算出されたソフトウェアの処理時間をもとに、次のシミュレーションプロセスの開始を遅延させる。これにより、ソフトウェアの処理時間を考慮したハードウェアモデルとの協調検証が行われる。開示のシミュレーション装置によれば、シミュレーションの精度を上げることができる。以下、本発明の実施の形態を図面を参照して詳細に説明する。図1は、第1の実施の形態のシミュレーション装置の概略を示す図である。第1の実施の形態のシミュレーション装置は、ターゲットプロセッサ上で動作するソフトウェアと、ハードウェアとの協調動作を検証するものであり、フレームワーク10内に、擬似OS11、擬似CPU12、通信手段13を有している。また、スケジューラ20を有している。これらの構成は、いずれもSystemCなどのCベース言語で記述されたソフトウェア部品である。また、ハードウェアモデルHW1...HWnは、ターゲットシステムのハードウェアをSystemCなどで記述したものである。擬似OS11は、ターゲットプロセッサで使用するOSを模擬したものであり、擬似CPU12の制御のもと、検証対象ソフトウェアSWの実行をスケジューリングする機能などを有している。擬似OS11と検証対象ソフトウェアSW間の通信も、フレームワーク10内のAPIApplicationProgrammingInterface11aを用いて行う。このAPI11aは、ターゲットシステムに合わせて適宜変更することにより、検証対象ソフトウェアSWを特に変更することなく、ターゲットシステムのOSの変更などに対応させることができる。擬似CPU12は、ターゲットプロセッサを模擬したものであり、CPUの実行状態を模倣するとともに、割り込み処理を制御する。また、擬似OS11と連携して、検証対象ソフトウェアSWのスケジューリングに応じて、スケジューラ20への実行権の開放を制御する。たとえば、シミュレーション時間上のある時点で実行可能なアプリケーションタスクなどを全て実行し終えたらスケジューラ20に実行権を開放し、スケジューリングされた次のシミュレーションプロセスたとえばハードウェアモデルHWの実行などを実行可能にする。通信手段13は、ターゲットシステムの通信チャネルを模擬したものである。API13aを用いて、検証対象ソフトウェアSWと、ハードウェアモデルHW1...HWnとの通信や、ハードウェアモデルHW1...HWn間の通信を行う。さらに、通信手段13は、検証対象ソフトウェアSWと、ハードウェアモデルHW1...HWn間、またはハードウェアモデルHW1...HWn間の通信の抽象度のレベルを制御する。たとえば、シミュレーション速度を優先する場合は、トランザクションレベルの抽象度、シミュレーション精度を優先する場合は、バスサイクルアキュレートな抽象度で動作するよう切り替える。スケジューラ20は、フレームワーク10とハードウェアモデルHW1...HWnの実行スケジューリングを行う。具体的には、検証対象ソフトウェアSWなどを実行する擬似CPU12と、ハードウェアモデルHW1...HWnの評価タイミングを、イベントドリブンまたはタイミングドリブンともいうでスケジューリングする。なお、OSを使用しないソフトウェアの検証では、フレームワーク10内の擬似OS11を使用せず、擬似CPU12の制御で行われる。上記の構成によれば、検証対象ソフトウェアSWは、フレームワーク10内の擬似CPU12の制御のもと、擬似OS11の実行スケジューリングにしたがって実行される。スケジューラ20への実行権の開放は、擬似OS11の実行スケジューリングにしたがって、擬似CPU12の制御のもと行われる。そして、スケジューラ20の実行スケジューリングに応じてハードウェアモデルHW1...HWnのタスクを実行できるようにする。これによって、検証対象ソフトウェアSWと、ハードウェアモデルHW1...HWnの協調動作を実現できる。このような第1の実施の形態のシミュレーション装置によれば、検証対象ソフトウェアSWを変更せずに検証することができる。そして、従来のように、検証対象ソフトウェアSWに時間制御文などを挿入することで実行権の開放を行う場合に比べて、実行権開放の頻度を大幅に減少でき、シミュレーションを高速に行うことができる。通常、ISSを使用してソフトウェアとハードウェアの協調検証を行うシミュレーション装置では、ターゲットシステムの1/1000程度の速度となり性能が悪いという問題がある。ISSを使用しないシミュレーション装置でもソフトウェアに、時間制御文を挿入する方式では、そのオーバーヘッドによりターゲットシステムの1/10~1/100程度の速度である。しかし、上記のフレームワーク10を用いることにより、検証対象ソフトウェアSWを変更することなく、ターゲットシステムと同等またはそれ以上の速度たとえば、プラットホームとなるシミュレーション装置上のCPUの速度でシミュレーションを行うことができる。また、通信手段13により通信の抽象度を制御することにより、検証対象ソフトウェアSW、ハードウェアモデルHW1...HWnを変更せずにシミュレーションの精度や、シミュレーション速度を、目的に応じて変更することができる。また、上記のAPI11aにより、検証対象ソフトウェアSWを異なるOSに移植することなく検証することができる。なお、スケジューラ20は、フレームワーク10内に設けるようにしてもよい。ところで上記では、検証対象ソフトウェアSWの処理時間を考慮しない場合アンタイムドについて説明したが、以下に示すようにして、検証対象ソフトウェアSWを変更せずに、処理時間を考慮する方式タイムドにしてもよい。以下その仕組みを、第2の実施の形態のシミュレーション装置として説明する。図2は、第2の実施の形態のシミュレーション装置の概略を示す図である。第2の実施の形態のシミュレーション装置は、スケジューラ30と、スケジューラ30に内蔵されたタイマ制御部30a、タイマ30bを有している。スケジューラ30は、イベントドリブンにて、検証対象ソフトウェアSWと、ハードウェアモデルHW1...HWnの実行スケジューリングを行う。タイマ制御部30aは、外部から、たとえばユーザによって入力されるタイマ制御コマンドに応じて、タイマ30bの機能を有効、または無効にする。タイマ30bは、検証対象ソフトウェアSWの処理時間をシミュレーション装置たとえば、PCパーソナルコンピュータ上の処理時間から算出する。具体的には、ターゲットプロセッサと、シミュレーション装置上のプロセッサ以下ホストCPUと呼ぶとの性能差を換算して、検証対象ソフトウェアSWの処理時間を算出する。タイマ30bが有効の場合、スケジューラ30は、タイマ30bが算出した検証対象ソフトウェアSWの処理時間をもとに、次のシミュレーションプロセスの開始を遅延させる。また、検証対象ソフトウェアSWの実行中に、タイマ30bの値をもとに次のイベント時間に達したことをスケジューラ30が検知すると、スケジューラ30は、検証対象ソフトウェアSWの実行を停止し、スケジューリングされているハードウェアモデルHW1...HWnの実行を開始させる。また、タイマ機能を必要としない場合には、外部からのタイマ制御コマンドによりタイマ制御部30aの制御のもとタイマ30bが無効になり、検証対象ソフトウェアSWのタスクがWait状態となるまで検証対象ソフトウェアSWを実行する。上記の構成によれば、検証対象ソフトウェアを変更して時間制御文を挿入しなくとも、タイマ30bによって、検証対象ソフトウェアSWの処理時間を考慮した検証を行うことができ、精度の高いシミュレーションを行うことができる。また、性能評価などの場合はタイマ30bを有効に、機能検証だけの場合はタイマ30bを無効にするなどして、目的に応じて、シミュレーション精度またはシミュレーション速度を向上することができる。なお、ここでは、タイマ制御部30aとタイマ30bとをスケジューラ30内に設けているが、スケジューラ30外に設けてタイマ30bの値をスケジューラ30に渡すような構成にしてもよい。以下、本実施の形態のシミュレーション装置の詳細を説明する。図3は、シミュレーション装置の具体的なハードウェア構成である。シミュレーション装置50は、たとえばPCであり、ホストCPU51、ROMReadOnlyMemory52、RAMRandomAccessMemory53、HDDHardDiskDrive54、グラフィック処理部55、入力I/FInterface56、通信I/F57などによって構成され、これらはバス58を介して相互に接続されている。ここで、ホストCPU51は、ROM52や、HDD54に格納されているプログラムや、各種データに応じて各部を制御し、図1に示したフレームワーク10の各種機能や、スケジューラ20の機能を実現する。ROM52は、ホストCPU51が実行する基本的なプログラムやデータを格納している。RAM53は、ホストCPU51が実行途中のプログラムや、演算途中のデータを格納している。HDD54は、ホストCPU51が実行するOSたとえば、WindowsMicrosoftCorporationの登録商標や、シミュレーションプログラムや、検証対象ソフトウェアSW、ハードウェアモデルHW1...HWnなどの各種データを格納する。グラフィック処理部55には、表示装置として、たとえば、ディスプレイ55aが接続されており、ホストCPU51からの描画命令にしたがって、ディスプレイ55a上に、シミュレーション結果などを表示する。入力I/F56には、マウス56aやキーボード56bなどの入力装置が接続されており、ユーザにより入力された情報を受信し、バス58を介してホストCPU51に伝送する。通信I/F57は、たとえば、企業内のLANLocalAreaNetworkやWANWideAreaNetworkや、インターネットなどのネットワーク57aと接続して通信を行う。本実施の形態のシミュレーション装置は、図3のようなハードウェア構成により、以下のようなソフトウェア構成を実現する。図4は、シミュレーション装置の詳細なソフトウェア構成例を示す図である。なお、ここでは、図1と図2の機能を両方含めたシミュレーション装置のソフトウェア構成を示している。図中の黒矢印は、イベント通信を示しており、白抜きの矢印はその他の信号またはデータの流れを示している。検証対象ソフトウェアSWは、ターゲットシステム上で動作する組み込みソフトである。たとえば、Cベース言語で記述された各アプリケーションタスク、ISR割り込みサービスルーチン、デバイスドライバなどがある。ハードウェアモデルHWは、ターゲットシステムのハードウェアの機能をモデル化したものである。SystemC言語などで記述された各ハードウェアコンポーネントのトランザクションレベルのモデル、テストベンチなどを含む。モデルリング時に見積もり時間精度に基づいて動作タイミングが設定されている。なお、ここでは図示の簡略化のため、ハードウェアモデルHWを1つのみ示しているが、図1、図2のように複数あってもよい。フレームワーク60は、以下の各構成要素を含んでいる。V-RTOS61は、ターゲットプロセッサで使用するRTOSリアルタイムOSをモデル化した仮想的なRTOSである。図1の擬似OS11に相当する。RTOSサービスの他、検証対象ソフトウェアSWのスケジューリング機能OSスケジューラや、割り込み処理機能、I/O機能、ディスパッチ機能などを有している。データ伝送API62は、検証対象ソフトウェアSWがハードウェアモデルHWとの間でデータの読み書きを行うための機能を提供するAPIである。RTOSAPI63は、検証対象ソフトウェアSWがV-RTOS61と通信するための機能を提供するAPIである。ターゲットシステムのRTOSのAPIに合わせてカスタマイズすることができる。通信チャネル64は、検証対象ソフトウェアSWとハードウェアモデルHW間、または複数のハードウェアモデル間でのデータ通信用のチャネルである。トランザクションレベルでの通信機能データ通信、割り込み要求/応答などを提供する。通信方式は、Point-to-Pointか、BFMBusFunctionalModelかの選択が可能である。また、前述したように、通信の抽象度のレベルを制御して、シミュレーション速度を優先か、シミュレーション精度を優先かを切り替えることができる。外部I/F65は、外部シミュレーションモデルEMとのインターフェースである。なお、外部シミュレーションモデルEMとは、ターゲットシステムの外部の構成を模擬したシミュレーションモデルである。たとえば、DLLDynamicLinkLibraryとして用意された外部モデルや、フレームワーク60と同様の構成を有する他のフレームワークなどである。V-CPU66は、ターゲットプロセッサをモデル化した仮想的なCPUである。図1の擬似CPU12に対応する。割り込み処理などを行う。IRC割り込みコントローラ67は、ハードウェアモデルHWからの割り込みイベントを、V-CPU66に伝え、V-CPU66からの割り込み応答により割り込みイベントをクリアする。データ伝送API68は、ハードウェアモデルHWが、検証対象ソフトウェアSWあるいは他のハードウェアモデルHWとの間でデータの読み書きを行う機能を提供するAPIである。OSタイマ69は、ターゲットシステムのRTOSの時間管理に使用するタイマ機能をモデル化したものである。シミュレーション制御部70は、ユーザからの入力に応じてシミュレーションの開始、停止などを制御する。デバッグI/F71は、フレームワーク60の外部のデバッガ72とのインターフェースであり、フレームワーク60からデバッグに必要な情報をデバッガ72に渡す。以上が、本実施の形態のシミュレーション装置においてフレームワーク60内に備えられた機能である。これらは、SystemCなどのCベース言語により記述される。フレームワーク60外の構成要素を説明する。デバッガ72は、MULTI米国GreenHillsSoftwareIncの商標やVCMicrosoftCorporationの登録商標などによるソフトウェアデバッガである。フレームワーク60とは、デバッグI/F71を用いて通信する。デバッグ結果は、たとえば、GUIGraphicalUserInterfaceを用いて、図3で示したようなディスプレイ55aに表示する。スケジューラ73は、フレームワーク60とハードウェアモデルHWの評価タイミングをイベントドリブンでスケジューリングする。また、スケジューラ73は、タイマ73a及びタイマ制御部73bを有している。タイマ73aは、検証対象ソフトウェアSWの処理時間をシミュレーション装置上の処理時間を基に算出する。実際には、ターゲットプロセッサと、図3で示したようなホストCPU51との性能差を換算して、ターゲットプロセッサ上での検証対象ソフトウェアSWの処理時間を算出する。タイマ制御部73bは、たとえば、ユーザから入力されるタイマ制御コマンドに応じて、タイマ73aを有効または無効にする。機能検証などの精度優先の検証の場合にはタイマ73aを有効とし、検証速度優先の場合には無効とする。トレース出力部74は、RTOS動作トレースV-RTOS、組み込みソフト、割り込み動作状況のログ、通信イベントトレースRTOSAPI63の呼び出し、データ送受信、割り込みなどの通信イベントのログ、ハードウェアモデルHWのイベントトレース各ハードウェアコンポーネントの動作状態やI/Oアクセスのログなどを出力し、たとえば、GUIを用いて、図3で示したようなディスプレイ55aに表示させる。OS75は、シミュレーション装置のOSたとえば、Windowsである。エラーログ出力部76は、フレームワーク60のエラー違法な設定、制限事項違反などの検出結果、V-RTOS61のエラーAPI引数エラー、制限事項違反などの検出結果、通信エラープロトコル違反、リソースオーバーフロー、API引数エラー、制限事項違反などの検出結果、ハードウェアモデルHWのエラープロトコル違反、リソースオーバーフロー、制限事項違反などの検出結果、外部I/F65のエラー通信エラーの検出結果、デバッガ72のエラーMULTI/VCとの通信エラーの検出結果、SystemCシミュレータエラーSystemCシミュレータの例外事象の検出結果、プラットフォームエラーWindowsの例外事象の検出結果などを出力し、たとえば、GUIを用いて、図3で示したようなディスプレイ55aに表示させる。上記のような構成で、フレームワーク60内のRTOSAPI63や、IRC67、OSタイマ69などは、ターゲットシステムに合わせて適宜カスタマイズされて使用される。以下このようなシミュレーション装置の動作を説明する。まず、検証対象ソフトウェアSWのタスクの切り替え時の動作を説明する。図5は、タスクの切り替え時の動作を示すシーケンス図である。実行中のアプリケーションタスク以下タスクと略すAからタスクBへのタスク切り替え時の動作例を示している。実行中のタスクAが、タスクBを開始するRTOSAPI63であるTask_Startサービスをコールすると、RTOSAPI63を介してフレームワーク60内のOSスケジューラが呼び出される。OSスケジューラは、タスクAの状態をWait状態に設定し、タスクBの状態をRun状態に設定して、ディスパッチャを呼び出す。ディスパッチャは、スケジューラ73に対して、タスクBの開始要求:WakeupTaskBを発行する。スケジューラ73はこの要求を受け、タスクBを、実行すべきシミュレーションプロセスのキューに登録キューイングする。また、ディスパッチャは、スケジューラ73に対して、タスクAの実行停止要求:WaitTaskAを発行する。スケジューラ73はこの要求を受け、タスクAの実行を停止し、次に実行すべきシミュレーションプロセスのスケジューリングを行う。このとき、スケジューリング結果によっては、他のハードウェアモデルHWなどが先に実行される場合もある。スケジューリングの結果、先にキューイングされたタスクBが選択されると、ディスパッチャがWaitから復帰する。そして、OSスケジューラによってフレームワーク60に内蔵されたV-RTOS61で実行すべきタスクのスケジューリングが行われる。ハードウェアモデルHWからの割り込みがなければ、OSスケジューラは、先に設定されたタスクの状態タスクA:Wait状態、タスクB:Run状態にしたがって、タスクBを起動させる。次に、検証対象ソフトウェアSWからハードウェアモデルHWへの同期アクセス時の動作を説明する。図6は、検証対象ソフトウェアからハードウェアモデルへの同期アクセス時の動作を示すシーケンス図である。ここでは、検証対象ソフトウェアSWのタスクAからハードウェアモデルHWへの同期アクセス時の動作例を示している。実行中のタスクAが、ハードウェアモデルHWからデータを読み出すデータ伝送API62のData_Read同期サービスをコールすると、データ伝送API62を介してフレームワーク60内の通信チャネル64が呼び出される。通信チャネル64は、Data_Readのイベントを、スケジューラ73を介してハードウェアモデルHWに通知する。スケジューラ73は、イベントをシミュレーションプロセスのキューに登録キューイングし、次に実行すべきシミュレーションプロセスのスケジューリングを行う。このとき、複数のハードウェアモデルHWがある場合、スケジューリング結果によっては、他のハードウェアモデルHWなどが先に実行される場合もある。スケジューリングの結果、先にキューイングされたハードウェアモデルHWが選択されると、ハードウェアモデルHWのデータ読み出し機能が実行され、該当するデータが通信チャネル64に送出される。この処理が終了すると、スケジューラ73は、必要に応じてシミュレーションプロセスのキューに登録キューイングし、次に実行すべきシミュレーションプロセスのスケジューリングを行う。スケジューリングの結果、先にキューイングされたタスクAが選択されると、通信チャネル64からのデータの読み出しが行われ、データ伝送API62を通じて、タスクAに読み出しデータが渡される。次に、検証対象ソフトウェアSWからハードウェアモデルHWへの非同期アクセス時の動作を説明する。図7は、検証対象ソフトウェアからハードウェアモデルへの非同期アクセス時の動作を示すシーケンス図である。ここでは、検証対象ソフトウェアSWのタスクAからハードウェアモデルHWへの非同期アクセス時の動作を示している。実行中のハードウェアモデルHWが、データ伝送API68のData_Write非同期サービスをコールすると、データ伝送API68を介してフレームワーク60内の通信チャネル64が呼び出される。通信チャネル64は、Data_Writeのデータを通信チャネル64内に保持する。ハードウェアモデルHWのシミュレーションプロセスの実行を終了すると、スケジューラ73は、次に実行すべきシミュレーションプロセスのスケジューリングを行う。このとき、スケジューリング結果によっては、他のハードウェアモデルHWなどが先に実行される場合もある。スケジューリングの結果、先にキューイングされたタスクAが選択されると、タスクAの実行が再開される。タスクAの処理の中でデータ伝送API62のData_Read非同期データ読み出し機能が実行され、該当データが通信チャネル64から読み出される。次に、タイマ機能について説明する。図8は、タイマが無効の場合のシミュレーション装置の動作を示すシーケンス図である。ここでは、まず、タスクAとタスクBの処理が、図5で示したようなタスク切り替え処理によって実行された場合について図示されている。タスクAやタスクBに関する検証対象ソフトウェアSWのスケジューラ73上でのシミュレーション時間における遅延時間はゼロとなる。したがって、シミュレーション時間上のある時点で実行可能な全てのソフトウェア処理がシミュレーションされ、それらが終了するとスケジューラ73に戻る。スケジューラ73は、イベント時間のスケジューリングに基づいて次のシミュレーション時刻まで進める。図8の例では、ハードウェアモデルHWのシミュレーションプロセスが実行されている。その結果、割り込みが発生すると、スケジューラ73は割り込みイベントをキューイングする。ハードウェアモデルHWのシミュレーションプロセスの実行が終了すると、スケジューラ73は、イベント時間のスケジューリングに基づいて次のシミュレーション時刻まで進める。図8の例では、割り込みイベントにより、ISRのシミュレーションプロセスが実行される。ISRの実行が終了するとスケジューラ73に戻る。スケジューラ73は、イベント時間のスケジューリングに基づいて次のシミュレーション時刻まで進める。たとえば、ハードウェアモデルHWのシミュレーションプロセスが実行される。次に、タイマ73aが有効のときの動作を説明する。図9は、タイマが有効の場合のシミュレーション装置の動作を示すシーケンス図である。前述したように、タスクAやタスクBに関する検証対象ソフトウェアSWのスケジューラ73上でのシミュレーション時間上の遅延時間はゼロとなる。しかし、タイマ73aが有効の場合、タイマ73aは、シミュレーション装置上の処理時間から、ターゲットプロセッサとホストCPU51との性能差を換算して、シミュレーション時間上の検証対象ソフトウェアSWの処理時間を算出する。したがって、スケジューラ73は、シミュレーション時間上のある時点で開始されたソフトウェア処理のシミュレーションが終了した時点で、ソフトウェア処理に相当する遅延時間をシミュレーション時間上で進める。図9の例では、まずタスクAのシミュレーションプロセスが終了すると、そのソフトウェア処理に相当する遅延時間をシミュレーション時間上で進める。そして、スケジューラ73は、スケジューリングに基づいてそのシミュレーション時刻に実行すべきシミュレーションプロセスを実行する。図9の例では、タスクBのシミュレーションプロセスが実行される。タスクBのシミュレーションプロセスが終了すると、そのソフトウェア処理に相当する遅延時間をシミュレーション時間上で進める。そして、スケジューラ73は、スケジューリングに基づいて、そのシミュレーション時刻に実行すべきシミュレーションプロセスを決定する。たとえば、図9のようにハードウェアモデルHWのシミュレーションプロセスが実行される。その結果、割り込みが発生すると、スケジューラ73は割り込みイベントをキューイングする。ハードウェアモデルHWのシミュレーションプロセスの実行が終了すると、スケジューラ73は、イベント時間のスケジューリングに基づいて次のシミュレーションプロセスを実行させる。これにより、たとえば、割り込みイベントに基づきISRのシミュレーションプロセスが実行される。スケジューラ73は、ISRの実行中に、タイマ73aより次のイベント時間に達したことタイムアウトの通知を受けると、ISRのシミュレーションプロセスを停止する。そして、スケジューラ73は、当該シミュレーション時刻にスケジューリングされている、シミュレーションプロセス、たとえば図9のようにハードウェアモデルHWのシミュレーションプロセスを実行する。そして、ハードウェアモデルHWのシミュレーションプロセスの実行が終了すると、ISRのシミュレーションプロセスを再開する。このようなタイマ機能を用いると、検証対象ソフトウェアSWを変更して時間制御文などを挿入することなく、ソフトウェアの処理時間を考慮した精度のよいシミュレーションが可能になる。以上のように、本実施の形態のシミュレーション装置によれば、検証対象ソフトウェアSWを変更することなく、ハードウェアモデルHWとの協調検証を、シミュレーション速度やシミュレーション精度を検証目的に応じて向上させることができる。以上、本発明を実施の形態に基づいて説明したが、本発明は上記に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。たとえば、上記では1つの擬似CPUV-CPUを用いたが、マルチCPUに対応して複数設けるようにしてもよい。