JP2006215781A - Simulation device and simulation method - Google Patents
Simulation device and simulation method Download PDFInfo
- Publication number
- JP2006215781A JP2006215781A JP2005027432A JP2005027432A JP2006215781A JP 2006215781 A JP2006215781 A JP 2006215781A JP 2005027432 A JP2005027432 A JP 2005027432A JP 2005027432 A JP2005027432 A JP 2005027432A JP 2006215781 A JP2006215781 A JP 2006215781A
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- execution
- model
- switching
- information
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、シミュレーション装置及びシミュレーション方法に関し、特に処理時間を高速化したシミュレーション装置及びシミュレーション方法に関する。 The present invention relates to a simulation apparatus and a simulation method, and more particularly, to a simulation apparatus and a simulation method that increase the processing time.
従来、ハードウェアやプロセッサおよびそのプロセッサ上で動くソフトウェアを開発する場合、各ハードウェアやプロセッサをモデル化し、擬似的に実行させるシミュレーション装置が一般的に用いられている。シミュレーション装置では、処理単位である動作1クロックごとに、各ハードウェアやプロセッサのモデルを動作させ、命令を実行する。しかし、シミュレーション装置の各モデルを1クロックごとに切り替える必要があり、そのためのオーバヘッドが大きくなり、シミュレーション時間がかかってしまうという問題がある。 2. Description of the Related Art Conventionally, when developing hardware, a processor, and software that runs on the processor, a simulation apparatus that models each hardware or processor and executes it in a simulated manner is generally used. In the simulation apparatus, each hardware or processor model is operated and an instruction is executed for each operation clock that is a processing unit. However, it is necessary to switch each model of the simulation apparatus every clock, and there is a problem that the overhead for that is increased and simulation time is required.
そこで、シミュレーション時間を短縮するために、特許文献1で示すようなシミュレーション装置が知られている。図9に示すような、プロセッサによるプログラム実行を例にとって説明すると、外部周辺回路とのやり取りが生じるまでは、プロセッサにおいて複数のクロック分の命令1#10及び命令2#11をモデルを切り替えず実行し、実行したクロック数をカウントする。周辺回路とのやり取りが生じた段階で、プロセッサにおいて実行したクロック数分、周辺回路を実行することにより命令3#12を実行する。このような構成によって、各モデルの切り替え量を減らすことができ、シミュレーション時間を短縮することができる。
しかしながら、従来の装置においては、単一のプロセッサにおいてはシミュレーションの高速化が可能であるが、複数のプロセッサとハードウェアとがパラレルに動作する場合に適用できないので、そのようなモデルのシミュレーションの高速化ができないという問題がある。又、従来の装置においては、複数のプロセッサとハードウェアの間で非同期に通信する場合には適用できないという問題がある。 However, in the conventional apparatus, the simulation speed can be increased with a single processor. However, since it cannot be applied when a plurality of processors and hardware operate in parallel, the simulation speed of such a model is high. There is a problem that it cannot be converted. Further, the conventional apparatus has a problem that it cannot be applied when asynchronously communicating between a plurality of processors and hardware.
本発明はかかる点に鑑みてなされたものであり、同期または非同期に関わらずシミュレーションが可能であるとともに、高速なシミュレーションを行うことができ、複数のプロセッサやハードウェアから構成されるシステムの開発効率を高め、開発スピードを向上させることができるシミュレーション装置及びシミュレーション方法を提供することを目的とする。 The present invention has been made in view of the above points, and can perform simulation regardless of whether it is synchronous or asynchronous, and can perform high-speed simulation, and the development efficiency of a system composed of a plurality of processors and hardware. An object of the present invention is to provide a simulation apparatus and a simulation method capable of improving the development speed and improving the development speed.
本発明のシミュレーション装置は、複数のシステムのそれぞれのシミュレーションを行う複数のシミュレーションモデル手段と、前記シミュレーションモデル手段を切り替えるための情報である切替情報に基づいて、実行中の前記シミュレーションモデル手段の実行を停止させるとともに他の前記シミュレーションモデル手段の実行を開始するように切り替えるモデル切替手段と、を具備する構成を採る。 The simulation apparatus according to the present invention executes a plurality of simulation model means for performing a simulation of each of a plurality of systems and the simulation model means being executed based on switching information that is information for switching the simulation model means. A model switching unit that switches to stop and start execution of the other simulation model unit is adopted.
本発明のシミュレーション方法は、複数のシミュレーションモデルのそれぞれのシミュレーションを行うステップと、前記シミュレーションモデルの実行を切り替えるための情報である切替情報に基づいて、実行中の前記シミュレーションモデルを停止させるとともに他の前記シミュレーションモデルの実行を開始するように切り替えるステップと、を具備するようにした。 According to the simulation method of the present invention, the simulation model being executed is stopped based on the step of performing simulation of each of a plurality of simulation models, and switching information that is information for switching execution of the simulation model. Switching to start execution of the simulation model.
本発明によれば、同期または非同期に関わらずシミュレーションが可能であるとともに、高速なシミュレーションを行うことができ、複数のプロセッサやハードウェアから構成されるシステムの開発効率を高め、開発スピードを向上させることができる。 According to the present invention, simulation is possible regardless of whether it is synchronous or asynchronous, high-speed simulation can be performed, the development efficiency of a system composed of a plurality of processors and hardware is improved, and the development speed is improved. be able to.
以下、本発明の実施の形態について、図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(実施の形態1)
図1は、本発明の実施の形態1に係るシミュレーション装置100の構成を示すブロック図である。
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of a
図1に示すように、シミュレーション装置100は、複数のプロセッサやハードウェアを模擬したシミュレーションモデル部(以下、「シミュレーションモデル」と記載する)101〜103と、出力情報記憶部104と、モデル切替え部105とから構成されている。
As shown in FIG. 1, the
それぞれのシミュレーションモデル101〜103は、処理実行制御部106と、時間計測部107と、入力情報記憶部108と、内部状態記憶部109とから構成されている。
Each of the
出力情報記憶部104は、処理実行制御部106から出力された出力情報を記憶する。また、入力情報記憶部108より出力情報取得要望がある場合は、該当する出力情報を入力情報記憶部108に出力する。
The output
モデル切替え部105は、処理実行制御部106から実行停止フラグまたは処理完了フラグが入力された場合、当該シミュレーションモデルの処理実行制御部106に対し、実行停止命令を出力する。また、このとき、各シミュレーションモデルのシミュレーション上の時刻を比較し、もっとも経過時間が少ないシミュレーションモデルを選択し、そのモデルの処理実行制御部106に対し、実行開始命令を出力する。
When the execution stop flag or the process completion flag is input from the process
処理実行制御部106は、モデル切替え部105から処理実行開始命令が入力されると、入力情報記憶部108に対し、入力情報取得命令を出力すると共に、内部状態記憶部109からモデルの内部状態を読み出して、内部状態を設定する。以降、モデル切替え部105から、処理実行停止命令を受信するまでは、1クロックごとに当該シミュレーションモデルの処理を実行し、実行完了フラグを時間計測部107に出力する。入力情報記憶部108から、入力情報取得命令に対応する入力値がある場合は、それを用いて処理を実行する。当該シミュレーションモデルの処理がすべて終了した場合は、処理完了フラグをモデル切替え部105に出力する。
When a process execution start command is input from the
また、処理実行制御部106は、当該シミュレーションモデルの処理において、他のシミュレーションモデルに対し出力を行う場合は、時間計測部107より入力されたシミュレーション上の時刻と出力値およびそのアドレスを出力情報記憶部104に出力する。
In addition, in the process of the simulation model, the process
また、処理実行制御部106は、当該シミュレーションモデルの処理において、他のシミュレーションモデルから出力される情報である出力情報の入力が必要な場合は、時間計測部107より入力されたシミュレーション上の時刻とアドレスを入力情報記憶部108に出力するとともに、内部状態記憶部109に当該シミュレーションモデルの内部状態を記憶させ、処理停止フラグ(切替情報)をモデル切替え部105に出力し、次の命令の実行に備える。
In addition, the process
時間計測部107は、処理実行制御部106から実行完了フラグが入力するたびに、当該シミュレーションモデルのシミュレーション上の時刻を1クロックインクリメントする。当該シミュレーションモデルの現時点の時刻は、都度処理実行制御部106およびモデル切替え部105に出力される。
Each time the execution completion flag is input from the process
入力情報記憶部108は、当該シミュレーションモデルへの入力情報として、処理実行制御部106から入力されたシミュレーション上の時刻とアドレスを記憶する。また、処理実行制御部106より入力情報取得命令が入力されたときに、当該シミュレーションモデルの入力情報が、出力情報記憶部104に記憶されている場合は、出力情報記憶部104から該当する入力値を取得し、それを処理実行制御部106に出力する。
The input
次に、図2に示すフロー図を用いて、シミュレーション装置100の動作を詳細に説明する。
Next, the operation of the
まず、ST201で、モデル切替え部105は、任意の1つのシミュレーションモデル101を選択し、選択したシミュレーションモデル101に対し、実行開始命令を出力する。この実行開始命令を受けて、シミュレーションモデル101の処理実行制御部106は、入力情報記憶部108に対し入力情報取得命令を出力する。また、内部状態記憶部109から内部状態を読み出し、内部状態を設定する。
First, in ST201, the
ST202において、入力情報記憶部108は、入力情報があるか確認し、ある場合はST203で、他のシミュレーションモデル102、103の出力したアドレス情報に基づき、出力情報記憶部104に格納された出力情報の読み出しを要望し、出力情報記憶部104から該当する値を得て、それを処理実行制御部106に出力する。
In ST202, the input
次に、処理実行制御部106は、ST204で1クロック分の処理を行う。ST203で入力値を得た場合は、その入力値を用いて処理を行う。また、この処理で出力がある場合(ST205)は、ST206で時間計測部107より得た現在の時刻および出力情報のアドレスと出力値を出力情報記憶部104に出力する。処理が完了したら、時間計測部107に実行完了フラグを出力する。
Next, the process
次に、時間計測部107は、ST207で処理実行制御部106から実行完了フラグを得たら、現在時刻を1クロック分インクリメントし、処理実行制御部106およびモデル切替え部105に出力する。処理実行制御部106は、ST208でシミュレーションモデル101の処理が終了した場合は、処理完了フラグをモデル切替え部105に出力し、ST212に進む。また、終了していない場合はST209に進む。
Next, when the
処理実行制御部106は、ST209において、次回の処理で入力があるかどうか確認し、入力がない場合はST204に戻り、次の命令を実行する。一方、入力がある場合は、ST210で時間計測部107より得た現在の時刻および入力情報のアドレスと出力値を、入力情報記憶部108に記憶する。また、実行停止フラグをモデル切替え部105に出力する。モデル切替え部105は、実行停止フラグを受信したら、実行中のシミュレーションモデル101に対し処理実行停止命令を出力する。次に、ST211において、モデル切替え部105は、各シミュレーションモデル102、103の時間計測部107から得た各モデルのシミュレーション上の時刻を比較し、最も経過時間が少ないシミュレーションモデル102を選択し、そのシミュレーションモデル102に対し処理実行開始命令を出力し、シミュレーションモデルを切り替えてST202に戻る。
In ST209, the process
ST211で、切り替えられたシミュレーションモデル101の処理実行制御部106は、処理実行停止命令が入力されたら、シミュレーションモデル101内の状態を内部状態記憶部109に記憶する。なお、場合によっては、同一のシミュレーションモデル101が連続して選択される場合もあるので、その場合は、そのシミュレーションモデル101内の状態を記憶する必要はない。したがって、ST211で、処理実行制御部106が、処理実行停止命令と処理実行開始命令とを同時に受け取った場合は、そのシミュレーションモデル101内の状態の記憶は行わず、ST202に戻る。
In ST211, the process
又、ST212で処理完了フラグがモデル切替え部105に入力されると、モデル切替え部105では、すべてのシミュレーションモデル101〜103の処理が終了したか確認する。終了していないシミュレーションモデルがある場合は、ST211に進む。また、すべてのシミュレーションモデル101〜103の処理が終了した場合は、シミュレーションを終了する。
Further, when the processing completion flag is input to the
次に、図3を用いて、図4に示すような3つのプロセッサ301〜303が1つのメモリ401を共有する場合の処理を例にとり、シミュレーション装置100による実行順序を説明する。なお、以下の説明では、各プロセッサとも、1クロックで1命令が実行されるとする。
Next, the execution sequence by the
まず、はじめに、シミュレーションモデルとしてプロセッサ301が選択されると、命令1から命令12までは外部からの入力がないため、プロセッサ301上で連続して処理が実行される。途中、命令2および命令6で、それぞれ外部への出力があるため、その時刻とアドレスと出力値とを出力情報記憶部104に記憶させる。なお、この図において、各プロセッサ301〜303から外側の矢印は出力、内側への矢印は入力を示す。また、Ver1[2]とは、時刻2のアドレスVer1の値を出力していることを示す。
First, when the
次に、プロセッサ301の時刻12の時点で入力があったため、プロセッサ301は命令12の実行直前で停止し、その入力情報と内部状態を記憶し、他のプロセッサ302、303に処理が移行する。プロセッサ302およびプロセッサ303ともまだ実行されていないため、どちらが選択されてもかまわない。ここでは、プロセッサ302が選択される。プロセッサ302では、命令1から命令7まで実行され、途中、命令3と命令5で出力情報を記憶する。プロセッサ302の時刻7の入力情報と内部情報とを記憶したあと、プロセッサ303に移行し、命令1から命令4までが実行される。
Next, since there was an input at
ここで、各プロセッサ301〜303の出力情報としては、時刻、アドレス、出力値であり、同一アドレスであっても時刻が異なる情報はそれぞれ記憶する必要がある。これは、各プロセッサ301〜303の処理がシミュレーション時間上で非同期であり、たとえ同じアドレスに上書きされることが自明であっても、上書きされる前の状態が必要になる可能性があるためである。
Here, the output information of each of the
プロセッサ303で命令4まで実行されたあと、モデル切替え部105は、各プロセッサ301〜303の経過時間を比較し、最も経過時間が少ないプロセッサ303を選択する。したがって、プロセッサ303は継続して実行される。プロセッサ303では、命令4で得ようとした入力情報を、出力情報記憶部104から取得する。図において、Ver[4]、即ち、時刻4の時点のVer4の情報が必要であるが、これはプロセッサ302の命令3で出力された時刻3の時点のVer4の出力情報が時刻4でも保たれているため、これがプロセッサ303の命令4の時点の入力情報に該当する。この入力情報を用いてプロセッサ303の命令4の処理を行い、引き続き命令5から命令12までの処理を行う。
After the
同様にして、プロセッサ302に処理が移行し、命令7における入力情報として、プロセッサ301の命令6で出力されたVer2の値を取得し命令7の処理を行う。続けて命令8から命令16までの処理を行う。命令16でプロセッサ30についてはすべての処理が完了するため、モデル切替え部105でプロセッサ301に処理を移す。プロセッサ301で命令12から命令16までの処理を行い、最後にプロセッサ303で命令12から命令16の処理を行ってシミュレーションを終了する。
Similarly, the processing shifts to the
図3の例で示すように、本発明は、入力がない状態での出力モデルの実行結果は、他のシミュレーションモデルと独立に実行できることを利用して、シミュレーションモデルの切り替えを入力があったときのみとすることで、切り替えオーバヘッドを削減することができる点に特徴がある。 As shown in the example of FIG. 3, the present invention uses the fact that the execution result of the output model without any input can be executed independently of other simulation models, and when the simulation model is switched. It is characterized in that the switching overhead can be reduced by using only.
また、各シミュレーションモデルからの時刻の異なる出力情報をすべて記憶することで、複数のプロセッサおよびハードウェアが非同期に動作するシミュレーションモデルに対応している。 Also, by storing all output information at different times from each simulation model, a plurality of processors and hardware are compatible with a simulation model that operates asynchronously.
なお、過去の出力情報が必要なくなった場合は、それを削除することで出力情報記憶部104の記憶すべき情報量を削減することができる。過去の出力情報が必要なくなる場合とは、すべてのモデルの経過時刻よりも古い、同一アドレスの情報が2つ以上ある場合であり、このときは最新のもののみを残して後のものは削除することができる。
When past output information is no longer needed, the amount of information to be stored in the output
このように、本実施の形態1によれば、他のシミュレーションモデルからの出力情報の入力が必要になった場合には実行を停止するとともに、実行時間の最も短いシミュレーションモデルに切り替えるので、複数のプロセッサとハードウェアとがパラレルに動作し、又、非同期に通信する場合であっても、高速にシミュレーションを実行することができる。また、本実施の形態1によれば、複数のプロセッサやハードウェアから構成されるシステムの開発効率を高め、開発スピードを向上させることができる。 As described above, according to the first embodiment, when input of output information from another simulation model is required, the execution is stopped and the simulation model having the shortest execution time is switched. Even when the processor and hardware operate in parallel and communicate asynchronously, simulation can be executed at high speed. Further, according to the first embodiment, the development efficiency of a system composed of a plurality of processors and hardware can be improved and the development speed can be improved.
(実施の形態2)
図5は、本発明の実施の形態2に係るシミュレーション装置500の構成を示すブロック図である。
(Embodiment 2)
FIG. 5 is a block diagram showing a configuration of
本実施の形態2に係るシミュレーション装置500は、図1に示す実施の形態1に係るシミュレーション装置100において、図5に示すように、処理停止時刻設定部501を追加し、モデル切替え部105の代わりにモデル切替え部502を有する。なお、図5においては、図1と同一構成である部分には同一の符号を付してその説明は省略する。
The
処理停止時刻設定部501は、シミュレーション停止時刻を指定する。指定方法としては、シミュレーション上のある絶対時刻や、現時点のシミュレーション時点からの相対的な時刻などがある。
The process stop
モデル切替え部502は、処理停止時刻設定部501から入力されたシミュレーション停止時刻の情報(切替情報)と時間計測部107から入力されるシミュレーションモデルの現時点の時刻とを比較し、それが一致した時点で、実行中のシミュレーションモデルの処理実行制御部106に対し実行停止命令を出力し、他のシミュレーションモデルに制御を移す。また、モデル切替え部502は、各シミュレーションモデルのシミュレーション上の時刻を比較し、もっとも経過時間が少ないシミュレーションモデルを選択し、そのモデルの処理実行制御部106に対し、実行開始命令を出力する。又、他のシミュレーションモデルでも同様にシミュレーション停止時刻まで実行を行い、実行を停止させる。
The
このような構成とすることで、シミュレーション装置上の全モデルにおいて、指定した任意のシミュレーション上の時刻までの実行が行われ、この時刻でのすべてのモデル状態が観測できる。また、この時点で出力情報記憶部104に記憶されている情報は、各アドレスごとに最新のものを除いてすべて削除することができるため、出力情報の記憶量を削減できる。
With such a configuration, all models on the simulation apparatus are executed up to a designated arbitrary simulation time, and all model states at this time can be observed. Further, since all the information stored in the output
このように、本実施の形態2によれば、あらかじめ設定したシミュレーション停止時刻と時間計測部107にて計測した時刻とが一致した場合には実行を停止するとともに、実行時間の最も短いシミュレーションモデルに切り替えるので、複数のプロセッサとハードウェアとがパラレルに動作し、又、非同期に通信する場合であっても、高速にシミュレーションを実行することができる。また、本実施の形態2によれば、複数のプロセッサやハードウェアから構成されるシステムの開発効率を高め、開発スピードを向上させることができる。また、本実施の形態2によれば、高速シミュレーションを行いながら、任意のシミュレーション時刻での全プロセッサおよび周辺回路の情報を得ることができる。また、本実施の形態2によれば、時刻を適切に設定することで、出力情報記憶部104の記憶量が限定された環境であっても、高速にシミュレーションを実行することができる。
As described above, according to the second embodiment, when the preset simulation stop time and the time measured by the
なお、本実施の形態2と実施の形態1とを適宜組み合わせるように構成しても良い。 In addition, you may comprise so that this Embodiment 2 and Embodiment 1 may be combined suitably.
(実施の形態3)
図6は、本発明の実施の形態3に係るシミュレーション装置600の構成を示すブロック図である。
(Embodiment 3)
FIG. 6 is a block diagram showing a configuration of
本実施の形態3に係るシミュレーション装置600は、図1に示す実施の形態1に係るシミュレーション装置100において、図6に示すように、出力情報記憶量監視部602を追加し、出力情報記憶部104の代わりに出力情報記憶部601を有するとともにモデル切替え部105の代わりにモデル切替え部603を有する。なお、図6においては、図1と同一構成である部分には同一の符号を付してその説明は省略する。
The
出力情報記憶部601は、処理実行制御部106からの出力情報を記憶すると共に、現在の出力情報記憶部601の記憶情報量の情報(切替情報)を出力情報記憶量監視部602に出力する。出力情報記憶量監視部602は、予め設定された閾値と各時点での記憶情報量とを比較し、記憶情報量が閾値を超えている場合は、モデル切替え部603に記憶情報量超過フラグを出力する。
The output
モデル切替え部603は、出力情報記憶量監視部602から記憶情報量超過フラグが入力した場合は、実行中の当該シミュレーションモデルの処理実行制御部106に対し実行停止命令を出力し、他のシミュレーションモデルに制御を移す。この時点で出力情報記憶部601に記憶されている情報は、各アドレスごとに最新のものを除いてすべて削除することができ、出力情報の記憶量を削減できる。また、モデル切替え部603は、各シミュレーションモデルのシミュレーション上の時刻を比較し、もっとも経過時間が少ないシミュレーションモデルを選択し、そのモデルの処理実行制御部106に対し、実行開始命令を出力する。
When the storage information amount excess flag is input from the output information storage
又、記憶情報量と比較する最適な閾値は、シミュレーションの実行形態によって変わるが、シミュレーションモデル数が多くなるほど低い閾値にすることで、記憶情報量が実際に記憶できる限界を超えないような実行ができる。特に、実施の形態2に示すような処理停止時刻の指定と組み合わせることにより、記憶情報量を低く抑えることができる。 In addition, the optimum threshold value to be compared with the stored information amount varies depending on the execution form of the simulation. it can. In particular, the amount of stored information can be kept low by combining with the designation of the processing stop time as shown in the second embodiment.
このように、本実施の形態3によれば、記憶情報量が閾値以上である場合には実行を停止するとともに、実行時間の最も短いシミュレーションモデルに切り替えるので、複数のプロセッサとハードウェアとがパラレルに動作し、又、非同期に通信する場合であっても、高速にシミュレーションを実行することができる。また、本実施の形態3によれば、複数のプロセッサやハードウェアから構成されるシステムの開発効率を高め、開発スピードを向上させることができる。また、本実施の形態3によれば、記憶情報量の閾値を適切に設定することで、出力情報記憶部601の記憶情報量が制限されても高速にシミュレーションを実行することができる。
As described above, according to the third embodiment, when the amount of stored information is equal to or greater than the threshold value, the execution is stopped and the simulation model with the shortest execution time is switched, so that a plurality of processors and hardware are parallel. Even when asynchronously communicating, simulation can be executed at high speed. Further, according to the third embodiment, the development efficiency of a system composed of a plurality of processors and hardware can be improved and the development speed can be improved. Further, according to the third embodiment, by appropriately setting the threshold value of the stored information amount, the simulation can be executed at high speed even if the stored information amount of the output
なお、本実施の形態3と、実施の形態1または実施の形態2とを組み合わせるように構成しても良い。 In addition, you may comprise so that this Embodiment 3 and Embodiment 1 or Embodiment 2 may be combined.
(実施の形態4)
図7は、本発明の実施の形態4に係るシミュレーション装置700の構成を示すブロック図である。
(Embodiment 4)
FIG. 7 is a block diagram showing a configuration of a
本実施の形態4に係るシミュレーション装置700は、図1に示す実施の形態1に係るシミュレーション装置100において、図7に示すように、処理停止位置設定部701を追加し、モデル切替え部105の代わりにモデル切替え部702を有するとともに処理実行制御部106の代わりに処理実行制御部703を有する。なお、図7においては、図1と同一構成である部分には同一の符号を付してその説明は省略する。
The
処理停止位置設定部701は、シミュレーションモデル上における停止位置を指定する。例えば、停止位置は、プロセッサで実行される、任意の命令アドレス等である。
The process stop
モデル切替え部702は、処理停止位置設定部701から入力した停止位置の情報(切替情報)を、該当するシミュレーションモデルの処理実行制御部703に設定する。停止位置が指定されたシミュレーションモデルの処理実行制御部703は、処理が停止位置に達した時点で実行停止フラグをモデル切替え部702に出力する。モデル切替え部702は、実行停止フラグが入力されたら、当該シミュレーションモデルに処理実行停止命令を出力し、他のシミュレーションモデルに制御を移す。また、このとき、モデル切替え部702は、各シミュレーションモデルのシミュレーション上の時刻を比較し、もっとも経過時間が少ないシミュレーションモデルを選択し、そのモデルの処理実行制御部703に対し、実行開始命令を出力する。
The
このように、本実施の形態4によれば、シミュレーションモデルにおける実行が、あらかじめ設定した実行停止位置になった場合には実行を停止するとともに、実行時間の最も短いシミュレーションモデルに切り替えるので、複数のプロセッサとハードウェアとがパラレルに動作し、又、非同期に通信する場合であっても、高速にシミュレーションを実行することができる。また、本実施の形態4によれば、複数のプロセッサやハードウェアから構成されるシステムの開発効率を高め、開発スピードを向上させることができる。また、本実施の形態4によれば、高速シミュレーションを行いながら、モデル上の任意の位置に到達した時刻の全プロセッサおよび周辺回路の情報を得ることができる。具体的な例として、ブレークポイントによるシミュレーション停止設定に対応しながら、かつ高速シミュレーションの効果が得られる。 As described above, according to the fourth embodiment, when the execution in the simulation model reaches the execution stop position set in advance, the execution is stopped and switched to the simulation model having the shortest execution time. Even when the processor and hardware operate in parallel and communicate asynchronously, simulation can be executed at high speed. Further, according to the fourth embodiment, the development efficiency of a system composed of a plurality of processors and hardware can be improved and the development speed can be improved. Further, according to the fourth embodiment, it is possible to obtain information on all processors and peripheral circuits at the time when an arbitrary position on the model is reached while performing high-speed simulation. As a specific example, the effect of high-speed simulation can be obtained while corresponding to the simulation stop setting by the breakpoint.
なお、本実施の形態4と実施の形態1〜3とを適宜組み合わせるように構成しても良い。
In addition, you may comprise so that this
(実施の形態5)
図8は、本発明の実施の形態5に係るシミュレーション装置800の構成を示すブロック図である。
(Embodiment 5)
FIG. 8 is a block diagram showing a configuration of
本実施の形態5に係るシミュレーション装置800は、図1に示す実施の形態1に係るシミュレーション装置100において、図8に示すように、実行形式指示部801を追加し、モデル切替え部105の代わりにモデル切替え部802を有する。なお、図8においては、図1と同一構成である部分には同一の符号を付してその説明は省略する。
The
実行形式指示部801は、実施の形態1のようにできるだけシミュレーションモデルの切り替えを抑制した高速なシミュレーション実行形式及び1処理単位ごとにシミュレーションモデルの切り替えを行うシミュレーション実行形式の内から、任意の実行形式の選択を行い、選択した実行形式の情報(切替情報)をモデル切替え部802に出力する。
The execution
モデル切替え部802は、実行形式指示部801から入力された実行形式の情報に従い制御する。即ち、モデル切替え部802は、高速なシミュレーションの実行形式が選択された場合は、実施の形態1と同様の制御を行い、1処理単位ごとにシミュレーションのモデルの切り替えを行うシミュレーション実行形式が選択された場合は、1処理を行うたびにシミュレーションモデルを切り替えて、シミュレーションを実行する。また、モデル切替え部802は、他のシミュレーションモデルに切り替える場合には、各々の他のシミュレーションモデルのシミュレーション上の時刻を比較し、もっとも経過時間が少ないシミュレーションモデルを選択し、そのモデルの処理実行制御部106に対し、実行開始命令を出力する。
The
このように、本実施の形態5によれば、要求される実行速度が早い実行形式のシミュレーションモデルは、切り替えの回数が少なくなるようにするので、複数のプロセッサとハードウェアとがパラレルに動作し、又、非同期に通信する場合であっても、高速にシミュレーションを実行することができる。また、本実施の形態5によれば、複数のプロセッサやハードウェアから構成されるシステムの開発効率を高め、開発スピードを向上させることができる。また、本実施の形態5によれば、高速シミュレーションと1処理時間単位ごとの実行を組み合わせた検証を行うことができる。具体的な例としては、ステップ実行によるシミュレーション実行と、高速シミュレーションを組み合わせて使用することができる。 As described above, according to the fifth embodiment, since the simulation model of the execution format that requires a high execution speed reduces the number of times of switching, a plurality of processors and hardware operate in parallel. In addition, even when communicating asynchronously, simulation can be executed at high speed. Further, according to the fifth embodiment, the development efficiency of a system composed of a plurality of processors and hardware can be improved and the development speed can be improved. Further, according to the fifth embodiment, verification combining high-speed simulation and execution for each processing time unit can be performed. As a specific example, simulation execution by step execution and high-speed simulation can be used in combination.
なお、本実施の形態5において、高速なシミュレーション実行形式及び1処理単位ごとにシミュレーションモデルの切り替えを行うシミュレーション実行形式の2つの実行形式の中から選択したが、これに限らず、要求される実行速度が各々異なる3つ以上の実行形式の中から任意に実行形式を選択するようにしても良い。その際、モデル切替え部802は、要求される実行速度が速い実行形式ほど所定時間における切り替え回数が少なくなるようにする。また、本実施の形態5と実施の形態1〜4とを適宜組み合わせるように構成しても良い。
In the fifth embodiment, the execution mode is selected from two execution formats: a high-speed simulation execution format and a simulation execution format for switching the simulation model for each processing unit. The execution format may be arbitrarily selected from three or more execution formats having different speeds. At that time, the
上記実施の形態1〜実施の形態5において、実行時間がもっとも少ない他のシミュレーションモデルの実行を開始するように切り替えることにしたが、これに限らず、任意のソミュレーションモデルの実行を開始するように切り替えても良い。また、上記実施の形態1〜実施の形態5において、シミュレーションモデルの数は任意にすることができる。
In the first to fifth embodiments, it is decided to switch to start execution of another simulation model having the shortest execution time. However, the present invention is not limited to this, and execution of any simulation model is started. It may be switched as follows. Moreover, in the said Embodiment 1-
本発明にかかるシミュレーション装置及びシミュレーション方法は、処理時間を高速化したシミュレーション装置に好適であり、特に、複数のプロセッサとハードウェアがパラレルに動作し、また、非同期に通信する場合のシミュレーションに好適である。 The simulation apparatus and the simulation method according to the present invention are suitable for a simulation apparatus with a high processing time, and particularly suitable for simulation when a plurality of processors and hardware operate in parallel and communicate asynchronously. is there.
100 シミュレーション装置
101、102、103 シミュレーションモデル
104 出力情報記憶部
105 モデル切替え部
106 処理実行制御部
107 時間計測部
108 入力情報記憶部
109 内部情報記憶部
DESCRIPTION OF
Claims (8)
前記シミュレーションモデル手段を切り替えるための情報である切替情報に基づいて、実行中の前記シミュレーションモデル手段の実行を停止させるとともに他の前記シミュレーションモデル手段の実行を開始するように切り替えるモデル切替手段と、
を具備することを特徴とするシミュレーション装置。 A plurality of simulation model means for simulating each of a plurality of systems;
Based on switching information which is information for switching the simulation model means, model switching means for switching to stop execution of the simulation model means being executed and to start execution of the other simulation model means;
A simulation apparatus comprising:
前記モデル切替手段は、あらかじめ設定した前記切替情報であるシミュレーション停止時刻と前記シミュレーションモデル手段にて計測された時刻とが一致した場合に、他の前記シミュレーションモデル手段の実行を開始するように切り替えることを特徴とする請求項1または請求項2記載のシミュレーション装置。 The simulation model means measures time on simulation,
The model switching means switches so as to start execution of the other simulation model means when the simulation stop time as the switching information set in advance coincides with the time measured by the simulation model means. The simulation apparatus according to claim 1, wherein:
前記出力情報記憶手段における所定のシミュレーションモデル手段の記憶情報量と閾値とを比較する出力情報記憶量監視手段を具備し、
前記モデル切替手段は、前記切替情報である前記記憶情報量が前記閾値以上になったことが前記出力情報記憶量監視手段にて検出された場合には、実行中の前記シミュレーションモデル手段を他の前記シミュレーションモデル手段に切り替えることを特徴とする請求項1から請求項3のいずれかに記載のシミュレーション装置。 Output information storage means for storing output information from the simulation model means;
Comprising output information storage amount monitoring means for comparing the storage information amount of the predetermined simulation model means in the output information storage means with a threshold;
When the output information storage amount monitoring unit detects that the stored information amount as the switching information is equal to or greater than the threshold, the model switching unit determines whether the simulation model unit being executed is another The simulation apparatus according to claim 1, wherein the simulation apparatus is switched to the simulation model unit.
前記モデル切替手段は、前記実行形式指示手段にて選択された前記切替情報である前記実行形式の情報より、要求される実行速度が速い前記実行形式ほど所定時間における切り替え回数が少なくなるように、他の前記シミュレーションモデル手段の実行を開始するように切り替えることを特徴とする請求項1から請求項5のいずれかに記載のシミュレーション装置。 Comprising execution format instruction means for selecting any of the execution formats from among a plurality of execution formats of simulation models having different required execution speeds,
The model switching unit is configured so that the number of times of switching in a predetermined time is reduced as the execution format has a higher execution speed than the execution format information that is the switching information selected by the execution format instruction unit. 6. The simulation apparatus according to claim 1, wherein switching is performed so as to start execution of the other simulation model means.
前記シミュレーションモデルの実行を切り替えるための情報である切替情報に基づいて、実行中の前記シミュレーションモデルを停止させるとともに他の前記シミュレーションモデルの実行を開始するように切り替えるステップと、
を具備することを特徴とするシミュレーション方法。 Performing each simulation of a plurality of simulation models;
Based on switching information that is information for switching the execution of the simulation model, the step of switching to stop the simulation model being executed and start the execution of another simulation model;
A simulation method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005027432A JP2006215781A (en) | 2005-02-03 | 2005-02-03 | Simulation device and simulation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005027432A JP2006215781A (en) | 2005-02-03 | 2005-02-03 | Simulation device and simulation method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006215781A true JP2006215781A (en) | 2006-08-17 |
Family
ID=36978979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005027432A Pending JP2006215781A (en) | 2005-02-03 | 2005-02-03 | Simulation device and simulation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006215781A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100530103C (en) * | 2007-12-29 | 2009-08-19 | 中国科学院计算技术研究所 | Simulator and method |
-
2005
- 2005-02-03 JP JP2005027432A patent/JP2006215781A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100530103C (en) * | 2007-12-29 | 2009-08-19 | 中国科学院计算技术研究所 | Simulator and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9043806B2 (en) | Information processing device and task switching method | |
JP2006329788A (en) | Testing system for on-vehicle electrical component, and testing method | |
JP5320918B2 (en) | Network system and system test program | |
EP3327573B1 (en) | Multi-processor and multi-processor system | |
JP2548428B2 (en) | Timing generator | |
JP2006215781A (en) | Simulation device and simulation method | |
JP6419400B1 (en) | PLC, network unit, CPU unit, and data transfer method | |
US6831654B2 (en) | Data processing system | |
US6643749B2 (en) | Interface for multi-processor | |
CN100361433C (en) | Communication device using three step communication buffer storage | |
CN108541307B (en) | Programmable controller and synchronization control method | |
JP2002082813A (en) | Program logic device | |
JP2000155701A (en) | Debugging circuit | |
JPS62232036A (en) | Information processor | |
JP3735551B2 (en) | Information processing device that operates in synchronous / asynchronous mode | |
JP3463543B2 (en) | Address generation circuit for data compression | |
JP4813823B2 (en) | Test system and test method | |
US20180225245A1 (en) | Programmable controller | |
US8280529B2 (en) | Sequence control apparatus and test apparatus | |
CN116431557A (en) | Method, device, chip, apparatus and storage medium for controlling interconnection device | |
JPH09146901A (en) | Program transfer system | |
JP2005157929A (en) | Semiconductor device | |
JP3114111B2 (en) | Logic emulation method and system | |
JP3678656B2 (en) | Interface circuit, logic circuit verification method, logic device, information processing device | |
JPH1185518A (en) | Controller |