JP4020849B2 - シミュレーション装置、シミュレーションプログラム、記録媒体及びシミュレーション方法 - Google Patents
シミュレーション装置、シミュレーションプログラム、記録媒体及びシミュレーション方法 Download PDFInfo
- Publication number
- JP4020849B2 JP4020849B2 JP2003334183A JP2003334183A JP4020849B2 JP 4020849 B2 JP4020849 B2 JP 4020849B2 JP 2003334183 A JP2003334183 A JP 2003334183A JP 2003334183 A JP2003334183 A JP 2003334183A JP 4020849 B2 JP4020849 B2 JP 4020849B2
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- unit
- circuit block
- shared resource
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2117/00—Details relating to the type or aim of the circuit design
- G06F2117/08—HW-SW co-design, e.g. HW-SW partitioning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
こうしたシステムLSIの開発では、システムLSIをチップ化する前の段階、すなわち、設計段階において、設計開発者がC/C++言語等を用いてそのシステムLSIの性能検証に適した抽象度の設計モデルを作成し、コンピュータ上でシミュレーションを行うのが一般的である。これは、チップ化した後に設計変更が生じないようにするためである。チップ化した後に設計変更が生じれば、当然、多大なコストが発生する。
サイクルベースシミュレーションとは、所定の周期、例えば、システムクロックの1周期に相当するタイミングを1サイクル時間として、サイクル時間毎にシステムの動作を計算してシミュレーションする手法のことをいう。システムクロック以外に、バスサイクルをサイクル時間としてシミュレーションするものであってもよい。
ここで、サイクルベースシミュレーションの具体例について説明する。
図10は、共有資源を介して2つのプロセッサ間でデータ転送を行うシステムの動作をサイクルベースでシミュレーションするシミュレーション装置の機能ブロックを表す図である。
シミュレーションカーネル1001は、1サイクル時間毎にサイクルベースモデル1002を呼び出して実行制御する機能を有する。図10の白抜き点線矢印は、シミュレーションカーネル1001が、1サイクル時間毎にサイクルベースモデル1002を呼び出している指示を表している。
図11は、シミュレーション装置1000に含まれる各機能部の動作タイミングチャートを示す図である。サイクルベースモデル1002は、1サイクル時間毎にシミュレーションカーネル1001から呼び出されて起動する。
プロセッサモジュール1005は、初期化動作(A1)を終えるとプロセッサコアモジュール1003からの初期化動作完了通知を待つ待機状態となる。
一方、プロセッサコアモジュール1003は、初期化動作(A2)を終えると、プロセッサモジュール1005に初期化動作完了を通知するためのパラメータを、共有資源モジュール1007に書き込むライトアクセスを行う(A3)。すなわち、プロセッサコアモジュール1003は、共有資源モジュール1007にライトリクエストを送信し、共有資源モジュール1007から応答があれば、書き込むパラメータのアドレスと値とを送信する。
拡張レジスタモジュール1004に割り込み要求が書き込まれたことにより、プロセッサモジュール1005は待機状態から実行状態に変わり(A5)、共有資源モジュール1007に書き込まれたパラメータを読み出すリードアクセスを行う(A6)。すなわち、プロセッサモジュール1005は、共有資源モジュール1007にリードリクエストを送信し、共有資源モジュール1007から応答があれば、読み出すパラメータのアドレスを送信する。共有資源モジュール1007は、指示されたアドレスにあるパラメータをプロセッサモジュール1005に転送する。
以上のように、シミュレーション装置1000は、2つのプロセッサ間で共有資源を介してデータ転送するシステムについて、サイクルベースシミュレーションを行う。
日経エレクトロニクス1993年6月7日号(no.582),pp.66−67
開発期間を短縮するのに、シミュレーション実行時間の短縮化は大変有効である。何故なら、大規模なシステムLSIについて抽象度の低い設計モデル(例えば、RTL(Register Transfer Level)モデル等)を用いてサイクルベースシミュレーションする場合、シミュレーションの実行開始から終了までに膨大な時間が費やされるのが一般的だからである。
また、本発明に係るシミュレーション方法は、特定の周期に基づいてそれぞれ動作する第1回路ブロックと第2回路ブロックとを含むシステムの動作をシミュレーションするシミュレーション方法であって、前記第1回路ブロックの動作を時間概念を含めてシミュレーションする第1シミュレーションステップと、前記第2回路ブロックの動作を時間概念を含まずにシミュレーションする第2シミュレーションステップと、所定の周期で前記第1シミュレーションステップを起動させる第1制御ステップと、前記第1回路ブロックから前記第2回路ブロックに対して発せられる処理要求に相当する要求情報を受け付ける受付ステップと、前記受付ステップにおいて前記要求情報が受け付けられた場合に、前記第2シミュレーションステップを起動させる第2制御ステップとを含むことを特徴とする。
尚、ここでいう時間概念とは、例えば、システムのシステムクロックやバスサイクル等である。
また、所定の周期で呼び出されて動作する第1シミュレーション手段からの処理要求に基づいて前記第2シミュレーション手段は起動させられるので、第2シミュレーション手段は、第1シミュレーション手段と必要最小限の同期を取りながら、シミュレーションを実行することができる。すなわち、システムシミュレーションに必要なシミュレーション精度は維持できる。
また、前記第1シミュレーション手段は、前記第2シミュレーション手段に対して前記第1回路ブロックから前記第2回路ブロックに対する処理要求に相当する要求情報を発してから、前記共有資源シミュレーション手段が、前記仲介手段より発せられた前記第2要求情報を受け付けるまでの間、前記共有資源シミュレーション手段にアクセスしないこととしてもよい。
また、前記仲介手段は、前記共有資源シミュレーション手段に前記第2要求情報を発する前に、アクセス要求を当該共有資源シミュレーション手段に対して通知する通知手段と、前記アクセス要求に対する前記共有資源シミュレーション手段からの応答の有無を判定する判定手段とを備え、前記判定手段により応答有りと判定された場合に、前記第2要求情報を前記共有資源シミュレーション手段に対して発し、前記判定手段により応答無しと判定された場合に、所定期間、当該第2要求情報を発するのを待ち、その後、再度前記通知手段によりアクセス要求を前記共有資源シミュレーション手段に通知し、前記共有資源シミュレーション手段は、前記通知手段によりアクセス要求の通知を受けると、前記共有資源に対するアクセスを許可するか否かを決定し、肯定的な決定を行う場合にのみ、応答する調停手段を備えることとしてもよい。
また、前記システムは、特定の周期に基づいて動作する第3回路ブロックを更に含むシステムであり、係るシステムの動作をシミュレーションする前記シミュレーション装置は、前記第3回路ブロックの動作を時間概念を含まずにシミュレーションする第3シミュレーション手段を更に備え、前記受付手段は、前記第1シミュレーション手段から前記第3シミュレーション手段に対して発せられた、前記第1回路ブロックから前記第3回路ブロックに対する処理要求に相当する第3要求情報を更に受け付け、前記第2制御手段は、前記受付手段が受け付けた情報が前記要求情報であれば、前記第2シミュレーション手段を起動させ、前記第3要求情報であれば、前記第3シミュレーション手段を起動させることとしてもよい。
また、前記システムは、特定の周期に基づいて動作する第3回路ブロックを更に含むシステムであり、係るシステムの動作をシミュレーションする前記シミュレーション装置は、前記第3回路ブロックの動作を時間概念を含まずにシミュレーションする第3シミュレーション手段を更に備え、前記第2シミュレーション手段は、前記第3シミュレーション手段を起動させる第3制御手段を備えることを特徴としてもよい。
また、前記第1制御手段により前記第1シミュレーション手段に対して所定の周期で繰り返しなされる起動制御の回数をカウントするサイクル計測手段を更に備え、前記第1制御手段は、シミュレーション実行開始時に前記第2シミュレーション手段を起動させ、前記第2シミュレーション手段は、自己のシミュレーション状態の移行タイミングをタイミング情報として予め記憶しており、前記第1制御手段により起動させられた際に、当該タイミング情報を前記サイクル計測手段に伝送し、前記サイクル計測手段は、前記第2シミュレーション手段から伝送されたタイミング情報と、カウントしている起動制御の回数に基づいて、前記第2制御手段に当該第2シミュレーション手段を起動させるタイミングを通知し、前記第2制御手段は、前記サイクル計測手段からの通知に基づいて前記第2シミュレーション手段を起動させることとしてもよい。
また、前記共有資源シミュレーション手段は、更に、詳細なシミュレーション情報を提示をすべきシミュレーション部分を指定する情報を記録する記録手段と、前記出力手段から前記ユーザインターフェース手段に出力すべきシミュレーション情報の制御を行う出力制御手段とを備え、前記ユーザインターフェース手段は、提示すべきシミュレーション情報の指定をユーザから受け付けて、当該指定を前記出力制御手段に通知し、前記出力制御手段は、詳細なシミュレーション情報を提示をすべきシミュレーション部分については、前記記録手段に記録された情報に基づいて詳細なシミュレーション情報を出力し、それ以外のシミュレーション部分については、前記ユーザインターフェース手段より通知されたユーザ指定に係るシミュレーション情報を出力する制御を行うこととしてもよい。
<構成>
図1は、シミュレーション装置1の機能構成を示す図である。
シミュレーション装置1は、背景技術において説明したシミュレーション装置1000と同様、共有資源を介して2つのプロセッサ間でデータ転送を行うシステムの動作をシミュレーションする。
ネイティブ型モデルとは、サイクルベースモデル3のようにシミュレーションカーネル2からサイクル時間毎の呼び出しを受けて動作するものではなく、サイクル時間という時間概念を含まずにシミュレーションするモデルである。具体的には、ネイティブ型モデル内の動作及び他の機能ブロックに対するデータ転送等に費やされるサイクル時間を考慮せず、すなわち、サイクル時間ゼロでシミュレーションする。
シミュレーション装置1は、CPU、メモリ、ハードディスク等を有するコンピュータであり、メモリ又はハードディスクに格納されているシミュレーションプログラムをCPUが実行することにより各機能を実現する。
また、図示していないが、シミュレーションカーネル2は、シミュレーション実行開始時に1度だけネイティブ型モデル4を呼び出す。
また、拡張レジスタモジュール6は拡張レジスタを、共有資源モジュール9は、共有メモリ、バスといった共有資源をサイクルベースモデル化したものである。
外部IF部7は、サイクルベースモデル3からネイティブ型モデル4に割り込み要求を送るための仲介をする機能部である。外部IF部7は、事前に登録されている拡張レジスタモジュール6のアドレスに対する書き込みを1サイクル毎にチェックして、割り込み要求の有無を確認する。
ネイティブ型モデル実行制御部11は、外部IF部7から割り込み要求を受けるとネイティブ型モデル4を起動させる制御機能を有する。具体的には、ネイティブ型モデル4が有する状態制御部12に対して状態移行要求を行う。
状態制御部12は、ネイティブ型モデル4の2つの状態、すなわち、実行状態と待機状態をフラグ等を用いて制御する機能部であり、ネイティブ型モデル実行制御部11から状態移行要求を受け付けると、待機状態から実行状態にネイティブ型モデル4を移行する。ネイティブ型モデル4の処理が終了すると、実行状態から待機状態に移行する。
割り込み制御部10は、ネイティブ型モデル4から発せられたプロセッサコアモジュール5への割り込み要求を受け付けて記録する機能部であり、割り込み要求を受け付けると、プロセッサコアモジュール5に通知する。
<動作>
次に、シミュレーション装置1によるシミュレーション動作について、タイミングチャートを用いて説明する。
シミュレーションが実行されると、ネイティブ型モデル4及びプロセッサコアモジュール5はそれぞれ初期化動作を行う(B1、C1)。ネイティブ型モデル4は、起動後直ちにプロセッサコアモジュール5からの初期化動作完了通知を待つ待機状態となる。
ライトアクセスは、背景技術で説明したのと同様である。すなわち、プロセッサコアモジュール5は、共有資源モジュール9にライトリクエストを送信し、共有資源モジュール9から応答があれば、書き込むパラメータのアドレスと値とを送信する。
拡張レジスタモジュール6に割り込み要求が書き込まれると、外部IF部7はこれを確認して直ちにネイティブ型モデル実行制御部11に割り込み要求を伝送する(B2)。
ネイティブ型モデル4は待機状態から実行状態に変わり、共有資源モジュール9に書き込まれているパラメータの読み出しを行うために共有資源IF部8にアクセスする(B4)。すなわち、共有資源モジュール9に書き込まれているパラメータのアドレスを送信する。
共有資源IF部8は、パラメータの値を受けると、直ちにネイティブ型モデル4にパラメータの値を伝送する(B6)。
ネイティブ型モデル4からパラメータとアドレスを受信した共有資源IF部8は、共有資源モジュール9の指定されたアドレスにパラメータ書き込む(B8)。パラメータの書き込みには数サイクル時間を要する(C5)。
これを受けたネイティブ型モデル4は、割り込み制御部10に対して割り込み要求を送る(B10)。
プロセッサコアモジュール5は割り込み制御部10に割り込み要求が書き込まれたことを受けて、待機状態から実行状態に変わり(C7)、共有資源モジュール9に書き込まれたパラメータを読み出すリードアクセスを行う(C8)。
プロセッサコアモジュール5は、共有資源モジュール9から転送されたパラメータに基づいて処理を行い(C9)、結果をパラメータとして共有資源モジュール9に書き込むライトアクセスを行う(C10)。続いて拡張レジスタモジュール6に割り込み要求を書き込む(C11)。その後、プロセッサコアモジュール5は、再びネイティブ型モデル4からプの指示を待つ待機状態となる。
ネイティブ型モデル実行制御部11は、外部IF部7から割り込み要求を受けると直ちにネイティブ型モデル4を起動させる(B13)。
ネイティブ型モデル4は待機状態から実行状態に変わり、次の指示を行う(B14)。
<変形例1>
次に、本発明に係るシミュレーション装置の変形例1について説明する。
変形例1に係るシミュレーション装置は、上述した図1に示すシミュレーション装置1とほぼ同様の構成を有しており、異なる点は、共有資源モジュールがアービタ部を有している点と共有資源IF部がアクセス要求部と応答判定部を有している点である。ここでは、異なる点についてのみ説明する。
共有資源モジュール9Aは、アービタ部91を有し、共有資源IF部8Aは、アクセス要求部81、応答判定部82を有する。
アービタ部91は、共有資源の使用権を調停するアービタをシミュレーションする機能部である。アクセス要求部81から共有資源モジュール9へのアクセス要求が通知されると、アクセスを許可するか否かの決定を行い、許可する場合に限り、共有資源IF部8Aに対して応答する。
応答判定部82は、アービタ部91から通知される、アクセス要求に対する応答の有無を判定する機能部である。
<動作>
次に、共有資源モジュール9Aに対する共有資源IF部8Aのアクセス要求動作について説明する。
まず、アクセス要求部81は、ネイティブ型モデル4から共有資源モジュール9へのパラメータ書き込み要求を受け付けると、アービタ部91に対してアクセス要求を通知する(ステップS1)。
ステップS2において、応答がなければ(ステップS2:NO)、1サイクル時間待ち(ステップS4)、再度アクセス要求を行う(ステップS1)。
<変形例2>
次に、本発明に係るシミュレーション装置の変形例2について説明する。
図5に示すシミュレーション装置1Aは、上述したシミュレーション装置1と機能的にはほとんど同じであるが、異なる点は、ネイティブ型モデル4Aが新たに追加されている点と、ネイティブ型モデル4Aが追加されたことに対応して、拡張レジスタモジュール6、外部IF部7及びネイティブ型モデル実効制御部11が、拡張レジスタモジュール6A、外部IF部7A及びネイティブ型モデル実効制御部11Aに変わった点である。
外部IF部7Aは、拡張レジスタモジュール6Aに対する書き込みを1サイクル時間毎にチェックして割り込み要求の有無を確認し、割り込み要求が書き込まれると、ネイティブ型モデル実行制御部11Aに割り込み要求が書き込まれたアドレスと対応するネイティブ型モデルを指定する情報を伝送する。
図5には、ネイティブ型モデルが2つのみ示されているが、更に多くのネイティブ型モデルを追加しても対応できる。
<変形例3>
次に、本発明に係るシミュレーション装置の変形例3について説明する。
図6に示すシミュレーション装置1Bは、上述したシミュレーション装置1と機能的にはほとんど同じであり、異なる点は、ネイティブ型モデル4がネイティブ型モデル4Cに変更され、ネイティブ型モデル4Bが新たに追加されている点である。
ネイティブ型モデル4Cは、スレーブプロセッサを模擬しており、ネイティブ型モデル4Bは、スレーブプロセッサの周辺ハードウェアであるDMAコントローラを模擬している。
ネイティブ型モデル4Bの状態制御部12Bは、制御部41の制御指示を受けて、ネイティブ型モデル4Bの状態制御を行う。
<変形例4>
次に、本発明に係るシミュレーション装置の変形例4について説明する。
図7に示すシミュレーション装置1Cは、上述したシミュレーション装置1と機能的にはほとんど同じであり、異なる点は、ネイティブ型モデル4がネイティブ型モデル4Dに変更され、サイクル計測部13が新たに追加されている点である。
変形例4のネイティブ型モデル4Dは、自己の実行状態への移行タイミング、待機状態への移行タイミングに関するタイミング情報を保持しており、シミュレーション実行開始時に、シミュレーションカーネル2より呼び出された際に、このタイミング情報をサイクル計測部13に伝送する。
この構成により、組み込み汎用リアルタイムOSに必要な周期ハンドラ機能やアラームハンドラ機能等のタイムイベント処理を、ネイティブ型モデルでシミュレーションすることができる。
<変形例5>
次に、本発明に係るシミュレーション装置の変形例5について説明する。
図8に示すシミュレーション装置1Eは、上述したシミュレーション装置1と機能的にはほとんど同じであり、異なる点は、ユーザインターフェース部17、情報出力制御IF部14が新たに追加され、共有資源モジュール9が共有資源モジュール9Dに変更された点である。
情報出力部15は、共有資源モジュール9Dの動作状態を表すシミュレーション情報を出力する機能部である。具体的には、共有資源に対する複数のバスマスタ(プロセッサコアやプロセッサ)からのアクセス情報等を出力する。
<変形例6>
次に、本発明に係るシミュレーション装置の変形例6について説明する。
図9に示すシミュレーション装置1Eは、上述したシミュレーション装置1と機能的にはほとんど同じであり、異なる点は、シミュレーション装置1Eの基本OS(Operating System)の機能部であるOSスレッド制御部20をシミュレーションの実行に用いている点と、図9に示す各ネイティブ型モデルをスレッドとして生成している点である。基本OSは、マルチタスクOSであればよく、例えば、Windows(登録商標)やUNIX(登録商標)等が挙げられる。
変形例6に係るシミュレーション装置1EのOSが、例えば、Windows(登録商標)XPであれば、OSスレッド制御部20は、各ネイティブ型モデルのスレッドをサスペンド状態にする場合は、SuspendThreadというAPI(Application Program Interface)機能を、実行状態にする場合は、ResumeThreadというAPI機能を用いてスレッド制御を行うことができる。
変形例6の構成により、フラグのポーリングにより各ネイティブ型モデルの状態制御を行う必要がない。
<補足>
なお、本発明は上述した内容に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)共有資源モジュール9に設定できるパラメータの内容が少ない場合は、外部IF部7にパラメータを持たせておき、拡張レジスタモジュール6に書き込まれる値によってパラメータが選択されるようなものであってもよい。
(2)変形例1で示した共有資源モジュール9は、ダイナミックRAMをシミュレーションしたものであってもよい。ダイナミックRAMは、定期的にリフレッシュ動作を行うので、この場合、前述したアービタ部91は、ダイナミックRAMにアクセスするためのIF部であるとして、ダイナミックRAMがリフレッシュ動作を行っているときは、アクセス不可、リフレッシュ動作を行っていないときは、アクセス可と決定し、アクセス可の場合に限り、共有資源IF部8Aに対して応答するものであってもよい。
(3)上述した実施の形態では、サイクルベースモデルやネイティブ型モデルをC/C++言語を用いて記述作成されているとしたが、これに限られず、Java(登録商標)やBASIC等他のプログラム言語を用いて記述作成されたものであってもよい。
(4)上述したプロセッサコアモジュール5は、パイプラインやキャッシュ動作まで正確にシミュレートするCAS(Cycle Accurate Simulator)であってもよい。
(5)本発明は、上述したシミュレーション装置が備える各機能を実現させるためのプログラムであるとしてもよい。このプログラムは、記録媒体に記録し又は各種通信路等を介して、流通させ頒布することができる。このような記録媒体には、ICカード、光ディスク、フレキシブルディスク、ROM等がある。
2、1001 シミュレーションカーネル
3、3C、3D、3E サイクルベースモデル
4、4A、4B、4E、4F、4G ネイティブ型モデル
5、1003 プロセッサコアモジュール
6、1004 拡張レジスタモジュール
7 外部IF部
8、8A、8E 共有資源IF部
9、9A、1007 共有資源モジュール
10、1006 割り込み制御部
11、11E ネイティブ型モデル実行制御部
12、12A、12B 状態制御部
13 サイクル計測部
14 情報出力制御IF部
15 情報出力部
16 情報出力制御レジスタ
17 ユーザインターフェース部
20 OSスレッド制御部
1005 プロセッサモジュール
Claims (13)
- 特定の周期に基づいてそれぞれ動作する第1回路ブロックと第2回路ブロックとを含むシステムの動作をシミュレーションするシミュレーション装置であって、
所定の周期の1周期に相当するタイミングを1サイクル時間として、サイクル時間単位で前記第1回路ブロックの動作のシミュレーションを行う第1シミュレーション手段と、
サイクル時間がゼロであるものとして前記第2回路ブロックの動作のシミュレーションを行う第2シミュレーション手段と、
所定周期で前記第1シミュレーション手段を起動させる第1制御手段と、
前記第1シミュレーション手段から前記第2シミュレーション手段に対して発せられる、前記第1回路ブロックから前記第2回路ブロックに対する処理要求に相当する要求情報を受け付ける受付手段と、
前記受付手段により前記要求情報が受け付けられた場合に、前記第2シミュレーション手段を起動させる第2制御手段とを備える
ことを特徴とするシミュレーション装置。 - 前記システムは、共有資源を介して前記第1回路ブロックと前記第2回路ブロックとの間でデータ転送を行うシステムであり、係るシステムの動作をシミュレーションする前記シミュレーション装置は、
前記共有資源をシミュレーションする共有資源シミュレーション手段と、
前記第2シミュレーション手段から前記第1シミュレーション手段に対して発せられた、前記第2回路ブロックから前記第1回路ブロックに対する処理要求に相当する第2要求情報を受け付けて、前記共有資源シミュレーション手段に当該第2要求情報を発する仲介手段とを更に備え、
前記共有資源シミュレーション手段が、前記仲介手段より発せられた前記第2要求情報を受け付けた場合に、前記第1シミュレーション手段は、当該共有資源シミュレーション手段にアクセスして第2要求情報を読み出す
ことを特徴とする請求項1に記載のシミュレーション装置。 - 前記第1シミュレーション手段は、前記第2シミュレーション手段に対して前記第1回路ブロックから前記第2回路ブロックに対する処理要求に相当する要求情報を発してから、前記共有資源シミュレーション手段が、前記仲介手段より発せられた前記第2要求情報を受け付けるまでの間、前記共有資源シミュレーション手段にアクセスしないことを特徴とする請求項2記載のシミュレーション装置。
- 前記仲介手段は、
前記共有資源シミュレーション手段に前記第2要求情報を発する前に、アクセス要求を当該共有資源シミュレーション手段に対して通知する通知手段と、
前記アクセス要求に対する前記共有資源シミュレーション手段からの応答の有無を判定する判定手段とを備え、
前記判定手段により応答有りと判定された場合に、前記第2要求情報を前記共有資源シミュレーション手段に対して発し、前記判定手段により応答無しと判定された場合に、所定期間、当該第2要求情報を発するのを待ち、その後、再度前記通知手段によりアクセス要求を前記共有資源シミュレーション手段に通知し、
前記共有資源シミュレーション手段は、
前記通知手段によりアクセス要求の通知を受けると、前記共有資源に対するアクセスを許可するか否かを決定し、肯定的な決定を行う場合にのみ、応答する調停手段を備える
ことを特徴とする請求項3に記載のシミュレーション装置。 - 前記システムは、特定の周期に基づいて動作する第3回路ブロックを更に含むシステムであり、係るシステムの動作をシミュレーションする前記シミュレーション装置は、
サイクル時間がゼロであるものとして前記第3回路ブロックの動作のシミュレーションを行う第3シミュレーション手段を更に備え、
前記受付手段は、前記第1シミュレーション手段から前記第3シミュレーション手段に対して発せられた、前記第1回路ブロックから前記第3回路ブロックに対する処理要求に相当する第3要求情報を更に受け付け、
前記第2制御手段は、前記受付手段が受け付けた情報が前記要求情報であれば、前記第2シミュレーション手段を起動させ、前記第3要求情報であれば、前記第3シミュレーション手段を起動させる
ことを特徴とする請求項1に記載のシミュレーション装置。 - 前記システムは、特定の周期に基づいて動作する第3回路ブロックを更に含むシステムであり、係るシステムの動作をシミュレーションする前記シミュレーション装置は、
サイクル時間がゼロであるものとして前記第3回路ブロックの動作のシミュレーションを行う第3シミュレーション手段を更に備え、
前記第2シミュレーション手段は、前記第3シミュレーション手段を起動させる第3制御手段を備える
ことを特徴とする請求項1に記載のシミュレーション装置。 - 前記第1制御手段により前記第1シミュレーション手段に対して所定の周期で繰り返しなされる起動制御の回数をカウントするサイクル計測手段を更に備え、
前記第1制御手段は、シミュレーション実行開始時に前記第2シミュレーション手段を起動させ、
前記第2シミュレーション手段は、自己のシミュレーション状態の移行タイミングをタイミング情報として予め記憶しており、前記第1制御手段により起動させられた際に、当該タイミング情報を前記サイクル計測手段に伝送し、
前記サイクル計測手段は、前記第2シミュレーション手段から伝送されたタイミング情報と、カウントしている起動制御の回数に基づいて、前記第2制御手段に当該第2シミュレーション手段を起動させるタイミングを通知し、
前記第2制御手段は、前記サイクル計測手段からの通知に基づいて前記第2シミュレーション手段を起動させる
ことを特徴とする請求項1に記載のシミュレーション装置。 - 前記共有資源シミュレーション手段によりなされるシミュレーションの結果をシミュレーション情報として出力する出力手段と、
出力されたシミュレーション情報をユーザに提示するユーザインターフェース手段とを更に備える
ことを特徴とする請求項2〜7のうちいずれか1項に記載のシミュレーション装置。 - 前記共有資源シミュレーション手段は、更に、
詳細なシミュレーション情報を提示すべきシミュレーション部分を指定する情報を記録する記録手段と、
前記出力手段から前記ユーザインターフェース手段に出力すべきシミュレーション情報の制御を行う出力制御手段とを備え、
前記ユーザインターフェース手段は、
提示すべきシミュレーション情報の指定をユーザから受け付けて、当該指定を前記出力制御手段に通知し、
前記出力制御手段は、詳細なシミュレーション情報を提示すべきシミュレーション部分については、前記記録手段に記録された情報に基づいて詳細なシミュレーション情報を出力し、それ以外のシミュレーション部分については、前記ユーザインターフェース手段より通知されたユーザ指定に係るシミュレーション情報を出力する制御を行う
ことを特徴とする請求項8に記載のシミュレーション装置。 - 前記シミュレーション装置は、マルチスレッドオペレーティングシステムを備えており、
前記第2シミュレーション手段及び前記第3シミュレーション手段はそれぞれ、マルチスレッド制御下における1スレッドとして実行状態が制御される
ことを特徴とする請求項5に記載のシミュレーション装置。 - 特定の周期に基づいてそれぞれ動作する第1回路ブロックと第2回路ブロックとを含むシステムの動作をシミュレーションするためにコンピュータを、
前記第1回路ブロックの動作を時間概念を含めてシミュレーションする第1シミュレーション手段、
前記第2回路ブロックの動作を時間概念を含まずにシミュレーションする第2シミュレーション手段、
所定の周期で前記第1シミュレーション手段を起動させる第1制御手段、
前記第1シミュレーション手段から前記第2シミュレーション手段に対して発せられた、前記第1回路ブロックから前記第2回路ブロックに対する処理要求に相当する要求情報を受け付ける受付手段、
前記受付手段により前記要求情報が受け付けられた場合に、前記第2シミュレーション手段を起動させる第2制御手段として機能させる
ことを特徴とするシミュレーションプログラム。 - 請求項11に記載のシミュレーションプログラムを記録したコンピュータ読み取り可能な記録媒体。
- 第1シミュレーション手段と、第2シミュレーション手段と、第1制御手段と、受付手段と、第2制御手段とを備えるシミュレーション装置において、特定の周期に基づいてそれぞれ動作する第1回路ブロックと第2回路ブロックとを含むシステムの動作をシミュレーションするシミュレーション方法であって、
前記第1制御手段が、所定の周期で前記第1シミュレーションステップを起動させる第1制御ステップと、
前記第1シミュレーション手段が、所定の周期の1周期に相当するタイミングを1サイクル時間として、サイクル時間単位で前記第1回路ブロックの動作のシミュレーションを行う第1シミュレーションステップと、
前記受付手段が、前記第1回路ブロックから前記第2回路ブロックに対して発せられる処理要求に相当する要求情報を受け付ける受付ステップと、
前記第2制御手段が、前記受付ステップにおいて前記要求情報が受け付けられた場合に、前記第2シミュレーションステップを起動させる第2制御ステップと、
前記第2シミュレーション手段が、サイクル時間がゼロであるものとして前記第2回路ブロックの動作のシミュレーションを行う第2シミュレーションステップとを含む
ことを特徴とするシミュレーション方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003334183A JP4020849B2 (ja) | 2003-09-25 | 2003-09-25 | シミュレーション装置、シミュレーションプログラム、記録媒体及びシミュレーション方法 |
CNB2004100376181A CN1312583C (zh) | 2003-09-25 | 2004-04-27 | 仿真装置和仿真方法 |
US10/857,027 US20050071145A1 (en) | 2003-09-25 | 2004-06-01 | Simulation apparatus, simulation program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003334183A JP4020849B2 (ja) | 2003-09-25 | 2003-09-25 | シミュレーション装置、シミュレーションプログラム、記録媒体及びシミュレーション方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005100174A JP2005100174A (ja) | 2005-04-14 |
JP4020849B2 true JP4020849B2 (ja) | 2007-12-12 |
Family
ID=34373153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003334183A Expired - Fee Related JP4020849B2 (ja) | 2003-09-25 | 2003-09-25 | シミュレーション装置、シミュレーションプログラム、記録媒体及びシミュレーション方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20050071145A1 (ja) |
JP (1) | JP4020849B2 (ja) |
CN (1) | CN1312583C (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8209158B1 (en) * | 2008-07-03 | 2012-06-26 | The Mathworks, Inc. | Processor-in-the-loop co-simulation of a model |
JP5347482B2 (ja) * | 2008-12-18 | 2013-11-20 | 富士通セミコンダクター株式会社 | 性能評価装置、性能評価方法及びシミュレーションプログラム |
JP2011129029A (ja) * | 2009-12-21 | 2011-06-30 | Elpida Memory Inc | 回路シミュレーション装置および過渡解析方法 |
CN102651044B (zh) * | 2012-03-31 | 2014-03-19 | 北京经纬恒润科技有限公司 | 一种仿真节点、多余度仿真计算机系统及方法 |
JP5920842B2 (ja) * | 2013-11-28 | 2016-05-18 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | シミュレーション装置、シミュレーション方法、およびプログラム |
TWI627521B (zh) * | 2017-06-07 | 2018-06-21 | 財團法人工業技術研究院 | 時序估算方法與模擬裝置 |
JP6859878B2 (ja) * | 2017-07-06 | 2021-04-14 | 富士通株式会社 | シミュレーションプログラム、方法、及び装置 |
JP2019200524A (ja) * | 2018-05-15 | 2019-11-21 | ルネサスエレクトロニクス株式会社 | プログラム、情報処理装置、および情報処理方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0628036B2 (ja) * | 1988-02-01 | 1994-04-13 | インターナショナル・ビジネス・マシーンズ・コーポレーシヨン | シミュレーシヨン方法 |
US5680590A (en) * | 1990-09-21 | 1997-10-21 | Parti; Michael | Simulation system and method of using same |
CA2051029C (en) * | 1990-11-30 | 1996-11-05 | Pradeep S. Sindhu | Arbitration of packet switched busses, including busses for shared memory multiprocessors |
DE69415593T2 (de) * | 1993-06-30 | 1999-05-20 | Microsoft Corp., Redmond, Wash. | Verfahren zur Überprüfung eines nachrichtengesteuerten Betriebssystems |
US5600579A (en) * | 1994-07-08 | 1997-02-04 | Apple Computer, Inc. | Hardware simulation and design verification system and method |
US5819072A (en) * | 1996-06-27 | 1998-10-06 | Unisys Corporation | Method of using a four-state simulator for testing integrated circuit designs having variable timing constraints |
US5818736A (en) * | 1996-10-01 | 1998-10-06 | Honeywell Inc. | System and method for simulating signal flow through a logic block pattern of a real time process control system |
US6134516A (en) * | 1997-05-02 | 2000-10-17 | Axis Systems, Inc. | Simulation server system and method |
US5913058A (en) * | 1997-09-30 | 1999-06-15 | Compaq Computer Corp. | System and method for using a real mode bios interface to read physical disk sectors after the operating system has loaded and before the operating system device drivers have loaded |
JP3746371B2 (ja) * | 1998-04-09 | 2006-02-15 | 株式会社日立製作所 | 性能シミュレーション方法 |
US6230114B1 (en) * | 1999-10-29 | 2001-05-08 | Vast Systems Technology Corporation | Hardware and software co-simulation including executing an analyzed user program |
JP3803019B2 (ja) * | 2000-08-21 | 2006-08-02 | 富士通株式会社 | 制御プログラム開発支援装置 |
US20020152061A1 (en) * | 2001-04-06 | 2002-10-17 | Shintaro Shimogori | Data processing system and design system |
US7036114B2 (en) * | 2001-08-17 | 2006-04-25 | Sun Microsystems, Inc. | Method and apparatus for cycle-based computation |
-
2003
- 2003-09-25 JP JP2003334183A patent/JP4020849B2/ja not_active Expired - Fee Related
-
2004
- 2004-04-27 CN CNB2004100376181A patent/CN1312583C/zh not_active Expired - Fee Related
- 2004-06-01 US US10/857,027 patent/US20050071145A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CN1312583C (zh) | 2007-04-25 |
US20050071145A1 (en) | 2005-03-31 |
JP2005100174A (ja) | 2005-04-14 |
CN1601473A (zh) | 2005-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8180620B2 (en) | Apparatus and method for performing hardware and software co-verification testing | |
US10318409B2 (en) | Application development environment for portable electronic devices | |
CN114580344B (zh) | 测试激励生成方法、验证方法、验证系统及相关设备 | |
US20120245916A1 (en) | Conveying data from a hardware device to a circuit simulation | |
JP4020849B2 (ja) | シミュレーション装置、シミュレーションプログラム、記録媒体及びシミュレーション方法 | |
CN112579508A (zh) | 一种数据处理方法、数据处理装置、设备及存储介质 | |
Honda et al. | RTOS-centric hardware/software cosimulator for embedded system design | |
JP2016525731A (ja) | プログラム試験サービス | |
JP2007011720A (ja) | システムシミュレータ、システムシミュレート方法、制御プログラムおよび可読記録媒体 | |
US8250545B2 (en) | Associated apparatus and method for supporting development of semiconductor device | |
US20050144436A1 (en) | Multitasking system level platform for HW/SW co-verification | |
US6820219B1 (en) | Integrated testing method for concurrent testing of a number of computer components through software simulation | |
US20020083112A1 (en) | Apparatus and method of developing software for a multi-processor chip | |
CN116976277A (zh) | 一种芯片模拟系统 | |
US20060052995A1 (en) | Simulation apparatus and method | |
JP6667733B2 (ja) | シミュレーション装置、シミュレーション方法およびシミュレーションプログラム | |
JP2011039781A (ja) | 協調シミュレーション装置及びシミュレーション方法 | |
US20120191444A1 (en) | Simulation device, simulation method, and computer program therefor | |
US11392406B1 (en) | Alternative interrupt reporting channels for microcontroller access devices | |
JP2014194746A (ja) | シミュレーション装置及びシミュレーション方法及びプログラム | |
JP2007052783A (ja) | データ処理装置のシミュレーション | |
JP2012043083A (ja) | 競合試験装置 | |
CN114385524A (zh) | 嵌入式固件仿真系统及其方法、装置和电子设备 | |
CN117251118B (zh) | 支持虚拟NVMe仿真与集成方法及系统 | |
TW200426594A (en) | Method for dynamically arranging an operating speed of a microprocessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070320 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070518 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070828 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070925 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101005 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |