JP4667206B2 - マルチコアモデルシミュレーションプログラム、該プログラムを記録した記録媒体、マルチコアモデルシミュレータ、およびマルチコアモデルシミュレーション方法 - Google Patents
マルチコアモデルシミュレーションプログラム、該プログラムを記録した記録媒体、マルチコアモデルシミュレータ、およびマルチコアモデルシミュレーション方法 Download PDFInfo
- Publication number
- JP4667206B2 JP4667206B2 JP2005316817A JP2005316817A JP4667206B2 JP 4667206 B2 JP4667206 B2 JP 4667206B2 JP 2005316817 A JP2005316817 A JP 2005316817A JP 2005316817 A JP2005316817 A JP 2005316817A JP 4667206 B2 JP4667206 B2 JP 4667206B2
- Authority
- JP
- Japan
- Prior art keywords
- model
- core
- core model
- processor
- instruction
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
まず、この発明の実施の形態にかかるマルチコアモデルシミュレータのハードウェア構成について説明する。図1は、この発明の実施の形態にかかるマルチコアモデルシミュレータのハードウェア構成を示すブロック図である。
つぎに、上述したマルチコアモデルシミュレータによるシミュレーション処理について説明する。図22に示した従来のマルチコアモデルシミュレーション処理と異なり、各コアモデルは並列に実行する。そのためコアモデル間は非同期で通信することができる。しかし、命令実行するごとに毎回他のコアモデルからの通信があるのかどうかをチェックするには処理が多く増えてしまうため、本実施の形態では、コア間通信回数を間引くようにシミュレーション処理を実行する。これにより、コアモデル処理の並列実行という実行性能を低下させることなく、コアモデル間通信を実現することができ、シミュレーション処理時間の短縮化を図ることができる。
つぎに、上述したプロセッサモデルPEi(i=1〜n、n≧2)の実行処理について説明する。図3は、この発明の実施の形態にかかるプロセッサモデルPEiの実行処理手順を示すフローチャートである。図3において、未実行の命令があるか否かを判断する(ステップS301−i)。未実行の命令がない場合(ステップS301−i:No)、プロセッサモデルPEiの実行処理を終了し、ステップS201に戻る。
つぎに、上述したプロセッサモデルPEiの同期処理について説明する。図4は、この発明の実施の形態にかかるプロセッサモデルPEiの同期処理手順を示すフローチャートである。図4において、まず、命令実行(ステップS303−i)の結果により、他のプロセッサモデルPEjに通信するか否かを判断する(ステップS401−i)。他のプロセッサモデルPEjに通信する場合(ステップS401−i:Yes)、他のプロセッサモデルPEjへのコアモデル間通信処理を実行する(ステップS402−i)。このコアモデル間通信処理の実行後、図3に示したステップS301−iに戻る。
コンピュータに、前記複数のコアモデルの並列実行中において、一のコアモデルの実行中の命令と他のコアモデルの実行中の命令とを同期させて、前記一のコアモデルから前記他のコアモデルへコアモデル間通信させることを特徴とするマルチコアモデルシミュレーションプログラム。
前記他のコアモデルにおいて、前記一のコアモデルの実行中の命令に関連する命令を実行させ、
当該命令の実行終了後に停止された命令を実行させることを特徴とする付記1に記載のマルチコアモデルシミュレーションプログラム。
前記一のコアモデルから前記記憶モデルに対する通信の終了後に、前記他のコアモデルから前記記憶モデルへ通信させることを特徴とする付記1に記載のマルチコアモデルシミュレーションプログラム。
当該検出結果に基づいて、前記複数のコアモデルのあらたな実行を開始させることを特徴とする付記1に記載のマルチコアモデルシミュレーションプログラム。
前記第1の記憶モデルに書き込まれたデータを第2の記憶モデルに転送させ、
前記第2の記憶モデルに転送されたデータの読み出しに関する通信を前記他のコアモデルに実行させることを特徴とする付記1に記載のマルチコアモデルシミュレーションプログラム。
前記複数のコアモデルの並列実行中において、一のコアモデルの実行中の命令と他のコアモデルの実行中の命令とを同期させて、前記一のコアモデルから前記他のコアモデルへコアモデル間通信する手段を備えることを特徴とするマルチコアモデルシミュレータ。
前記他のコアモデルにおいて、前記一のコアモデルの実行中の命令に関連する命令を実行する手段と、
当該命令の実行終了後に停止された命令を実行する手段と、
を備えることを特徴とする付記9に記載のマルチコアモデルシミュレータ。
前記一のコアモデルから前記記憶モデルに対する通信の終了後に、前記他のコアモデルから前記記憶モデルへ通信する手段と、
を備えることを特徴とする付記9に記載のマルチコアモデルシミュレータ。
前記複数のコアモデルの並列実行中において、一のコアモデルの実行中の命令と他のコアモデルの実行中の命令とを同期させて、前記一のコアモデルから前記他のコアモデルへコアモデル間通信することを特徴とするマルチコアモデルシミュレーション方法。
前記他のコアモデルにおいて、前記一のコアモデルの実行中の命令に関連する命令を実行し、
当該命令の実行終了後に停止された命令を実行することを特徴とする付記12に記載のマルチコアモデルシミュレーション方法。
前記一のコアモデルから前記記憶モデルに対する通信の終了後に、前記他のコアモデルから前記記憶モデルへ通信することを特徴とする付記12に記載のマルチコアモデルシミュレーション方法。
PEj(j=1〜n、n≧2,j≠i) プロセッサモデル
900 レジスタ/メモリモデル(記憶モデル)
1300 レジスタモデル(記憶モデル)
1600,1701,1702 バッファモデル(記憶モデル)
1700 転送ブロック
Claims (7)
- 複数のコアモデルを並列実行させるマルチコアモデルシミュレーションプログラムであって、
コンピュータに、前記複数のコアモデルの並列実行中において、一のコアモデルから他のコアモデルへコアモデル間通信させる場合に、前記一のコアモデルから第1の記憶モデルへのデータの書き込みに関する通信を実行させ、
前記第1の記憶モデルに書き込まれたデータを第2の記憶モデルに転送させ、
前記第2の記憶モデルに転送されたデータの読み出しに関する通信を前記他のコアモデルに実行させることにより、前記一のコアモデルの実行中の命令と前記他のコアモデルの実行中の命令とを同期させることを特徴とするマルチコアモデルシミュレーションプログラム。 - さらに、前記他のコアモデルによる前記データの読み出しに関する通信中に、前記一のコアモデルから前記第1の記憶モデルへのあらたなデータの書き込みに関する通信を実行させることを特徴とする請求項1に記載のマルチコアモデルシミュレーションプログラム。
- 請求項1または2に記載のマルチコアモデルシミュレーションプログラムを記録した前記コンピュータに読み取り可能な記録媒体。
- 複数のコアモデルを並列実行するマルチコアモデルシミュレータであって、
前記複数のコアモデルの並列実行中において、一のコアモデルから他のコアモデルへコアモデル間通信する場合に、前記一のコアモデルから第1の記憶モデルへのデータの書き込みに関する通信を実行する手段と、
前記第1の記憶モデルに書き込まれたデータを第2の記憶モデルに転送する手段と、
前記第2の記憶モデルに転送されたデータの読み出しに関する通信を前記他のコアモデルに実行することにより、前記一のコアモデルの実行中の命令と前記他のコアモデルの実行中の命令とを同期する手段と、
を備えることを特徴とするマルチコアモデルシミュレータ。 - さらに、前記他のコアモデルによる前記データの読み出しに関する通信中に、前記一のコアモデルから前記第1の記憶モデルへのあらたなデータの書き込みに関する通信を実行する手段を備えることを特徴とする請求項4に記載のマルチコアモデルシミュレータ。
- 複数のコアモデルを並列実行するマルチコアモデルシミュレーション方法であって、
前記複数のコアモデルの並列実行中において、一のコアモデルから他のコアモデルへコアモデル間通信する場合に、前記一のコアモデルから第1の記憶モデルへのデータの書き込みに関する通信を実行し、
前記第1の記憶モデルに書き込まれたデータを第2の記憶モデルに転送し、
前記第2の記憶モデルに転送されたデータの読み出しに関する通信を前記他のコアモデルに実行させることにより、前記一のコアモデルの実行中の命令と前記他のコアモデルの実行中の命令とを同期することを特徴とするマルチコアモデルシミュレーション方法。 - さらに、前記他のコアモデルによる前記データの読み出しに関する通信中に、前記一のコアモデルから前記第1の記憶モデルへのあらたなデータの書き込みに関する通信を実行することを特徴とする請求項6に記載のマルチコアモデルシミュレーション方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005316817A JP4667206B2 (ja) | 2005-10-31 | 2005-10-31 | マルチコアモデルシミュレーションプログラム、該プログラムを記録した記録媒体、マルチコアモデルシミュレータ、およびマルチコアモデルシミュレーション方法 |
US11/362,828 US7496490B2 (en) | 2005-10-31 | 2006-02-28 | Multi-core-model simulation method, multi-core model simulator, and computer product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005316817A JP4667206B2 (ja) | 2005-10-31 | 2005-10-31 | マルチコアモデルシミュレーションプログラム、該プログラムを記録した記録媒体、マルチコアモデルシミュレータ、およびマルチコアモデルシミュレーション方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007122602A JP2007122602A (ja) | 2007-05-17 |
JP4667206B2 true JP4667206B2 (ja) | 2011-04-06 |
Family
ID=37998113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005316817A Expired - Fee Related JP4667206B2 (ja) | 2005-10-31 | 2005-10-31 | マルチコアモデルシミュレーションプログラム、該プログラムを記録した記録媒体、マルチコアモデルシミュレータ、およびマルチコアモデルシミュレーション方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7496490B2 (ja) |
JP (1) | JP4667206B2 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4820654B2 (ja) * | 2006-02-06 | 2011-11-24 | 富士通セミコンダクター株式会社 | サイクルシミュレーション方法、サイクルシミュレーションプログラム、該プログラムを記録した記録媒体、およびサイクルシミュレータ |
US7934179B2 (en) * | 2006-11-20 | 2011-04-26 | Et International, Inc. | Systems and methods for logic verification |
US7552405B1 (en) * | 2007-07-24 | 2009-06-23 | Xilinx, Inc. | Methods of implementing embedded processor systems including state machines |
JP5450973B2 (ja) * | 2008-03-31 | 2014-03-26 | 日本電気株式会社 | 回路検証装置および回路検証方法 |
US8386664B2 (en) * | 2008-05-22 | 2013-02-26 | International Business Machines Corporation | Reducing runtime coherency checking with global data flow analysis |
US8281295B2 (en) * | 2008-05-23 | 2012-10-02 | International Business Machines Corporation | Computer analysis and runtime coherency checking |
US8694293B2 (en) | 2008-06-30 | 2014-04-08 | Toyota Technical Development Corporation | Simulation support method, computer-readable storage medium storing simulation support program, and simulation support apparatus |
US8285670B2 (en) * | 2008-07-22 | 2012-10-09 | International Business Machines Corporation | Dynamically maintaining coherency within live ranges of direct buffers |
JP5293165B2 (ja) * | 2008-12-25 | 2013-09-18 | 富士通セミコンダクター株式会社 | シミュレーション支援プログラム、シミュレーション装置、およびシミュレーション支援方法 |
NL2004392A (en) | 2009-04-15 | 2010-10-18 | Asml Netherlands Bv | Lithographic apparatus, control system, multi-core processor, and a method to start tasks on a multi-core processor. |
US8352633B2 (en) * | 2009-06-22 | 2013-01-08 | Citrix Systems, Inc. | Systems and methods of state migration in a multi-core system |
KR101704751B1 (ko) * | 2010-12-21 | 2017-02-09 | 삼성전자주식회사 | 모듈 간의 타이밍 정보를 이용하는 멀티코어 시스템의 시뮬레이터, 및 그 시뮬레이션 방법 |
KR101818760B1 (ko) | 2011-07-22 | 2018-01-15 | 삼성전자주식회사 | 시뮬레이션 장치 및 그의 시뮬레이션 방법 |
US9569591B2 (en) * | 2012-05-31 | 2017-02-14 | Hill-Rom Services, Inc. | Configurable user interface systems for hospital bed |
CN103136032B (zh) * | 2013-02-28 | 2016-02-10 | 北京时代民芯科技有限公司 | 一种多核体系并行仿真系统 |
WO2016194028A1 (ja) | 2015-05-29 | 2016-12-08 | 三菱電機株式会社 | シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム |
US10038744B1 (en) * | 2015-06-29 | 2018-07-31 | EMC IP Holding Company LLC | Intelligent core assignment |
CN106960065A (zh) * | 2016-01-11 | 2017-07-18 | 北京仿真中心 | 一种复杂仿真系统可信度的鲁棒评估方法及系统 |
US10445445B2 (en) * | 2016-04-22 | 2019-10-15 | Synopsys, Inc. | Sliding time window control mechanism for parallel execution of multiple processor core models in a virtual platform simulation |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3085730B2 (ja) | 1991-05-30 | 2000-09-11 | 富士通株式会社 | 複合cpuシステムの並列シミュレーション方式 |
JPH0535534A (ja) | 1991-07-31 | 1993-02-12 | Mitsubishi Electric Corp | シミユレーシヨンシステム |
US6678645B1 (en) * | 1999-10-28 | 2004-01-13 | Advantest Corp. | Method and apparatus for SoC design validation |
US6427224B1 (en) * | 2000-01-31 | 2002-07-30 | International Business Machines Corporation | Method for efficient verification of system-on-chip integrated circuit designs including an embedded processor |
US6487699B1 (en) * | 2000-01-31 | 2002-11-26 | International Business Machines Corporation | Method of controlling external models in system-on-chip verification |
JP2001256267A (ja) | 2000-03-09 | 2001-09-21 | Hitachi Ltd | 並列分散シミュレーション方式 |
US6996799B1 (en) * | 2000-08-08 | 2006-02-07 | Mobilygen Corporation | Automatic code generation for integrated circuit design |
US6865502B2 (en) * | 2001-04-04 | 2005-03-08 | International Business Machines Corporation | Method and system for logic verification using mirror interface |
US6658633B2 (en) * | 2001-10-03 | 2003-12-02 | International Business Machines Corporation | Automated system-on-chip integrated circuit design verification system |
US20040010401A1 (en) * | 2002-07-11 | 2004-01-15 | International Business Machines Corporation | Unified simulation system and method for selectively including one or more cores in an integrated circuit simulation model |
US7114055B1 (en) * | 2003-09-29 | 2006-09-26 | Xilinx, Inc. | Reduced instruction set computer architecture with duplication of bit values from an immediate field of an instruction multiple times in a data word |
US7613904B2 (en) * | 2005-02-04 | 2009-11-03 | Mips Technologies, Inc. | Interfacing external thread prioritizing policy enforcing logic with customer modifiable register to processor internal scheduler |
US20060225015A1 (en) * | 2005-03-31 | 2006-10-05 | Kamil Synek | Various methods and apparatuses for flexible hierarchy grouping |
US7475309B2 (en) * | 2005-06-30 | 2009-01-06 | Intel Corporation | Parallel test mode for multi-core processors |
US7434182B2 (en) * | 2005-07-14 | 2008-10-07 | International Business Machines Corporation | Method for testing sub-systems of a system-on-a-chip using a configurable external system-on-a-chip |
US7650273B2 (en) * | 2005-09-21 | 2010-01-19 | Intel Corporation | Performance simulation of multiprocessor systems |
-
2005
- 2005-10-31 JP JP2005316817A patent/JP4667206B2/ja not_active Expired - Fee Related
-
2006
- 2006-02-28 US US11/362,828 patent/US7496490B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20070101318A1 (en) | 2007-05-03 |
US7496490B2 (en) | 2009-02-24 |
JP2007122602A (ja) | 2007-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4667206B2 (ja) | マルチコアモデルシミュレーションプログラム、該プログラムを記録した記録媒体、マルチコアモデルシミュレータ、およびマルチコアモデルシミュレーション方法 | |
US8484006B2 (en) | Method for dynamically adjusting speed versus accuracy of computer platform simulation | |
JP5595633B2 (ja) | シミュレーション方法及びシミュレーション装置 | |
JP5488697B2 (ja) | マルチコアプロセッサシステム、同期制御方法、および同期制御プログラム | |
US8793115B2 (en) | Interface converter for unified view of multiple computer system simulations | |
US20060229861A1 (en) | Multi-core model simulator | |
US20020143512A1 (en) | System simulator, simulation method and simulation program | |
US8762779B2 (en) | Multi-core processor with external instruction execution rate heartbeat | |
JP4599266B2 (ja) | シミュレーション装置及びシミュレーション方法 | |
US11734480B2 (en) | Performance modeling and analysis of microprocessors using dependency graphs | |
Ghosal et al. | Static dataflow with access patterns: semantics and analysis | |
KR20130017923A (ko) | 프로그램 분석 장치 및 분석용 프로그램을 기록한 컴퓨터 판독 가능한 저장매체 | |
JP5542643B2 (ja) | シミュレーション装置及びシミュレーションプログラム | |
US7552269B2 (en) | Synchronizing a plurality of processors | |
JP5423876B2 (ja) | 検証支援プログラム、検証支援装置、および検証支援方法 | |
Vujic et al. | DMA++: On the fly data realignment for on-chip memories | |
Schubert et al. | Solutions to IBM POWER8 verification challenges | |
JP4820654B2 (ja) | サイクルシミュレーション方法、サイクルシミュレーションプログラム、該プログラムを記録した記録媒体、およびサイクルシミュレータ | |
JP5374965B2 (ja) | シミュレーション制御プログラム、シミュレーション制御装置、およびシミュレーション制御方法 | |
JP3953243B2 (ja) | システム分析のためにバス・アービトレーション制御を使用する同期方法及び装置 | |
US20100070979A1 (en) | Apparatus and Methods for Parallelizing Integrated Circuit Computer-Aided Design Software | |
Heinrich et al. | Hardware/software co-design of the stanford FLASH multiprocessor | |
JP5811211B2 (ja) | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム | |
WO2006093762A1 (en) | Computer platform simulation | |
JP2024129675A (ja) | 実行制御プログラム、実行制御方法、および情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080730 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080814 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100824 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101025 |
|
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: 20110104 |
|
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: 20110111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140121 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |