JP2011081560A - システムレベルシミュレーション方法および装置 - Google Patents
システムレベルシミュレーション方法および装置 Download PDFInfo
- Publication number
- JP2011081560A JP2011081560A JP2009232716A JP2009232716A JP2011081560A JP 2011081560 A JP2011081560 A JP 2011081560A JP 2009232716 A JP2009232716 A JP 2009232716A JP 2009232716 A JP2009232716 A JP 2009232716A JP 2011081560 A JP2011081560 A JP 2011081560A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- module
- unit
- interface
- input
- 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.)
- Withdrawn
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】電子システム内の一部を削除したモデルを作成してシミュレーションを行うシステムレベルシミュレーションにおけるトランザクション作成の負担軽減。
【解決手段】複数のモジュール21,22, 23, 25を備える電子システム20をシステムレベルでシミュレーションするシステムレベルシミュレーション方法で、対象モジュール21と他のモジュールとの間にトランザクション再生器40を配置し、1回目のシミュレーションでは、対象モジュールトランザクション再生器へ入力されるトランザクション情報を監視して、トランザクショントレース情報として記憶し、2回目以降のシミュレーションでは、対象モジュールの少なくとも一部の機能を停止し、トランザクショントレース情報から生成したトランザクションを、対象モジュールおよび他のモジュールに出力する。
【選択図】図4
【解決手段】複数のモジュール21,22, 23, 25を備える電子システム20をシステムレベルでシミュレーションするシステムレベルシミュレーション方法で、対象モジュール21と他のモジュールとの間にトランザクション再生器40を配置し、1回目のシミュレーションでは、対象モジュールトランザクション再生器へ入力されるトランザクション情報を監視して、トランザクショントレース情報として記憶し、2回目以降のシミュレーションでは、対象モジュールの少なくとも一部の機能を停止し、トランザクショントレース情報から生成したトランザクションを、対象モジュールおよび他のモジュールに出力する。
【選択図】図4
Description
本発明は、複数のモジュールを備える電子システムをシステムレベルでシミュレーションするシステムレベルシミュレーション方法および装置に関する。
組み込み用LSI、1チップのLSIにシステムを搭載したシステム・オン・チップ(SoC)、および家電機器や携帯機器などに組み込まれるマイクロプロセッサ(CPU、MPU)を有する電子機器のシステムなどが、広く使用されている。これらの電子制御・電子処理システムを、ここでは電子システムと称する。
図1は、電子システム20の基本構成を示す図である。図1に示すように、電子システム20は、CPU21と、メインメモリ22と、周辺デバイス23と、クロック発生器24と、バス25と、を備える。CPU21、メインメモリ22および周辺デバイス23は、バス25を介して接続され、クロック発生器24から供給されるクロックに同期して動作する。図1に示した例は、電子システム20の基本構成であり、複数の周辺デバイスが設けられ、メインメモリ22のほかにキャッシュメモリなどが設けられ、バスも多重に設けられる場合がある。
このような電子システムを開発する作業工程では、電子システムの動作を、電子システムレベル(ESL)で模擬的に検証するシステムレベルシミュレーションが行われる。このシステムレベルシミュレーションは、システム内に含まれる電子装置・ハードウエアをモデル化して、シミュレーション装置(シミュレータ)を利用して行う。
シミュレータは、コンピュータのハードウエアとおよびソフトウエアにより実現される。図2は、広く知られているコンピュータ31のハードウエア構成を示す図である。図2に示すように、コンピュータ31は、CPU11と、メモリ12と、記憶装置13と、表示装置14と、入力装置15と、外部メモリであるディスク装置17を駆動するドライブ装置16と、バス18と、を備える。コンピュータについての説明は省略する。
図3は、コンピュータ上で実現されるシミュレータ30の基本構成およびシミュレータによりシミュレーションされる電子システム20を示す図である。
図3に示すように、シミュレータ30は、ハードウエアであるコンピュータ(ホストマシン)31にソフトウエアを搭載して実現される。搭載されるソフトウエアは、ホストマシンのOS32と、システムのハードウエア記述言語であるSystem Cで記載されたSystem Cライブラリ33と、電子システムレベル(ESL)シミュレータ34と、シミュレーション制御ツール35と、CPUデバッガ36と、を備える。シミュレーション対象の電子システム20は、シミュレータ30上に仮想的に実現される。
図3に示すように、電子システム20がCPU21を備える場合には、CPU21をモデル化して、CPU21以外の部分のハードウエアモデルに組み込み、そのハードウエアモデル内において、CPU21上でソフトウエアを動作させてシミュレーションを行う。CPU21上でのソフトウエアの動作は、CPUデバッガ36を利用して行う。
システムレベルシミュレータは、複数の会社から提供されており、広く使用されている。ここでは、システムレベルシミュレータの一般的な説明は省略する。
シミュレーションの対象である電子システムが複雑でかつ大規模になると、その電子システムをシミュレーションするためのシミュレーション時間が長くなる。また、電子システムの規模が大きくなると、シミュレーションプロセスで必要なるメモリ量が増大する。
そこで、シミュレーション時間を短縮し、シミュレーションプロセスで必要になるメモリ量を削減するため、シミュレーションを行う電子システム内の一部を削除したモデルを作成してシミュレーションを行うことが提案されている。例えば、電子システムを、CPU21とCPU21以外のその他部分とに分割し、シミュレーション時にCPU21から出力するデータをトランザクションとして生成する。CPU21の動作を停止させた状態で、CPU21からトランザクションを出力し、このトランザクションを受けて動作するその他部分のシミュレーションを行う。また、シミュレーション時にその他部分からCPU21に入力するデータをトランザクションとして生成し、その他部分の動作を停止させた状態で、CPU21にトランザクションを入力し、このトランザクションを受けて動作するCPU21のシミュレーションを行う。一般的に、シミュレーション時間およびシミュレーションプロセスで必要なるメモリ量は、回路規模に応じて幾何級数的に増加するので、このようなシミュレーションであれば、シミュレーション時間およびメモリ量を削減できる。トランザクションは、これまでシミュレーションを行うオペレータが作成していた。
なお、上記の例で、その他部分をさらに複数の部分に分割する場合や、CPUを複数の部分に分割する場合もある。さらに、シミュレーションを行う場合に、ある部分の動作をまったく停止するのではなく、入出力インターフェース部分は動作させることもある。
いずれにしろ、電子システム内の一部を削除したモデルを作成してシミュレーションを行う場合、削減した部分の個数の2乗の数のモデルを作成する必要がある。シミュレーションモデルを複数個作成すると、モデルの管理が煩雑になり、トランザクション作成の負担も増大する。
実施形態は、電子システム内の一部を削除したモデルを作成してシミュレーションを行う場合に、トランザクション作成の負担が軽減されるシステムレベルシミュレーション方法および装置を記載する。
実施形態の第1の態様は、複数のモジュールを備える電子システムをシステムレベルでシミュレーションするシステムレベルシミュレーション方法であって、複数のモジュールのうちのモジュールから入力または出力されるトランザクション情報を監視または再生する対象となるモジュールと他のモジュールとの間にトランザクション再生器を配置し、1回目の電子システムのシミュレーションでは、トランザクション再生器が、対象モジュールからトランザクション再生器へ入力されるトランザクション情報を、トランザクション再生器で監視して、トランザクショントレース情報として記憶し、2回目以降の電子システムのシミュレーションでは、対象モジュールの少なくとも一部の機能を停止し、トランザクション再生器が、トランザクショントレース情報から生成したトランザクションを、対象モジュールおよび他のモジュールに出力する。
また、実施形態の第2の態様は、複数のモジュールを備える電子システムをシステムレベルでシミュレーションするシステムレベルシミュレーション装置であって、複数のモジュールのうちの対象モジュールと他のモジュールとの間に、入力トランザクションを監視して、トランザクショントレース情報として記憶した後、トランザクショントレース情報から生成したトランザクションを出力するトランザクション再生器を配置するトランザクション再生器配置部と、シミュレーション時に、トランザクション再生器が、対象モジュールとトランザクション再生器との間の入出力トランザクションを監視して、トランザクショントレース情報として記憶するように制御するトランザクションモニタ制御部と、シミュレーション時に、対象モジュールの少なくとも一部の機能を停止し、トランザクション再生器が、トランザクションを対象モジュールおよび他のモジュールに出力するように制御するトランザクション発生制御部と、を備える。
実施形態によれば、電子システム内の一部を削除したモデルを作成してシミュレーションを行う場合に、シミュレーションにより発生したデータをトレース情報として記憶し、トレース情報から生成したトランザクションを使用する。そのため、トランザクションを自動的に作成することが可能で、トランザクション作成の負担が軽減できる。
また、実施形態によれば、トランザクション再生器を配置するだけで、シミュレーションモデルの変更が可能で、トランザクションも容易に作成できるので、モデルの作成および管理が容易になる。
さらに、電子システム内の一部を削除したモデルを作成してシミュレーションを行う場合に得られる、シミュレーション時間の短縮およびメモリ量の削減の効果も同様に得られる。さらに、トランザクション再生器内部では、データを伝送時間ゼロで通過させるように設定できるため、トランザクション再生器の追加によるずれの発生などは生じない。言い換えれば、トランザクション再生器の配置により、シミュレーション精度が影響されることはない。
図4は、第1実施形態において、コンピュータ上で実現されるシミュレータ30の基本構成およびシミュレータによりシミュレーションされる電子システム20の構成を示す図である。
図4に示すように、シミュレータ30は、ハードウエアであるコンピュータ(ホストマシン)31にソフトウエアを搭載して実現される。搭載されるソフトウエアは、ホストマシンのOS32と、システムのハードウエア記述言語であるSystem Cで記載されたSystem Cライブラリ33と、電子システムレベル(ESL)シミュレータ34と、シミュレーション制御ツール35と、CPUデバッガ36と、を備える。第1実施形態では、シミュレーションの対象は、電子システム20であり、電子システム20は、シミュレータ30上に仮想的に実現される。
電子システム20は、CPU21と、メインメモリ22と、周辺デバイス23と、クロック発生器24と、バス25と、を備える。CPU21、メインメモリ22および周辺デバイス23は、バス25を介して接続され、クロック発生器24から供給されるクロックに同期して動作する。第1実施形態における電子システム20のシミュレーションでは、CPU21をモデル化して、CPU21以外の部分のハードウエアモデルに組み込み、そのハードウエアモデル内において、CPU21上でソフトウエアを動作させてシミュレーションを行う。CPU21上でのソフトウエアの動作は、CPUデバッガ36を利用して行う。
さらに、第1実施形態では、シミュレーションを容易に行うために、CPU21とバス25の間に、トランザクション再生器40を配置し、一部のシミュレーションを、CPU21の一部を停止させた状態で行う。ここでは、シミュレーション時に一部または全部を停止させるモジュールを対象モジュールと称する。従って、第1実施形態では、CPU21が対象モジュールである。トランザクション再生器40は、クロック発生器24からのクロックに同期して動作し、シミュレーション制御ツール35により制御される。第1実施形態のシミュレータは、トランザクション再生器40以外の部分は、広く使用されている一般的なシミュレータと同じである。ここでは、トランザクション再生器40に関係することのみを説明する。
図5は、第1実施形態で使用するトランザクション再生器40の構成を示す図である。図5に示すように、トランザクション再生器40は、第1インターフェース41と、第2インターフェース42と、トランザクションモニタリング記憶部43と、トランザクショントレース情報ファイルI/O44と、トランザクション発生部45と、トランザクションマージ部46と、トランザクションマスク部47と、トランザクション管理情報I/O48と、を備える。第1インターフェース41は、対象モジュールであるCPU21のインターフェースIF−Aに接続される。第2インターフェース42は、対象モジュール以外の他のモジュールであるバス(IF−B)25に接続される。また、第1インターフェース41は、トランザクションマスク部47およびトランザクションマージ部46を介して第2インターフェース42に接続される。トランザクションモニタリング記憶部43は、第1インターフェース41から入力されるデータをトランザクショントレース情報として記憶する。トランザクショントレース情報ファイルI/O44は、トランザクション再生器40の外部に設けられたトランザクショントレース情報ファイル49との間でトランザクショントレース情報を入出力する。トランザクション発生部45は、トランザクショントレース情報ファイルI/O44がトランザクショントレース情報ファイル49から読み出したトランザクショントレース情報からトランザクションを発生する。トランザクションマージ部46は、トランザクション発生部45が発生したトランザクションと、第1インターフェース41からのデータのいずれかを選択して第2インターフェース42にトランザクションとして出力する。トランザクションマスク部47は、第1インターフェース41からトランザクションマージ部46へのデータを伝送または遮断する。トランザクション管理情報I/O48は、トランザクション再生器40の外部に設けられたトランザクション管理情報ファイル50からトランザクション管理情報を読み出し、トランザクション管理情報に基づいて、トランザクションモニタリング記憶部43、トランザクション発生部45およびトランザクションマスク部47を制御する。
図6は、第1実施形態におけるシミュレーション動作を示すフローチャートである。
ステップ101では、対象モジュールであるCPU21を動作させる1回目のシミュレーションを行う。この時、CPU21以外の部分を動作させるか動作させないかは、シミュレーションの内容により適宜決定するが、バス25は、CPU21からの入力動作のみはシミュレーションすることが望ましい。この場合、トランザクションマスク部47は第1インターフェース41から出力されるデータを通過させ、トランザクションマージ部46はトランザクションマスク部47からのデータを第2インターフェースに出力するように制御される。これにより、CPU21から出力されるデータは、バス(IF−B)25に入力される。
ステップ102は、ステップ101と並列に行われ、CPU21を動作させることによりCPU21から出力されるデータが第1インターフェース41に入力される。トランザクションモニタリング記憶部43は、トランザクション管理情報I/O48から指示されたタイミングで、第1インターフェース41から出力されるデータをトランザクショントレース情報として記憶する。このトランザクショントレース情報は、トランザクショントレース情報ファイルI/O44からトランザクショントレース情報ファイル49に送信されて、記憶される。
なお、トランザクションモニタリング記憶部43によるデータの記憶は、必要に応じて複数回行われる。トランザクショントレース情報には、トランザクションモニタリング記憶部43を記憶したシミュレーションにおけるタイミングも合わせて記憶される。
ステップ101および102が、1回目のシミュレーションであり、CPU21から出力されるデータがトランザクショントレース情報として記憶される。以下、2回目以降のシミュレーションであるステップ103から106を適宜行う。
ステップ103では、対象モジュールであるCPU21を停止し、トランザクションマスク部47は、第1インターフェース41から出力されるデータを遮断するように制御される。これにより、第1インターフェース41からのデータは、トランザクションマスク部47で遮断され、トランザクションマージ部46に入力しないようになる。トランザクションマージ部46はトランザクション発生部45で生成されたトランザクションを第2インターフェース42に出力するように制御される。
ステップ104では、ステップ102でトランザクションモニタリング記憶部43がトランザクショントレース情報を記憶したモニタ時刻まで待機し、モニタ時刻になるとステップ105に進む。
ステップ105では、トランザクショントレース情報ファイルI/O44がトランザクショントレース情報ファイル49からトランザクショントレース情報を読み出す。そして、トランザクション発生部45が、トランザクショントレース情報に基づいてトランザクションを発生してトランザクションマージ部46に出力する。トランザクションマージ部46は、このトランザクションを第2インターフェース42からバス(IF−B)25に出力する。これにより、1回目のシミュレーションと同じタイミングでトランザクション(データ)がバス(IF−B)25に出力される。
ステップ106では、シミュレーションにおけるトランザクションのバス(IF−B)25への出力がすべて終了したかが判定され、終了していなければステップ104に戻り、終了していればシミュレーションを終了する。上記のように、トランザクションモニタリング記憶部43によるデータの記憶が複数回行われ、複数回分のトランザクショントレース情報が記憶される場合がある。その場合には、複数回分のトランザクショントレース情報から、複数回分のトランザクションが、記憶した時のシミュレーションにおけるタイミングも合わせて生成されて出力される。また、2回目以降のシミュレーションが1回のトランザクションの出力で終了せず、同じトランザクショントレース情報から同じトランザクションを発生して複数回出力される場合もある。
以上説明したように、第1実施形態では、1回目のシミュレーションで、CPU21のみを動作させるかまたはCPU21およびバス25を動作させ、2回目以降のシミュレーションで、CPU21以外の部分を動作させる。2回目以降のシミュレーションで必要なCPU21からのトランザクションは、1回目のシミュレーションでトランザクション再生器40により自動的に生成して記憶される。したがって、2回目以降のシミュレーションで必要なCPU21からのトランザクションを容易に生成できる。そして、2回目以降のシミュレーションは、生成したトランザクションを使用して実行できる。2回目以降のシミュレーションは、CPU21を動作させないので、シミュレーション時間が短く、少ないメモリ量で実行できる。
第1実施形態では、トランザクションがバス(IF−B)25に出力されるタイミングは、1回目のシミュレーションでトランザクショントレース情報をモニタしたのと同じタイミングであった。しかし、2回目以降のシミュレーションでは、モニタしたのと同じタイミングではなく、必要に応じて出力タイミングを変更することが望ましい。以下、トランザクションの出力タイミングの変形例を、図7を参照して説明する。
図7の(A)は、図6のステップ104において、モニタした時刻に指定された時間を加えた時刻になるまで待機する例を示す。加える時間は、例えば、オペレータが指定するか、CPU21以外の部分のシミュレーションで発生した時間ずれに応じて自動的に指定される。
図7の(B)は、図6のステップ104において、外部からトリガが入力されるまで待機する例を示す。トリガは、例えば、CPU21以外の部分のシミュレーションで、CPU21からのトランザクションが必要になった時に発生される。
また、2回目以降のシミュレーションでは、CPU21からのトランザクションが周期的に必要になる場合がある。
前述のように、図6のステップ102では、トランザクションモニタリング記憶部43によるデータの記憶が、必要に応じて複数回行われ、記憶タイミングがトランザクショントレース情報に記憶される。そして、図6のステップ102でモニタした時間に合わせてトランザクションが出力される。従って、モニタする時間間隔が一定であれば、トランザクションが周期的に出力される。
外部から時間間隔を指定することも可能であり、図7の(C)は、このような場合の例を示す。図6のステップ104において、指定された時間待機した後、ステップ105で、トランザクションを第2インターフェース42に出力する。ステップ106で、トランザクションの出力を継続するか判定し、継続する場合にはステップ104に戻る。これにより、指定された時間で周期的にトランザクションが出力される。
なお、2回目以降のシミュレーションで、CPU21からの出力タイミングが変動しても、CPU21以外の部分が正常に動作するかシミュレーションする場合がある。そのような場合には、図7の(C)のステップ104で、指定時間を変動させる。具体的には、指定時間間隔に、指定した時間幅内で任意に変化する時間間隔を加えた時刻まで待機する。例えば、指定時間間隔を0.9msとし、それに0.2ms内でランダムに変化する時間間隔を加えた時間待機する。
トランザクションの出力タイミングについて説明したが、他にも各種の変形例が可能であるのは言うまでもない。
図8は、第2実施形態で使用するトランザクション再生器40の構成を示す図である。第1実施形態では、2回目以降のシミュレーションで対象モジュール(モジュールA)であるCPU21の動作を停止したが、第2実施形態では、2回目以降のシミュレーションで、CPU21はデータの入力動作は行うことが異なる。
図8に示すように、第2実施形態のトランザクション再生器40は、第1入出力インターフェース51Aと、第2入出力インターフェース51Bと、第1トランザクションモニタリング記憶部43Aと、第2トランザクションモニタリング記憶部43Bと、トランザクショントレース情報ファイルI/O44と、第1トランザクション発生部45Aと、第2トランザクション発生部45Bと、第1トランザクションマージ部46Aと、第2トランザクションマージ部46Bと、第1トランザクションマスク部47Aと、第2トランザクションマスク部47Bと、トランザクション管理情報I/O48と、を備える。
言い換えれば、第2実施形態は、第1実施形態と次のことが異なる。第1実施形態では、第1インターフェースは入力インターフェースで、第2インターフェースは出力インターフェースであったのに対して、第2実施形態では、第1および第2入出力インターフェース51A、51Bは入出力インターフェースである。さらに、第2実施形態では、第2トランザクションモニタリング記憶部43Bと、第2トランザクション発生部45Bと、第2トランザクションマージ部46Bと、第2トランザクションマスク部47Bと、が設けられている。
第1入出力インターフェース51Aは、対象モジュール(モジュールA)であるCPU21のインターフェースIF−Aに接続される。第2入出力インターフェース51Bは、対象モジュール以外の他のモジュール(モジュールB)であるバス(IF−B)25に接続される。第1トランザクションモニタリング記憶部43Aは、第1入出力インターフェース51Aから入力されるデータを第1トランザクショントレース情報Aとして記憶する。第2トランザクションモニタリング記憶部43Bは、第2入出力インターフェース51Bから入力されるデータを第2トランザクショントレース情報Bとして記憶する。トランザクショントレース情報ファイルI/O44は、トランザクション再生器40の外部に設けられたトランザクショントレース情報ファイル49との間で第1および第2トランザクショントレース情報A、Bを入出力する。第1トランザクション発生部45Aは、トランザクショントレース情報ファイルI/O44がトランザクショントレース情報ファイル49から読み出した第1トランザクショントレース情報Aから第1トランザクションAを発生する。第2トランザクション発生部45Bは、トランザクショントレース情報ファイルI/O44がトランザクショントレース情報ファイル49から読み出した第2トランザクショントレース情報Aから第1トランザクションBを発生する。第1トランザクションマージ部46Aは、第1トランザクション発生部45Aが発生した第1トランザクションAと、第1入出力インターフェース51Aからのデータのいずれかを選択して第2入出力インターフェース51Bにトランザクションとして出力する。第2トランザクションマージ部46Bは、第2トランザクション発生部45Bが発生した第2トランザクションBと、第2入出力インターフェース51Bからのデータのいずれかを選択して第1入出力インターフェース51Aにトランザクションとして出力する。第1トランザクションマスク部47Aは、第1入出力インターフェース51Aから第1トランザクションマージ部46Aへのデータを伝送または遮断する。第2トランザクションマスク部47Bは、第2入出力インターフェース51Bから第2トランザクションマージ部46Bへのデータを伝送または遮断する。トランザクション管理情報I/O48は、トランザクション再生器40の外部に設けられたトランザクション管理情報ファイル50からトランザクション管理情報を読み出し、トランザクション管理情報に基づいて、第1および第2トランザクションモニタリング記憶部43Aおよび43B、第1および第2トランザクション発生部45Aおよび45B、第1および第2トランザクションマスク部47Aおよび47Bを制御する。
図9は、第2実施形態におけるシミュレーション動作を示すフローチャートである。
ステップ201では、対象モジュールAであるCPU21および対象モジュール以外のモジュールでCPU21の動作に直接関係するモジュールBを動作させる1回目のシミュレーションを行う。この時、CPU21以外のどのモジュールを動作させるか動作させないかは、シミュレーションの負荷などを考慮して適宜決定する。この場合、第1および第2トランザクションマスク部47Aおよび47Bは、データをマスクせずに通過させる。また、第1トランザクションマージ部46Aは、第1トランザクションマスク部47Aからのデータを第2入出力インターフェース51Bに出力するように制御される。第2トランザクションマージ部46Bは、第2トランザクションマスク部47Bからのデータを第1入出力インターフェース51Aに出力するように制御される。これにより、CPU21から出力されるデータはバス(IF−B)25に入力され、バス(IF−B)25からのデータがCPU21に入力される。
ステップ202は、ステップ201と並列に行われ、CPU21から出力されるデータが第1入出力インターフェース51Aに入力され、(IF−B)25からのデータが第2入出力インターフェース51Bに入力される。第1トランザクションモニタリング記憶部43Aは、トランザクション管理情報I/O48から指示されたタイミングで、第1入出力インターフェース51Aから出力されるデータを第1トランザクショントレース情報Aとして記憶する。第2トランザクションモニタリング記憶部43Bは、トランザクション管理情報I/O48から指示されたタイミングで、第2入出力インターフェース51Bから出力されるデータを第2トランザクショントレース情報Bとして記憶する。このトランザクショントレース情報は、トランザクショントレース情報ファイルI/O44からトランザクショントレース情報ファイル49に送信されて、記憶される。ステップ202における動作タイミングなどは、第1実施形態と同様である。
ステップ201および202が、1回目のシミュレーションであり、2回目以降のシミュレーションであるステップ203および204を適宜行う。
ステップ203では、対象モジュールAであるCPU21の一部の動作を停止し、第1および第2トランザクションマスク部47Aおよび47Bがマスク動作を行う。これにより、第1および第2入出力インターフェース51Aおよび51Bからのデータは、第1および第2トランザクションマージ部46Aおよび46Bに入力しないようになる。第1トランザクションマージ部46Aは、第1トランザクション発生部45Aで生成されたトランザクションを、第2入出力インターフェース51Bに出力するように制御される。第2トランザクションマージ部46Bは、第2トランザクション発生部45Bで生成されたトランザクションを、第1入出力インターフェース51Aに出力するように制御される。
ステップ204では、ステップ202で記憶した第1トランザクショントレース情報Aおよび第2トランザクショントレース情報Bに基づいて第1トランザクションAおよび第2トランザクションBを発生して、適宜出力される。この場合、第1実施形態と同様に、適宜出力タイミングが調整される。
次に、第2実施形態におけるトランザクション管理情報について説明する。トランザクション管理情報は、メモリマップ情報ごとに、トランザクション管理情報を有するトランザクション情報テーブルで管理される。
図10は、トランザクション情報テーブルの例を示す図であり、(A)は1回目のシミュレーション時のテーブルの値を、(B)は2回目のシミュレーション時のテーブルの値を示す。
メモリマップ情報は、先頭メモリアドレスと、メモリ領域サイズと、で規定される複数のメモリ領域を備え、各メモリ領域に1回のモニタで生成されたトランザクショントレース情報が記憶される。上記のように、1回目のシミュレーションで、複数回データをモニタして複数回分のトランザクショントレース情報が記憶される場合には、各メモリ領域に順にトランザクショントレース情報が記憶される。
トランザクション情報テーブルは、各メモリ領域ごとに、トランザクションモニタ制御情報、トランザクションマスク情報およびトランザクション発生情報を規定する。トランザクションモニタ制御情報は、トランザクショントレース情報を取得して、その領域に記憶するか否かを規定する。トランザクションマスク情報は、その領域のトランザクショントレース情報を発生して出力するために、マスクするか否かを規定する。トランザクション発生情報は、その領域のトランザクショントレース情報に基づいてトランザクションを発生するか否かを規定する。
図10の(A)に示すように、1回目のシミュレーションでは、各メモリ領域のトランザクションモニタ制御情報をオンにし、トランザクションマスク情報およびトランザクション発生情報をオフにする。これにより、1回目のシミュレーションでトランザクショントレース情報が取得されて、各メモリ領域に記憶される。
図10の(B)に示すように、2回目のシミュレーションでは、1番目のメモリ領域のトランザクションモニタ制御情報をオフにし、トランザクションマスク情報およびトランザクション発生情報をオンにする。これにより、2回目のシミュレーションで、1回目のシミュレーションで取得されて1番目のメモリ領域に記憶されたトランザクショントレース情報に基づいてトランザクションが発生され、第2入出力インターフェース51Bから出力される。他のメモリ領域は、トランザクションモニタ制御情報がオン、トランザクションマスク情報およびトランザクション発生情報がオフの状態が維持される。これにより、2回目のシミュレーションで、トランザクショントレース情報が取得されて、2番目以降のメモリ領域に記憶される。
第2実施形態では、第1実施形態と同様の効果が得られる。
図11は、第2実施形態の変形例で使用するトランザクション再生器40の構成を示す図である。図11のトランザクション再生器40は、2つの入出力インターフェースを有し、2回目以降のシミュレーションで、第2入出力インターフェース51Bからのトランザクションの出力が行われるが、第1入出力インターフェース51Aからのトランザクションの出力は行わない場合に使用される。具体的には、第1実施形態のように2回目以降のシミュレーションで、対象モジュール(モジュールA)であるCPU21の動作を停止するシミュレーションに使用される。
図11に示すように、変形例のトランザクション再生器40は、図8の第2実施形態のトランザクション再生器40から、第2トランザクションモニタリング記憶部43Bと、第2トランザクション発生部45Bと、第2トランザクションマージ部46Bと、を除いた構成を有する。各部の動作は、第2実施形態と同じなので、詳しい説明は省略する。
図12は、第3実施形態で使用するトランザクション再生器40の構成を示す図である。第3実施形態のトランザクション再生器40は、3つの入出力インターフェースを備えることが、第2実施形態と異なる。
図12に示すように、第3実施形態のトランザクション再生器40は、図8の第2実施形態のトランザクション再生器40に、第3入出力インターフェース51Cと、第3トランザクションモニタリング記憶部43Cと、第3トランザクション発生部45Cと、第3トランザクションマージ部46Cと、第3トランザクションマスク部47Cと、第1出力トランザクションマスク部53Aと、第2出力トランザクションマスク部53Bと、第3出力トランザクションマスク部53Cと、インターコネクション部52と、を加えた構成を備える。第3入出力インターフェース51C、第3トランザクションモニタリング記憶部43C、第3トランザクション発生部45C、第3トランザクションマージ部46Cおよび第3トランザクションマスク部47Cは、第1および第2入出力インターフェース51A、51Bの対応する要素と同じ構成および機能を備える。
第1から第3出力トランザクションマスク部53A、53Bおよび53Cは、インターコネクション部52から、第1から第3入出力インターフェース51A、51Bおよび51Cへの経路にそれぞれ設けられる。第1から第3トランザクションマージ部46A、46Bおよび46Cの出力は、インターコネクション部52に入力され、インターコネクション部52で出力先が選択されて、第1から第3出力トランザクションマスク部53A、53Bおよび53Cのいずれかを介して、第1から第3入出力インターフェース51A、51Bおよび51Cのいずれかから出力される。インターコネクション部52で、出力先が選択される以外は、各部の動作は第2実施形態と同じなので、詳しい説明は省略する。
第1から第3実施形態では、CPU21と対象モジュール(モジュールA)としたが、他のモジュールを対象モジュールとする場合もある。
図13は、第1から第3実施形態で、対象モジュール(モジュールA)とされるモジュールの内部を、シミュレーション用に変更するための構成を示し、(A)はモジュールの内部構成を、(B)は変更するためのプログラム例を示す。なお、一般的に、シミュレーションにおいて、動作が停止され、トランザクションを出力するように変更されるモジュールをイニシエータと称するので、ここでもその用語を使用する。すなわち、図13は、イニシエータモジュールの構成を示す。
図13の(A)に示すように、イニシエータモジュール60は、イニシエータモジュール60の構成を記載するコンストラクタ61と、コンストラクタ61により記載された内部構成の動作を再現する内部動作部62と、外部に信号を出力するマスタ部63と、外部からの信号が入力されるスレーブ部64と、入出力インターフェース(IF)部65と、を備える。
図13の(B)に示すように、コンストラクタ61のプログラムは、通常動作の場合と、イニシエータモジュールとして動作するために停止する場合と、を記載する。通常動作の場合は従来通りの記載を行い、例えば内部動作部62およびマスタ部63などが使用するメモリ領域を確保する。これに対して、イニシエータモジュール60の動作を停止する場合には、コンストラクタ61は、内部動作部62およびマスタ部63などが使用するメモリ領域を確保しないようにし、マスタ部63を動作しないようにし、IF部65を動作させる。さらに、停止時には、コンストラクタ61は、スレーブ部64を、外部入力の変化で、内部動作部64を動作させないように、すなわち、図13の(A)に示すように、スレーブ部64から内部動作部64への信号送信を停止させる。
図14は、第4実施形態のシミュレータにおいて、シミュレーションモデルを構築する方法を示す図である。図14の左側の上段に示すように、第4実施形態のシミュレータにおいては、第1モジュール71と、第2モジュール72を1つのモジュールグループ70として取り扱う。図14の左側の中段に示すように、モジュールグループ70において、第1モジュール71の動作を停止して、第1モジュール71をトランザクション発生器74とダミースレーブ75で置き換えてシミュレーションを行う場合がある。また、図14の左側の下段に示すように、モジュールグループ70において、第2モジュール72の動作を停止して、第2モジュール72をトランザクション発生器74とダミースレーブ75で置き換えてシミュレーションを行う場合がある。この場合、図14の右側に示すように、モジュールグループ70において、第1モジュール71と第2モジュール72の間にトランザクション再生器76を配置する。モジュールグループ70は、モジュールグループ内のモジュール名およびそれらが通常動作するか否かを示す部分停止管理情報77と、グループ内のモジュールの動作パターンに対応したトランザクション再生器の複数のパターンを示すトランザクション管理情報78と、モジュールの動作設定と再生器のトランザクション管理情報テーブルの対応情報79と、を備える。シミュレータは、部分停止管理情報77を参照して、トランザクション管理情報テーブルを変更でき、図14の左側に示すような構成を取り得る。モジュールの動作設定と再生器のトランザクション管理情報テーブルの対応情報79は、あらかじめ作成しておく。
図15の(A)は、部分停止管理情報77の例を示す図である。図示のように、各モジュールを、通常動作させるか、停止させるか、が規定される。
図15の(B)は、モジュールの動作設定と再生器のトランザクション管理情報テーブルの対応情報79の例を示す図である。図示のように、モジュールグループ内のモジュールの動作設定の組合せとトランザクション再生器のトランザクション発生状態が対応して示されている。
図15の(A)および(B)に示すように、モジュールグループ内のモジュール数は3個以上でもよく、トランザクション再生器の個数は2以上でもよい。図14のように、モジュールグループ内に2個のモジュールが含まれる場合は、トランザクション再生器の個数は1であり、モジュールの動作設定の組合せ数は4である。
図14に示すモジュールグループ70を使用してシミュレーションを行う場合、オペレータは、シミュレーションごとに、部分停止管理情報77を変更して、モジュールグループ70内の動作状態を決定する。シミュレーションにおいて、トランザクション再生器70は、部分停止管理情報77およびトランザクション管理情報テーブルを参照する。そして、トランザクション再生器70は、参照したトランザクション管理情報テーブルの情報に従って、動作を実行する。
第4実施形態によれば、複数のモデルを作成しなくても、複数のトランザクション管理情報88などを変更することにより、異なるモデルを作成可能であり、モデル作成、モデル変更およびモデル管理の手間を省くことができる。
第4実施形態において、モジュールグループ内のモジュール数は3個以上でもよく、トランザクション再生器の個数は2以上でもよい。
図16は、モジュールグループ80が、第1モジュール81、第2モジュール82および第3モジュール83の3個のモジュールを備える場合の例を示す。図16の左側に示すように、モジュールグループ80内で、どのモジュールを停止させて、トランザクション発生器およびダミースレーブ84A〜84Gに置き換えるかについて、各種の組合せがあり得る。このモジュールグループ80を、図16の右側に示すように、3個のモジュールと、第1トランザクション再生器85と、第2トランザクション再生器86と、部分停止管理情報87と、トランザクション管理情報88と、対応情報89と、を備えるように表す。第1トランザクション再生器85は、第1モジュール81と第2モジュール82の間に配置され、第2トランザクション再生器86は、第2モジュール82と第3モジュール83の間に配置される。
以上、第1から第4実施形態を説明したが、複数のモジュールを備える電子システムをシステムレベルでシミュレーションするシステムレベルシミュレーション装置(シミュレータ)を、機能ブロックで表すと、図17に示すような構成を備える。図17に示すように、システムレベルシミュレーション装置90は、トランザクション再生器配置部91と、トランザクションモニタ制御部92と、トランザクション発生制御部93と、を備える。トランザクション再生器配置部91は、複数のモジュールのうちの対象モジュールと他のモジュールとの間に、入力データをモニタして、トランザクショントレース情報として記憶した後、トランザクショントレース情報から生成したトランザクションを出力する。トランザクションモニタ制御部92は、シミュレーション時に、トランザクション再生器が、対象モジュールとトランザクション再生器との間の入出力データをモニタして、トランザクショントレース情報として記憶するように制御する。トランザクション発生制御部93は、シミュレーション時に、対象モジュールの少なくとも一部の機能を停止し、トランザクション再生器が、トランザクショントレース情報から生成したトランザクションを対象モジュールおよび他のモジュールに出力するように制御する。もちろん、図示した機能ブロックに加えて、システムレベルシミュレーション装置90は、一般的なシミュレーション機能を実現するための機能ブロックを有する。
以上説明したように、実施形態によれば、電子システム内の一部を削除したモデルを作成してシステムレベルのシミュレーションを行う場合に、トランザクション作成の負担が軽減できる。また、実施形態によれば、トランザクション再生器を配置するだけで、シミュレーションモデルの変更が可能で、トランザクションも容易に作成できるので、モデルの作成および管理が容易になる。
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
以下、実施形態に関し、更に以下の付記を開示する。
(付記1)
複数のモジュールを備える電子システムをシステムレベルでシミュレーションするシステムレベルシミュレーション方法であって、
前記複数のモジュールのうちの対象モジュールと他のモジュールとの間にトランザクション再生器を、配置し、
1回目の前記電子システムのシミュレーションで、前記対象モジュールと前記トランザクション再生器との間の入出力データを、前記トランザクション再生器でモニタして、トランザクショントレース情報として記憶し、
2回目以降の前記電子システムのシミュレーションは、前記対象モジュールの少なくとも一部の機能を停止し、前記トランザクショントレース情報から生成したトランザクションを、前記トランザクション再生器から前記対象モジュールおよび前記他のモジュールに出力することにより、行なうことを特徴とするシステムレベルシミュレーション方法。(1)(図4)
(付記2)
前記トランザクション再生器は、前記対象モジュールに接続される第1インターフェースと、前記他のモジュールに接続され、前記第1インターフェースとの間でデータが伝送される第2インターフェースと、前記第1インターフェースから前記第2インターフェースへのデータを前記トランザクショントレース情報として記憶するトランザクションモニタリング記憶部と、前記トランザクションモニタリング記憶部に記憶した前記トランザクショントレース情報から生成したトランザクションと前記第1インターフェースからのデータのいずれかを選択して前記第2インターフェースに出力するトランザクションマージ部と、前記第1インターフェースから前記トランザクションマージ部へのデータ伝送を実行または停止するトランザクションマスク部と、を備える付記1に記載のシステムレベルシミュレーション方法。(2)(図5、図6)
(付記3)
前記トランザクション再生器は、前記トランザクションモニタリング記憶部、前記トランザクションマージ部、および前記トランザクションマスク部を制御するトランザクション管理情報を記憶するトランザクション管理情報記憶部、をさらに備える付記2に記載のシステムレベルシミュレーション方法。(3)(図5)
(付記4)
前記トランザクショントレース情報および前記トランザクション管理情報は、前記トランザクション再生器の外部のファイルに記憶し、
前記トランザクション再生器は、前記ファイルとの間で前記トランザクショントレース情報および前記トランザクション管理情報を通信するための前記トランザクショントレース情報ファイルI/Oおよび前記トランザクション管理情報ファイルI/Oを、さらに備える付記3に記載のシステムレベルシミュレーション方法。
(付記5)
前記第1インターフェースおよび前記第2インターフェースは、入出力インターフェースであり、
前記トランザクションモニタリング記憶部は、前記第1インターフェースから前記第2インターフェースへのデータを第1トランザクショントレース情報として記憶すると共に、前記第2インターフェースから前記第1インターフェースへのデータを第2トランザクショントレース情報として記憶し、
前記トランザクションマージ部は、前記第1トランザクショントレース情報から生成した第1トランザクションと前記第1インターフェースからのデータのいずれかを選択して前記第2インターフェースに出力する第1マージ部と、前記第2トランザクショントレース情報から生成した第2トランザクションと前記第2インターフェースからのデータのいずれかを選択して前記第1インターフェースに出力する第2マージ部と、を備え、
前記トランザクションマスク部は、前記第1インターフェースから前記トランザクションマージ部へのデータ伝送を実行または停止する第1マスク部と、前記第2インターフェースから前記トランザクションマージ部へのデータ伝送を実行または停止する第2マスク部と、を備える付記2に記載のシステムレベルシミュレーション方法。(4)(図8、図9)
(付記6)
前記トランザクション再生器は、3個以上の複数の入出力インターフェースを備え、
前記トランザクション再生器は、
前記複数の入出力インターフェース間でのデータの送信経路を切り替えるインターコネクション部を、さらに備え、
前記トランザクションモニタリング記憶部は、前記複数の入出力インターフェースからのデータを複数のトランザクショントレース情報として記憶し、
前記トランザクションマージ部は、前記複数のトランザクショントレース情報から生成した複数のトランザクションと前記複数の入出力インターフェースからのデータの対応する組をおいていずれかを選択して前記インターコネクション部に出力する複数のマージ部を、備え、
前記トランザクションマスク部は、前記複数の入出力インターフェースから前記複数のマージ部への対応する組におけるデータ伝送を実行または停止する複数の入力マスク部と、前記インターコネクション部から前記複数の入出力インターフェースへのデータ伝送を実行または停止する複数の出力マスク部と、を備え、
前記トランザクション再生器を、複数の対象モジュールと他のモジュールとの間に配置する付記5に記載のシステムレベルシミュレーション方法。(5)(図12)
(付記7)
前記トランザクション再生器は、前記対象モジュールに接続される第1入出力インターフェースと、前記他のモジュールに接続され、前記第1入出力インターフェースとの間でデータが伝送される第2入出力インターフェースと、前記第1入出力インターフェースから前記第2入出力インターフェースへのデータを前記トランザクショントレース情報として記憶するトランザクションモニタリング記憶部と、前記トランザクションモニタリング記憶部に記憶した前記トランザクショントレース情報から生成したトランザクションと前記第1入出力インターフェースからのデータのいずれかを選択して前記第2入出力インターフェースに出力するトランザクションマージ部と、前記第1入出力インターフェースから前記トランザクションマージ部へのデータ伝送を実行または停止する第1トランザクションマスク部と、前記第2入出力インターフェースから前記第1入出力インターフェースへのデータ伝送を実行または停止する第2トランザクションマスク部と、を備える付記1に記載のシステムレベルシミュレーション方法。
(付記8)
前記トランザクション再生器は、トランザクション管理情報により制御され、
前記トランザクション管理情報は、先頭アドレスおよびメモリ領域サイズで決定されるメモリ領域ごとに、
入力データをモニタして、トランザクショントレース情報として記憶するかしないかを制御するトランザクション制御情報と、
入力データを伝送するかしないかを制御するトランザクションマスク情報と、
前記トランザクショントレース情報から、トランザクションを発生するかしないかを制御するトランザクション発生情報と、を備える付記1に記載のシステムレベルシミュレーション方法。(6)(図10)
(付記9)
前記対象モジュールは、通常動作するか停止するかを指示するモジュール管理情報により制御され、
前記対象モジュールが停止する場合には、
前記対象モジュールの構成を規定するコンストラクタは、内部動作部および出力動作を記述するマスタ部が使用するワークメモリ領域を確保せず、
前記マスタ部は動作しないようにし、
スレーブ部は、外部入力の変化で、前記内部動作部が動作しないようにし、
インターフェース部は、動作するようにする付記1に記載のシステムレベルシミュレーション方法。(7)(図13)
(付記10)
2個以上の前記モジュールを備えるモジュールグループを決定し、
前記モジュールグループ内のモジュール間にトランザクション再生器を配置し、
前記トランザクション再生器を配置した前記モジュールグループを、
前記モジュールグループ内の各モジュールが、通常動作するか停止するかを制御するモジュール管理情報と、
前記モジュールグループ内の各モジュールの動作状態に応じた前記トランザクション再生器の複数の動作パターンを示すトランザクション管理情報と、
前記モジュール管理情報と前記トランザクション管理情報の対応関係を示す対応情報と、で規定し、
前記モジュール管理情報を参照して前記トランザクション管理情報を変更することにより、前記モジュールグループの動作を変更して、シミュレーションを行う付記1に記載のシステムレベルシミュレーション方法。(8)(図14、図15、図16)
(付記11)
前記トランザクション再生器からの前記トランザクショントレース情報の出力は、1回目のシミュレーションでモニタした時刻に行う付記1から10のいずれか1項に記載のシステムレベルシミュレーション方法。(9)(図6)
(付記12)
前記トランザクション再生器からの前記トランザクショントレース情報の出力は、1回目のシミュレーションでモニタした時刻に指定された時間を加えた時刻に行う付記1から10のいずれか1項に記載のシステムレベルシミュレーション方法。
(付記13)
前記トランザクション再生器からの前記トランザクショントレース情報の出力は、外部からトリガが加えられた時刻に行う付記1から10のいずれか1項に記載のシステムレベルシミュレーション方法。
(付記14)
前記トランザクション再生器からの前記トランザクショントレース情報の出力は、指定した時間間隔で行う付記1から10のいずれか1項に記載のシステムレベルシミュレーション方法。
(付記15)
前記トランザクション再生器からの前記トランザクショントレース情報の出力は、指定した時間間隔に、指定した時間幅内で任意に変化する時間間隔を加えた時間間隔で行う付記1から10のいずれか1項に記載のシステムレベルシミュレーション方法。
(付記16)
複数のモジュールを備える電子システムをシステムレベルでシミュレーションするシステムレベルシミュレーション装置であって、
前記複数のモジュールのうちの対象モジュールと他のモジュールとの間に、入力データをモニタして、トランザクショントレース情報として記憶した後、前記トランザクショントレース情報から生成したトランザクションを出力するトランザクション再生器を配置するトランザクション再生器配置部と、
シミュレーション時に、前記トランザクション再生器が、前記対象モジュールと前記トランザクション再生器との間の入出力データをモニタして、トランザクショントレース情報として記憶するように制御するトランザクションモニタ制御部と、
シミュレーション時に、前記対象モジュールの少なくとも一部の機能を停止し、前記トランザクション再生器が、前記トランザクショントレース情報から生成した前記トランザクションを前記対象モジュールおよび前記他のモジュールに出力するように制御するトランザクション発生制御部と、を備えることを特徴とするシステムレベルシミュレーション装置。(10)(図17)
(付記1)
複数のモジュールを備える電子システムをシステムレベルでシミュレーションするシステムレベルシミュレーション方法であって、
前記複数のモジュールのうちの対象モジュールと他のモジュールとの間にトランザクション再生器を、配置し、
1回目の前記電子システムのシミュレーションで、前記対象モジュールと前記トランザクション再生器との間の入出力データを、前記トランザクション再生器でモニタして、トランザクショントレース情報として記憶し、
2回目以降の前記電子システムのシミュレーションは、前記対象モジュールの少なくとも一部の機能を停止し、前記トランザクショントレース情報から生成したトランザクションを、前記トランザクション再生器から前記対象モジュールおよび前記他のモジュールに出力することにより、行なうことを特徴とするシステムレベルシミュレーション方法。(1)(図4)
(付記2)
前記トランザクション再生器は、前記対象モジュールに接続される第1インターフェースと、前記他のモジュールに接続され、前記第1インターフェースとの間でデータが伝送される第2インターフェースと、前記第1インターフェースから前記第2インターフェースへのデータを前記トランザクショントレース情報として記憶するトランザクションモニタリング記憶部と、前記トランザクションモニタリング記憶部に記憶した前記トランザクショントレース情報から生成したトランザクションと前記第1インターフェースからのデータのいずれかを選択して前記第2インターフェースに出力するトランザクションマージ部と、前記第1インターフェースから前記トランザクションマージ部へのデータ伝送を実行または停止するトランザクションマスク部と、を備える付記1に記載のシステムレベルシミュレーション方法。(2)(図5、図6)
(付記3)
前記トランザクション再生器は、前記トランザクションモニタリング記憶部、前記トランザクションマージ部、および前記トランザクションマスク部を制御するトランザクション管理情報を記憶するトランザクション管理情報記憶部、をさらに備える付記2に記載のシステムレベルシミュレーション方法。(3)(図5)
(付記4)
前記トランザクショントレース情報および前記トランザクション管理情報は、前記トランザクション再生器の外部のファイルに記憶し、
前記トランザクション再生器は、前記ファイルとの間で前記トランザクショントレース情報および前記トランザクション管理情報を通信するための前記トランザクショントレース情報ファイルI/Oおよび前記トランザクション管理情報ファイルI/Oを、さらに備える付記3に記載のシステムレベルシミュレーション方法。
(付記5)
前記第1インターフェースおよび前記第2インターフェースは、入出力インターフェースであり、
前記トランザクションモニタリング記憶部は、前記第1インターフェースから前記第2インターフェースへのデータを第1トランザクショントレース情報として記憶すると共に、前記第2インターフェースから前記第1インターフェースへのデータを第2トランザクショントレース情報として記憶し、
前記トランザクションマージ部は、前記第1トランザクショントレース情報から生成した第1トランザクションと前記第1インターフェースからのデータのいずれかを選択して前記第2インターフェースに出力する第1マージ部と、前記第2トランザクショントレース情報から生成した第2トランザクションと前記第2インターフェースからのデータのいずれかを選択して前記第1インターフェースに出力する第2マージ部と、を備え、
前記トランザクションマスク部は、前記第1インターフェースから前記トランザクションマージ部へのデータ伝送を実行または停止する第1マスク部と、前記第2インターフェースから前記トランザクションマージ部へのデータ伝送を実行または停止する第2マスク部と、を備える付記2に記載のシステムレベルシミュレーション方法。(4)(図8、図9)
(付記6)
前記トランザクション再生器は、3個以上の複数の入出力インターフェースを備え、
前記トランザクション再生器は、
前記複数の入出力インターフェース間でのデータの送信経路を切り替えるインターコネクション部を、さらに備え、
前記トランザクションモニタリング記憶部は、前記複数の入出力インターフェースからのデータを複数のトランザクショントレース情報として記憶し、
前記トランザクションマージ部は、前記複数のトランザクショントレース情報から生成した複数のトランザクションと前記複数の入出力インターフェースからのデータの対応する組をおいていずれかを選択して前記インターコネクション部に出力する複数のマージ部を、備え、
前記トランザクションマスク部は、前記複数の入出力インターフェースから前記複数のマージ部への対応する組におけるデータ伝送を実行または停止する複数の入力マスク部と、前記インターコネクション部から前記複数の入出力インターフェースへのデータ伝送を実行または停止する複数の出力マスク部と、を備え、
前記トランザクション再生器を、複数の対象モジュールと他のモジュールとの間に配置する付記5に記載のシステムレベルシミュレーション方法。(5)(図12)
(付記7)
前記トランザクション再生器は、前記対象モジュールに接続される第1入出力インターフェースと、前記他のモジュールに接続され、前記第1入出力インターフェースとの間でデータが伝送される第2入出力インターフェースと、前記第1入出力インターフェースから前記第2入出力インターフェースへのデータを前記トランザクショントレース情報として記憶するトランザクションモニタリング記憶部と、前記トランザクションモニタリング記憶部に記憶した前記トランザクショントレース情報から生成したトランザクションと前記第1入出力インターフェースからのデータのいずれかを選択して前記第2入出力インターフェースに出力するトランザクションマージ部と、前記第1入出力インターフェースから前記トランザクションマージ部へのデータ伝送を実行または停止する第1トランザクションマスク部と、前記第2入出力インターフェースから前記第1入出力インターフェースへのデータ伝送を実行または停止する第2トランザクションマスク部と、を備える付記1に記載のシステムレベルシミュレーション方法。
(付記8)
前記トランザクション再生器は、トランザクション管理情報により制御され、
前記トランザクション管理情報は、先頭アドレスおよびメモリ領域サイズで決定されるメモリ領域ごとに、
入力データをモニタして、トランザクショントレース情報として記憶するかしないかを制御するトランザクション制御情報と、
入力データを伝送するかしないかを制御するトランザクションマスク情報と、
前記トランザクショントレース情報から、トランザクションを発生するかしないかを制御するトランザクション発生情報と、を備える付記1に記載のシステムレベルシミュレーション方法。(6)(図10)
(付記9)
前記対象モジュールは、通常動作するか停止するかを指示するモジュール管理情報により制御され、
前記対象モジュールが停止する場合には、
前記対象モジュールの構成を規定するコンストラクタは、内部動作部および出力動作を記述するマスタ部が使用するワークメモリ領域を確保せず、
前記マスタ部は動作しないようにし、
スレーブ部は、外部入力の変化で、前記内部動作部が動作しないようにし、
インターフェース部は、動作するようにする付記1に記載のシステムレベルシミュレーション方法。(7)(図13)
(付記10)
2個以上の前記モジュールを備えるモジュールグループを決定し、
前記モジュールグループ内のモジュール間にトランザクション再生器を配置し、
前記トランザクション再生器を配置した前記モジュールグループを、
前記モジュールグループ内の各モジュールが、通常動作するか停止するかを制御するモジュール管理情報と、
前記モジュールグループ内の各モジュールの動作状態に応じた前記トランザクション再生器の複数の動作パターンを示すトランザクション管理情報と、
前記モジュール管理情報と前記トランザクション管理情報の対応関係を示す対応情報と、で規定し、
前記モジュール管理情報を参照して前記トランザクション管理情報を変更することにより、前記モジュールグループの動作を変更して、シミュレーションを行う付記1に記載のシステムレベルシミュレーション方法。(8)(図14、図15、図16)
(付記11)
前記トランザクション再生器からの前記トランザクショントレース情報の出力は、1回目のシミュレーションでモニタした時刻に行う付記1から10のいずれか1項に記載のシステムレベルシミュレーション方法。(9)(図6)
(付記12)
前記トランザクション再生器からの前記トランザクショントレース情報の出力は、1回目のシミュレーションでモニタした時刻に指定された時間を加えた時刻に行う付記1から10のいずれか1項に記載のシステムレベルシミュレーション方法。
(付記13)
前記トランザクション再生器からの前記トランザクショントレース情報の出力は、外部からトリガが加えられた時刻に行う付記1から10のいずれか1項に記載のシステムレベルシミュレーション方法。
(付記14)
前記トランザクション再生器からの前記トランザクショントレース情報の出力は、指定した時間間隔で行う付記1から10のいずれか1項に記載のシステムレベルシミュレーション方法。
(付記15)
前記トランザクション再生器からの前記トランザクショントレース情報の出力は、指定した時間間隔に、指定した時間幅内で任意に変化する時間間隔を加えた時間間隔で行う付記1から10のいずれか1項に記載のシステムレベルシミュレーション方法。
(付記16)
複数のモジュールを備える電子システムをシステムレベルでシミュレーションするシステムレベルシミュレーション装置であって、
前記複数のモジュールのうちの対象モジュールと他のモジュールとの間に、入力データをモニタして、トランザクショントレース情報として記憶した後、前記トランザクショントレース情報から生成したトランザクションを出力するトランザクション再生器を配置するトランザクション再生器配置部と、
シミュレーション時に、前記トランザクション再生器が、前記対象モジュールと前記トランザクション再生器との間の入出力データをモニタして、トランザクショントレース情報として記憶するように制御するトランザクションモニタ制御部と、
シミュレーション時に、前記対象モジュールの少なくとも一部の機能を停止し、前記トランザクション再生器が、前記トランザクショントレース情報から生成した前記トランザクションを前記対象モジュールおよび前記他のモジュールに出力するように制御するトランザクション発生制御部と、を備えることを特徴とするシステムレベルシミュレーション装置。(10)(図17)
20 電子システム
21 CPU
22 メインメモリ
23 周辺デバイス
24 クロック発生器
25 バス
31 コンピュータ
33 System C ライブラリ
34 ESLシミュレータ
35 シミュレーション制御ツール
36 CPUデバッガ
40 トランザクション再生器
21 CPU
22 メインメモリ
23 周辺デバイス
24 クロック発生器
25 バス
31 コンピュータ
33 System C ライブラリ
34 ESLシミュレータ
35 シミュレーション制御ツール
36 CPUデバッガ
40 トランザクション再生器
Claims (10)
- 複数のモジュールを備える電子システムをシステムレベルでシミュレーションするシステムレベルシミュレーション方法であって、
前記複数のモジュールのうちのモジュールから入力または出力されるトランザクション情報を監視または再生する対象となる対象モジュールと他のモジュールとの間にトランザクション再生器を配置し、
1回目の前記電子システムのシミュレーションでは、前記トランザクション再生器が、前記対象モジュールから前記トランザクション再生器へ入力される前記トランザクション情報を、前記トランザクション再生器で監視して、トランザクショントレース情報として記憶し、
2回目以降の前記電子システムのシミュレーションでは、前記対象モジュールの少なくとも一部の機能を停止し、前記トランザクション再生器が、前記トランザクショントレース情報から生成したトランザクションを、前記対象モジュールおよび前記他のモジュールに出力することことを特徴とするシステムレベルシミュレーション方法。 - 前記トランザクション再生器は、
前記対象モジュールに接続される第1インターフェースと、
前記他のモジュールに接続され、前記第1インターフェースとの間で前記トランザクション情報が伝送される第2インターフェースと、
前記第1インターフェースから前記第2インターフェースへの前記トランザクション情報を前記トランザクショントレース情報として記憶するトランザクションモニタリング記憶部と、
前記トランザクションモニタリング記憶部に記憶した前記トランザクショントレース情報から生成したトランザクションと前記第1インターフェースからのトランザクションのいずれかを選択して前記第2インターフェースに出力するトランザクションマージ部と、
前記第1インターフェースから前記トランザクションマージ部へのトランザクションの伝送を実行または停止するトランザクションマスク部と、
を備える請求項1に記載のシステムレベルシミュレーション方法。 - 前記トランザクション再生器は、前記トランザクションモニタリング記憶部、前記トランザクションマージ部、および、
前記トランザクションマスク部を制御するトランザクション管理情報を記憶するトランザクション管理情報記憶部、
をさらに備える請求項2に記載のシステムレベルシミュレーション方法。 - 前記第1インターフェースおよび前記第2インターフェースは、入出力インターフェースであり、
前記トランザクションモニタリング記憶部は、前記第1インターフェースから前記第2インターフェースへのトランザクションを第1トランザクショントレース情報として記憶すると共に、前記第2インターフェースから前記第1インターフェースへのトランザクションを第2トランザクショントレース情報として記憶し、
前記トランザクションマージ部は、前記第1トランザクショントレース情報から生成した第1トランザクションと前記第1インターフェースからのトランザクションのいずれかを選択して前記第2インターフェースに出力する第1マージ部と、前記第2トランザクショントレース情報から生成した第2トランザクションと前記第2インターフェースからのトランザクションのいずれかを選択して前記第1インターフェースに出力する第2マージ部と、を備え、
前記トランザクションマスク部は、前記第1インターフェースから前記トランザクションマージ部へのトランザクション伝送を実行または停止する第1マスク部と、前記第2インターフェースから前記トランザクションマージ部へのトランザクション伝送を実行または停止する第2マスク部と、を備える請求項2に記載のシステムレベルシミュレーション方法。 - 前記トランザクション再生器は、3個以上の複数の入出力インターフェースを備え、
前記トランザクション再生器は、
前記複数の入出力インターフェース間でのトランザクションの送信経路を切り替えるインターコネクション部を、さらに備え、
前記トランザクションモニタリング記憶部は、前記複数の入出力インターフェースからのトランザクションを複数のトランザクショントレース情報として記憶し、
前記トランザクションマージ部は、前記複数のトランザクショントレース情報から生成した複数のトランザクションと前記複数の入出力インターフェースからのトランザクションの対応する組をおいていずれかを選択して前記インターコネクション部に出力する複数のマージ部を、備え、
前記トランザクションマスク部は、前記複数の入出力インターフェースから前記複数のマージ部への対応する組におけるトランザクション伝送を実行または停止する複数の入力マスク部と、前記インターコネクション部から前記複数の入出力インターフェースへのトランザクション伝送を実行または停止する複数の出力マスク部と、を備え、
前記トランザクション再生器を、複数の対象モジュールと他のモジュールとの間に配置する請求項4に記載のシステムレベルシミュレーション方法。 - 前記トランザクション再生器は、トランザクション管理情報により制御され、
前記トランザクション管理情報は、先頭アドレスおよびメモリ領域サイズで決定されるメモリ領域ごとに、
入力トランザクションをモニタして、トランザクショントレース情報として記憶するかしないかを制御するトランザクション制御情報と、
入力トランザクションを伝送するかしないかを制御するトランザクションマスク情報と、
前記トランザクショントレース情報から、トランザクションを発生するかしないかを制御するトランザクション発生情報と、
を備える請求項1に記載のシステムレベルシミュレーション方法、または、それを用いるプログラム、または、そのプログラムの記憶媒体。 - 前記対象モジュールは、通常動作するか停止するかを指示するモジュール管理情報により制御され、
モジュール管理情報の指定により前記対象モジュールを停止する場合には、
前記対象モジュールの構成を規定するコンストラクタが、
内部動作部およびトランザクションの出力動作を実現するマスタ部が使用する計算機上のメモリに確保されるワークメモリ領域を確保せず、
前記内部動作部と前記マスタ部を動作しないようにし、
トランザクションの入力動作を実現するスレーブ部を、外部入力の変化で、前記内部動作部を動作しないようにし、
インターフェース部を動作するようにする、
請求項1に記載のシステムレベルシミュレーション方法、または、それを用いるプログラム、または、そのプログラムの記憶媒体。 - 1個以上の前記モジュールを備える2個以上のモジュールグループを規定し、
前記モジュールグループ間にトランザクション再生器を配置し、
少なくとも2つの前記モジュールグループ内のすべてのモジュールを通常動作させるか停止させるかを制御するモジュール管理情報と、
前記モジュールグループ内のモジュールの動作状態に応じた前記トランザクション再生器の複数の動作パターンを示すトランザクション管理情報と、
前記モジュール管理情報と前記トランザクション管理情報の対応関係を示す対応情報と、を規定し、
前記モジュール管理情報を参照して前記トランザクション管理情報を変更することにより、前記モジュールグループの動作を変更して、シミュレーションを行う請求項1に記載のシステムレベルシミュレーション方法、または、それを用いるプログラム、または、そのプログラムの記憶媒体。 - 前記トランザクション再生器からの前記トランザクショントレース情報の出力は、1回目のシミュレーションでモニタした時刻に行う請求項1から8のいずれか1項に記載のシステムレベルシミュレーション方法、または、それを用いるプログラム、または、そのプログラムの記憶媒体。
- 複数のモジュールを備える電子システムをシステムレベルでシミュレーションするシステムレベルシミュレーション装置であって、
前記複数のモジュールのうちの対象モジュールと他のモジュールとの間に、入力トランザクションを監視して、トランザクショントレース情報として記憶した後、前記トランザクショントレース情報から生成したトランザクションを出力するトランザクション再生器を配置するトランザクション再生器配置部と、
シミュレーション時に、前記トランザクション再生器が、前記対象モジュールと前記トランザクション再生器との間の入出力トランザクションを監視して、トランザクショントレース情報として記憶するように制御するトランザクションモニタ制御部と、
シミュレーション時に、前記対象モジュールの少なくとも一部の機能を停止し、前記トランザクション再生器が、前記トランザクショントレース情報から生成した前記トランザクションを前記対象モジュールおよび前記他のモジュールに出力するように制御するトランザクション発生制御部と、を備えることを特徴とするシステムレベルシミュレーション装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009232716A JP2011081560A (ja) | 2009-10-06 | 2009-10-06 | システムレベルシミュレーション方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009232716A JP2011081560A (ja) | 2009-10-06 | 2009-10-06 | システムレベルシミュレーション方法および装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011081560A true JP2011081560A (ja) | 2011-04-21 |
Family
ID=44075558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009232716A Withdrawn JP2011081560A (ja) | 2009-10-06 | 2009-10-06 | システムレベルシミュレーション方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011081560A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012083804A (ja) * | 2010-10-06 | 2012-04-26 | Fujitsu Ltd | シミュレーション装置 |
CN112166428A (zh) * | 2018-05-17 | 2021-01-01 | 帝斯贝思数字信号处理和控制工程有限公司 | 用于***的基于事件的模拟的方法 |
-
2009
- 2009-10-06 JP JP2009232716A patent/JP2011081560A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012083804A (ja) * | 2010-10-06 | 2012-04-26 | Fujitsu Ltd | シミュレーション装置 |
CN112166428A (zh) * | 2018-05-17 | 2021-01-01 | 帝斯贝思数字信号处理和控制工程有限公司 | 用于***的基于事件的模拟的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001060219A (ja) | エミュレーションとシミュレーションを用いた設計検証のための方法および装置 | |
JP2007265238A (ja) | シミュレーション装置及びシミュレーション方法 | |
JP2009265668A (ja) | 工学プロジェクトの訓練シミュレータ | |
JP4468410B2 (ja) | ソフトウェア実行装置および協調動作方法 | |
JP2008250788A (ja) | 連携シミュレーションシステム | |
WO2018070041A1 (ja) | シミュレーション装置 | |
JP2004348606A (ja) | 高位合成装置、ハードウェア検証用モデル生成方法およびハードウェア検証方法 | |
US7228513B2 (en) | Circuit operation verification device and method | |
JP2011081560A (ja) | システムレベルシミュレーション方法および装置 | |
US7992112B2 (en) | Hardware verification programming description generation apparatus, high-level synthesis apparatus, hardware verification programming description generation method, hardware verification program generation method, control program and computer-readable recording medium | |
JP2008282314A (ja) | シミュレータ、シミュレーション方法 | |
US8954312B2 (en) | Hardware emulation proxy for hardware software co-emulation | |
JP5510258B2 (ja) | シミュレーション装置 | |
JP2023032451A (ja) | シミュレーション装置、及びシミュレーション方法 | |
JP2010250365A (ja) | 協調シミュレーションシステム、ハードウェアエミュレータ、及び協調シミュレーション方法 | |
CN101739473B (zh) | 电路模拟仿真*** | |
JP2008269022A (ja) | シミュレーション装置、シミュレーション方法、及び開発支援方法 | |
JP2004310568A (ja) | シミュレータ装置、シミュレーション方法および性能解析方法 | |
JPS6349851A (ja) | シミユレ−シヨンシステム | |
JP5390464B2 (ja) | シミュレーション装置、シミュレーション装置の制御方法およびプログラム | |
JP2009223762A (ja) | 協調検証装置 | |
JP2011145880A (ja) | 半導体集積回路の論理検証にて使用するテストタスクの生成方法 | |
JP2007317102A (ja) | シミュレーション装置 | |
JP2023082751A (ja) | プラント運転シミュレーションシステム及びプラント運転シミュレーション方法 | |
JP2001209555A (ja) | 入出力エミュレーション装置、入出力装置のエミュレーション方法および入出力装置エミュレーションプログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130108 |