JP6184217B2 - シミュレーション制御方法、シミュレーション制御プログラム、およびシミュレーション制御装置 - Google Patents
シミュレーション制御方法、シミュレーション制御プログラム、およびシミュレーション制御装置 Download PDFInfo
- Publication number
- JP6184217B2 JP6184217B2 JP2013150534A JP2013150534A JP6184217B2 JP 6184217 B2 JP6184217 B2 JP 6184217B2 JP 2013150534 A JP2013150534 A JP 2013150534A JP 2013150534 A JP2013150534 A JP 2013150534A JP 6184217 B2 JP6184217 B2 JP 6184217B2
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- time
- hardware
- execution
- simulator
- 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.)
- Active
Links
Images
Description
図2は、実施の形態にかかるシミュレーション制御装置のハードウェア構成例を示すブロック図である。図2において、シミュレーション制御装置100は、CPU(Central Processing Unit)201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、ディスクドライブ204と、ディスク205と、を有している。シミュレーション制御装置100は、I/F(Inter/Face)206と、入力装置207と、出力装置208と、を有している。また、各部はバス200によってそれぞれ接続されている。
実施例1では、ハードウェアシミュレータ102のシミュレーション時刻が止まっている状態で、ハードウェアシミュレーションにおけるハードウェアモデルHWMのつぎの動作のシミュレーション時刻を取得する。そして、実施例1では、ソフトウェアシミュレータ101のシミュレーション時刻が取得したシミュレーション時刻になった時に、2つのシミュレータを同期させる。これにより、シミュレーションの効率を向上させることができる。
図6は、シミュレーション制御装置の機能的構成例を示すブロック図である。シミュレーション制御装置100は、ハードウェアシミュレータ102と、ソフトウェアシミュレータ101と、を有する。各シミュレータの処理は、例えば、CPU201がアクセス可能な記憶装置に記憶されたプログラムにコーディングされている。そして、CPU201が記憶装置からプログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、各部の処理が実現される。また、各部の処理結果は、例えば、RAM203、ディスク205などの記憶装置に記憶される。
図9は、実施例1にかかるソフトウェアシミュレータが行う処理手順の一例を示すフローチャートである。まず、ソフトウェアシミュレータ101は、実行SWモデル管理テーブル300に基づいて、現在のシミュレーション時刻に実行されるソフトウェアモデルSWMのうち、未実行のソフトウェアモデルSWMがあるか否かを判断する(ステップS901)。未実行のソフトウェアモデルSWMがある場合(ステップS901:Yes)、ソフトウェアシミュレータ101は、現在のシミュレーション時刻に実行される未実行のソフトウェアモデルSWMから1つのソフトウェアモデルSWMを選択する(ステップS902)。
実施例2では、ハードウェアモデルHWMのつぎの動作が動作結果をソフトウェアモデルSWMへ送信する送信処理である場合に、事前に動作の結果を記憶部に記憶させておく。そして、実施例2では、ソフトウェアシミュレータ101が取得したシミュレーション時刻になった場合に、同期せずに、記憶部に記憶された動作の結果をソフトウェアシミュレータ101に反映させる。これにより、ソフトウェアシミュレータ101とハードウェアシミュレータ102とを同期させる回数を低減させることができる。したがって、シミュレーションの効率をより向上させることができる。
図14は、実施例2にかかるソフトウェアシミュレータが行う処理手順の一例を示すフローチャートである。まず、ソフトウェアシミュレータ101は、実行SWモデル管理テーブル300に基づいて、現在のシミュレーション時刻に実行されるソフトウェアモデルSWMのうち、未実行のソフトウェアモデルSWMがあるか否かを判断する(ステップS1401)。未実行のソフトウェアモデルSWMがある場合(ステップS1401:Yes)、ソフトウェアシミュレータ101は、現在のシミュレーション時刻に実行される未実行のソフトウェアモデルSWMから1つのソフトウェアモデルSWMを選択する(ステップS1402)。
前記第2シミュレーションにおけるシミュレーション時刻が止まっている状態で、
前記第1シミュレーションにおいて前記プロセッサから前記ハードウェアへの送信処理がシミュレートされると、前記第1シミュレーションと前記第2シミュレーションのシミュレーション時刻を同期させ、
前記同期させたシミュレーション時刻に前記第2シミュレーションにおいてシミュレートされた前記ハードウェアの前記送信処理に応じた動作のつぎの動作であって、前記同期させたシミュレーション時刻と前記送信処理の種別とに基づく、つぎの動作が前記第2シミュレーションにおいてシミュレートされるシミュレーション時刻を取得し、
前記第1シミュレーションにおけるシミュレーション時刻が取得した前記シミュレーション時刻となった場合に、前記第1シミュレーションと前記第2シミュレーションとを同期させる、
処理を実行することを特徴とするシミュレーション制御方法。
前記シミュレーション時刻を取得する処理の後に、前記つぎの動作が前記送信処理に応じた動作の結果を前記ハードウェアから前記プロセッサへ送信する動作である場合に、前記動作の結果と、前記動作の結果が格納される前記プロセッサの記憶領域を示す領域情報と、特定した前記シミュレーション時刻と、を関連付けて記憶部に記憶させ、
前記第1シミュレーションにおけるシミュレーション時刻が特定した前記シミュレーション時刻になった場合に、前記第1シミュレーションと前記第2シミュレーションとを同期させる処理を行わず、特定した前記シミュレーション時刻に関連付けて前記記憶部に記憶された前記領域情報が示す前記第1シミュレーションにおける前記記憶領域に、特定した前記シミュレーション時刻に関連付けて前記記憶部に記憶された前記動作の結果を反映させ、前記第1シミュレーションにおいて前記動作の結果を受信する受信処理をシミュレートさせる、
処理を実行することを特徴とする付記1に記載のシミュレーション制御方法。
前記シミュレーション時刻を取得する処理は、前記第2シミュレーションにおいて前記シミュレーション時刻を取得することを特徴とする付記1または2に記載のシミュレーション制御方法。
前記第1シミュレーションと前記第2シミュレーションとを同期させる処理では、前記第1シミュレーションにおいて前記第1シミュレーションにおけるシミュレーション時刻が取得したシミュレーション時刻となったか否かを判断し、前記第1シミュレーションにおいて前記第1シミュレーションにおけるシミュレーション時刻が取得したシミュレーション時刻となったと判断した場合に、前記第1シミュレーションと前記第2シミュレーションとを同期させることを特徴とする付記1〜3のいずれか一つに記載のシミュレーション制御方法。
前記第2シミュレーションにおけるシミュレーション時刻が止まっている状態で、
前記第1シミュレーションにおいて前記プロセッサから前記ハードウェアへの送信処理がシミュレートされると、前記第1シミュレーションと前記第2シミュレーションのシミュレーション時刻を同期させ、
前記同期させたシミュレーション時刻に前記第2シミュレーションにおいてシミュレートされた前記ハードウェアの前記送信処理に応じた動作のつぎの動作であって、前記同期させたシミュレーション時刻と前記送信処理の種別とに基づく、つぎの動作が前記第2シミュレーションにおいてシミュレートされるシミュレーション時刻を取得し、
前記第1シミュレーションにおけるシミュレーション時刻が取得した前記シミュレーション時刻となった場合に、前記第1シミュレーションと前記第2シミュレーションとを同期させる、
処理を実行させることを特徴とするシミュレーション制御プログラム。
前記コンピュータが、
前記第2シミュレーションにおけるシミュレーション時刻が止まっている状態で、
前記第1シミュレーションにおいて前記プロセッサから前記ハードウェアへの送信処理がシミュレートされると、前記第1シミュレーションと前記第2シミュレーションのシミュレーション時刻を同期させ、
前記同期させたシミュレーション時刻に前記第2シミュレーションにおいてシミュレートされた前記ハードウェアの前記送信処理に応じた動作のつぎの動作であって、前記同期させたシミュレーション時刻と前記送信処理の種別とに基づく、つぎの動作が前記第2シミュレーションにおいてシミュレートされるシミュレーション時刻を取得し、
前記第1シミュレーションにおけるシミュレーション時刻が、取得した前記シミュレーション時刻となった場合に、前記第1シミュレーションと前記第2シミュレーションとを同期させる、
処理を実行することを特徴とするシミュレーション制御装置。
前記第2シミュレーションにおけるシミュレーション時刻が止まっている状態で、
前記第1シミュレーションにおいて前記プロセッサから前記ハードウェアへの送信処理がシミュレートされると、前記第1シミュレーションと前記第2シミュレーションのシミュレーション時刻を同期させ、
前記同期させたシミュレーション時刻に前記第2シミュレーションにおいてシミュレートされた前記ハードウェアの前記送信処理に応じた動作のつぎの動作であって、前記同期させたシミュレーション時刻と前記送信処理の種別とに基づく、つぎの動作が前記第2シミュレーションにおいてシミュレートされるシミュレーション時刻を取得し、
前記第1シミュレーションにおけるシミュレーション時刻が取得した前記シミュレーション時刻となった場合に、前記第1シミュレーションと前記第2シミュレーションとを同期させる、
処理を実行させるシミュレーション制御プログラムを記録したことを特徴とする記録媒体。
101 ソフトウェアシミュレータ
102 ハードウェアシミュレータ
300 実行SWモデル管理テーブル
400 実行HWSim管理テーブル
500 実行HWモデル管理テーブル
601 同期部
602 実行部
603 時刻設定部
604 取得部
1100 実行処理管理テーブル
1200 バッファ管理テーブル
SW ソフトウェア
HW ハードウェア
p プロセッサ
Claims (6)
- プロセッサによるソフトウェアの実行をシミュレートする第1シミュレーションと、前記プロセッサがアクセス可能なハードウェアの動作をシミュレートする第2シミュレーションと、の協調動作を制御するコンピュータが、
前記第2シミュレーションにおけるシミュレーション時刻が止まっている状態で、
前記第1シミュレーションにおいて前記プロセッサから前記ハードウェアへの送信処理がシミュレートされると、前記第1シミュレーションと前記第2シミュレーションのシミュレーション時刻を同期させ、
前記同期させたシミュレーション時刻に前記第2シミュレーションにおいてシミュレートされた前記ハードウェアの前記送信処理に応じた動作のつぎの動作であって、前記同期させたシミュレーション時刻と前記送信処理の種別とに基づく、つぎの動作が前記第2シミュレーションにおいてシミュレートされるシミュレーション時刻を取得し、
前記第1シミュレーションにおけるシミュレーション時刻が取得した前記シミュレーション時刻となった場合に、前記第1シミュレーションと前記第2シミュレーションとを同期させる、
処理を実行することを特徴とするシミュレーション制御方法。 - 前記コンピュータが、
前記シミュレーション時刻を取得する処理の後に、前記つぎの動作が前記送信処理に応じた動作の結果を前記ハードウェアから前記プロセッサへ送信する動作である場合に、前記動作の結果と、前記動作の結果が格納される前記プロセッサの記憶領域を示す領域情報と、特定した前記シミュレーション時刻と、を関連付けて記憶部に記憶させ、
前記第1シミュレーションにおけるシミュレーション時刻が特定した前記シミュレーション時刻になった場合に、前記第1シミュレーションと前記第2シミュレーションとを同期させる処理を行わず、特定した前記シミュレーション時刻に関連付けて前記記憶部に記憶された前記領域情報が示す前記第1シミュレーションにおける前記記憶領域に、特定した前記シミュレーション時刻に関連付けて前記記憶部に記憶された前記動作の結果を反映させ、前記第1シミュレーションにおいて前記動作の結果を受信する受信処理をシミュレートさせる、
処理を実行することを特徴とする請求項1に記載のシミュレーション制御方法。 - 前記コンピュータが、少なくとも前記第2シミュレーションを実行し、
前記シミュレーション時刻を取得する処理は、前記第2シミュレーションにおいて前記シミュレーション時刻を取得することを特徴とする請求項1または2に記載のシミュレーション制御方法。 - 前記コンピュータが、少なくとも前記第1シミュレーションを実行し、
前記第1シミュレーションと前記第2シミュレーションとを同期させる処理では、前記第1シミュレーションにおいて前記第1シミュレーションにおけるシミュレーション時刻が取得したシミュレーション時刻となったか否かを判断し、前記第1シミュレーションにおいて前記第1シミュレーションにおけるシミュレーション時刻が取得したシミュレーション時刻となったと判断した場合に、前記第1シミュレーションと前記第2シミュレーションとを同期させることを特徴とする請求項1〜3のいずれか一つに記載のシミュレーション制御方法。 - プロセッサによるソフトウェアの実行をシミュレートする第1シミュレーションと、前記プロセッサがアクセス可能なハードウェアの動作をシミュレートする第2シミュレーションと、の協調動作を制御するコンピュータに、
前記第2シミュレーションにおけるシミュレーション時刻が止まっている状態で、
前記第1シミュレーションにおいて前記プロセッサから前記ハードウェアへの送信処理がシミュレートされると、前記第1シミュレーションと前記第2シミュレーションのシミュレーション時刻を同期させ、
前記同期させたシミュレーション時刻に前記第2シミュレーションにおいてシミュレートされた前記ハードウェアの前記送信処理に応じた動作のつぎの動作であって、前記同期させたシミュレーション時刻と前記送信処理の種別とに基づく、つぎの動作が前記第2シミュレーションにおいてシミュレートされるシミュレーション時刻を取得し、
前記第1シミュレーションにおけるシミュレーション時刻が取得した前記シミュレーション時刻となった場合に、前記第1シミュレーションと前記第2シミュレーションとを同期させる、
処理を実行させることを特徴とするシミュレーション制御プログラム。 - プロセッサによるソフトウェアの実行をシミュレートする第1シミュレーションと、前記プロセッサがアクセス可能なハードウェアの動作をシミュレートする第2シミュレーションと、の協調動作を制御するコンピュータを有するシミュレーション制御装置であって、
前記コンピュータが、
前記第2シミュレーションにおけるシミュレーション時刻が止まっている状態で、
前記第1シミュレーションにおいて前記プロセッサから前記ハードウェアへの送信処理がシミュレートされると、前記第1シミュレーションと前記第2シミュレーションのシミュレーション時刻を同期させ、
前記同期させたシミュレーション時刻に前記第2シミュレーションにおいてシミュレートされた前記ハードウェアの前記送信処理に応じた動作のつぎの動作であって、前記同期させたシミュレーション時刻と前記送信処理の種別とに基づく、つぎの動作が前記第2シミュレーションにおいてシミュレートされるシミュレーション時刻を取得し、
前記第1シミュレーションにおけるシミュレーション時刻が、取得した前記シミュレーション時刻となった場合に、前記第1シミュレーションと前記第2シミュレーションとを同期させる、
処理を実行することを特徴とするシミュレーション制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013150534A JP6184217B2 (ja) | 2013-07-19 | 2013-07-19 | シミュレーション制御方法、シミュレーション制御プログラム、およびシミュレーション制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013150534A JP6184217B2 (ja) | 2013-07-19 | 2013-07-19 | シミュレーション制御方法、シミュレーション制御プログラム、およびシミュレーション制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015022544A JP2015022544A (ja) | 2015-02-02 |
JP6184217B2 true JP6184217B2 (ja) | 2017-08-23 |
Family
ID=52486934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013150534A Active JP6184217B2 (ja) | 2013-07-19 | 2013-07-19 | シミュレーション制御方法、シミュレーション制御プログラム、およびシミュレーション制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6184217B2 (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3492105B2 (ja) * | 1996-08-30 | 2004-02-03 | 株式会社東芝 | ハードウェア/ソフトウェア協調シミュレーション装置及びシミュレーション方法 |
US6470481B2 (en) * | 1999-07-29 | 2002-10-22 | Michael C. Brouhard | State management in a co-verification system |
JP2006350549A (ja) * | 2005-06-14 | 2006-12-28 | Hitachi Ltd | 統合シミュレーションシステム |
JP4468410B2 (ja) * | 2007-06-21 | 2010-05-26 | 株式会社東芝 | ソフトウェア実行装置および協調動作方法 |
JP5492704B2 (ja) * | 2010-08-27 | 2014-05-14 | 株式会社日立情報通信エンジニアリング | ハードウェア−ソフトウェア協調検証システム、方法、及びプログラム |
JP5528294B2 (ja) * | 2010-10-20 | 2014-06-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | シミュレーション制御方法、システム及びプログラム |
-
2013
- 2013-07-19 JP JP2013150534A patent/JP6184217B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015022544A (ja) | 2015-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104965757B (zh) | 虚拟机热迁移的方法、虚拟机迁移管理装置及*** | |
US9152389B2 (en) | Trace generating unit, system, and program of the same | |
JP3746371B2 (ja) | 性能シミュレーション方法 | |
KR101375836B1 (ko) | 멀티코어 프로세서 상에서 연관된 작업들을 수행하는 방법및 장치 | |
CN103077070B (zh) | 云计算管理***以及云计算***的管理方法 | |
TW201039142A (en) | Method and device for multi-core instruction-set simulation | |
JP4599266B2 (ja) | シミュレーション装置及びシミュレーション方法 | |
JPH1074214A (ja) | ハードウェア/ソフトウェア協調シミュレータ及びシミュレーション方法 | |
US20110161966A1 (en) | Controlling parallel execution of plural simulation programs | |
US9733997B2 (en) | Event management method and distributed system | |
KR20160046223A (ko) | 멀티 쓰레딩 기반 멀티 코어 에뮬레이션 장치 및 방법 | |
KR20230088332A (ko) | 데이터 어노테이션 방법, 장치, 시스템, 기기 및 저장 매체 | |
US10402510B2 (en) | Calculating device, calculation method, and calculation program | |
US10496592B2 (en) | System and method to effectively overlap computation and reduction operation of nonblocking collective communication | |
WO2024103927A1 (zh) | 混合部署场景下的作业调度方法、装置及电子设备 | |
JP6184217B2 (ja) | シミュレーション制御方法、シミュレーション制御プログラム、およびシミュレーション制御装置 | |
JP5251586B2 (ja) | 検証支援プログラム、検証支援装置および検証支援方法 | |
KR20150128711A (ko) | 컴퓨터 시스템 활동의 트레이스 타임라인을 분석하기 위한 방법 및 시스템 | |
US20100161305A1 (en) | Performance evaluation device, performance evaluation method and simulation program | |
KR101383225B1 (ko) | 하나 이상의 실행 유닛에 대한 성능 분석 방법, 성능 분석 장치 및 성능 분석 방법을 수행하는 프로그램을 기록한 컴퓨터 판독가능 기록매체 | |
Igna et al. | Formal modeling and scheduling of datapaths of digital document printers | |
US20190012418A1 (en) | Simulation program, method, and device | |
JP2018032344A (ja) | 分散同期処理システムおよび分散同期処理方法 | |
JP2010244300A (ja) | テストパターン作成手法、シミュレーション方法、情報処理装置およびシミュレーション装置 | |
JP5994661B2 (ja) | 検証プログラム、検証方法及び検証装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20160118 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160706 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170627 |
|
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: 20170713 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170725 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6184217 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |