JP2010191758A - Verification support program, verification support device, and verification support method - Google Patents

Verification support program, verification support device, and verification support method Download PDF

Info

Publication number
JP2010191758A
JP2010191758A JP2009036363A JP2009036363A JP2010191758A JP 2010191758 A JP2010191758 A JP 2010191758A JP 2009036363 A JP2009036363 A JP 2009036363A JP 2009036363 A JP2009036363 A JP 2009036363A JP 2010191758 A JP2010191758 A JP 2010191758A
Authority
JP
Japan
Prior art keywords
instruction
execution
time
cpu
model
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.)
Granted
Application number
JP2009036363A
Other languages
Japanese (ja)
Other versions
JP5251586B2 (en
Inventor
Ryo Kuge
諒 久家
Yasuki Nakamura
泰基 中村
Tatsuya Yoshino
竜也 吉野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2009036363A priority Critical patent/JP5251586B2/en
Publication of JP2010191758A publication Critical patent/JP2010191758A/en
Application granted granted Critical
Publication of JP5251586B2 publication Critical patent/JP5251586B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To efficiently execute simulation of a multi-CPU system at a high speed. <P>SOLUTION: A verification support device 100 executes simulation of software 101 to be verified by a multi-CPU simulator 110 to obtain a simulation result 102, uses a multi-CPU scheduler 200 to sort an instruction group to be executed by a multi-CPU model 210 in order of time, calculating an execution interval of the instruction group, and executes simulation of the instruction group by necessary minimum processing because of giving an instruction to execute a corresponding instruction at each execution interval. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

この発明は、複数のプロセッサをソフトウェアによって実現したマルチプロセッサモデルを用いて実行指示を受けた命令のシミュレーションをおこなう検証支援プログラム、検証支援装置および検証支援方法に関する。   The present invention relates to a verification support program, a verification support apparatus, and a verification support method for simulating an instruction that has received an execution instruction using a multiprocessor model in which a plurality of processors are implemented by software.

近年、車載用途の電子機器など、ある一定以上の規模をもつシステムの場合、複数のCPUを用意して、各CPUを協調動作させることにより処理速度の向上を図るマルチCPUシステムに関する技術、また、機能ごとに1つのCPUを割り当てることにより開発の簡便を図るマルチCPUシステムに関する技術が多く用いられている。これらマルチCPUシステムによって実行させるソフトウェアを検証する際には、実機に比べユーザの利便性が高く、高速なシミュレートが可能なことから、マルチCPUをソフトウェアによって実現したマルチCPUモデルシミュレータが多く利用されている(たとえば、下記特許文献1参照。)。   In recent years, in the case of a system having a certain scale or more, such as an electronic device for in-vehicle use, a technology related to a multi-CPU system that improves processing speed by preparing a plurality of CPUs and operating each CPU in a coordinated manner, Many technologies related to a multi-CPU system that facilitates development by assigning one CPU for each function are used. When verifying software to be executed by these multi-CPU systems, the multi-CPU model simulator in which the multi-CPU is realized by software is often used because it is more convenient for the user than the actual machine and can be simulated at high speed. (For example, see Patent Document 1 below.)

図13は、従来のマルチCPUシミュレータの構成を示すブロック図である。図13のように、従来のマルチCPUシミュレータ1300は、マルチCPUスケジューラ10によって、複数のCPUモデル11(たとえば、CPUモデル1,2)の実行制御ならびにCPU間通信制御をおこなう。なお、図13のマルチCPUシミュレータ1300では、2つのCPUが協調動作する場合のシミュレーションをおこなうため、2つのCPUモデル11が用意されている。したがって、さらに多数のCPUを備えたマルチCPUシステムによる動作のシミュレーションをおこなう場合には、システムの構成に応じたCPUモデルを用意する。   FIG. 13 is a block diagram showing a configuration of a conventional multi-CPU simulator. As shown in FIG. 13, the conventional multi-CPU simulator 1300 performs execution control of a plurality of CPU models 11 (for example, CPU models 1 and 2) and inter-CPU communication control by the multi-CPU scheduler 10. In the multi-CPU simulator 1300 shown in FIG. 13, two CPU models 11 are prepared to perform a simulation when two CPUs operate cooperatively. Therefore, when simulating an operation by a multi-CPU system having a larger number of CPUs, a CPU model corresponding to the system configuration is prepared.

そして、図14は、従来のマルチCPUシミュレータの動作を示す説明図である。マルチCPUスケジューラ10では、検証対象となるソフトウェアを読み込むと、所定の単位時間ごとに該当する命令(トランザクションなど)の実行指示を各CPUモデル11へ送信することによって各CPUモデルの同期をとっている。たとえば、マルチCPUスケジューラ10の場合、0.25[ms]の単位時間ごとに命令(実行する命令がある場合には)が実行される。したがって、図14に例示した動作では、単位時間経過ごとのタイミング0.25,0.5,0.75[ms]にマルチCPUスケジューラ10から命令の実行指示が送信され、各CPUモデル11の同期が管理される。そして、マルチCPUスケジューラ10の管理下にあるすべてのCPUモデル11の処理が完了すると、次の実行時刻の処理に移行する。   And FIG. 14 is explanatory drawing which shows operation | movement of the conventional multi CPU simulator. When the multi-CPU scheduler 10 loads the software to be verified, the CPU model 11 is synchronized by transmitting an instruction to execute the corresponding instruction (transaction etc.) to each CPU model 11 every predetermined unit time. . For example, in the case of the multi-CPU scheduler 10, an instruction (when there is an instruction to be executed) is executed every unit time of 0.25 [ms]. Therefore, in the operation illustrated in FIG. 14, an instruction execution instruction is transmitted from the multi-CPU scheduler 10 at timings 0.25, 0.5, and 0.75 [ms] per unit time, and the synchronization of each CPU model 11 is performed. Is managed. Then, when the processing of all the CPU models 11 under the control of the multi-CPU scheduler 10 is completed, the processing shifts to processing at the next execution time.

また、従来のマルチCPUシステムには、CPU間のデータ送受信を実現するために複数のCPU間を所定のネットワークによって接続した構成もあり、このようなシステムに対応したマルチCPUシミュレータも提供されている。図15は、CPU間をネットワーク回路で接続したマルチCPUシミュレータの構成を示すブロック図である。図15のようにマルチCPUシミュレータ1500では、各CPUモデル11を接続するネットワーク回路12が用意されている。したがって、マルチCPUスケジューラ10は、ネットワーク回路12を介してCPU間通信制御をおこなうことによって各CPUモデル11に実行させる命令を管理する。   In addition, a conventional multi-CPU system has a configuration in which a plurality of CPUs are connected by a predetermined network in order to realize data transmission / reception between CPUs, and a multi-CPU simulator corresponding to such a system is also provided. . FIG. 15 is a block diagram showing a configuration of a multi-CPU simulator in which CPUs are connected by a network circuit. As shown in FIG. 15, in the multi-CPU simulator 1500, a network circuit 12 for connecting each CPU model 11 is prepared. Therefore, the multi-CPU scheduler 10 manages instructions to be executed by each CPU model 11 by performing inter-CPU communication control via the network circuit 12.

そして、図16は、CPU間をネットワーク回路で接続したマルチCPUシミュレータの動作を示す説明図である。図16を用いて、CPUモデル1から0.27[ms]のタイミングで1[byte]のデータをCPUモデル2へ送信する場合について説明する。なお、ネットワーク回路12の伝送速度は19.2[kbps]とする。すると、CPUモデル2へのデータ送信は0.67[ms]のタイミングに完了するため、約400[μs]の遅延が発生する。上述したように、マルチCPUスケジューラ10は、0.25[ms]のタイミングごとにマルチCPUモデル11の各CPUモデル間の同期をとるため、0.5[ms]のタイミングにて、CPUモデル1からのデータの送信要求がCPUモデル2へ通知される。   FIG. 16 is an explanatory diagram showing the operation of the multi-CPU simulator in which the CPUs are connected by a network circuit. A case where 1 [byte] data is transmitted from the CPU model 1 to the CPU model 2 at a timing of 0.27 [ms] will be described with reference to FIG. The transmission speed of the network circuit 12 is 19.2 [kbps]. Then, the data transmission to the CPU model 2 is completed at the timing of 0.67 [ms], so that a delay of about 400 [μs] occurs. As described above, since the multi-CPU scheduler 10 synchronizes the CPU models of the multi-CPU model 11 at every timing of 0.25 [ms], the CPU model 1 is at timing of 0.5 [ms]. Is sent to the CPU model 2.

特開2008−59192号公報JP 2008-59192 A

しかしながら、上述したような従来のマルチCPUシミュレータの場合、マルチCPUシステムの高集積化や処理性能の向上に伴い、CPU間のデータの伝送速度が高速化すると、トランザクションの同期がとれなくなってしまう恐れがある。ここで、図17は、CPU間を高速なネットワーク回路で接続したマルチCPUシミュレータの動作を示す説明図である。図17を用いて、図15にて説明したマルチCPUシミュレータ1500のネットワーク回路12の伝送速度が1[Mbps]に高速化した場合のCPU間のデータ送信について説明する。   However, in the case of the conventional multi-CPU simulator as described above, if the multi-CPU system is highly integrated and the processing performance is improved, if the data transmission speed between the CPUs is increased, the transaction may not be synchronized. There is. FIG. 17 is an explanatory diagram showing the operation of the multi-CPU simulator in which the CPUs are connected by a high-speed network circuit. The data transmission between the CPUs when the transmission speed of the network circuit 12 of the multi-CPU simulator 1500 described in FIG. 15 is increased to 1 [Mbps] will be described using FIG.

図17のように、CPUモデル1から270[μs]のタイミング(図16の0.27[ms]と同じタイミング)で4[byte]のデータをCPUモデル2へ送信する場合、約32[μs]の遅延が発生する。すなわち、CPUモデル2へのデータ送信は302[μs]のタイミングに完了する。しかしながら、マルチCPUスケジューラ10による次回の同期管理のタイミングは0.50[ms]であるため、データ送信の完了時にCPUモデル2にCPUモデル1からのデータの送信要求を通知できない。したがって、正常なトランザクションとして処理できないという問題があった。   As shown in FIG. 17, when data of 4 [bytes] is transmitted to the CPU model 2 from the CPU model 1 at the timing of 270 [μs] (the same timing as 0.27 [ms] in FIG. 16), it is about 32 [μs]. ] Delay occurs. That is, data transmission to the CPU model 2 is completed at a timing of 302 [μs]. However, since the next synchronization management timing by the multi-CPU scheduler 10 is 0.50 [ms], the CPU model 2 cannot be notified of the data transmission request from the CPU model 1 when the data transmission is completed. Therefore, there is a problem that it cannot be processed as a normal transaction.

高速な伝送環境のマルチCPUシステムであっても、正常なトランザクション処理をおこなうには、各CPU間の同期をとる単位時間の間隔をより短く設定しなければならない。たとえば、マルチCPUスケジューラ10を図17の0.5〜0.75[ms]間に示したように25[μs]間隔ごとに同期をとるような設定にすれば、正常なトランザクションが可能になるが、同期をとるための計算回数だけでも10倍になってしまうため、処理負荷が大幅に増加し、シミュレーション速度が低下してしまうという問題があった。   Even in a multi-CPU system in a high-speed transmission environment, in order to perform normal transaction processing, it is necessary to set a shorter unit time interval for synchronization between CPUs. For example, if the multi-CPU scheduler 10 is set to synchronize every 25 [μs] intervals as shown between 0.5 and 0.75 [ms] in FIG. 17, normal transactions can be performed. However, since the number of calculations for synchronization only becomes 10 times, there is a problem that the processing load is greatly increased and the simulation speed is lowered.

この発明は、上述した従来技術による問題点を解消するため、マルチCPUシステムのシミュレーションを高速かつ効率的に実行させる検証支援プログラム、検証支援装置および検証支援方法を提供することを目的とする。   An object of the present invention is to provide a verification support program, a verification support apparatus, and a verification support method for executing a simulation of a multi-CPU system at high speed and efficiently in order to solve the above-described problems caused by the prior art.

上述した課題を解決し、目的を達成するため、この検証支援プログラム、検証支援装置および検証支援方法は、複数のプロセッサをソフトウェアによって実現したマルチプロセッサモデルを用いて実行指示を受けた命令のシミュレーションをおこなうコンピュータにおいて、前記マルチプロセッサモデルの中の実行対象となるプロセッサモデルと実行時刻との情報を含んだ命令群を実行時刻順にソートする処理と、ソートされた命令群のそれぞれ連続する命令同士の実行時刻を参照して命令群の実行間隔を算出する処理と、算出された実行間隔ごとに、該当する命令の実行指示を実行対象となるプロセッサモデルに与える処理と、を含むことを要件とする。   In order to solve the above-described problems and achieve the object, the verification support program, the verification support apparatus, and the verification support method perform a simulation of an instruction received an execution instruction using a multiprocessor model in which a plurality of processors are realized by software. In the executing computer, processing for sorting the instruction group including information on the processor model to be executed in the multiprocessor model and the execution time in order of execution time, and execution of the instructions that are consecutive in the sorted instruction group It is a requirement to include a process for calculating an execution interval of an instruction group with reference to time and a process for giving an instruction to execute a corresponding instruction to a processor model to be executed for each calculated execution interval.

この検証支援プログラム、検証支援装置および検証支援方法によれば、マルチCPUシステムなど複数のプロセッサが協調動作をおこなうシステムにおける動作を検証したい検証対象ソフトウェアの命令群を取得すると、各命令は実行時刻順にソートされ、各命令の実行間隔を算出する。マルチプロセッサモデルでは、算出された実行間隔にのみ該当する処理を実行すれば、取得した命令群のシミュレーションをおこなうことができる。   According to the verification support program, the verification support apparatus, and the verification support method, when an instruction group of software to be verified that is to be verified in a system in which a plurality of processors perform cooperative operations such as a multi-CPU system is acquired, each instruction is in order of execution time. It is sorted and the execution interval of each instruction is calculated. In the multiprocessor model, the acquired instruction group can be simulated by executing processing corresponding only to the calculated execution interval.

この検証支援プログラム、検証支援装置および検証支援方法によれば、マルチCPUシステムのシミュレーションを高速かつ効率的に実行させることができるという効果を奏する。   According to the verification support program, the verification support apparatus, and the verification support method, there is an effect that the simulation of the multi-CPU system can be executed at high speed and efficiently.

本実施の形態にかかる検証支援処理の概要を示す説明図である。It is explanatory drawing which shows the outline | summary of the verification assistance process concerning this Embodiment. 本実施の形態にかかるマルチCPUシステムのシミュレータの構成を示す説明図である。It is explanatory drawing which shows the structure of the simulator of the multi CPU system concerning this Embodiment. 検証支援装置のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of a verification assistance apparatus. 検証支援装置の機能的構成を示すブロック図である。It is a block diagram which shows the functional structure of a verification assistance apparatus. 実施の形態1における検証支援装置の動作を示す説明図である。6 is an explanatory diagram illustrating an operation of the verification support apparatus according to Embodiment 1. FIG. 実施の形態1の検証支援装置におけるデータ送信時の動作を示す説明図である。FIG. 6 is an explanatory diagram illustrating an operation at the time of data transmission in the verification support apparatus according to the first embodiment. 検証支援装置によって用いる各データの構成を示す説明図である。It is explanatory drawing which shows the structure of each data used by a verification assistance apparatus. 実施の形態1におけるマルチCPUスケジューラの処理手順を示すフローチャートである。3 is a flowchart showing a processing procedure of a multi-CPU scheduler in the first embodiment. 実施の形態1におけるCPUモデルの処理手順を示すフローチャートである。3 is a flowchart illustrating a processing procedure of a CPU model in the first embodiment. 実施の形態2における検証支援装置の動作を示す説明図である。10 is an explanatory diagram illustrating an operation of a verification support apparatus according to Embodiment 2. FIG. 実施の形態2の検証支援装置におけるデータ送信時の動作を示す説明図である。FIG. 10 is an explanatory diagram illustrating an operation at the time of data transmission in the verification support apparatus according to the second embodiment. 実施の形態2におけるマルチCPUモデルの処理手順を示すフローチャートである。10 is a flowchart illustrating a processing procedure of a multi-CPU model according to the second embodiment. 従来のマルチCPUシミュレータの構成を示すブロック図である。It is a block diagram which shows the structure of the conventional multi CPU simulator. 従来のマルチCPUシミュレータの動作を示す説明図である。It is explanatory drawing which shows operation | movement of the conventional multi CPU simulator. CPU間をネットワーク回路で接続したマルチCPUシミュレータの構成を示すブロック図である。It is a block diagram which shows the structure of the multi CPU simulator which connected between CPU by the network circuit. CPU間をネットワーク回路で接続したマルチCPUシミュレータの動作を示す説明図である。It is explanatory drawing which shows operation | movement of the multi CPU simulator which connected between CPUs by the network circuit. CPU間を高速なネットワーク回路で接続したマルチCPUシミュレータの動作を示す説明図である。It is explanatory drawing which shows operation | movement of the multi CPU simulator which connected between CPUs by the high-speed network circuit.

以下に添付図面を参照して、この検証支援プログラム、検証支援装置および検証支援方法の好適な実施の形態を詳細に説明する。この検証支援プログラム、検証支援装置および検証支援方法では、マルチCPUシステムに実行させる命令群を時刻順にソートして命令群の実行間隔を算出し、当該実行間隔ごと該当する命令の実行指示を与えるため、必要最低限の処理によって命令群のシミュレーションを実行できる。   Exemplary embodiments of a verification support program, a verification support apparatus, and a verification support method will be described below in detail with reference to the accompanying drawings. In the verification support program, the verification support apparatus, and the verification support method, the instruction group to be executed by the multi-CPU system is sorted in order of time, the execution interval of the instruction group is calculated, and the execution instruction of the corresponding instruction is given for each execution interval The instruction group can be simulated with the minimum necessary processing.

(検証支援処理の概要)
まず、本実施の形態にかかる検証支援処理の概要について説明する。図1は、本実施の形態にかかる検証支援処理の概要を示す説明図である。図1のように、検証支援装置100は、マルチCPUシミュレータ110によって検証対象ソフトウェア101のシミュレーションを実行してシミュレーション結果102を得ることができる。
(Overview of verification support processing)
First, an overview of verification support processing according to the present embodiment will be described. FIG. 1 is an explanatory diagram showing an overview of verification support processing according to the present embodiment. As shown in FIG. 1, the verification support apparatus 100 can obtain a simulation result 102 by executing a simulation of the verification target software 101 using the multi-CPU simulator 110.

マルチCPUシミュレータ110は、マルチCPUシステムの動作をソフトウェアによって実現した機能部であり、マルチCPUスケジューラ200と、マルチCPUモデル210によって構成されている。マルチCPUスケジューラ200は、検証支援装置100が取得した検証対象ソフトウェア101を構成する命令群を実行時刻順にソートし、実行時刻順に該当する命令の実行指示をマルチCPUモデル210に与える。   The multi-CPU simulator 110 is a functional unit that realizes the operation of the multi-CPU system by software, and includes a multi-CPU scheduler 200 and a multi-CPU model 210. The multi-CPU scheduler 200 sorts the instruction groups constituting the verification target software 101 acquired by the verification support apparatus 100 in the order of execution time, and gives an execution instruction for the corresponding instruction to the multi-CPU model 210 in the order of execution time.

マルチCPUモデル210は、検証対象ソフトウェア101を処理する際に協調動作する複数のCPUの動作をソフトウェアによって実現したCPUモデル1〜Nによって構成されている。したがって、マルチCPUモデル210は、マルチCPUスケジューラ200から命令の実行指示を受け付けると、該当するCPUモデルによって処理を実行させる。そして、マルチCPUモデル210による検証対象ソフトウェア101の実行結果はシミュレーション結果102として出力される。   The multi-CPU model 210 is configured by CPU models 1 to N in which the operations of a plurality of CPUs that operate cooperatively when the verification target software 101 is processed are realized by software. Therefore, when the multi-CPU model 210 receives an instruction execution instruction from the multi-CPU scheduler 200, the multi-CPU model 210 executes processing using the corresponding CPU model. The execution result of the verification target software 101 by the multi-CPU model 210 is output as the simulation result 102.

このように、本実施の形態にかかる検証支援処理では、マルチCPUスケジューラ200によって、各CPUモデルが処理をおこなう時刻を取得し、取得した時刻に該当するCPUへ実行指示を与えるため、必要最低限の検証対象ソフトウェア101のシミュレーションを実現することができる。また、命令に応じた実行時刻に実行指示を送信すればよいため、CPU間の伝送速度にかかわらず、正常なトランザクションが可能となる。以下に、上述したような本実施の形態にかかる検証支援処理を実現するための具体的な構成について、実施の形態1,2の2つの例を挙げて説明する。   As described above, in the verification support processing according to the present embodiment, the multi-CPU scheduler 200 acquires the time at which each CPU model performs processing, and gives an execution instruction to the CPU corresponding to the acquired time. The simulation of the verification target software 101 can be realized. Further, since it is only necessary to transmit an execution instruction at an execution time according to the instruction, a normal transaction is possible regardless of the transmission speed between CPUs. Hereinafter, a specific configuration for realizing the verification support processing according to the present embodiment as described above will be described with reference to two examples of the first and second embodiments.

(マルチCPUシミュレータの構成)
まず、実施の形態1,2に共通して検証対象ソフトウェア101のシミュレーションをおこなうマルチCPUシミュレータ110の構成について説明する。図2は、本実施の形態にかかるマルチCPUシミュレータの構成を示す説明図である。図2のように、マルチCPUシミュレータ120は、マルチCPUスケジューラ200と、CPUモデル1,2を含んだマルチCPUモデル210とによって構成されている。また、各CPUモデル内には、CPUモデル内の動作タイミングを制御するCPU内スケジューラと、実際のCPU内部のハードウェアに対応したハードウェアモデルと、これらハードウェアに実行させるソフトウェアに対応したソフトウェアモデルとが用意されている。
(Configuration of multi-CPU simulator)
First, the configuration of the multi-CPU simulator 110 that performs the simulation of the verification target software 101 in common with the first and second embodiments will be described. FIG. 2 is an explanatory diagram showing the configuration of the multi-CPU simulator according to the present embodiment. As shown in FIG. 2, the multi-CPU simulator 120 includes a multi-CPU scheduler 200 and a multi-CPU model 210 including CPU models 1 and 2. Also, in each CPU model, there is a scheduler in the CPU for controlling the operation timing in the CPU model, a hardware model corresponding to the actual hardware inside the CPU, and a software model corresponding to the software executed by these hardware And are prepared.

(検証支援装置のハードウェア構成)
つぎに、検証支援装置100の具体的なハードウェア構成について説明する。図3は、実施の形態にかかる検証支援装置のハードウェア構成を示すブロック図である。検証支援装置100の構成も実施の形態1,2に共通であり、図3に示したような汎用の情報処理装置に本実施の形態にかかる検証支援処理を実現させる検証支援プログラムを実行させることによって、検証支援装置100としての機能を実現することができる。
(Hardware configuration of verification support device)
Next, a specific hardware configuration of the verification support apparatus 100 will be described. FIG. 3 is a block diagram of a hardware configuration of the verification support apparatus according to the embodiment. The configuration of the verification support apparatus 100 is also common to the first and second embodiments, and the general-purpose information processing apparatus as illustrated in FIG. 3 is caused to execute the verification support program that realizes the verification support process according to the present embodiment. Thus, the function as the verification support apparatus 100 can be realized.

図3において、検証支援装置100は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、通信I/F(Interface)306と、入力デバイス307と、出力デバイス308と、を備えている。また、各構成部はバス310によってそれぞれ接続されている。   In FIG. 3, a verification support apparatus 100 includes a CPU (Central Processing Unit) 301, a ROM (Read-Only Memory) 302, a RAM (Random Access Memory) 303, a magnetic disk drive 304, a magnetic disk 305, and a communication. An I / F (Interface) 306, an input device 307, and an output device 308 are provided. Each component is connected by a bus 310.

ここで、CPU301は、検証支援装置100の全体の制御を司る。ROM302は、ブートプログラムや、本実施の形態にかかる検証支援処理を実現するための検証支援プログラムなどの各種プログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータの更新/参照を制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。なお、図3のハードウェア構成では、検証支援装置100の記録媒体の実装例、磁気ディスク305を用いているが、光ディスクや、フラッシュメモリなど他の記録媒体を利用してもよい。   Here, the CPU 301 governs overall control of the verification support apparatus 100. The ROM 302 stores various programs such as a boot program and a verification support program for realizing the verification support processing according to the present embodiment. The RAM 303 is used as a work area for the CPU 301. The magnetic disk drive 304 controls data update / reference with respect to the magnetic disk 305 according to the control of the CPU 301. The magnetic disk 305 stores data written under the control of the magnetic disk drive 304. In the hardware configuration of FIG. 3, the recording support example of the verification support apparatus 100, that is, the magnetic disk 305 is used. However, other recording media such as an optical disk and a flash memory may be used.

通信I/F306は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク(NET)309に接続され、このネットワーク309を介して他の検証支援装置100やその他の外部装置に接続される。そして、通信I/F306は、ネットワーク309と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。通信I/F306の構成例としては、たとえばモデムやLANアダプタなどを採用することができる。   The communication I / F 306 is connected to a network (NET) 309 such as a LAN (Local Area Network), a WAN (Wide Area Network), and the Internet through a communication line, and the other verification support apparatus 100 and other devices are connected via the network 309. Connected to an external device. The communication I / F 306 controls an internal interface with the network 309 and controls input / output of data from an external device. As a configuration example of the communication I / F 306, for example, a modem or a LAN adapter may be employed.

入力デバイス307は、検証支援装置100に対しての外部からの入力を受け付ける。入力デバイス307としては、具体的には、キーボード、マウスなどが挙げられる。なお、図1に示したように検証支援装置100によって、シミュレーションをおこなう検証対象ソフトウェア101は、ROM302、RAM303、磁気ディスク305などの記憶領域にあらかじめ格納されていてもよいが、入力デバイス307から入力されて、上述の記憶領域に格納されてもよい。   The input device 307 receives input from the outside to the verification support apparatus 100. Specific examples of the input device 307 include a keyboard and a mouse. As illustrated in FIG. 1, the verification target software 101 to be simulated by the verification support apparatus 100 may be stored in advance in a storage area such as the ROM 302, the RAM 303, or the magnetic disk 305, but input from the input device 307. And may be stored in the storage area described above.

また、キーボードの場合、たとえば、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウスの場合、たとえば、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。また、ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。   In the case of a keyboard, for example, keys for inputting characters, numbers, various instructions, and the like are provided to input data. Moreover, a touch panel type input pad or a numeric keypad may be used. In the case of a mouse, for example, the cursor is moved, a range is selected, or a window is moved or the size is changed. Further, a trackball or a joystick may be used as long as they have the same function as a pointing device.

出力デバイス308は、検証支援装置100に格納された各種データや、シミュレーション結果102などを出力する。出力デバイス308としては、具体的には、ディスプレイ、プリンタなどが挙げられる。   The output device 308 outputs various data stored in the verification support apparatus 100, the simulation result 102, and the like. Specific examples of the output device 308 include a display and a printer.

ディスプレイの場合、たとえば、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイとしてさらに、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。また、プリンタの場合、たとえば、画像データや文書データを印刷する。さらに、レーザプリンタやインクジェットプリンタを採用することができる。   In the case of a display, for example, data such as a cursor, an icon or a tool box, a document, an image, and function information is displayed. Further, a CRT, a TFT liquid crystal display, a plasma display, or the like can be employed as this display. In the case of a printer, for example, image data and document data are printed. Further, a laser printer or an ink jet printer can be employed.

(検証支援装置の機能的構成)
つぎに、本実施の形態にかかる検証支援装置100の機能的構成について説明する。図4は、検証支援装置の機能的構成を示すブロック図である。ここでは、検証支援装置100が、図1にて説明したようなマルチCPUスケジューラ200ならびにマルチCPUモデル210として動作を実現するための機能的構成について説明する。なお、マルチCPUモデル210の動作については、従来のマルチCPUモデルの機能を利用しているため、本実施の形態にかかる検証支援処理を実現する際の独自の構成のみ説明する。
(Functional configuration of verification support device)
Next, a functional configuration of the verification support apparatus 100 according to the present embodiment will be described. FIG. 4 is a block diagram illustrating a functional configuration of the verification support apparatus. Here, a functional configuration for realizing the operation as the multi-CPU scheduler 200 and the multi-CPU model 210 as described with reference to FIG. 1 will be described. Note that the operation of the multi-CPU model 210 uses the function of the conventional multi-CPU model, and therefore only the unique configuration for realizing the verification support processing according to the present embodiment will be described.

図4のように、検証支援装置100は、ソート部401と、算出部402と、制御部403と、判断部404と、通知部405と、抽出部406とを含む構成である。これら、マルチCPUスケジューラ200およびマルチCPUモデル210を実現する機能(ソート部401〜抽出部406)は、具体的には、たとえば、図3に示したROM302、RAM303、磁気ディスク305などの記憶領域に記憶された検証支援プログラムをCPU301に実行させることにより、または、通信I/F306により、その機能を実現する。   As illustrated in FIG. 4, the verification support apparatus 100 includes a sorting unit 401, a calculation unit 402, a control unit 403, a determination unit 404, a notification unit 405, and an extraction unit 406. Specifically, the functions (sorting unit 401 to extracting unit 406) for realizing the multi-CPU scheduler 200 and the multi-CPU model 210 are stored in a storage area such as the ROM 302, the RAM 303, and the magnetic disk 305 shown in FIG. The function is realized by causing the CPU 301 to execute the stored verification support program or by the communication I / F 306.

ソート部401は、マルチCPUモデル210に実行させる検証対象ソフトウェア101を取得すると、検証対象ソフトウェア101内の命令群を実行時刻順にソートする機能を有する。検証対象ソフトウェア101内の各命令には、マルチCPUモデル210の中の実行対象となるCPUモデル(たとえば、CPUモデル1)と実行時刻との情報が含まれている。したがって、ソート部401は、各命令の実行時刻を参照して、実行時刻の早い命令から遅い命令の順に命令群をソートする。   When the sorting unit 401 acquires the verification target software 101 to be executed by the multi-CPU model 210, the sorting unit 401 has a function of sorting the instruction group in the verification target software 101 in order of execution time. Each instruction in the verification target software 101 includes information on the CPU model (for example, CPU model 1) to be executed in the multi-CPU model 210 and the execution time. Therefore, the sorting unit 401 refers to the execution time of each instruction and sorts the instruction group in the order of the instruction with the earlier execution time to the instruction with the later execution time.

なお、各命令には、実行時刻に関する情報は、検証支援装置100の時計を基準とした絶対時間が設定されている場合や、先頭の命令を基準とした相対時間が設定されている場合など様々であるが、いずれの場合であっても、マルチCPUスケジューラ200の時刻に同期した状態で動作させる。そして、ソートされた命令群は、RAM303、磁気ディスク305などの記憶領域に記憶される。   Note that each instruction has various information regarding the execution time, such as when an absolute time is set based on the clock of the verification support apparatus 100 or when a relative time is set based on the first instruction. However, in any case, the operation is performed in synchronization with the time of the multi-CPU scheduler 200. The sorted instruction group is stored in a storage area such as the RAM 303 and the magnetic disk 305.

算出部402は、ソート部401によってソートされた命令群のそれぞれ連続する命令同士の実行時刻を参照して命令群の実行間隔を算出する機能を有する。連続する命令とは、実行時刻の隣接した命令同士を指す。具体的には、図1に例示した命令1〜3であれば命令1と命令2、命令2と命令3とが連続した命令同士となる。そして、算出部402では、これら連続した命令の実行時刻の差分を求めて命令を実行する間隔を算出する。なお、算出された実行間隔は、RAM303、磁気ディスク305などの記憶領域に記憶される。   The calculation unit 402 has a function of calculating the execution interval of the instruction group with reference to the execution times of the consecutive instructions of the instruction group sorted by the sorting unit 401. Consecutive instructions refer to adjacent instructions at the execution time. Specifically, if the instructions 1 to 3 illustrated in FIG. 1 are used, the instructions 1 and 2 and the instructions 2 and 3 are consecutive instructions. Then, the calculation unit 402 calculates the interval at which the instructions are executed by obtaining the difference between the execution times of these consecutive instructions. The calculated execution interval is stored in a storage area such as the RAM 303 and the magnetic disk 305.

制御部403は、算出部402によって算出された実行間隔ごとに、該当する命令の実行指示を実行対象となるCPUモデルに与える。たとえば、命令1が0.22[ms]のタイミングにCPUモデル1に実行させ、命令2が0.5[ms]のタイミングにCPUモデル2に実行させる処理の場合であれば、それぞれのタイミングにマルチCPUモデル210の中の実行対象となるCPUモデルに対して実行指示を与える。なお、制御部403から出力された実行指示は、RAM303、磁気ディスク305などの記憶領域に記憶される。   For each execution interval calculated by the calculation unit 402, the control unit 403 gives an instruction to execute the corresponding instruction to the CPU model to be executed. For example, in the case of a process in which the instruction 1 is executed by the CPU model 1 at a timing of 0.22 [ms] and the instruction 2 is executed by the CPU model 2 at a timing of 0.5 [ms], each timing is set. An execution instruction is given to the CPU model to be executed in the multi-CPU model 210. The execution instruction output from the control unit 403 is stored in a storage area such as the RAM 303 and the magnetic disk 305.

以上説明したようにソート部401、算出部402および制御部403によって検証対象ソフトウェア101の命令群をシミュレーションすることができるが、各命令は、さらに、その実行内容、実行結果に応じて同一の命令の次回実行が決定する。そこで、マルチCPUモデル210には、実行した命令の次回実行予定を判断する機能部(判断部404)が用意されている。   As described above, the instruction group of the verification target software 101 can be simulated by the sorting unit 401, the calculation unit 402, and the control unit 403. However, each command further includes the same command depending on the execution content and the execution result. The next execution is determined. Therefore, the multi-CPU model 210 is provided with a function unit (determination unit 404) that determines the next execution schedule of the executed instruction.

判断部404は、マルチCPUモデル210によって実行された命令に次回実行予定があるか否かを判断する。そして、判断部404によって次回実行予定があると判断された場合には、ソート部401に、次回実行予定の命令を含んだ命令群を加える。ソート部401では、あらたに加えられた命令を含んだ各命令を再度実行時刻順にソートする。   The determination unit 404 determines whether or not an instruction executed by the multi-CPU model 210 has a next execution schedule. When the determination unit 404 determines that there is a next execution schedule, an instruction group including instructions to be executed next time is added to the sorting unit 401. The sort unit 401 sorts each instruction including the newly added instruction again in the order of execution time.

また、マルチCPUモデル210によって実行される命令には、他のCPUモデルにデータを送信する処理がある。マルチCPUモデル210には、このようなデータの送信をおこなう命令を実行した場合に、データの送信先となる他のCPUモデルに通知する機能部(通知部405)が用意されている。   Further, the command executed by the multi-CPU model 210 includes a process for transmitting data to other CPU models. The multi-CPU model 210 is provided with a function unit (notification unit 405) for notifying another CPU model as a data transmission destination when an instruction for performing such data transmission is executed.

通知部405は、マルチCPUモデル210によって実行された命令に他のプロセッサモデルへの任意のデータの送信要求が含まれていた場合、送信要求に対応した命令をソート部401に通知する。そして、ソート部401では、通知部405から送信要求を含んだ命令が通知された場合、この送信要求に対応した命令を含んだ命令群を実行時刻順にソートする。さらに、制御部403は、ある実行間隔に実行指示を与えた命令が上述の送信要求に対応した命令であった場合、この命令の実行指示とともに対応するデータを送信先となる他のCPUモデルへ与える。   When the instruction executed by the multi-CPU model 210 includes a request for transmitting arbitrary data to another processor model, the notification unit 405 notifies the sorting unit 401 of an instruction corresponding to the transmission request. When the instruction including the transmission request is notified from the notification unit 405, the sorting unit 401 sorts the instruction group including the instruction corresponding to the transmission request in the order of execution time. Further, when an instruction that gives an execution instruction at a certain execution interval is an instruction corresponding to the above-described transmission request, the control unit 403 sends the corresponding data together with the execution instruction of the instruction to another CPU model as a transmission destination. give.

以上説明した各機能部401〜405を用いることによって、マルチCPUスケジューラ200は、マルチCPUモデル210に対して、検証対象ソフトウェア101に含まれた命令群の実行予定時刻にのみ実行指示を与えればよい。したがって、必要最低限の処理で検証対象ソフトウェア101のシミュレーションが可能になる。また、マルチCPUシステム内の伝送速度にかかわらず、正しいタイミングで正常なトランザクションを実現することができる。   By using the functional units 401 to 405 described above, the multi-CPU scheduler 200 only needs to give an execution instruction to the multi-CPU model 210 only at the scheduled execution time of the instruction group included in the verification target software 101. . Therefore, the verification target software 101 can be simulated with the minimum necessary processing. In addition, a normal transaction can be realized at the correct timing regardless of the transmission speed in the multi-CPU system.

検証支援装置100は、上述したような命令の実行間隔を求める手法のほかに、抽出部406を用いて、単位時間ごとのタイミングを基準時刻として、この基準時刻をトリガに設定し、マルチCPUモデル210への実行指示を送信するタイミングを含む実行時刻にのみ、実際にマルチCPUスケジューラ200を動作させる手法を用いることができる。   In addition to the method for obtaining the instruction execution interval as described above, the verification support apparatus 100 uses the extraction unit 406 to set the timing for each unit time as a reference time and set this reference time as a trigger, and the multi-CPU model A method of actually operating the multi-CPU scheduler 200 can be used only at an execution time including a timing at which an execution instruction to 210 is transmitted.

抽出部406は、任意の時刻から単位時間ごとの時刻を基準時刻として、当該各基準時刻から前記単位時間内にソート部401によってソートされたいずれかの命令の実行時刻が含まれている基準時刻を抽出する。すなわち、0からスタートして250[μs]を単位時間として加算した時刻を基準時刻とする。したがって、0,250,500,750,1000,…[μs]がそれぞれ基準時刻となる。この単位時間は任意の間隔を設定することができる。   The extraction unit 406 uses a time for each unit time as a reference time from an arbitrary time, and includes the execution time of any instruction sorted by the sorting unit 401 within the unit time from the reference time To extract. That is, the time starting from 0 and adding 250 [μs] as a unit time is set as the reference time. Therefore, 0, 250, 500, 750, 1000,... [Μs] are the reference times. An arbitrary interval can be set for this unit time.

そして、抽出部406は、ソート部401によってソートされた順番に各命令の実行時刻が基準時刻から250[μs]未満に含まれる基準時刻を抽出する。たとえば、命令1(実行時刻:250[μs])、命令2(実行時刻:770[μs])と命令群がソートされている場合、基準時刻として250,750[μs]が抽出される。   Then, the extraction unit 406 extracts a reference time in which the execution time of each instruction is included in less than 250 [μs] from the reference time in the order sorted by the sorting unit 401. For example, when instruction 1 (execution time: 250 [μs]), instruction 2 (execution time: 770 [μs]) and the instruction group are sorted, 250 and 750 [μs] are extracted as the reference time.

抽出部406によって、命令の実行時刻が含まれている基準時刻が抽出されると、制御部403は、それぞれの基準時刻に該当するCPUモデルへ命令の実行指示を与える。上述のように、命令の実行時刻と基準時刻とは一致しないことがある。したがって、制御部403は、実行指示とともに、基準時刻から実行時刻までの差分を待機時間としてCPUモデルへ送信する。   When the extraction unit 406 extracts the reference time including the instruction execution time, the control unit 403 gives an instruction execution instruction to the CPU model corresponding to each reference time. As described above, the instruction execution time may not match the reference time. Therefore, the control unit 403 transmits the difference from the reference time to the execution time as a standby time together with the execution instruction to the CPU model.

CPUモデルでは、実行指示を受け付けると、待機時間分待機したのち、実行指示に応じた処理を実行する。上述した命令1の場合、該当するCPUモデルは、基準時刻(250[μs])と実行時刻(250[μs])との差分が0[μs]であるため、基準時刻から0[μs]後、すなわち待機なしに命令に応じた処理を実行する。また、命令2の場合、該当するCPUは、基準時刻(750[μs])と実行時刻(770[μs])との差分が20[μs]であるため、20[μs]待機後に、命令に応じた処理を実行する。   In the CPU model, when an execution instruction is received, the CPU model waits for a waiting time and then executes a process according to the execution instruction. In the case of the instruction 1 described above, since the difference between the reference time (250 [μs]) and the execution time (250 [μs]) is 0 [μs], the corresponding CPU model is 0 [μs] after the reference time. That is, the process according to the command is executed without waiting. In the case of the instruction 2, since the difference between the reference time (750 [μs]) and the execution time (770 [μs]) is 20 [μs], the CPU in question corresponds to the instruction after waiting for 20 [μs]. Perform the appropriate process.

このように、抽出部406を用いた場合、検証支援装置100のマルチCPUスケジューラ200は、単位時間ごとに、実行する処理がある場合にのみ、対象となるCPUモデル210に実行指示を送信すればよい。また、CPUモデルによって各CPUモデル間のデータ送信など遅延が発生する処理を実行する場合であっても、マルチCPUスケジューラ200に送信処理が完了する時刻を通知する処理を追加することによって、正常なトランザクションを実現することができる。   As described above, when the extraction unit 406 is used, the multi-CPU scheduler 200 of the verification support apparatus 100 transmits an execution instruction to the target CPU model 210 only when there is a process to be executed for each unit time. Good. Further, even when a process such as data transmission between CPU models is executed depending on the CPU model, a process for notifying the multi-CPU scheduler 200 of the time when the transmission process is completed can be performed normally. Transactions can be realized.

以下に、算出部402によって算出されたタイミングに実行指示を与える場合の具体的な処理を実施の形態1として、抽出部406によって抽出された基準時刻に実行指示を与える場合の具体的な処理を実施の形態2としてそれぞれ説明する。   In the following, specific processing when an execution instruction is given at the timing calculated by the calculation unit 402 will be described as Embodiment 1, and specific processing when an execution instruction is given at the reference time extracted by the extraction unit 406 will be described. Each will be described as a second embodiment.

(実施の形態1)
図5は、実施の形態1における検証支援装置の動作を示す説明図である。実施の形態1では、検証対象ソフトウェア101の命令によって処理が予定されているタイミングにのみマルチCPUスケジューラ200からマルチCPUモデル210の中の該当するCPUモデル(CPUモデル1,2)への実行指示が送信される。
(Embodiment 1)
FIG. 5 is an explanatory diagram illustrating the operation of the verification support apparatus according to the first embodiment. In the first embodiment, the execution instruction from the multi-CPU scheduler 200 to the corresponding CPU model (CPU models 1 and 2) in the multi-CPU model 210 is issued only at the timing when the process is scheduled by the instruction of the verification target software 101. Sent.

図5では、マルチCPUスケジューラ200が、270,400,510[μs]のタイミングに各CPUモデルへ命令の実行指示を送信する処理を例示している(図5中の250,500[μs]はタイミングの目安を表すメモリ)。タイミング270,400[μs]では命令1,2がそれぞれCPUモデル1へ送信されるため、CPUモデル1では、命令1,2に応じた処理を実行する。また、タイミング510[μs]では、命令3がCPUモデル2へ送信されるため、CPUモデル2では、命令3に応じた処理が実行される。また、各CPUモデルにおける命令の実行結果は、返却値(詳しくは後述する)としてマルチCPUスケジューラ200へ送信される。   FIG. 5 illustrates a process in which the multi-CPU scheduler 200 transmits an instruction execution instruction to each CPU model at the timing of 270, 400, 510 [μs] (250, 500 [μs] in FIG. 5 represents Memory that shows the timing standard). Since the instructions 1 and 2 are transmitted to the CPU model 1 at the timings 270 and 400 [μs], the CPU model 1 executes processing according to the instructions 1 and 2. At timing 510 [μs], since instruction 3 is transmitted to the CPU model 2, the CPU model 2 executes processing according to the instruction 3. In addition, the execution result of the instruction in each CPU model is transmitted to the multi-CPU scheduler 200 as a return value (details will be described later).

マルチCPUスケジューラ200では、検証対象ソフトウェア101の命令群の実行時刻として得られたすべての処理が完了すると、各CPUモデルから送信された返却値に次回実行する命令が含まれていた場合には、この命令の実行予定時刻まで処理を進めて、対象となるCPUモデルへ実行指示を送信する。マルチCPUスケジューラ200は、命令の実行予定がなくなるまで上述の処理を繰り返す。   In the multi-CPU scheduler 200, when all the processing obtained as the execution time of the instruction group of the verification target software 101 is completed, if the return value transmitted from each CPU model includes an instruction to be executed next time, The process proceeds until the scheduled execution time of this instruction, and an execution instruction is transmitted to the target CPU model. The multi-CPU scheduler 200 repeats the above processing until there is no instruction execution schedule.

また、図6は、実施の形態1の検証支援装置におけるデータ送信時の動作を示す説明図である。図6では、CPUモデル間のデータ送信がある場合の処理について説明する。図6の命令1は、CPUモデル1からCPUモデル2へデータを送信する処理である。この場合、CPUモデル1によって命令1が実行されると、CPU2へのデータの「送信要求」と、この命令を実行させる「次の時刻」が返却値としてマルチCPUスケジューラ200へ送信される。   FIG. 6 is an explanatory diagram showing an operation at the time of data transmission in the verification support apparatus of the first embodiment. In FIG. 6, a process when there is data transmission between CPU models will be described. Command 1 in FIG. 6 is processing for transmitting data from the CPU model 1 to the CPU model 2. In this case, when the instruction 1 is executed by the CPU model 1, the “transmission request” for data to the CPU 2 and the “next time” for executing this instruction are transmitted as return values to the multi-CPU scheduler 200.

命令2は、CPUモデル1から送信された送信要求を実行する命令である。したがって、マルチCPUスケジューラ200は、CPUモデル1から送信された「次の時刻」まで処理を進め、「送信要求」に応じてCPUモデル2へデータを送信する。マルチCPUスケジューラ200は、CPUモデル2による命令2の実行結果の返却値を受け取ると、この返却値に基づいて、次回の命令3を実行させる。CPUモデル1では、命令3に応じた処理を実行し、この実行結果をマルチCPUスケジューラ200へ送信する。マルチCPUスケジューラ200では、実行結果を受け付け、つぎの命令4まで処理を進める。   The instruction 2 is an instruction for executing a transmission request transmitted from the CPU model 1. Therefore, the multi-CPU scheduler 200 advances the process to “next time” transmitted from the CPU model 1 and transmits data to the CPU model 2 in response to the “transmission request”. When receiving the return value of the execution result of the instruction 2 by the CPU model 2, the multi-CPU scheduler 200 causes the next instruction 3 to be executed based on the return value. In the CPU model 1, processing corresponding to the instruction 3 is executed, and the execution result is transmitted to the multi-CPU scheduler 200. The multi CPU scheduler 200 accepts the execution result and proceeds to the next instruction 4.

<データの構成>
つぎに、図5,6によって説明した処理の際に扱われるデータについて、さらに詳細に説明する。検証支援装置100によって検証対象ソフトウェア101をシミュレートする際に使用するデータの構成について説明する。図7は、検証支援装置によるシミュレータによって用いるデータの構成を示す説明図である。図7のように、検証支援装置100では、実行パラメータA、返却値B、スケジューラ管理データCを表す3種類のデータ群710〜730が利用される。各データは、それぞれ下記のような構成となっている。
<Data structure>
Next, data handled in the process described with reference to FIGS. 5 and 6 will be described in more detail. The configuration of data used when the verification target software 101 is simulated by the verification support apparatus 100 will be described. FIG. 7 is an explanatory diagram illustrating a configuration of data used by the simulator by the verification support apparatus. As shown in FIG. 7, the verification support apparatus 100 uses three types of data groups 710 to 730 representing the execution parameter A, the return value B, and the scheduler management data C. Each data has the following structure.

・実行パラメータA
CPUモデルに実行指示を与える際に、CPUモデルに送信するデータ群であり、[実行時刻、受信データの長さ(受信データがない場合には“0”)、受信データ(ある場合のみ)]の3種類のデータによって構成されている。
・ Execution parameter A
This is a data group to be transmitted to the CPU model when an execution instruction is given to the CPU model, [execution time, length of received data (“0” when there is no received data), received data (only when there is)] It is comprised by three types of data.

・返却値B
CPUモデルによって命令が実行された後、マルチCPUスケジューラ200に返却されるデータ群であり、[実行予定時刻(実行予定有りの場合のみ)、実行予定の有無、送信データの長さリスト(送信データがない場合には“0”)、送信データのリスト、送信先CPU番号のリスト]の5種類のデータによって構成されている。
・ Return value B
This is a data group that is returned to the multi-CPU scheduler 200 after an instruction is executed by the CPU model. [Scheduled execution time (only when there is a scheduled execution), presence / absence of scheduled execution, transmission data length list (transmitted data) If there is no data, “0”), the transmission data list and the destination CPU number list] are included.

・スケジューラ管理データC
マルチCPUスケジューラ200において、各CPUモデルの実行順序を管理するために用いられるデータ群であり、[CPU番号(処理対象となるCPUの識別子)、実行予定時刻、受信データの長さ(受信データがない場合には“0”)、受信データ]の4種類のデータによって構成されている。
・ Scheduler management data C
In the multi-CPU scheduler 200, it is a data group used for managing the execution order of each CPU model, [CPU number (identifier of CPU to be processed), scheduled execution time, received data length (received data is If there is no data, the received data is “0”) and received data].

<マルチCPUスケジューラの処理手順>
つぎに、上述した各データを用いて検証対象ソフトウェア101のシミュレーションをおこなう際の、マルチCPUスケジューラ200の処理手順について説明する。図8は、実施の形態1におけるマルチCPUスケジューラの処理手順を示すフローチャートである。図8のフローチャートにおいて、まず、各CPUモデルのスケジューラ管理データCを取得し、実行リストに格納する(ステップS801)。
<Processing procedure of multi-CPU scheduler>
Next, the processing procedure of the multi-CPU scheduler 200 when simulating the verification target software 101 using each data described above will be described. FIG. 8 is a flowchart showing a processing procedure of the multi-CPU scheduler in the first embodiment. In the flowchart of FIG. 8, first, scheduler management data C of each CPU model is acquired and stored in the execution list (step S801).

つぎに、スケジューラ管理データCから実行パラメータAを作成する(ステップS802)。ステップS802では、実行リストとして格納されているスケジューラ管理データCのうち、下記の条件に一致する実行パラメータAを作成する。
・実行リストの先頭のスケジューラ管理データC
・実行リストの先頭のスケジューラ管理データCとCPU番号ならびに実行予定時刻が一致するスケジューラ管理データ
Next, the execution parameter A is created from the scheduler management data C (step S802). In step S802, an execution parameter A that matches the following conditions is created from the scheduler management data C stored as an execution list.
-Scheduler management data C at the top of the execution list
Scheduler management data whose CPU number and scheduled execution time coincide with the first scheduler management data C in the execution list

また、ステップS802では、下記のように、実行パラメータAの各データをスケジューラ管理データCの情報を用いて作成する。
実行パラメータA
・実行時刻 ←スケジューラ管理データCの実行予定時刻
・受信データの長さ ←スケジューラ管理データCの受信データの長さ
・受信データ ←スケジューラ管理データCの受信データ
In step S802, each data of the execution parameter A is created using information of the scheduler management data C as described below.
Execution parameter A
-Execution time ← Scheduled execution time of scheduler management data C-Length of received data ← Length of received data for scheduler management data C-Received data ← Received data for scheduler management data C

ステップS802によって実行パラメータAが作成されると、実行パラメータAを作成済みのスケジューラ管理データCを実行リストから削除する(ステップS803)。その後、実行パラメータAを参照してマルチCPUモデル210の中の対象CPUモデルの処理を実行させる(ステップS804)。   When the execution parameter A is created in step S802, the scheduler management data C for which the execution parameter A has been created is deleted from the execution list (step S803). Thereafter, the processing of the target CPU model in the multi-CPU model 210 is executed with reference to the execution parameter A (step S804).

ステップS804によって対象CPUモデルが実行パラメータに応じた処理を実行すると、つぎに、対象CPUモデルの実行結果に応じた返却値Bを回収する(ステップS805)。そして、回収した返却値Bを参照して次回以降の命令の実行予定があるか否かを判断する(ステップS806)。ここで、実行予定があると判断された場合には(ステップS806:Yes)、実行予定に応じたスケジューラ管理データCを作成し、実行リストに格納する(ステップS807)。   When the target CPU model executes the process according to the execution parameter in step S804, the return value B corresponding to the execution result of the target CPU model is collected (step S805). Then, with reference to the collected return value B, it is determined whether or not the next and subsequent instructions are scheduled to be executed (step S806). If it is determined that there is an execution schedule (step S806: Yes), scheduler management data C corresponding to the execution schedule is created and stored in the execution list (step S807).

ステップS807では、実行予定がある場合、下記のようにしてスケジューラ管理データCを生成する。
スケジューラ管理データC
・CPU番号 ←直前に処理を実行したCPUモデルのCPU番号
・実行予定時刻 ←返却値Bの次回実行予定時刻
・受信データの長さ ←なし
・受信データ ←なし
In step S807, if there is an execution schedule, scheduler management data C is generated as follows.
Scheduler management data C
-CPU number ← CPU number of the CPU model that executed the process immediately before-Scheduled execution time ← Scheduled next execution time of return value B-Length of received data ← None-Received data ← None

ステップS807の処理が完了した後、もしくは、ステップS806において、実行予定がないと判断された場合(ステップS806:No)、つぎに、他のCPUモデルへの送信データがあるか否かを判断する(ステップS808)。ここで、送信データがあると判断された場合(ステップS808:Yes)、送信内容に応じたスケジューラ管理データCを作成し、実行リストに格納する(ステップS809)。   After the process of step S807 is completed, or when it is determined in step S806 that there is no execution schedule (step S806: No), it is next determined whether or not there is data to be transmitted to another CPU model. (Step S808). If it is determined that there is transmission data (step S808: Yes), scheduler management data C corresponding to the transmission content is created and stored in the execution list (step S809).

ステップS809では、ステップS805にて回収した返却値Bの送信データのリストの要素数が0になるまで下記の処理を繰り返す。
1.スケジューラ管理データCを作成
CPU番号:返却値Bの送信先CPU番号リストの先頭要素
実行予定時刻:直前に実行した実行時刻+返却値Bの送信データの長さ×遅延係数
受信データの長さ:返却値Bの送信データの長さの先頭要素
受信データ:返却値Bの送信データリストの先頭要素
2.1によって作成されたスケジューラ管理データCを実行リストに格納
3.格納後、返却値Bの送信先CPU番号のリスト、送信データの長さリスト、送信データのリストのそれぞれの先頭要素を取り除く
In step S809, the following processing is repeated until the number of elements in the transmission data list of the return value B collected in step S805 becomes zero.
1. Create scheduler management data C CPU number: Top element of destination CPU number list of return value B Scheduled execution time: Execution time immediately before execution + length of transmission data of return value B x delay coefficient Length of received data: 2. The first element of the length of the transmission data of the return value B. Reception data: the first element of the transmission data list of the return value B. The scheduler management data C created by 2.1 is stored in the execution list. After the storage, the top elements of the return value B destination CPU number list, transmission data length list, and transmission data list are removed.

ステップS809の処理が完了した後、もしくは、送信データがないと判断された場合(ステップS808:No)、スケジューラ管理データCの実行予定時刻で実行リストをソートする(ステップS810)。その後、続いて実行リスト内が0になっているか否かを判断する(ステップS811)。   After the process of step S809 is completed, or when it is determined that there is no transmission data (step S808: No), the execution list is sorted by the scheduled execution time of the scheduler management data C (step S810). Thereafter, it is determined whether or not the execution list is 0 (step S811).

ステップS811によって、実行リスト内が0になったと判断された場合(ステップS811:Yes)、そのまま一連の処理を終了する。また、実行リスト内にスケジューラ管理データCが残っている場合(ステップS811:No)、ステップS802の処理に戻り、すべての命令のシミュレーションをおこなう。   If it is determined in step S811 that the execution list has become 0 (step S811: Yes), the series of processing ends. If scheduler management data C remains in the execution list (step S811: No), the process returns to step S802, and all instructions are simulated.

<マルチCPUモデルの処理手順>
つぎに、マルチCPUモデル210の処理手順について説明する。図9は、実施の形態1におけるCPUモデルの処理手順を示すフローチャートである。なお、以下説明するマルチCPUモデル210の処理は、マルチCPUスケジューラ200から送信された実行指示の受信をトリガとする。図9のフローチャートにおいて、まず、マルチCPUモデル210内のシミュレータの時刻に実行パラメータAの実行時刻を設定する(ステップS901)。
<Processing procedure of multi-CPU model>
Next, the processing procedure of the multi CPU model 210 will be described. FIG. 9 is a flowchart illustrating the processing procedure of the CPU model according to the first embodiment. The processing of the multi-CPU model 210 described below is triggered by reception of an execution instruction transmitted from the multi-CPU scheduler 200. In the flowchart of FIG. 9, first, the execution time of the execution parameter A is set to the time of the simulator in the multi-CPU model 210 (step S901).

つぎに、実行パラメータAを格納したリスト内のデータが0になっているか否かを判断する(ステップS902)。このステップS902によって、実行パラメータAが格納されたリスト内のデータ数が0になっていると判断された場合(ステップS902:Yes)、指定された時刻にシミュレーションを実行する(ステップS906)。一方、リストに実行パラメータAのデータが残っていると判断された場合(ステップS902:No)、先頭の実行パラメータAに受信データがあるか否かを判断する(ステップS903)。   Next, it is determined whether or not the data in the list storing the execution parameter A is 0 (step S902). If it is determined in step S902 that the number of data in the list in which the execution parameter A is stored is 0 (step S902: Yes), the simulation is executed at the designated time (step S906). On the other hand, when it is determined that the data of the execution parameter A remains in the list (step S902: No), it is determined whether there is reception data in the first execution parameter A (step S903).

ステップS903によって、受信データがあると判断された場合(ステップS903:Yes)、受信データイベントを対象となるCPUモデルへ通知し(ステップS904)、通知済みの実行パラメータAをリストから削除した後(ステップS905)、再度ステップS902の処理に戻る。一方、先頭の実行パラメータAに受信データがないと判断された場合(ステップS903:No)、そのまま、指定された時刻にシミュレーションを実行する(ステップS906)。   If it is determined in step S903 that there is received data (step S903: Yes), the received data event is notified to the target CPU model (step S904), and the notified execution parameter A is deleted from the list (step S904). Step S905), the process returns to step S902 again. On the other hand, if it is determined that there is no reception data in the first execution parameter A (step S903: No), the simulation is executed as it is at the designated time (step S906).

ステップS906によってシミュレーションが実行された後、次回の実行モデルがあるか否かを判断する(ステップS907)。次回の実行モデルがあると判断された場合(ステップS907:Yes)、スケジューラ管理データCの次回実行予定をありに設定し(ステップS908)、次回実行予定が最も早い実行モデルの実行予定時刻を返却値Bに格納する(ステップS909)。一方、次回の実行モデルがないと判断された場合(ステップS907:No)、スケジューラ管理データCの次回実行予定をなしに設定する(ステップS910)。   After the simulation is executed in step S906, it is determined whether there is a next execution model (step S907). If it is determined that there is a next execution model (step S907: Yes), the next execution schedule of the scheduler management data C is set to be present (step S908), and the execution schedule time of the execution model with the earliest next execution schedule is returned. The value B is stored (step S909). On the other hand, if it is determined that there is no next execution model (step S907: No), the next execution schedule of the scheduler management data C is set to none (step S910).

ステップS908,S910によって、スケジューラ管理データCの次回実行予定が設定されると、つぎに、処理中のCPUモデルから他のCPUモデルへの送信データがあるか否かを判断する(ステップS911)。ここで、送信データがあると判断された場合(ステップS911:Yes)、送信データに関する情報(送信先CPU番号、データの長さ、送信データ)を返却値Bに格納し(ステップS912)、一連の処理を終了する。また、送信データがないと判断された場合(ステップS911:No)、ステップS912の処理をスキップしてそのまま一連の処理を終了する。   When the next execution schedule of the scheduler management data C is set in steps S908 and S910, it is next determined whether there is transmission data from the CPU model being processed to another CPU model (step S911). If it is determined that there is transmission data (step S911: Yes), information (transmission destination CPU number, data length, transmission data) regarding the transmission data is stored in the return value B (step S912), and a series of Terminate the process. If it is determined that there is no transmission data (step S911: No), the process of step S912 is skipped and the series of processes ends.

以上説明したように、実施の形態1では、検証対象ソフトウェア101に含まれた命令群の実行予定時刻にのみ実行指示を送信することができる。したがって、命令を実行するタイミングのみにマルチCPUモデル210を動作させればよく、必要最低限の処理で検証対象ソフトウェア101のシミュレーションが可能になる。また、実際のマルチCPUシステム内の伝送速度が高速であっても、正しいタイミングで正常なトランザクションを実現することができる。   As described above, in the first embodiment, the execution instruction can be transmitted only at the scheduled execution time of the instruction group included in the verification target software 101. Therefore, the multi-CPU model 210 may be operated only at the timing of executing the instruction, and the verification target software 101 can be simulated with the minimum necessary processing. Even if the actual transmission speed in the multi-CPU system is high, normal transactions can be realized at the correct timing.

(実施の形態2)
図10は、実施の形態2における検証支援装置の動作を示す説明図である。実施の形態2は、単位時間ごとの基準時刻に実行させる命令がある場合にのみ、マルチCPUスケジューラ200から実行指示を送信して、マルチCPUモデル210によって対応する処理を実行させる。
(Embodiment 2)
FIG. 10 is an explanatory diagram illustrating the operation of the verification support apparatus according to the second embodiment. In the second embodiment, only when there is an instruction to be executed at the reference time for each unit time, an execution instruction is transmitted from the multi-CPU scheduler 200 and the corresponding processing is executed by the multi-CPU model 210.

マルチCPUスケジューラ200は、0を初期値として25[μs]を単位時間として加算するごとに基準時刻とする(図10のタイミングの右側の目盛り参照)。そして、図10では、マルチCPUスケジューラ200が、270,302,400,510[μs]のタイミングに対応するCPUモデルへ命令の実行指示を送信する処理を例示している。   The multi-CPU scheduler 200 sets the reference time every time it adds 0 as an initial value and 25 [μs] as a unit time (see the scale on the right side of the timing in FIG. 10). FIG. 10 illustrates a process in which the multi-CPU scheduler 200 transmits an instruction execution instruction to the CPU model corresponding to the timings of 270, 302, 400, and 510 [μs].

したがって、タイミング250,400[μs]の単位時間に命令1,3がそれぞれCPUモデル1へ送信される。そして、CPUモデル1では、命令1,3に応じた処理を270,400[μs]に実行するため、単位時間(250,400[μs])の後、差分時間分待機して命令に応じた処理を実行する。また、タイミング300,500[μs]の単位時間に命令2,4がそれぞれCPUモデル2へ送信される。そして、CPUモデル2では、命令2,4に応じた処理を302,510[μs]に実行するため、単位時間(300,500[μs])の後、差分時間分待機して命令2,4に応じた処理を実行する。また、各CPUモデルにおける命令の実行結果は、返却値(詳しくは後述する)としてマルチCPUスケジューラ200へ送信される。   Therefore, the instructions 1 and 3 are transmitted to the CPU model 1 in unit time of timing 250 and 400 [μs], respectively. In the CPU model 1, since processing corresponding to the instructions 1 and 3 is executed at 270,400 [μs], after the unit time (250,400 [μs]), the system waits for the difference time and responds to the instruction. Execute the process. In addition, the instructions 2 and 4 are transmitted to the CPU model 2 at unit times of timing 300 and 500 [μs], respectively. In the CPU model 2, processing corresponding to the instructions 2 and 4 is executed in 302, 510 [μs], and therefore, after the unit time (300, 500 [μs]), the CPU 2 waits for the difference time and then the instructions 2 and 4 The process according to is executed. In addition, the execution result of the instruction in each CPU model is transmitted to the multi-CPU scheduler 200 as a return value (details will be described later).

また、マルチCPUスケジューラ200では、検証対象ソフトウェア101の命令群の実行時刻として得られたすべての処理が完了すると、各CPUモデルから送信された返却値に次回実行する命令が含まれていた場合には、この命令の実行予定時刻まで処理を進めて、対象となるCPUモデルへ実行指示を送信する。マルチCPUスケジューラ200は、命令の実行予定がなくなるまで上述の処理を繰り返す。   Further, in the multi-CPU scheduler 200, when all the processing obtained as the execution time of the instruction group of the verification target software 101 is completed, an instruction to be executed next time is included in the return value transmitted from each CPU model. Advances the process until the scheduled execution time of this instruction, and transmits an execution instruction to the target CPU model. The multi-CPU scheduler 200 repeats the above processing until there is no instruction execution schedule.

実施の形態2の場合、マルチCPUスケジューラ200では、単位時間のうち命令の実行指示の送信、返却値の受信をおこなう時刻が含まれる単位時間、そして、マルチCPUモデル210では、実行指示を受け付けて命令に応じた処理を実行する時刻を含む単位時間のみ、すなわち、図10の網掛け部分のみCPU(検証支援装置100のCPU301)が実行される。そして、その他の時刻では処理をスキップするため、効率的なシミュレーションが可能となる。   In the case of the second embodiment, the multi-CPU scheduler 200 accepts an execution instruction in the unit time including the time for sending the instruction execution instruction and receiving the return value in the unit time, and the multi-CPU model 210 accepts the execution instruction. The CPU (the CPU 301 of the verification support apparatus 100) is executed only in the unit time including the time for executing the process according to the instruction, that is, in the shaded portion in FIG. Since the process is skipped at other times, efficient simulation is possible.

また、図11は、実施の形態2の検証支援装置におけるデータ送信時の動作を示す説明図である。図11では、CPUモデル間のデータ送信がある場合の処理について説明する。図11の命令1は、CPUモデル1からCPUモデル2へデータを送信する処理である。この場合、CPUモデル1によって命令1が実行されると、CPUモデル2へのデータの「送信要求」と、この命令を実行させる「次の時刻」が返却値としてマルチCPUスケジューラ200へ送信される。   FIG. 11 is an explanatory diagram showing an operation at the time of data transmission in the verification support apparatus of the second embodiment. In FIG. 11, a process when there is data transmission between CPU models will be described. An instruction 1 in FIG. 11 is a process for transmitting data from the CPU model 1 to the CPU model 2. In this case, when the instruction 1 is executed by the CPU model 1, a “transmission request” for data to the CPU model 2 and “next time” for executing this instruction are transmitted as return values to the multi-CPU scheduler 200. .

命令2は、CPUモデル1から送信された送信要求を実行する命令である。したがって、CPUモデル2では、マルチCPUスケジューラ200からのデータを受信すると、モデルAを実行した後、タイミング302[μs]まで待機し、本来のイベント受信時刻に受信イベントが通知されるように、遅延を含むイベントを実行させる。   The instruction 2 is an instruction for executing a transmission request transmitted from the CPU model 1. Therefore, in the CPU model 2, when data from the multi-CPU scheduler 200 is received, after executing the model A, the CPU model 2 waits until the timing 302 [μs], so that the received event is notified at the original event reception time. Execute an event including

<マルチCPUスケジューラの処理手順>
つぎに、検証対象ソフトウェア101のシミュレーションをおこなう際の、マルチCPUスケジューラ200の処理手順について説明する。なお、実施の形態2の場合も、実施の形態1と同様に図7にて説明した各データを利用する。また、マルチCPUスケジューラ200の処理自体は、図8を用いて説明した実施の形態1の処理手順と同様である。この処理のうち、実行パラメータを送信する際には、実行時刻と基準時刻との差分情報を待機時間として提供する。マルチCPUモデル210では、この差分情報に基づいて処理を遅延させることができる。
<Processing procedure of multi-CPU scheduler>
Next, a processing procedure of the multi-CPU scheduler 200 when simulating the verification target software 101 will be described. In the case of the second embodiment, each data described in FIG. 7 is used as in the first embodiment. Further, the processing itself of the multi-CPU scheduler 200 is the same as the processing procedure of the first embodiment described with reference to FIG. Among these processes, when transmitting an execution parameter, difference information between the execution time and the reference time is provided as a standby time. In the multi-CPU model 210, processing can be delayed based on this difference information.

<マルチCPUモデルの処理手順>
つぎに、つぎに、マルチCPUモデル210の処理手順について説明する。図12は、実施の形態2におけるマルチCPUモデルの処理手順を示すフローチャートである。なお、以下説明するマルチCPUモデル210の処理は、マルチCPUスケジューラ200から送信された実行指示の受信をトリガとする。図12のフローチャートにおいて、まず、マルチCPUモデル210内のシミュレータの時刻に実行パラメータAの実行時刻を設定する(ステップS1201)。
<Processing procedure of multi-CPU model>
Next, the processing procedure of the multi CPU model 210 will be described. FIG. 12 is a flowchart showing the processing procedure of the multi-CPU model in the second embodiment. The processing of the multi-CPU model 210 described below is triggered by reception of an execution instruction transmitted from the multi-CPU scheduler 200. In the flowchart of FIG. 12, first, the execution time of the execution parameter A is set to the time of the simulator in the multi-CPU model 210 (step S1201).

つぎに、実行パラメータAを格納したリスト内のデータが0になっているか否かを判断する(ステップS1202)。このステップS1202によって、実行パラメータAが格納されたリスト内のデータ数が0になっていると判断された場合(ステップS1202:Yes)、指定された時刻から単位時間(図11の場合は25[μs])の区切りまでにシミュレーションを実行する(ステップS1206)。このステップS1206の処理と後述するステップS1204が実施の形態1にかかるマルチCPUモデル210の処理との差分となる。一方、リストに実行パラメータAのデータが残っていると判断された場合(ステップS1202:No)、先頭の実行パラメータAに受信データがあるか否かを判断する(ステップS1203)。   Next, it is determined whether or not the data in the list storing the execution parameter A is 0 (step S1202). If it is determined in this step S1202 that the number of data in the list in which the execution parameter A is stored is 0 (step S1202: Yes), the unit time (in the case of FIG. 11, 25 [ The simulation is executed up to the break of [mu] s]) (step S1206). A difference between the process of step S1206 and the process of later-described step S1204 of the multi-CPU model 210 according to the first embodiment. On the other hand, when it is determined that the data of the execution parameter A remains in the list (step S1202: No), it is determined whether there is reception data in the first execution parameter A (step S1203).

ステップS1203によって、受信データがあると判断された場合(ステップS1203:Yes)、受信データイベントを対象となるCPUモデルへ遅延通知(遅延情報を含んだイベント通知)し(ステップS1204)、通知済みの実行パラメータAをリストから削除した後(ステップS1205)、再度ステップS1202の処理に戻る。一方、先頭の実行パラメータAに受信データがないと判断された場合(ステップS1203:No)、そのまま、指定された時刻にシミュレーションを実行する(ステップS1206)。   If it is determined in step S1203 that there is received data (step S1203: Yes), the received data event is notified of a delay to the target CPU model (event notification including delay information) (step S1204). After deleting the execution parameter A from the list (step S1205), the process returns to the process of step S1202. On the other hand, when it is determined that there is no received data in the first execution parameter A (step S1203: No), the simulation is executed as it is at the designated time (step S1206).

ステップS1206によってシミュレーションが実行された後、次回の実行モデルがあるか否かを判断する(ステップS1207)。次回の実行モデルがあると判断された場合(ステップS1207:Yes)、スケジューラ管理データCの次回実行予定をありに設定し(ステップS1208)、次回実行予定が最も早い実行モデルの実行予定時刻を返却値Bに格納する(ステップS1209)。一方、次回の実行モデルがないと判断された場合(ステップS1207:No)、スケジューラ管理データCの次回実行予定をなしに設定する(ステップS1210)。   After the simulation is executed in step S1206, it is determined whether there is a next execution model (step S1207). If it is determined that there is a next execution model (step S1207: Yes), the next execution schedule of the scheduler management data C is set to be present (step S1208), and the execution schedule time of the execution model with the earliest next execution schedule is returned. Stored in the value B (step S1209). On the other hand, if it is determined that there is no next execution model (step S1207: No), the next execution schedule of the scheduler management data C is set to none (step S1210).

ステップS1208,S1210によって、スケジューラ管理データCの次回実行予定が設定されると、つぎに、処理中のCPUモデルから他のCPUモデルへの送信データがあるか否かを判断する(ステップS1211)。ここで、送信データがあると判断された場合(ステップS1211:Yes)、送信データに関する情報(送信先CPU番号、データの長さ、送信データ)を返却値Bに格納し(ステップS1212)、一連の処理を終了する。また、送信データがないと判断された場合(ステップS1211:No)、ステップS1212の処理をスキップしてそのまま一連の処理を終了する。   When the next execution schedule of the scheduler management data C is set in steps S1208 and S1210, it is next determined whether or not there is transmission data from the CPU model being processed to another CPU model (step S1211). If it is determined that there is transmission data (step S1211: Yes), information about the transmission data (destination CPU number, data length, transmission data) is stored in the return value B (step S1212). Terminate the process. If it is determined that there is no transmission data (step S1211: No), the process of step S1212 is skipped, and the series of processes ends.

以上説明したように、本実施の形態2によれば、単位時間ごとに、実行する処理がある場合にのみ、対象となるマルチCPUモデル210に実行指示を送信すればよい。また、CPUモデルによってCPU間のデータ送信など遅延が発生する処理を実行する場合であっても、マルチCPUスケジューラ200に送信処理が完了する時刻を通知する処理を追加することによって、正常なトランザクションを実現することができる。   As described above, according to the second embodiment, an execution instruction may be transmitted to the target multi-CPU model 210 only when there is a process to be executed every unit time. Even when processing such as data transmission between CPUs is executed depending on the CPU model, a normal transaction can be executed by adding processing for notifying the multi-CPU scheduler 200 of the time when transmission processing is completed. Can be realized.

以上説明したように、本実施の形態によれば、検証対象ソフトウェア101の命令群を取得すると、各命令は実行時刻順にソートされ、各命令の実行間隔を算出する。マルチCPUモデル210では、算出された実行間隔にのみ該当する処理を実行すれば、取得した命令群のシミュレーションをおこなうことができる。したがって、マルチCPUシステムのシミュレーションを高速かつ効率的に実行させることができる。   As described above, according to the present embodiment, when the instruction group of the verification target software 101 is acquired, the instructions are sorted in order of execution time, and the execution interval of each instruction is calculated. In the multi-CPU model 210, the acquired instruction group can be simulated by executing processing corresponding only to the calculated execution interval. Therefore, the simulation of the multi CPU system can be executed at high speed and efficiently.

また、図17にて説明したように、従来のマルチCPUシミュレータ1500の場合、CPU間の伝送速度の高速化に反比例してシミュレーション速度が低下してしまうという問題を抱えていた。それに対して本実施の形態では、CPUモデル間の伝送速度にかかわらず、CPUモデル間のデータ送信を含む処理のシミュレーションを実現できる。すなわち、任意のマルチCPUシステムに対して所望するソフトウェアを実行させた場合の協調動作の検証ができるという効果も併せ持つ。   Further, as described with reference to FIG. 17, the conventional multi-CPU simulator 1500 has a problem that the simulation speed decreases in inverse proportion to the increase in the transmission speed between CPUs. On the other hand, in this embodiment, it is possible to realize a simulation of processing including data transmission between CPU models regardless of the transmission speed between CPU models. That is, there is also an effect that the collaborative operation can be verified when desired software is executed for an arbitrary multi-CPU system.

なお、本実施の形態で説明した検証支援方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネットなどのネットワークを介して配布することが可能な媒体であってもよい。   Note that the verification support method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. This program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. Further, this program may be a medium that can be distributed via a network such as the Internet.

また、本実施の形態で説明した検証支援装置100は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した検証支援装置100の機能(ソート部401〜抽出部406)をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、検証支援装置100を製造することができる。   In addition, the verification support apparatus 100 described in the present embodiment is a specific application IC (hereinafter simply referred to as “ASIC”) such as a standard cell or a structured ASIC (Application Specific Integrated Circuit), or a PLD (Programmable) such as an FPGA. It can also be realized by Logic Device). Specifically, for example, the function (sorting unit 401 to extracting unit 406) of the above-described verification support apparatus 100 is defined by HDL description, and the HDL description is logically synthesized and given to the ASIC or PLD to provide verification support. The device 100 can be manufactured.

上述した実施の形態に関し、さらに以下の付記を開示する。   The following additional notes are disclosed with respect to the embodiment described above.

(付記1)複数のプロセッサをソフトウェアによって実現したマルチプロセッサモデルを用いて実行指示を受けた命令のシミュレーションをおこなうコンピュータを、
前記マルチプロセッサモデルの中の実行対象となるプロセッサモデルと実行時刻との情報を含んだ命令群を実行時刻順にソートするソート手段、
前記ソート手段によってソートされた命令群のそれぞれ連続する命令同士の実行時刻を参照して命令群の実行間隔を算出する算出手段、
前記算出手段によって算出された実行間隔ごとに、該当する命令の実行指示を実行対象となるプロセッサモデルに与える制御手段、
として機能させることを特徴とする検証支援プログラム。
(Supplementary note 1) A computer that simulates an instruction received an execution instruction using a multiprocessor model in which a plurality of processors is realized by software.
Sorting means for sorting an instruction group including information on a processor model to be executed and execution time in the multiprocessor model in order of execution time;
A calculation unit that calculates an execution interval of the instruction group with reference to an execution time of each successive instruction of the instruction group sorted by the sorting unit;
Control means for giving an instruction to execute a corresponding instruction to a processor model to be executed for each execution interval calculated by the calculating means;
Verification support program characterized by functioning as

(付記2)前記コンピュータを、さらに、
前記コンピュータによって実行された命令に次回実行予定があるか否かを判断する判断手段、として機能させ、
前記ソート手段は、前記判断手段によって次回実行予定があると判断された場合に、当該次回実行予定の命令を含んだ命令群を実行時刻順にソートすることを特徴とする付記1に記載の検証支援プログラム。
(Supplementary note 2)
Functioning as a determination means for determining whether or not an instruction executed by the computer is scheduled to be executed next time,
The verification support according to appendix 1, wherein the sorting means sorts a group of instructions including the instruction scheduled to be executed next time in order of execution time when it is determined by the determining means that the next execution is scheduled. program.

(付記3)前記コンピュータを、さらに、
前記コンピュータによって実行された命令に他のプロセッサモデルへの任意のデータの送信要求が含まれていた場合、当該送信要求に対応した命令を前記ソート手段に通知する通知手段、として機能させ、
前記ソート手段は、前記通知手段によって通知された送信要求に対応した命令を含んだ命令群を実行時刻順にソートし、
前記制御手段は、前記実行間隔に該当する命令が前記送信要求に対応した命令の場合、当該命令の実行指示とともに前記任意のデータを前記他のプロセッサモデルへ与えることを特徴とする付記1または2に記載の検証支援プログラム。
(Supplementary note 3)
When the instruction executed by the computer includes a request to transmit arbitrary data to another processor model, the instruction corresponding to the transmission request is made to function as a notification unit that notifies the sorting unit,
The sorting means sorts the instruction group including the instructions corresponding to the transmission request notified by the notifying means in order of execution time,
The control means, when an instruction corresponding to the execution interval is an instruction corresponding to the transmission request, gives the arbitrary data to the other processor model together with an instruction to execute the instruction. The verification support program described in 1.

(付記4)複数のプロセッサをソフトウェアによって実現したマルチプロセッサモデルを用いて実行指示を受けた命令のシミュレーションをおこなうコンピュータを、
前記マルチプロセッサモデルの中の実行対象となるプロセッサモデルと実行時刻との情報を含んだ命令群を実行時刻順にソートするソート手段、
任意の時刻から単位時間ごとの時刻を基準時刻として、当該各基準時刻から前記単位時間内に前記ソート手段によってソートされたいずれかの命令の実行時刻が含まれているような基準時刻を前記各基準時刻の中から抽出する抽出手段、
前記抽出手段によって抽出された基準時刻ごとに、該当する命令の実行指示と、当該実行指示の実行までの待機時間とを、前記実行対象となるプロセッサモデルに与える制御手段、
として機能させることを特徴とする検証支援プログラム。
(Supplementary Note 4) A computer that simulates an instruction received an execution instruction using a multiprocessor model in which a plurality of processors is realized by software.
Sorting means for sorting an instruction group including information on a processor model to be executed and execution time in the multiprocessor model in order of execution time;
A reference time such that the execution time of any instruction sorted by the sorting means is included in the unit time from each reference time is set as the reference time from any time to the unit time. Extraction means for extracting from the reference time,
Control means for giving an execution instruction of the corresponding instruction and a waiting time until execution of the execution instruction to the execution target processor model for each reference time extracted by the extraction means,
Verification support program characterized by functioning as

(付記5)前記コンピュータを、さらに、
前記コンピュータによって実行された命令の次回実行予定があるか否かを判断する判断手段、として機能させ、
前記ソート手段は、前記判断手段によって次回実行予定があると判断された場合に、当該次回実行予定の命令を含んだ命令群を実行時刻順にソートすることを特徴とする付記4に記載の検証支援プログラム。
(Supplementary note 5)
Functioning as a determination means for determining whether or not there is a next execution schedule of the instruction executed by the computer,
5. The verification support according to appendix 4, wherein the sorting means sorts a group of instructions including instructions to be executed next time in order of execution time when it is determined by the determining means that the next execution is scheduled. program.

(付記6)前記コンピュータを、さらに、
前記コンピュータによって実行された命令に他のプロセッサモデルへの任意のデータの送信要求が含まれていた場合、当該送信要求に対応した命令を前記ソート手段に通知する通知手段、として機能させ、
前記ソート手段は、前記通知手段によって通知された送信要求に対応した命令を含んだ命令群を実行時刻順にソートし、
前記制御手段は、前記抽出手段によって抽出された基準時刻ごとに、該当する命令が前記送信命令に対応した命令の場合、当該命令の実行指示とともに前記任意のデータを前記他のプロセッサモデルへ与えることを特徴とする付記5に記載の検証支援プログラム。
(Supplementary note 6)
When the instruction executed by the computer includes a request to transmit arbitrary data to another processor model, the instruction corresponding to the transmission request is made to function as a notification unit that notifies the sorting unit,
The sorting means sorts the instruction group including the instructions corresponding to the transmission request notified by the notifying means in order of execution time,
The control means, for each reference time extracted by the extraction means, when the corresponding instruction is an instruction corresponding to the transmission instruction, gives the arbitrary data together with an instruction to execute the instruction to the other processor model. The verification support program according to appendix 5, characterized by:

(付記7)複数のプロセッサをソフトウェアによって実現したマルチプロセッサモデルを用いて実行指示を受けた命令のシミュレーションをおこなう検証支援装置であって、
前記マルチプロセッサモデルの中の実行対象となるプロセッサモデルと実行時刻との情報を含んだ命令群を実行時刻順にソートするソート手段と、
前記ソート手段によってソートされた命令群のそれぞれ連続する命令同士の実行時刻を参照して命令群の実行間隔を算出する算出手段と、
前記算出手段によって算出された実行間隔ごとに、該当する命令の実行指示を実行対象となるプロセッサモデルに与える制御手段と、
を備えることを特徴とする検証支援装置。
(Supplementary note 7) A verification support apparatus for simulating an instruction received an execution instruction using a multiprocessor model in which a plurality of processors are realized by software,
Sorting means for sorting an instruction group including information on a processor model to be executed and execution time in the multiprocessor model in order of execution time;
A calculation unit that calculates an execution interval of the instruction group with reference to an execution time of each successive instruction of the instruction group sorted by the sorting unit;
Control means for giving an instruction to execute a corresponding instruction to a processor model to be executed for each execution interval calculated by the calculating means;
A verification support apparatus comprising:

(付記8)複数のプロセッサをソフトウェアによって実現したマルチプロセッサモデルを用いて実行指示を受けた命令のシミュレーションをおこなう検証支援装置であって、
前記マルチプロセッサモデルの中の実行対象となるプロセッサモデルと実行時刻との情報を含んだ命令群を実行時刻順にソートするソート手段と、
任意の時刻から単位時間ごとの時刻を基準時刻として、当該各基準時刻から前記単位時間内に前記ソート手段によってソートされたいずれかの命令の実行時刻が含まれているような基準時刻を前記各基準時刻の中から抽出する抽出手段と、
前記抽出手段によって抽出された基準時刻ごとに、該当する命令の実行指示と、当該実行指示の実行までの待機時間とを、前記実行対象となるプロセッサモデルに与える制御手段と、
を備えることを特徴とする検証支援装置。
(Supplementary note 8) A verification support apparatus for simulating an instruction received an execution instruction using a multiprocessor model in which a plurality of processors are realized by software,
Sorting means for sorting an instruction group including information on a processor model to be executed and execution time in the multiprocessor model in order of execution time;
A reference time such that the execution time of any instruction sorted by the sorting means is included in the unit time from each reference time is set as the reference time from any time to the unit time. Extraction means for extracting from the reference time;
For each reference time extracted by the extraction means, a control means for giving an execution instruction of the corresponding instruction and a waiting time until execution of the execution instruction to the processor model to be executed,
A verification support apparatus comprising:

(付記9)複数のプロセッサをソフトウェアによって実現したマルチプロセッサモデルを用いて実行指示を受けた命令のシミュレーションをおこなうコンピュータが、
前記マルチプロセッサモデルの中の実行対象となるプロセッサモデルと実行時刻との情報を含んだ命令群を実行時刻順にソートするソート工程と、
前記ソート工程によってソートされた命令群のそれぞれ連続する命令同士の実行時刻を参照して命令群の実行間隔を算出する算出工程と、
前記算出工程によって算出された実行間隔ごとに、該当する命令の実行指示を実行対象となるプロセッサモデルに与える指示工程と、
を実行することを特徴とする検証支援方法。
(Additional remark 9) The computer which simulates the instruction | indication which received the execution instruction using the multiprocessor model which implement | achieved several processors by software,
A sorting step of sorting the instruction group including information on a processor model to be executed and execution time in the multiprocessor model in order of execution time;
A calculation step of calculating an execution interval of the instruction group with reference to an execution time of each successive instruction of the instruction group sorted by the sorting step;
An instruction step for giving an instruction to execute a corresponding instruction to a processor model to be executed for each execution interval calculated by the calculation step;
The verification support method characterized by performing this.

(付記10)複数のプロセッサをソフトウェアによって実現したマルチプロセッサモデルを用いて実行指示を受けた命令のシミュレーションをおこなうコンピュータが、
前記マルチプロセッサモデルの中の実行対象となるプロセッサモデルと実行時刻との情報を含んだ命令群を実行時刻順にソートするソート工程と、
任意の時刻から単位時間ごとの時刻を基準時刻として、当該各基準時刻から前記単位時間内に前記ソート工程によってソートされたいずれかの命令の実行時刻が含まれているような基準時刻を前記各基準時刻の中から抽出する抽出工程と、
前記抽出工程によって抽出された基準時刻ごとに、該当する命令の実行指示と、当該実行指示の実行までの待機時間とを、前記実行対象となるプロセッサモデルに与える指示工程と、
を実行することを特徴とする検証支援方法。
(Additional remark 10) The computer which simulates the instruction which received the execution instruction using the multiprocessor model which realized a plurality of processors by software,
A sorting step of sorting the instruction group including information on a processor model to be executed and execution time in the multiprocessor model in order of execution time;
With each unit time as a reference time from an arbitrary time, each reference time such that the execution time of any instruction sorted by the sorting step is included in the unit time from each reference time An extraction process for extracting from the reference time;
For each reference time extracted by the extraction step, an instruction step for giving an instruction to execute the corresponding instruction and a waiting time until execution of the execution instruction to the processor model to be executed;
The verification support method characterized by performing this.

100 検証支援装置
101 検証対象ソフトウェア
102 シミュレーション結果
110 マルチCPUシミュレータ
200 マルチCPUスケジューラ
210 マルチCPUモデル
401 ソート部
402 算出部
403 制御部
404 判断部
405 通知部
406 抽出部
DESCRIPTION OF SYMBOLS 100 Verification support apparatus 101 Verification object software 102 Simulation result 110 Multi CPU simulator 200 Multi CPU scheduler 210 Multi CPU model 401 Sort part 402 Calculation part 403 Control part 404 Judgment part 405 Notification part 406 Extraction part

Claims (5)

複数のプロセッサをソフトウェアによって実現したマルチプロセッサモデルを用いて実行指示を受けた命令のシミュレーションをおこなうコンピュータを、
前記マルチプロセッサモデルの中の実行対象となるプロセッサモデルと実行時刻との情報を含んだ命令群を実行時刻順にソートするソート手段、
前記ソート手段によってソートされた命令群のそれぞれ連続する命令同士の実行時刻を参照して命令群の実行間隔を算出する算出手段、
前記算出手段によって算出された実行間隔ごとに、該当する命令の実行指示を実行対象となるプロセッサモデルに与える制御手段、
として機能させることを特徴とする検証支援プログラム。
A computer that simulates instructions that have received instructions for execution using a multiprocessor model in which multiple processors are implemented by software.
Sorting means for sorting an instruction group including information on a processor model to be executed and execution time in the multiprocessor model in order of execution time;
A calculation unit that calculates an execution interval of the instruction group with reference to an execution time of each successive instruction of the instruction group sorted by the sorting unit;
Control means for giving an instruction to execute a corresponding instruction to a processor model to be executed for each execution interval calculated by the calculating means;
Verification support program characterized by functioning as
複数のプロセッサをソフトウェアによって実現したマルチプロセッサモデルを用いて実行指示を受けた命令のシミュレーションをおこなうコンピュータを、
前記マルチプロセッサモデルの中の実行対象となるプロセッサモデルと実行時刻との情報を含んだ命令群を実行時刻順にソートするソート手段、
任意の時刻から単位時間ごとの時刻を基準時刻として、当該各基準時刻から前記単位時間内に前記ソート手段によってソートされたいずれかの命令の実行時刻が含まれているような基準時刻を前記各基準時刻の中から抽出する抽出手段、
前記抽出手段によって抽出された基準時刻ごとに、該当する命令の実行指示と、当該実行指示の実行までの待機時間とを、前記実行対象となるプロセッサモデルに与える制御手段、
として機能させることを特徴とする検証支援プログラム。
A computer that simulates instructions that have received instructions for execution using a multiprocessor model in which multiple processors are implemented by software.
Sorting means for sorting an instruction group including information on a processor model to be executed and execution time in the multiprocessor model in order of execution time;
A reference time such that the execution time of any instruction sorted by the sorting means is included in the unit time from each reference time is set as the reference time from any time to the unit time. Extraction means for extracting from the reference time,
Control means for giving an execution instruction of the corresponding instruction and a waiting time until execution of the execution instruction to the execution target processor model for each reference time extracted by the extraction means,
Verification support program characterized by functioning as
複数のプロセッサをソフトウェアによって実現したマルチプロセッサモデルを用いて実行指示を受けた命令のシミュレーションをおこなう検証支援装置であって、
前記マルチプロセッサモデルの中の実行対象となるプロセッサモデルと実行時刻との情報を含んだ命令群を実行時刻順にソートするソート手段と、
前記ソート手段によってソートされた命令群のそれぞれ連続する命令同士の実行時刻を参照して命令群の実行間隔を算出する算出手段と、
前記算出手段によって算出された実行間隔ごとに、該当する命令の実行指示を実行対象となるプロセッサモデルに与える制御手段と、
を備えることを特徴とする検証支援装置。
A verification support apparatus that simulates an instruction received an execution instruction using a multiprocessor model in which a plurality of processors is realized by software,
Sorting means for sorting an instruction group including information on a processor model to be executed and execution time in the multiprocessor model in order of execution time;
A calculation unit that calculates an execution interval of the instruction group with reference to an execution time of each successive instruction of the instruction group sorted by the sorting unit;
Control means for giving an instruction to execute a corresponding instruction to a processor model to be executed for each execution interval calculated by the calculating means;
A verification support apparatus comprising:
複数のプロセッサをソフトウェアによって実現したマルチプロセッサモデルを用いて実行指示を受けた命令のシミュレーションをおこなう検証支援装置であって、
前記マルチプロセッサモデルの中の実行対象となるプロセッサモデルと実行時刻との情報を含んだ命令群を実行時刻順にソートするソート手段と、
任意の時刻から単位時間ごとの時刻を基準時刻として、当該各基準時刻から前記単位時間内に前記ソート手段によってソートされたいずれかの命令の実行時刻が含まれているような基準時刻を前記各基準時刻の中から抽出する抽出手段と、
前記抽出手段によって抽出された基準時刻ごとに、該当する命令の実行指示と、当該実行指示の実行までの待機時間とを、前記実行対象となるプロセッサモデルに与える制御手段と、
を備えることを特徴とする検証支援装置。
A verification support apparatus that simulates an instruction received an execution instruction using a multiprocessor model in which a plurality of processors is realized by software,
Sorting means for sorting an instruction group including information on a processor model to be executed and execution time in the multiprocessor model in order of execution time;
A reference time such that the execution time of any instruction sorted by the sorting means is included in the unit time from each reference time is set as the reference time from any time to the unit time. Extraction means for extracting from the reference time;
For each reference time extracted by the extraction means, a control means for giving an execution instruction of the corresponding instruction and a waiting time until execution of the execution instruction to the processor model to be executed,
A verification support apparatus comprising:
複数のプロセッサをソフトウェアによって実現したマルチプロセッサモデルを用いて実行指示を受けた命令のシミュレーションをおこなうコンピュータが、
前記マルチプロセッサモデルの中の実行対象となるプロセッサモデルと実行時刻との情報を含んだ命令群を実行時刻順にソートするソート工程と、
前記ソート工程によってソートされた命令群のそれぞれ連続する命令同士の実行時刻を参照して命令群の実行間隔を算出する算出工程と、
前記算出工程によって算出された実行間隔ごとに、該当する命令の実行指示を実行対象となるプロセッサモデルに与える指示工程と、
を実行することを特徴とする検証支援方法。
A computer that simulates an instruction received an execution instruction using a multiprocessor model in which a plurality of processors is realized by software.
A sorting step of sorting the instruction group including information on a processor model to be executed and execution time in the multiprocessor model in order of execution time;
A calculation step of calculating an execution interval of the instruction group with reference to an execution time of each successive instruction of the instruction group sorted by the sorting step;
An instruction step for giving an instruction to execute a corresponding instruction to a processor model to be executed for each execution interval calculated by the calculation step;
The verification support method characterized by performing this.
JP2009036363A 2009-02-19 2009-02-19 Verification support program, verification support apparatus, and verification support method Expired - Fee Related JP5251586B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009036363A JP5251586B2 (en) 2009-02-19 2009-02-19 Verification support program, verification support apparatus, and verification support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009036363A JP5251586B2 (en) 2009-02-19 2009-02-19 Verification support program, verification support apparatus, and verification support method

Publications (2)

Publication Number Publication Date
JP2010191758A true JP2010191758A (en) 2010-09-02
JP5251586B2 JP5251586B2 (en) 2013-07-31

Family

ID=42817726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009036363A Expired - Fee Related JP5251586B2 (en) 2009-02-19 2009-02-19 Verification support program, verification support apparatus, and verification support method

Country Status (1)

Country Link
JP (1) JP5251586B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014241014A (en) * 2013-06-11 2014-12-25 富士通セミコンダクター株式会社 Simulation device, simulation device operation method, and simulation program
WO2019009068A1 (en) * 2017-07-03 2019-01-10 日立オートモティブシステムズ株式会社 Verification device for vehicle control device and vehicle control device
JP2019016121A (en) * 2017-07-06 2019-01-31 日立オートモティブシステムズ株式会社 Vehicle control device and vehicle control simulation device
CN113127100A (en) * 2021-05-14 2021-07-16 武汉深之度科技有限公司 Heterogeneous program execution method and device, computing device and readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01155462A (en) * 1987-10-28 1989-06-19 American Teleph & Telegr Co <Att> Method and system for simulation
JPH03255565A (en) * 1990-03-06 1991-11-14 Fujitsu Ltd Parallel computer simulating system
JPH0535690A (en) * 1991-07-29 1993-02-12 Fujitsu Ltd System and method for parallel computer simulation
JP2002323978A (en) * 2001-04-25 2002-11-08 Nec Corp Test facility system, time synchronizing method for application software to be used therefor and program therefor
JP2008009880A (en) * 2006-06-30 2008-01-17 Toyota Technical Development Corp Real-time parallel distributed simulation system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01155462A (en) * 1987-10-28 1989-06-19 American Teleph & Telegr Co <Att> Method and system for simulation
JPH03255565A (en) * 1990-03-06 1991-11-14 Fujitsu Ltd Parallel computer simulating system
JPH0535690A (en) * 1991-07-29 1993-02-12 Fujitsu Ltd System and method for parallel computer simulation
JP2002323978A (en) * 2001-04-25 2002-11-08 Nec Corp Test facility system, time synchronizing method for application software to be used therefor and program therefor
JP2008009880A (en) * 2006-06-30 2008-01-17 Toyota Technical Development Corp Real-time parallel distributed simulation system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014241014A (en) * 2013-06-11 2014-12-25 富士通セミコンダクター株式会社 Simulation device, simulation device operation method, and simulation program
WO2019009068A1 (en) * 2017-07-03 2019-01-10 日立オートモティブシステムズ株式会社 Verification device for vehicle control device and vehicle control device
JP2019016121A (en) * 2017-07-06 2019-01-31 日立オートモティブシステムズ株式会社 Vehicle control device and vehicle control simulation device
JP7017871B2 (en) 2017-07-06 2022-02-09 日立Astemo株式会社 Vehicle control simulation device
CN113127100A (en) * 2021-05-14 2021-07-16 武汉深之度科技有限公司 Heterogeneous program execution method and device, computing device and readable storage medium
CN113127100B (en) * 2021-05-14 2022-07-12 武汉深之度科技有限公司 Heterogeneous program execution method and device, computing device and readable storage medium

Also Published As

Publication number Publication date
JP5251586B2 (en) 2013-07-31

Similar Documents

Publication Publication Date Title
Zeng et al. Stochastic analysis of can-based real-time automotive systems
Hrischuk et al. Automatic generation of a software performance model using an object-oriented prototype
JP5350428B2 (en) Automatic program generation apparatus, method and computer program
JP4655240B2 (en) Timing analysis support device
JP2008547128A5 (en)
JP2013175242A (en) Method system and software for providing image sensor based human machine interfacing
CN103366338A (en) Image processing device and image processing method
JP5251586B2 (en) Verification support program, verification support apparatus, and verification support method
CN1952884A (en) Automatic layout method and automatic layout device
CN1815480B (en) System and method for generating assertions using waveforms
US8255846B2 (en) Development tool for comparing netlists
CN107491311B (en) Method and system for generating page file and computer equipment
US20090234620A1 (en) Verification support apparatus, verification support method, and computer product
JP2012203451A (en) Semiconductor integrated circuit simulation device and semiconductor integrated circuit simulation method
JP4716964B2 (en) Timing diagram editing program, timing diagram editing apparatus, and timing diagram editing method
CN105046017B (en) A kind of quick points distributing method and system of electromechanics Aseismic Design
Ladry et al. Formal description techniques to support the design, construction and evaluation of fusion engines for sure (safe, usable, reliable and evolvable) multimodal interfaces
JP5163308B2 (en) IP model generation device, IP model generation method, and IP model generation program
JP4645843B2 (en) Data processing apparatus, data processing method and program
WO2021220424A1 (en) Diagram modification device, diagram modification method, and diagram modification program
JP2010033567A (en) Method and apparatus for supporting simulation, and recording medium for storing simulation supporting program
JP2008217071A (en) High-level synthesis apparatus and high-level synthesis method
JPH1166131A (en) Cad and cae device and its analytic result display method
JP6184217B2 (en) Simulation control method, simulation control program, and simulation control apparatus
JP5414553B2 (en) Information processing apparatus and information processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130305

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: 20130319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130401

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

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