JP4468410B2 - ソフトウェア実行装置および協調動作方法 - Google Patents
ソフトウェア実行装置および協調動作方法 Download PDFInfo
- Publication number
- JP4468410B2 JP4468410B2 JP2007163652A JP2007163652A JP4468410B2 JP 4468410 B2 JP4468410 B2 JP 4468410B2 JP 2007163652 A JP2007163652 A JP 2007163652A JP 2007163652 A JP2007163652 A JP 2007163652A JP 4468410 B2 JP4468410 B2 JP 4468410B2
- Authority
- JP
- Japan
- Prior art keywords
- software
- synchronization
- hardware
- execution
- simulation
- 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
Description
ハードウェアとソフトウェアとの両方で構成される機器に対して、前記ハードウェアの動作を検証するハードウェア回路またはハードウェアシミュレータと、前記ソフトウェアの動作を検証するソフトウェア実行装置との協調シミュレーションにおける前記ソフトウェア実行装置であって、
検証対象となるソフトウェアを実行するソフトウェア実行手段と、
前記ソフトウェアの実行を監視し、前記ソフトウェアの実行状態を表す情報を取得する実行監視手段と、
前記ソフトウェアの実行状態に基づき、前記ソフトウェア実行手段と、前記ハードウェア回路または前記ハードウェアシミュレータとを同期させるか否かを判定する判定手段と、
前記判定手段により同期させることが決定されたとき、前記ソフトウェア実行手段の内部時間の1サイクルと、前記ハードウェア回路または前記ハードウェアシミュレータのクロック信号の発生とを同期させる、同期制御手段と、
を備える。
ハードウェアとソフトウェアとの両方で構成される機器に対して、前記ハードウェアの動作を検証するハードウェア回路またはハードウェアシミュレータと、前記ソフトウェアの動作を検証するソフトウェア実行装置との協調シミュレーションにおける協調動作方法であって、
検証対象となるソフトウェアを前記ソフトウェア実行装置で実行し、
前記ソフトウェアの実行状態を監視し、
前記ソフトウェアの実行状態を表す情報を取得し、
前記ソフトウェアの実行状態に基づき、前記ソフトウェア実行装置と、前記ハードウェア回路または前記ハードウェアシミュレータとを同期させるか否かを判定し、
前記同期させることが決定されたとき、前記ソフトウェア実行装置の内部時間の1サイクルと、前記ハードウェア回路または前記ハードウェアシミュレータのクロック信号の発生とを同期させる、
ことを特徴とする。
(1)レジスタへの読み出し/書き込み(Read/Write)動作により、正しいデータがハードウェアとやり取り可能なこと
(2)レジスタへのRead/Write動作に起因するハードウェア側の動作が正しく実行され、正しい結果が得られること
(3)ハードウェア側動作の結果が正しい時刻に終了すること
の三点に集約できる。
図1は、本発明の第1の実施の形態としてのソフトウェアシミュレータ(SWシミュレータ)11を備えたハードウェア/ソフトウェア(HW/SW)協調シミュレータの全体構成を示すブロック図である。図示のSWシミュレータ11は、本発明を実現するシミュレーションプログラムを汎用のコンピュータで実行させることにより得られる各機能をブロックによって表したものである。上記シミュレーションプログラムを搭載した装置は、本発明に係わるソフトウェア実行装置の1つの実施の形態に相当する。
・ PC(Program Counter:プログラムカウンタ)がある値と一致する(PC比較条件)
・ あるアドレスへのアクセスが発生する(アドレス比較条件)
・ あるアドレスのメモリ/レジスタの値もしくはその一部のビットがある値と一致する(メモリ/レジスタ値比較条件)、
・ PCがある区間に入る(PC区間条件)
などの条件が指定できる。また、ソフトウェアの実行状態以外に、毎サイクル同期されている期間(サイクル数)を監視し、この期間の上限を終了条件として指定することも可能とする(サイクル数比較条件)。ただし、本例では、サイクル数比較は終了の条件として、同期区間情報中に一箇所のみ(1つのみ)記載できるものとする。
第1の実施の形態では、SWシミュレータとFPGAボードとでの協調シミュレーションを行う場合の例を記述したが、本発明の根本をなす技術は第1の実施の形態で記述したこのような組み合わせに限られない。第2の実施の形態では、SWシミュレータとHWシミュレータとの組み合わせた協調シミュレーションの例を示す。
図14は、本発明の第3の実施の形態として、ソフトウェア側の動作に実CPUが搭載された評価ボード61と、ICE(In Circuit Emulator:インサーキットエミュレータ)62とを利用した例である。評価ボードとICE62との組はソフトウェア実行装置に相当する。図1と同一の名称の要素には同一の符号を付して重複する説明を省略する。ICE62における実行制御手段63は図1のシミュレーション制御手段26と同等の機能を有している。ICEなどを用いることで、実CPU上で動作するソフトウェアの動作状況(プログラムカウンタの値、バスアクセスのアドレス、メモリ/レジスタの値)の情報を参照することが可能である。ここでは、ICE62に搭載したSW実行監視手段22に含まれるPC監視手段、アドレス監視手段、メモリ/レジスタ値監視手段によって上記ソフトウェアの動作状況の情報を取得することができる。これにより、第1の実施の形態と同等の協調シミュレーションが可能となる。
12:FPGAボード
13:同期区間情報指定手段
21:CPUシミュレーション手段
22:SW実行監視手段
23:同期制御手段
24:メモリシミュレーション手段
25:周辺回路シミュレーション手段
26:シミュレーション制御手段
27:クロック発生手段
28:FPGA回路
31:ISS
32:プログラムカウンタ(PC)
33:バスアクセスシミュレーション手段
34:アドレス格納手段
35:データ格納手段
36:PC監視手段
37:アドレス監視手段
38:メモリ・レジスタ値監視手段
39:条件判定手段
40:シミュレータ内時間管理手段
41:クロック生成回路
42:セレクタ
51:HWシミュレータ
52:RTL記述
53:テストベンチ記述
54:HWシミュレータ制御手段
55:クロック発生手段
61:評価ボード
62:ICE(In Circuit Emulator)
63:実行制御手段
Claims (5)
- ハードウェアとソフトウェアとの両方で構成される機器に対して、前記ハードウェアの動作を検証するハードウェア回路またはハードウェアシミュレータと、前記ソフトウェアの動作を検証するソフトウェア実行装置との協調シミュレーションにおける前記ソフトウェア実行装置であって、
検証対象となるソフトウェアを実行するソフトウェア実行手段と、
前記ソフトウェアの実行を監視し、前記ソフトウェアの実行状態を表す情報を取得する実行監視手段と、
前記ソフトウェアの実行状態に基づき、前記ソフトウェア実行手段と、前記ハードウェア回路または前記ハードウェアシミュレータとを同期させるか否かを判定する判定手段と、
前記判定手段により同期させることが決定されたとき、前記ソフトウェア実行手段の内部時間の1サイクルと、前記ハードウェア回路または前記ハードウェアシミュレータのクロック信号の発生とを同期させる、同期制御手段と、
を備えたソフトウェア実行装置。 - 前記判定手段は、同期を開始する開始条件、同期を終了する終了条件を前記ソフトウェアの実行状態に基づき記述した同期区間情報を用いて、前記同期の開始および終了を判定し、
前記同期制御手段は、前記同期の開始が判定されてから終了が判定されるまでの間、前記同期を実行する、
ことを特徴とする請求項1に記載のソフトウェア実行装置。 - 時刻をカウントする時刻カウンタをさらに備え、
前記同期区間情報には、さらに前記時刻を用いた終了条件が記述されており、
前記判定手段は、前記同期区間情報と前記時刻カウンタとを用いて前記同期の終了を判定する、
ことを特徴とする請求項2に記載のソフトウェア実行装置。 - 前記実行監視手段は、前記ソフトウェアの実行状態を表す情報として、プログラムカウンタ値、前記ソフトウェア実行手段によりアクセスされるアドレス、前記アクセスされるアドレスから読み出されるまたは前記アドレスに書き込まれるデータを取得する、
ことを特徴とする請求項1〜3のいずれか一項に記載のソフトウェア実行装置。 - ハードウェアとソフトウェアとの両方で構成される機器に対して、前記ハードウェアの動作を検証するハードウェア回路またはハードウェアシミュレータと、前記ソフトウェアの動作を検証するソフトウェア実行装置との協調シミュレーションにおける協調動作方法であって、
検証対象となるソフトウェアを前記ソフトウェア実行装置で実行し、
前記ソフトウェアの実行状態を監視し、
前記ソフトウェアの実行状態を表す情報を取得し、
前記ソフトウェアの実行状態に基づき、前記ソフトウェア実行装置と、前記ハードウェア回路または前記ハードウェアシミュレータとを同期させるか否かを判定し、
前記同期させることが決定されたとき、前記ソフトウェア実行装置の内部時間の1サイクルと、前記ハードウェア回路または前記ハードウェアシミュレータのクロック信号の発生とを同期させる、
ことを特徴とする協調動作方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007163652A JP4468410B2 (ja) | 2007-06-21 | 2007-06-21 | ソフトウェア実行装置および協調動作方法 |
US12/142,998 US8036874B2 (en) | 2007-06-21 | 2008-06-20 | Software executing device and co-operation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007163652A JP4468410B2 (ja) | 2007-06-21 | 2007-06-21 | ソフトウェア実行装置および協調動作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009003683A JP2009003683A (ja) | 2009-01-08 |
JP4468410B2 true JP4468410B2 (ja) | 2010-05-26 |
Family
ID=40161614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007163652A Expired - Fee Related JP4468410B2 (ja) | 2007-06-21 | 2007-06-21 | ソフトウェア実行装置および協調動作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8036874B2 (ja) |
JP (1) | JP4468410B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5065344B2 (ja) | 2009-07-14 | 2012-10-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | シミュレーション方法、システム及びプログラム |
DE102009050161A1 (de) * | 2009-10-21 | 2011-04-28 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zum Testen eines Systems mit zumindest einer Mehrzahl von parallel ausführbaren Softwareeinheiten |
JP5625714B2 (ja) | 2010-10-07 | 2014-11-19 | 富士通セミコンダクター株式会社 | シミュレーション装置、プログラム、記憶媒体、及び方法 |
JP5528294B2 (ja) * | 2010-10-20 | 2014-06-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | シミュレーション制御方法、システム及びプログラム |
US9135586B2 (en) * | 2010-10-28 | 2015-09-15 | Sap Se | System for dynamic parallel looping of repetitive tasks during execution of process-flows in process runtime |
US20120143583A1 (en) * | 2010-12-05 | 2012-06-07 | Cheng-Yen Huang | System-level emulation/verification system and system-level emulation/verification method |
US8903696B2 (en) * | 2011-07-15 | 2014-12-02 | Cadence Design Systems, Inc. | System and method for controlling granularity of transaction recording in discrete event simulation |
JP6184217B2 (ja) * | 2013-07-19 | 2017-08-23 | サイプレス セミコンダクター コーポレーション | シミュレーション制御方法、シミュレーション制御プログラム、およびシミュレーション制御装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4862347A (en) * | 1986-04-22 | 1989-08-29 | International Business Machine Corporation | System for simulating memory arrays in a logic simulation machine |
US5327361A (en) * | 1990-03-30 | 1994-07-05 | International Business Machines Corporation | Events trace gatherer for a logic simulation machine |
JPH05205005A (ja) * | 1990-03-30 | 1993-08-13 | Internatl Business Mach Corp <Ibm> | ロジック・シミュレーション・マシン用ホスト・インタフェース |
JPH05241891A (ja) | 1992-02-26 | 1993-09-21 | Nec Corp | トレーサ回路 |
JP2737645B2 (ja) | 1994-03-30 | 1998-04-08 | 日本電気株式会社 | プログラム・デバッグ装置 |
JPH09231255A (ja) | 1996-02-27 | 1997-09-05 | Hitachi Ltd | ハードウエア/ソフトウエア協調検証方式 |
US6785873B1 (en) * | 1997-05-02 | 2004-08-31 | Axis Systems, Inc. | Emulation system with multiple asynchronous clocks |
US6356862B2 (en) * | 1998-09-24 | 2002-03-12 | Brian Bailey | Hardware and software co-verification employing deferred synchronization |
JP2001290860A (ja) | 2000-04-10 | 2001-10-19 | Matsushita Electric Ind Co Ltd | ハードウエア/ソフトウエア協調シミュレータ |
US6754763B2 (en) * | 2001-07-30 | 2004-06-22 | Axis Systems, Inc. | Multi-board connection system for use in electronic design automation |
US7080365B2 (en) * | 2001-08-17 | 2006-07-18 | Sun Microsystems, Inc. | Method and apparatus for simulation system compiler |
GB0212176D0 (en) * | 2002-05-27 | 2002-07-03 | Radioscape Ltd | Stochasitc scheduling in CVM |
US20060058976A1 (en) * | 2002-05-27 | 2006-03-16 | Ferris Gavin R | Method of testing components designed to perform real-time, high resource functions |
JP2007058813A (ja) | 2005-08-26 | 2007-03-08 | Fujitsu Ltd | 検証装置及び検証方法 |
US7702055B2 (en) * | 2006-09-29 | 2010-04-20 | Mips Technologies, Inc. | Apparatus and method for tracing processor state from multiple clock domains |
-
2007
- 2007-06-21 JP JP2007163652A patent/JP4468410B2/ja not_active Expired - Fee Related
-
2008
- 2008-06-20 US US12/142,998 patent/US8036874B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009003683A (ja) | 2009-01-08 |
US8036874B2 (en) | 2011-10-11 |
US20090006068A1 (en) | 2009-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4468410B2 (ja) | ソフトウェア実行装置および協調動作方法 | |
TW201229700A (en) | Hybrid simulation system and method | |
CN103116069B (zh) | 芯片频率的测试方法、装置及系统 | |
JP4842783B2 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
JP5029096B2 (ja) | 電源ノイズモデル生成方法及び電源ノイズモデル生成装置 | |
US7888971B2 (en) | Verification support system and method | |
JP5785725B2 (ja) | 電力見積装置、電力見積方法及びプログラム | |
US20200327027A1 (en) | Automated Self-Check of a Closed Loop Emulation Replay | |
JP2019091144A (ja) | シミュレーション装置、シミュレーションシステム、シミュレーション方法及びシミュレーションプログラム | |
US20140325468A1 (en) | Storage medium, and generation apparatus for generating transactions for performance evaluation | |
JP2006185055A (ja) | 計算機システムの設計支援システムおよび設計支援プログラム | |
JP5454349B2 (ja) | 性能推定装置 | |
US8468409B2 (en) | Speed-path debug using at-speed scan test patterns | |
RU2729210C1 (ru) | Комплекс тестирования программного обеспечения электронных устройств | |
JP2015011363A (ja) | 協調検証装置及び協調検証方法 | |
US8793548B2 (en) | Integrated circuit, simulation apparatus and simulation method | |
JP5994661B2 (ja) | 検証プログラム、検証方法及び検証装置 | |
JP5146369B2 (ja) | 回路設計プログラム、回路設計方法および回路設計装置 | |
JP5515815B2 (ja) | 検証装置及び検証プログラム | |
WO2017149737A1 (ja) | 高位合成装置、高位合成方法及び高位合成プログラム | |
JP5077219B2 (ja) | シミュレーション方法、シミュレーション装置およびシミュレーションプログラム | |
JP2000057188A (ja) | ハードウェア・ソフトウェア協調評価装置 | |
JPH10221410A (ja) | Lsiの自動論理検証方式 | |
JP6949440B2 (ja) | ベクタ生成装置及びベクタ生成用プログラム | |
JP2005165825A (ja) | トレース情報記録装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090318 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090714 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090909 |
|
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: 20100129 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100224 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130305 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130305 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140305 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |