JP5379862B2 - シミュレーション方法、システム及びプログラム - Google Patents
シミュレーション方法、システム及びプログラム Download PDFInfo
- Publication number
- JP5379862B2 JP5379862B2 JP2011536125A JP2011536125A JP5379862B2 JP 5379862 B2 JP5379862 B2 JP 5379862B2 JP 2011536125 A JP2011536125 A JP 2011536125A JP 2011536125 A JP2011536125 A JP 2011536125A JP 5379862 B2 JP5379862 B2 JP 5379862B2
- Authority
- JP
- Japan
- Prior art keywords
- peripheral
- emulators
- emulator
- processor
- computer
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004088 simulation Methods 0.000 title claims abstract description 46
- 230000002093 peripheral effect Effects 0.000 claims abstract description 175
- 230000008569 process Effects 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims description 66
- 238000004891 communication Methods 0.000 claims description 5
- 238000000926 separation method Methods 0.000 abstract 3
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000003915 air pollution Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
T_CPU += Const
if ( T_CPU > T_Peripheral ) {
POST Completion_flag;
do { SLEEP_TEMPORARY; } while (T_CPU > T_Peripheral);
}
ここで、POST Completion_flagは、完了フラグ(Completion_flag)を設定(ON)する処理である。完了フラグの領域は好適には、共有メモリ上に確保される。while (T_CPU > T_Peripheral)のループは、共有メモリ上に確保されているT_Peripheralの値が、ペリフェラル・スケジューラ502等によって上書きされ、T_CPU > T_Peripheralの判断がfalseになるまで、SLEEP_TEMPORARYという待機の動作を行う。
extern sem_t sem_start[]; /* binary semaphores */
extern sem_t sem_finish; /* counter semaphore */
extern int n_plants; /* number of plant tasks */
extern int n_all; /* number of all tasks */
{
・・・
/* タスクを実行する準備をする */
/* 例えば、T_Peripheral の更新など */
・・・
/* プラント・タスクを並列実行する */
for (int k=0; k<n_plants; k++)
sem_post(&sem_start[k]);
・・・
/* すべてのタスクが終了するまで待つ */
for (int k=0; k<n_all; k++)
sem_wait(&sem_finish);
・・・
}
extern sem_t sem_start[]; /* binary semaphores */
extern sem_t sem_finish; /* counter semaphore */
{
・・・
/* 処理開始の指示を待つ */
sem_wait(&sem_start[k]);
・・・
/* 独自の処理を進める */
・・・
/* 処理の終了を告げる */
sem_post(&sem_finish);
・・・
}
ペリフェラル・スケジューラにおける
for (int k=0; k<n_plants; k++)
sem_post(&sem_start[k]);
というコードは、n_plants 個のタスクまたはスレッドの各々に処理開始を指示すことであり、これを受けて、プラント・シミュレータ側では、
sem_wait(&sem_start[k]);
により、開始の指示を受け取ることになる。
for (int k=0; k<n; k++)
sem_wait(&sem_finish);
によって待機されており、すなわち、ペリフェラル・スケジューラは、全てのプロセッサ・エミュレータ及びプラント・シミュレータの処理の終了が告げられるのを待つことになる。なお、プロセッサ・エミュレータのコードに挿入されるコードにおいて、POST Completion_flag と記述した部分が、プロセッサ・エミュレータにおけるsem_post(&sem_finish) に当たる。図10や図11では、完了フラグを分けて示したが、上記のようにカウンタ型のセマフォを利用するなら、1つでよい。
502・・・ペリフェラル・スケジューラ
504・・・ペリフェラル・エミュレータ
506・・・プロセッサ・エミュレータ
508・・・プラント・シミュレータ
702、1004、1102・・・完了フラグ
Claims (15)
- コンピュータの処理により、シミュレーションを行なうシミュレーション・システムにおいて、
前記コンピュータ上で実行される複数のプロセッサ・エミュレータと、
前記コンピュータ上で実行される複数のプラント・シミュレータと、
前記コンピュータ上で実行され、各々が固有の処理の区切りタイミングをもち、前記プロセッサ・エミュレータと前記プラント・シミュレータ間のデータの通信を行う、複数のペリフェラル・エミュレータと、
前記ペリフェラル・エミュレータのうち、前記固有の処理の区切りタイミングに基づき、最も早く処理の区切りを迎えるペリフェラル・エミュレータとその処理の区切りのタイミングを見出す手段と、
前記見出されたタイミングで、前記複数のプロセッサ・エミュレータと前記複数のプラント・シミュレータを同期させる手段を有する、
シミュレーション・システム。 - 前記コンピュータが、マルチタスク・システムであり、前記複数のプロセッサ・エミュレータと、前記ペリフェラル・エミュレータと、前記複数のプラント・シミュレータは、それぞれが個別のスレッドまたはプロセスとして実行される、請求項1に記載のシミュレーション・システム。
- 前記コンピュータが、マルチプロセッサ・システムであり、前記複数のプロセッサ・エミュレータと、前記ペリフェラル・エミュレータと、前記複数のプラント・シミュレータは、前記マルチプロセッサ・システムの異なるプロセッサまたはコアに割り当てられて個別のスレッドまたはプロセスとして実行される、請求項2に記載のシミュレーション・システム。
- 前記複数のプロセッサ・エミュレータと前記複数のプラント・シミュレータを同期させる手段は、前記コンピュータのメモリに確保され、前記複数のプロセッサ・エミュレータと前記複数のプラント・シミュレータの各々に対応して設けられた完了フラグをセットすることによって同期を達成する、請求項2に記載のシミュレーション・システム。
- 前記完了フラグは、カウンタ・セマフォにより実現される、請求項4に記載のシミュレーション・システム。
- コンピュータの処理により、シミュレーションを行なうシミュレーション方法において、
前記コンピュータ上で複数のプロセッサ・エミュレータを実行するステップと、
前記コンピュータ上で複数のプラント・シミュレータを実行するステップと、
前記コンピュータ上で、各々が固有の処理の区切りタイミングをもち、前記プロセッサ・エミュレータと前記プラント・シミュレータ間のデータの通信を行う、複数のペリフェラル・エミュレータを実行するステップと、
前記ペリフェラル・エミュレータのうち、前記固有の処理の区切りタイミングに基づき、最も早く処理の区切りを迎えるペリフェラル・エミュレータとその処理の区切りのタイミングを見出すステップと、
前記見出されたタイミングで、前記複数のプロセッサ・エミュレータと前記複数のプラント・シミュレータを同期させるステップを有する、
シミュレーション方法。 - 前記コンピュータが、マルチタスク・システムであり、前記複数のプロセッサ・エミュレータと、前記ペリフェラル・エミュレータと、前記複数のプラント・シミュレータは、それぞれが個別のスレッドまたはプロセスとして実行される、請求項6に記載のシミュレーション方法。
- 前記コンピュータが、マルチプロセッサ・システムであり、前記複数のプロセッサ・エミュレータと、前記ペリフェラル・エミュレータと、前記複数のプラント・シミュレータは、前記マルチプロセッサ・システムの異なるプロセッサまたはコアに割り当てられて個別のスレッドまたはプロセスとして実行される、請求項7に記載のシミュレーション方法。
- 前記複数のプロセッサ・エミュレータと前記複数のプラント・シミュレータを同期させる手段は、前記コンピュータのメモリに確保され、前記複数のプロセッサ・エミュレータと前記複数のプラント・シミュレータの各々に対応して設けられた完了フラグをセットすることによって同期を達成する、請求項7に記載のシミュレーション方法。
- 前記完了フラグは、カウンタ・セマフォにより実現される、請求項9に記載のシミュレーション方法。
- コンピュータの処理により、シミュレーションを行なうシミュレーション・プログラムであって、前記コンピュータをして、
複数のプロセッサ・エミュレータを実行するステップと、
複数のプラント・シミュレータを実行するステップと、
各々が固有の処理の区切りタイミングをもち、前記プロセッサ・エミュレータと前記プラント・シミュレータ間のデータの通信を行う、複数のペリフェラル・エミュレータを実行するステップと、
前記ペリフェラル・エミュレータのうち、前記固有の処理の区切りタイミングに基づき、最も早く処理の区切りを迎えるペリフェラル・エミュレータとその処理の区切りのタイミングを見出すステップと、
前記見出されたタイミングで、前記複数のプロセッサ・エミュレータと前記複数のプラント・シミュレータを同期させるステップを実行させる、
シミュレーション・プログラム。 - 前記コンピュータが、マルチタスク・システムであり、前記複数のプロセッサ・エミュレータと、前記ペリフェラル・エミュレータと、前記複数のプラント・シミュレータは、それぞれが個別のスレッドまたはプロセスとして実行される、請求項11に記載のシミュレーション・プログラム。
- 前記コンピュータが、マルチプロセッサ・システムであり、前記複数のプロセッサ・エミュレータと、前記ペリフェラル・エミュレータと、前記複数のプラント・シミュレータは、前記マルチプロセッサ・システムの異なるプロセッサまたはコアに割り当てられて個別のスレッドまたはプロセスとして実行される、請求項12に記載のシミュレーション・プログラム。
- 前記複数のプロセッサ・エミュレータと前記複数のプラント・シミュレータを同期させる手段は、前記コンピュータのメモリに確保され、前記複数のプロセッサ・エミュレータと前記複数のプラント・シミュレータの各々に対応して設けられた完了フラグをセットすることによって同期を達成する、請求項12に記載のシミュレーション・プログラム。
- 前記完了フラグは、カウンタ・セマフォにより実現される、請求項14に記載のシミュレーション・プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011536125A JP5379862B2 (ja) | 2009-10-16 | 2010-10-08 | シミュレーション方法、システム及びプログラム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009238954 | 2009-10-16 | ||
JP2009238954 | 2009-10-16 | ||
JP2011536125A JP5379862B2 (ja) | 2009-10-16 | 2010-10-08 | シミュレーション方法、システム及びプログラム |
PCT/JP2010/067772 WO2011046089A1 (ja) | 2009-10-16 | 2010-10-08 | シミュレーション方法、システム及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011046089A1 JPWO2011046089A1 (ja) | 2013-03-07 |
JP5379862B2 true JP5379862B2 (ja) | 2013-12-25 |
Family
ID=43876139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011536125A Expired - Fee Related JP5379862B2 (ja) | 2009-10-16 | 2010-10-08 | シミュレーション方法、システム及びプログラム |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP5379862B2 (ja) |
CN (1) | CN102576325B (ja) |
DE (1) | DE112010004037T5 (ja) |
GB (1) | GB2486136B (ja) |
WO (1) | WO2011046089A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10360322B2 (en) | 2015-12-01 | 2019-07-23 | International Business Machines Corporation | Simulation of virtual processors |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5583773B2 (ja) | 2010-08-20 | 2014-09-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | シミュレーション方法、システム及びプログラム |
US9251308B2 (en) | 2012-07-23 | 2016-02-02 | International Business Machines Corporation | Simulation method, system, and program |
EP2851815A1 (de) * | 2013-09-18 | 2015-03-25 | dSPACE digital signal processing and control engineering GmbH | Testeinrichtung zum Echtzeittest eines virtuellen Steuergeräts |
US10776139B2 (en) | 2015-05-29 | 2020-09-15 | Mitsubishi Electric Corporation | Simulation apparatus, simulation method, and computer readable medium |
DE102015226249A1 (de) * | 2015-12-21 | 2017-06-22 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Bereitstellen einer Mehrzahl von reproduzierbaren Werten |
JP6770935B2 (ja) * | 2017-07-03 | 2020-10-21 | 日立オートモティブシステムズ株式会社 | 車両制御装置用の検証装置 |
US11010510B2 (en) | 2019-04-30 | 2021-05-18 | Disney Enterprises, Inc. | Soft-real-time hub providing data transport for processor-in-the-loop (PIL) simulations |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10312315A (ja) * | 1997-05-12 | 1998-11-24 | Nec Corp | ソフトウェア/ハードウェア協調シミュレーション方式 |
JP2004013626A (ja) * | 2002-06-07 | 2004-01-15 | Fujitsu Ten Ltd | マイコンのロジック開発装置 |
JP2007011720A (ja) * | 2005-06-30 | 2007-01-18 | Sharp Corp | システムシミュレータ、システムシミュレート方法、制御プログラムおよび可読記録媒体 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5522029A (en) * | 1993-04-23 | 1996-05-28 | International Business Machines Corporation | Fault tolerant rendezvous and semaphore for multiple parallel processors |
CN101256502B (zh) * | 2007-02-27 | 2011-02-09 | 国际商业机器公司 | 模拟多处理器系统的系统和方法 |
CN100573456C (zh) * | 2007-12-10 | 2009-12-23 | 华中科技大学 | 一种并行多处理器虚拟机系统 |
-
2010
- 2010-10-08 CN CN201080046464.6A patent/CN102576325B/zh active Active
- 2010-10-08 WO PCT/JP2010/067772 patent/WO2011046089A1/ja active Application Filing
- 2010-10-08 GB GB1205094.4A patent/GB2486136B/en active Active
- 2010-10-08 DE DE112010004037T patent/DE112010004037T5/de not_active Ceased
- 2010-10-08 JP JP2011536125A patent/JP5379862B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10312315A (ja) * | 1997-05-12 | 1998-11-24 | Nec Corp | ソフトウェア/ハードウェア協調シミュレーション方式 |
JP2004013626A (ja) * | 2002-06-07 | 2004-01-15 | Fujitsu Ten Ltd | マイコンのロジック開発装置 |
JP2007011720A (ja) * | 2005-06-30 | 2007-01-18 | Sharp Corp | システムシミュレータ、システムシミュレート方法、制御プログラムおよび可読記録媒体 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10360322B2 (en) | 2015-12-01 | 2019-07-23 | International Business Machines Corporation | Simulation of virtual processors |
US11010505B2 (en) | 2015-12-01 | 2021-05-18 | International Business Machines Corporation | Simulation of virtual processors |
Also Published As
Publication number | Publication date |
---|---|
GB201205094D0 (en) | 2012-05-09 |
CN102576325A (zh) | 2012-07-11 |
GB2486136B (en) | 2012-12-26 |
CN102576325B (zh) | 2015-04-15 |
JPWO2011046089A1 (ja) | 2013-03-07 |
DE112010004037T5 (de) | 2013-01-03 |
WO2011046089A1 (ja) | 2011-04-21 |
GB2486136A (en) | 2012-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5379862B2 (ja) | シミュレーション方法、システム及びプログラム | |
US9251308B2 (en) | Simulation method, system, and program | |
JP5528294B2 (ja) | シミュレーション制御方法、システム及びプログラム | |
KR101522477B1 (ko) | 시뮬레이션 방법, 시스템 및 프로그램 | |
US8676560B2 (en) | Simulation method, system and program for simulating physical unit controlled by electronic control unit | |
US10552560B2 (en) | Controlling real time during embedded system development | |
JP2007510992A (ja) | 制御システムをシミュレーションおよび検証するためのシミュレーションシステムおよびコンピュータにより実施される方法 | |
JP2009271870A (ja) | 制御装置シミュレーション方法、システム及びプログラム | |
US8670967B2 (en) | Simulation method, system and article of manufacture | |
JP2011022702A (ja) | シミュレーション方法、システム及びプログラム | |
Wurst et al. | System performance modelling of heterogeneous hw platforms: An automated driving case study | |
JP2010033130A (ja) | シミュレーション方法、システム及びプログラム | |
US9612863B2 (en) | Hardware device for accelerating the execution of a systemC simulation in a dynamic manner during the simulation | |
JP5186290B2 (ja) | シミュレーション方法、システム及びプログラム | |
US8412496B2 (en) | Simulation system, method, and program | |
CN112783197A (zh) | 一种飞行器制导控制系统一体化集成解决方案 | |
JP5460010B2 (ja) | シミュレーション方法、システム及びプログラム | |
US20210141710A1 (en) | Development support device | |
JP5500820B2 (ja) | シミュレーション方法、システム及びプログラム | |
Depoyster et al. | Rapid prototyping of chassis control systems | |
US20230409383A1 (en) | Simulation system and method | |
Vaas et al. | The R2-D2 toolchain—automated porting of safety-critical applications to FPGAs | |
Weinstock et al. | Work-in-Progress: AMVP-A High Performance Virtual Platform using Parallel SystemC for Multicore ARM Architectures | |
KR20240070718A (ko) | 분할된 임베디드 시스템에서 결정론적 데이터 통신을 위한 컴퓨터 구현 방법 및 전자 제어 장치 | |
CN118227324A (zh) | 用于异构系统加速的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130409 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130425 |
|
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: 20130903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130927 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5379862 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |