JP5226848B2 - シミュレーション装置及びプログラム - Google Patents
シミュレーション装置及びプログラム Download PDFInfo
- Publication number
- JP5226848B2 JP5226848B2 JP2011242985A JP2011242985A JP5226848B2 JP 5226848 B2 JP5226848 B2 JP 5226848B2 JP 2011242985 A JP2011242985 A JP 2011242985A JP 2011242985 A JP2011242985 A JP 2011242985A JP 5226848 B2 JP5226848 B2 JP 5226848B2
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- software
- time
- scheduler
- hardware
- 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
Description
(1)プロセッサの動作を模倣するISS(命令セット・シミュレータ)上でソフトウェアを動作する。
(2)ISSを使用せずにシミュレーション装置上のCPU(Central Processing Unit)で直接、ソフトウェアを動作させる。
図1は、第1の実施の形態のシミュレーション装置の概略を示す図である。
第1の実施の形態のシミュレーション装置は、ターゲットプロセッサ上で動作するソフトウェアと、ハードウェアとの協調動作を検証するものであり、フレームワーク10内に、擬似OS11、擬似CPU12、通信手段13を有している。また、スケジューラ20を有している。
また、ハードウェアモデルHW1…HWnは、ターゲットシステムのハードウェアをSystemCなどで記述したものである。
上記の構成によれば、検証対象ソフトウェアSWは、フレームワーク10内の擬似CPU12の制御のもと、擬似OS11の実行スケジューリングにしたがって実行される。スケジューラ20への実行権の開放は、擬似OS11の実行スケジューリングにしたがって、擬似CPU12の制御のもと行われる。そして、スケジューラ20の実行スケジューリングに応じてハードウェアモデルHW1…HWnのタスクを実行できるようにする。これによって、検証対象ソフトウェアSWと、ハードウェアモデルHW1…HWnの協調動作を実現できる。
なお、スケジューラ20は、フレームワーク10内に設けるようにしてもよい。
図2は、第2の実施の形態のシミュレーション装置の概略を示す図である。
第2の実施の形態のシミュレーション装置は、スケジューラ30と、スケジューラ30に内蔵されたタイマ制御部30a、タイマ30bを有している。
タイマ制御部30aは、外部から、たとえばユーザによって入力されるタイマ制御コマンドに応じて、タイマ30bの機能を有効、または無効にする。
図3は、シミュレーション装置の具体的なハードウェア構成である。
シミュレーション装置50は、たとえばPCであり、ホストCPU51、ROM(Read Only Memory)52、RAM(Random Access Memory)53、HDD(Hard Disk Drive)54、グラフィック処理部55、入力I/F(Interface)56、通信I/F57などによって構成され、これらはバス58を介して相互に接続されている。
RAM53は、ホストCPU51が実行途中のプログラムや、演算途中のデータを格納している。
本実施の形態のシミュレーション装置は、図3のようなハードウェア構成により、以下のようなソフトウェア構成を実現する。
なお、ここでは、図1と図2の機能を両方含めたシミュレーション装置のソフトウェア構成を示している。図中の黒矢印は、イベント通信を示しており、白抜きの矢印はその他の信号またはデータの流れを示している。
フレームワーク60は、以下の各構成要素を含んでいる。
RTOS API63は、検証対象ソフトウェアSWがV−RTOS61と通信するための機能を提供するAPIである。ターゲットシステムのRTOSのAPIに合わせてカスタマイズすることができる。
IRC(割り込みコントローラ)67は、ハードウェアモデルHWからの割り込みイベントを、V−CPU66に伝え、V−CPU66からの割り込み応答により割り込みイベントをクリアする。
シミュレーション制御部70は、ユーザからの入力に応じてシミュレーションの開始、停止などを制御する。
以上が、本実施の形態のシミュレーション装置においてフレームワーク60内に備えられた機能である。これらは、SystemCなどのCベース言語により記述される。
デバッガ72は、MULTI(米国Green Hills Software, Inc.の商標)やVC++(Microsoft Corporationの登録商標)などによるソフトウェアデバッガである。フレームワーク60とは、デバッグI/F71を用いて通信する。デバッグ結果は、たとえば、GUI(Graphical User Interface)を用いて、図3で示したようなディスプレイ55aに表示する。
エラーログ出力部76は、フレームワーク60のエラー(違法な設定、制限事項違反などの検出結果)、V−RTOS61のエラー(API引数エラー、制限事項違反などの検出結果)、通信エラー(プロトコル違反、リソースオーバーフロー、API引数エラー、制限事項違反などの検出結果)、ハードウェアモデルHWのエラー(プロトコル違反、リソースオーバーフロー、制限事項違反などの検出結果)、外部I/F65のエラー(通信エラーの検出結果)、デバッガ72のエラー(MULTI/VC++との通信エラーの検出結果)、SystemCシミュレータエラー(SystemCシミュレータの例外事象の検出結果)、プラットフォームエラー(Windowsの例外事象の検出結果)などを出力し、たとえば、GUIを用いて、図3で示したようなディスプレイ55aに表示させる。
まず、検証対象ソフトウェアSWのタスクの切り替え時の動作を説明する。
図5は、タスクの切り替え時の動作を示すシーケンス図である。
実行中のタスクAが、タスクBを開始するRTOS API63であるTask_Startサービスをコールすると、RTOS API63を介してフレームワーク60内のOSスケジューラが呼び出される。OSスケジューラは、タスクAの状態をWait状態に設定し、タスクBの状態をRun状態に設定して、ディスパッチャを呼び出す。ディスパッチャは、スケジューラ73に対して、タスクBの開始要求:Wakeup Task Bを発行する。
図6は、検証対象ソフトウェアからハードウェアモデルへの同期アクセス時の動作を示すシーケンス図である。
実行中のタスクAが、ハードウェアモデルHWからデータを読み出すデータ伝送API62のData_Read(同期)サービスをコールすると、データ伝送API62を介してフレームワーク60内の通信チャネル64が呼び出される。通信チャネル64は、Data_Readのイベントを、スケジューラ73を介してハードウェアモデルHWに通知する。
図7は、検証対象ソフトウェアからハードウェアモデルへの非同期アクセス時の動作を示すシーケンス図である。
実行中のハードウェアモデルHWが、データ伝送API68のData_Write(非同期)サービスをコールすると、データ伝送API68を介してフレームワーク60内の通信チャネル64が呼び出される。通信チャネル64は、Data_Writeのデータを通信チャネル64内に保持する。
図8は、タイマが無効の場合のシミュレーション装置の動作を示すシーケンス図である。
タスクAやタスクBに関する検証対象ソフトウェアSWのスケジューラ73上でのシミュレーション時間における遅延時間はゼロとなる。したがって、シミュレーション時間上のある時点で実行可能な全てのソフトウェア処理がシミュレーションされ、それらが終了するとスケジューラ73に戻る。
図9は、タイマが有効の場合のシミュレーション装置の動作を示すシーケンス図である。
たとえば、上記では1つの擬似CPU(V−CPU)を用いたが、マルチCPUに対応して複数設けるようにしてもよい。
11 擬似OS
11a、13a API
12 擬似CPU
13 通信手段
20 スケジューラ
SW 検証対象ソフトウェア
HW1…HWn ハードウェアモデル
Claims (5)
- ターゲットプロセッサ上で動作するソフトウェアと、ハードウェアとの協調動作を検証するシミュレーション装置において、
検証対象の前記ソフトウェアと、前記ハードウェアをシステムレベル設計言語で表現したハードウェアモデルの実行スケジューリングを行うスケジューラと、
前記ソフトウェアの処理時間を前記シミュレーション装置上の処理時間をもとに算出するタイマと、
を有し、
前記スケジューラは、前記ソフトウェアのシミュレーションが終了すると、シミュレーション時間上の時刻を、算出された前記ソフトウェアの処理時間分進め、進めた時刻において予定されたシミュレーションプロセスを実行させることを特徴とするシミュレーション装置。 - 前記タイマは、前記シミュレーション装置のプロセッサと、前記ターゲットプロセッサとの性能差を換算して、前記ソフトウェアの処理時間を算出することを特徴とする請求項1記載のシミュレーション装置。
- 前記スケジューラは、前記ハードウェアモデルの評価タイミングをイベント・ドリブンでスケジューリングし、前記ソフトウェアの実行中に、前記タイマの値をもとに次のイベント時間に達したことを検知すると、前記ソフトウェアの実行を停止し、スケジューリングされている他のシミュレーションプロセスを実行することを特徴とする請求項1または2記載のシミュレーション装置。
- 入力される制御命令に応じて、前記タイマの機能を有効、または無効にするタイマ制御部を更に有することを特徴とする請求項1乃至3のいずれか一項に記載のシミュレーション装置。
- ターゲットプロセッサ上で動作する検証対象のソフトウェアと、前記ソフトウェアと協調動作するハードウェアをシステムレベル設計言語で表現したハードウェアモデルの実行スケジューリングを行い、
前記ソフトウェアの処理時間をシミュレーション装置上の処理時間をもとに算出し、
前記ソフトウェアのシミュレーションが終了すると、シミュレーション時間上の時刻を、算出された前記ソフトウェアの処理時間分進め、進めた時刻において予定されたシミュレーションプロセスを実行する、
処理をコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011242985A JP5226848B2 (ja) | 2011-11-07 | 2011-11-07 | シミュレーション装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011242985A JP5226848B2 (ja) | 2011-11-07 | 2011-11-07 | シミュレーション装置及びプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007189317A Division JP4975544B2 (ja) | 2007-07-20 | 2007-07-20 | シミュレーション装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012027952A JP2012027952A (ja) | 2012-02-09 |
JP5226848B2 true JP5226848B2 (ja) | 2013-07-03 |
Family
ID=45780712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011242985A Expired - Fee Related JP5226848B2 (ja) | 2011-11-07 | 2011-11-07 | シミュレーション装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5226848B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7185241B1 (ja) | 2021-08-27 | 2022-12-07 | 国立大学法人千葉大学 | 反射光分布測定装置及び方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354075B (zh) * | 2015-10-20 | 2018-10-26 | 记忆科技(深圳)有限公司 | 一种软硬件协同仿真的同步方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005018623A (ja) * | 2003-06-27 | 2005-01-20 | Sony Corp | シミュレーション装置およびシミュレーション方法 |
JP4549652B2 (ja) * | 2003-10-27 | 2010-09-22 | パナソニック株式会社 | プロセッサシステム |
JP2005148901A (ja) * | 2003-11-12 | 2005-06-09 | Hitachi Ltd | ジョブスケジューリングシステム |
-
2011
- 2011-11-07 JP JP2011242985A patent/JP5226848B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7185241B1 (ja) | 2021-08-27 | 2022-12-07 | 国立大学法人千葉大学 | 反射光分布測定装置及び方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2012027952A (ja) | 2012-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4975544B2 (ja) | シミュレーション装置及びプログラム | |
US6427224B1 (en) | Method for efficient verification of system-on-chip integrated circuit designs including an embedded processor | |
Bringmann et al. | The next generation of virtual prototyping: Ultra-fast yet accurate simulation of HW/SW systems | |
De Schutter | Better Software. Faster!: Best Practices in Virtual Prototyping | |
US9418181B2 (en) | Simulated input/output devices | |
Bouchhima et al. | Fast and accurate timed execution of high level embedded software using HW/SW interface simulation model | |
Schirner et al. | Fast and accurate processor models for efficient MPSoC design | |
Gerstlauer et al. | Abstract system-level models for early performance and power exploration | |
Posadas et al. | RTOS modeling in SystemC for real-time embedded SW simulation: A POSIX model | |
Schirner et al. | Introducing preemptive scheduling in abstract RTOS models using result oriented modeling | |
Brandberg et al. | A SimEvents model for the analysis of scheduling and memory access delays in multicores | |
US20170308629A1 (en) | Sliding Time Window Control Mechanism for Parallel Execution of Multiple Processor Core Models in a Virtual Platform Simulation | |
Posadas et al. | POSIX modeling in SystemC | |
US20120197625A1 (en) | Data-dependency-Oriented Modeling Approach for Efficient Simulation of OS Preemptive Scheduling | |
Abdi et al. | Automatic TLM generation for early validation of multicore systems | |
JP5226848B2 (ja) | シミュレーション装置及びプログラム | |
Plyaskin et al. | High-level timing analysis of concurrent applications on MPSoC platforms using memory-aware trace-driven simulations | |
JP6249827B2 (ja) | シミュレーション装置及びシミュレーションプログラム | |
EP4092531A1 (en) | Systems, methods, and apparatus for coordinating computation systems | |
Razaghi et al. | Predictive OS modeling for host-compiled simulation of periodic real-time task sets | |
Chatelain et al. | High-level architectural co-simulation using Esterel and C | |
Mooney III | Hardware/Software co-design of run-time systems | |
JP2005018623A (ja) | シミュレーション装置およびシミュレーション方法 | |
Posadas et al. | Early modeling of linux-based rtos platforms in a systemc time-approximate co-simulation environment | |
Ko et al. | Hardware-in-the-loop simulation for CPU/GPU heterogeneous platforms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120911 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121109 |
|
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: 20130312 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130314 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5226848 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160322 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |