JP2010181961A - Simulation control program, simulation device, and simulation control method - Google Patents

Simulation control program, simulation device, and simulation control method Download PDF

Info

Publication number
JP2010181961A
JP2010181961A JP2009022799A JP2009022799A JP2010181961A JP 2010181961 A JP2010181961 A JP 2010181961A JP 2009022799 A JP2009022799 A JP 2009022799A JP 2009022799 A JP2009022799 A JP 2009022799A JP 2010181961 A JP2010181961 A JP 2010181961A
Authority
JP
Japan
Prior art keywords
execution
simulation
system level
model
control
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
JP2009022799A
Other languages
Japanese (ja)
Other versions
JP5262774B2 (en
Inventor
Teruhiko Kamigata
輝彦 上方
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 Ltd
Original Assignee
Fujitsu 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 Ltd filed Critical Fujitsu Ltd
Priority to JP2009022799A priority Critical patent/JP5262774B2/en
Publication of JP2010181961A publication Critical patent/JP2010181961A/en
Application granted granted Critical
Publication of JP5262774B2 publication Critical patent/JP5262774B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To achieve the reduction of a workload to be imposed on system simulation and the shortening of a simulation period. <P>SOLUTION: In a system level simulation device, system level simulation between a hardware model 110 and a software model 120 is executed, and when the specific instruction of an application program 123 is executed, a virtual device 114 for control for controlling the execution of the system level simulation is called, and an ESL simulator kernel 102 is controlled by a virtual device 114 for control, and the execution of the system level simulation is controlled. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

この発明は、ハードウェアモデルとソフトウェアモデルとを含む組み込み機器等に内蔵される電子装置等のシステムレベルシミュレーションを制御する技術に関する。   The present invention relates to a technique for controlling system level simulation of an electronic device or the like built in an embedded device or the like including a hardware model and a software model.

組み込みプロセッサやSoC(System on Chip)が搭載された携帯電話などの電子機器を開発する作業工程では、システムレベルでのシミュレーションがおこなわれることがある。このシステムレベルシミュレーションでは、システム内に含まれる電子装置・ハードウェアをモデル化して、シミュレータを利用してシミュレーションをおこなう。システム内にCPU(Central Processing Unit)を含む場合には、そのCPUをモデル化して、ハードウェアモデルに組み込み、そのハードウェアモデル内のCPU上でソフトウェアを動作させる。   In an operation process of developing an electronic device such as a mobile phone equipped with an embedded processor or SoC (System on Chip), a simulation at a system level may be performed. In this system level simulation, an electronic device and hardware included in the system are modeled, and simulation is performed using a simulator. When a CPU (Central Processing Unit) is included in the system, the CPU is modeled, incorporated into a hardware model, and software is operated on the CPU in the hardware model.

また、このシステムを記述するための言語としてSystemCがある。SystemCには、シミュレーションの実行、終了、停止などを制御するための構文がある。具体的には、たとえば、sc_start()は、シミュレーションを指定した時間まで実行させたり、イベントがなくなるまで実行させたりすることができる。   There is SystemC as a language for describing this system. SystemC has a syntax for controlling execution, termination, and stop of simulation. Specifically, for example, sc_start () can execute the simulation until a specified time or until there are no more events.

従来においては、半導体試験装置の動作をエミュレートして半導体試験用プログラムの検証をおこなうための各種技術が提供されている。たとえば、半導体デバイスの試験用の技術として、アナログ出力端子を有する被検査用半導体デバイスに試験信号が入力されたときに、対応して出力される試験信号を擬似的に発生させるものがある(たとえば、下記特許文献1参照。)。   Conventionally, various technologies for verifying a semiconductor test program by emulating the operation of a semiconductor test apparatus have been provided. For example, as a technique for testing a semiconductor device, there is a technique in which when a test signal is input to a semiconductor device to be inspected having an analog output terminal, a test signal output correspondingly is generated in a pseudo manner (for example, , See Patent Document 1 below).

また、論理回路の論理シミュレーションにおいて、1つの試験命令を実行するたびに、その結果値と期待値とを比較することで、試験対象論理回路モデルに不良が発生した場合に、不良の要因である試験命令を抽出する技術がある(たとえば、下記特許文献2参照。)。   Further, in the logic simulation of the logic circuit, each time a test instruction is executed, the result value is compared with the expected value, which is a cause of failure when a failure occurs in the test target logic circuit model. There is a technique for extracting a test instruction (for example, see Patent Document 2 below).

特開2002−333469号公報JP 2002-333469 A 特開平5−61935号公報JP-A-5-61935

しかしながら、従来のシステムレベルシミュレーションでは、システム内のCPU上で動作するアプリケーションから、システムレベルシミュレーション自体を制御する手段がなかった。このため、アプリケーションが特定のポイントまで実行されたときに、システムレベルシミュレーションの実行を自動制御することが難しいという問題がある。   However, in the conventional system level simulation, there is no means for controlling the system level simulation itself from an application operating on a CPU in the system. For this reason, there is a problem that it is difficult to automatically control the execution of the system level simulation when the application is executed up to a specific point.

具体的には、たとえば、アプリケーションが特定のポイントまで実行されたときにシステムレベルシミュレーションを終了させたい場合がある。このような場合、ユーザが、システムレベルシミュレーションの進行状況を監視し、アプリケーションの特定のポイントまで実行されたことを確認して、システムレベルシミュレーションを終了させるなどの面倒な作業が必要となる。   Specifically, for example, there is a case where it is desired to end the system level simulation when the application is executed up to a specific point. In such a case, the user needs to perform troublesome work such as monitoring the progress of the system level simulation, confirming that the system level simulation has been executed up to a specific point, and ending the system level simulation.

また、特定のポイントまで実行されたことをユーザが見過ごしてしまうと、最悪の場合、最初からシステムレベルシミュレーションをやり直す必要があり、シミュレーション期間の長期化を招くという問題がある。さらに、システムレベルシミュレーションに使用できる計算機リソースやライセンスリソースには限りがあるため、あるシスレムレベルシミュレーションが長期化するほど、他のシステムレベルシミュレーションの長期化を引き起こすという問題がある。   Further, if the user overlooks that the execution has been performed up to a specific point, in the worst case, it is necessary to restart the system level simulation from the beginning, leading to a problem that the simulation period is prolonged. Furthermore, since the computer resources and license resources that can be used for the system level simulation are limited, there is a problem that the longer a certain system level simulation, the longer the other system level simulation.

本開示技術は、上述した従来技術による問題点を解消するため、システムレベルシミュレーションにかかる作業負担の軽減化およびシミュレーション期間の短縮化を図るシミュレーション制御プログラム、シミュレーション装置、およびシミュレーション制御方法を提供することを目的とする。   The present disclosure provides a simulation control program, a simulation apparatus, and a simulation control method for reducing a work load and a simulation period for a system level simulation in order to solve the problems caused by the above-described conventional technology. With the goal.

上述した課題を解決し、目的を達成するため、本開示技術は、ハードウェアモデルとソフトウェアモデルとを含むシステムレベルシミュレーションを実行し、前記ソフトウェアモデルの特定の命令が実行された結果、前記ハードウェアモデル内のモジュールのモデルのうち前記システムレベルシミュレーションの実行を制御する特定のモジュールのモデルに対するアクセス要求を受け付け、前記アクセス要求を受け付けた場合、前記システムレベルシミュレーションを実行制御することを要件とする。   In order to solve the above-described problems and achieve the object, the disclosed technique performs a system level simulation including a hardware model and a software model, and a specific instruction of the software model is executed. An access request to a model of a specific module that controls execution of the system level simulation among the models of modules in the model is received, and when the access request is received, execution control of the system level simulation is required.

本開示技術によれば、システム内のCPU上で動作するアプリケーションから、システムレベルシミュレーションを制御することができる。   According to the disclosed technique, it is possible to control the system level simulation from an application operating on the CPU in the system.

本シミュレーション制御プログラム、シミュレーション装置、およびシミュレーション制御方法によれば、システムレベルシミュレーションにかかる作業負担の軽減化およびシミュレーション期間の短縮化を図ることができるという効果を奏する。   According to the simulation control program, the simulation apparatus, and the simulation control method, there is an effect that it is possible to reduce the work load and the simulation period for the system level simulation.

システムレベルシミュレーション装置のシステム構成図(その1)である。It is a system configuration figure (the 1) of a system level simulation apparatus. ホストマシンのハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of a host machine. ホストマシンの機能的構成を示すブロック図である。It is a block diagram which shows the functional structure of a host machine. 制御用仮想デバイスの機能に関する記述例を示す説明図である。It is explanatory drawing which shows the example of a description regarding the function of the virtual device for control. 制御用仮想デバイスの終了の機能に関する記述例を示す説明図である。It is explanatory drawing which shows the example of a description regarding the function of completion | finish of a control virtual device. 制御用仮想デバイスの優先度制御の機能に関する記述例を示す説明図であるIt is explanatory drawing which shows the example of a description regarding the function of priority control of the virtual device for control. 制御用仮想デバイスのイメージダンプの機能に関する記述例を示す説明図(その1)である。It is explanatory drawing (the 1) which shows the example of a description regarding the function of the image dump of a control virtual device. 制御用仮想デバイスのイメージダンプの機能に関する記述例を示す説明図(その2)である。It is explanatory drawing (the 2) which shows the example of a description regarding the function of the image dump of a control virtual device. 制御用仮想デバイスの停止の機能に関する記述例を示す説明図である。It is explanatory drawing which shows the example of a description regarding the stop function of the virtual device for control. システムレベルシミュレーション装置のシステム構成図(その2)である。It is a system configuration | structure figure (the 2) of a system level simulation apparatus. ホストマシンのシミュレーション制御処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the simulation control processing procedure of a host machine. シミュレーション制御処理の具体的な処理手順の一例を示すフローチャート(その1)である。It is a flowchart (the 1) which shows an example of the specific process sequence of a simulation control process. シミュレーション制御処理の具体的な処理手順の一例を示すフローチャート(その2)である。It is a flowchart (the 2) which shows an example of the specific process sequence of a simulation control process.

以下に添付図面を参照して、この発明にかかるシミュレーション制御プログラム、シミュレーション装置、およびシミュレーション制御方法の好適な実施の形態を詳細に説明する。なお、本明細書において、シミュレーション装置とは、シミュレーション制御プログラムがインストールされたホストマシンである。   Exemplary embodiments of a simulation control program, a simulation apparatus, and a simulation control method according to the present invention will be explained below in detail with reference to the accompanying drawings. In this specification, the simulation apparatus is a host machine in which a simulation control program is installed.

(システムレベルシミュレーション装置(システムレベルシミュレータ)のシステム構成)
まず、実施の形態にかかるシステムレベルシミュレーションを実行するホストマシン100に構築されるシステムレベルシミュレーション装置のシステム構成について説明する。図1は、システムレベルシミュレーション装置のシステム構成図(その1)である。図1において、システムレベルシミュレーション装置は、OS(Operation System)101と、ESL(Electronic system level)シミュレータカーネル102と、SystemCライブラリ103と、シミュレーション対象104と、システムレベルシミュレーション実行するホストマシン100と、を有している。
(System configuration of system level simulation equipment (system level simulator))
First, a system configuration of a system level simulation apparatus constructed in the host machine 100 that executes the system level simulation according to the embodiment will be described. FIG. 1 is a system configuration diagram (part 1) of a system level simulation apparatus. 1, a system level simulation apparatus includes an OS (Operation System) 101, an ESL (Electronic System Level) simulator kernel 102, a System C library 103, a simulation target 104, and a host machine 100 that executes a system level simulation. Have.

OS101は、システムレベルシミュレーション実行するホストマシン100全体を管理するソフトウェアプログラムである。ESLシミュレータカーネル102は、シミュレーション対象104の動作を電子システムレベルで模擬するためのシミュレータである。SystemCライブラリ103は、特定の機能のプログラムを他のプログラムから利用可能に部品化し、アーカイブ化やライブラリ化された電子ファイルにまとめたものである。   The OS 101 is a software program that manages the entire host machine 100 that executes a system level simulation. The ESL simulator kernel 102 is a simulator for simulating the operation of the simulation target 104 at the electronic system level. The SystemC library 103 is a program in which specific functions are converted into parts that can be used from other programs, and are collected into an archived or libraryd electronic file.

ここで、シミュレーション対象104のハードウェアモデル110は、CPU111と、メインメモリ112と、周辺デバイス113と、制御用仮想デバイス114と、バス115と、を含む構成である。また、各構成部はバス115によってそれぞれ接続されている。   Here, the hardware model 110 of the simulation target 104 includes a CPU 111, a main memory 112, a peripheral device 113, a control virtual device 114, and a bus 115. Each component is connected by a bus 115.

CPU111は、ソフトウェアモデル120を実行できるソフトウェアモジュールである。メインメモリ112は、CPU111のプログラム格納エリアやデータ格納エリアやワークエリアの記憶装置(メモリ)として使用されるソフトウェアモジュールである。周辺デバイス113は、入出力装置(I/O)などの周辺装置(不図示)を制御するためのソフトウェアモジュールである。制御用仮想デバイス114は、システムレベルシミュレーションの実行を制御するためのソフトウェアモジュールである。   The CPU 111 is a software module that can execute the software model 120. The main memory 112 is a software module used as a storage device (memory) for the program storage area, data storage area, and work area of the CPU 111. The peripheral device 113 is a software module for controlling a peripheral device (not shown) such as an input / output device (I / O). The control virtual device 114 is a software module for controlling the execution of the system level simulation.

また、ソフトウェアモデル120は、OS121と、制御用仮想デバイスドライバ122と、アプリケーションプログラム123と、を含む構成である。OS121は、ハードウェアモデル110の一部(メインメモリ112、周辺デバイス113)やアプリケーションプログラム123、制御用仮想デバイスドライバ122などを管理するCPU111上で動作するソフトウェアプログラムである。制御用仮想デバイスドライバ122は、制御用仮想デバイス114を操作するためのソフトウェアプログラムである。   The software model 120 includes an OS 121, a control virtual device driver 122, and an application program 123. The OS 121 is a software program that runs on the CPU 111 that manages a part of the hardware model 110 (main memory 112, peripheral device 113), an application program 123, a control virtual device driver 122, and the like. The control virtual device driver 122 is a software program for operating the control virtual device 114.

アプリケーションプログラム123は、CPU111上で動作させるユーザプログラムである。このアプリケーションプログラム123には、制御用仮想デバイス114のAPI(Application Programming Interface)を用いて、任意のポイントで各種操作を実行するための操作指示が記述されている。操作としては、たとえば、システムレベルシミュレーションの実行を終了させるものがある。   The application program 123 is a user program that runs on the CPU 111. In the application program 123, operation instructions for executing various operations at arbitrary points using an API (Application Programming Interface) of the control virtual device 114 are described. As the operation, for example, there is an operation for terminating the execution of the system level simulation.

ここで、システムレベルシミュレーションのシステム概要について説明する。(1)ESLシミュレータカーネル102が、SystemCライブラリ103と連携して、シミュレーション対象104のハードウェアモデル110を実行する。ハードウェアモデル110内のCPU111は、OS121、アプリケーションプログラム123を実行する。(2)アプリケーションプログラム123の実行中に制御用仮想デバイス114を操作するため、制御用仮想デバイスドライバ122のAPIが呼び出される。   Here, a system overview of the system level simulation will be described. (1) The ESL simulator kernel 102 executes the hardware model 110 of the simulation target 104 in cooperation with the SystemC library 103. The CPU 111 in the hardware model 110 executes an OS 121 and an application program 123. (2) In order to operate the control virtual device 114 during execution of the application program 123, the API of the control virtual device driver 122 is called.

(3)APIの呼び出しによって、OS121が、制御用仮想デバイスドライバ122にAPIの呼び出しを通知し、CPU111が制御用仮想デバイスドライバ122を実行する。(4)CPU111が、バス115を介して、制御用仮想デバイス114の特定のアドレスに対してアクセスする。(5)制御用仮想デバイス114が、ESLシミュレータカーネル102やOS101に対して指示を出して、システムレベルシミュレーションに対してAPIで指示された操作を実行する。   (3) By calling the API, the OS 121 notifies the control virtual device driver 122 of the API call, and the CPU 111 executes the control virtual device driver 122. (4) The CPU 111 accesses a specific address of the control virtual device 114 via the bus 115. (5) The control virtual device 114 issues an instruction to the ESL simulator kernel 102 and the OS 101, and executes an operation instructed by the API for the system level simulation.

これにより、ハードウェアモデル110内のCPU111上で動作しているアプリケーションプログラム123から、システムレベルシミュレーションを制御することができる。この結果、アプリケーションプログラム123が特定のポイントまで実行されたときに、システムレベルシミュレーションに対する任意の操作を実行することができる。   As a result, the system level simulation can be controlled from the application program 123 operating on the CPU 111 in the hardware model 110. As a result, when the application program 123 is executed up to a specific point, an arbitrary operation for the system level simulation can be executed.

(ホストマシンのハードウェア構成)
つぎに、実施の形態にかかるホストマシン100のハードウェア構成について説明する。図2は、ホストマシンのハードウェア構成を示すブロック図である。図2において、ホストマシン100は、CPU201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、ディスプレイ208と、I/F(Interface)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス200によってそれぞれ接続されている。
(Hardware configuration of host machine)
Next, a hardware configuration of the host machine 100 according to the embodiment will be described. FIG. 2 is a block diagram illustrating a hardware configuration of the host machine. 2, the host machine 100 includes a CPU 201, a ROM (Read-Only Memory) 202, a RAM (Random Access Memory) 203, a magnetic disk drive 204, a magnetic disk 205, an optical disk drive 206, an optical disk 207, , A display 208, an I / F (Interface) 209, a keyboard 210, a mouse 211, a scanner 212, and a printer 213. Each component is connected by a bus 200.

ここで、CPU201は、ホストマシン100の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御にしたがって磁気ディスク205に対するデータのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。   Here, the CPU 201 governs overall control of the host machine 100. The ROM 202 stores a program such as a boot program. The RAM 203 is used as a work area for the CPU 201. The magnetic disk drive 204 controls reading / writing of data with respect to the magnetic disk 205 according to the control of the CPU 201. The magnetic disk 205 stores data written under the control of the magnetic disk drive 204.

光ディスクドライブ206は、CPU201の制御にしたがって光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。   The optical disk drive 206 controls reading / writing of data with respect to the optical disk 207 according to the control of the CPU 201. The optical disk 207 stores data written under the control of the optical disk drive 206, or causes the computer to read data stored on the optical disk 207.

ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。   The display 208 displays data such as a document, an image, and function information as well as a cursor, an icon, or a tool box. As the display 208, for example, a CRT, a TFT liquid crystal display, a plasma display, or the like can be adopted.

インターフェース(以下、「I/F」と略する。)209は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク214に接続され、このネットワーク214を介して他の装置に接続される。そして、I/F209は、ネットワーク214と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、たとえばモデムやLANアダプタなどを採用することができる。   An interface (hereinafter abbreviated as “I / F”) 209 is connected to a network 214 such as a LAN (Local Area Network), a WAN (Wide Area Network), and the Internet through a communication line. Connected to other devices. The I / F 209 controls an internal interface with the network 214 and controls data input / output from an external device. For example, a modem or a LAN adapter may be employed as the I / F 209.

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

スキャナ212は、画像を光学的に読み取り、ホストマシン100内に画像データを取り込む。なお、スキャナ212は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。   The scanner 212 optically reads an image and takes in the image data into the host machine 100. The scanner 212 may have an OCR (Optical Character Reader) function. The printer 213 prints image data and document data. As the printer 213, for example, a laser printer or an ink jet printer can be employed.

(ホストマシンの機能的構成)
つぎに、実施の形態にかかるホストマシン100の機能的構成について説明する。図3は、ホストマシンの機能的構成を示すブロック図である。図3において、ホストマシン100は、実行部301と、受付部302と、実行制御部303と、判定部304と、出力部305と、を含む構成である。
(Functional configuration of host machine)
Next, a functional configuration of the host machine 100 according to the embodiment will be described. FIG. 3 is a block diagram showing a functional configuration of the host machine. In FIG. 3, the host machine 100 is configured to include an execution unit 301, a reception unit 302, an execution control unit 303, a determination unit 304, and an output unit 305.

この制御部となる機能(実行部301〜出力部305)は、具体的には、たとえば、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶されたプログラムをCPU201に実行させることにより、または、I/F209により、その機能を実現する。   Specifically, the functions (execution unit 301 to output unit 305) serving as the control unit are, for example, a program stored in a storage area such as the ROM 202, RAM 203, magnetic disk 205, and optical disk 207 shown in FIG. The function is realized by executing the function or by the I / F 209.

実行部301は、ハードウェアモデルとソフトウェアモデルとのシステムレベルシミュレーションを実行する機能を有する。ここで、ハードウェアモデルとは、ハードウェアの機能をC/C++、SystemCなどで記述したプログラムによって実現するモデルである。ソフトウェアモデルとは、ハードウェアモデル内のCPU上で動作するプログラムである。   The execution unit 301 has a function of executing a system level simulation of a hardware model and a software model. Here, the hardware model is a model that realizes a hardware function by a program described in C / C ++, SystemC, or the like. The software model is a program that runs on the CPU in the hardware model.

具体的には、たとえば、ESLシミュレータカーネル102(図1参照)が、システムレベルシミュレーションを実行する。そうすると、ハードウェアモデル110内のCPU111が実行され、CPU111はその上で動作するアプリケーションプログラム123を実行する。なお、ESLシミュレータカーネル102は、システムレベルシミュレーションの実行を制御する機能を有している。   Specifically, for example, the ESL simulator kernel 102 (see FIG. 1) executes a system level simulation. Then, the CPU 111 in the hardware model 110 is executed, and the CPU 111 executes an application program 123 that operates on the CPU 111. The ESL simulator kernel 102 has a function of controlling the execution of the system level simulation.

CPU111は、アプリケーションプログラム123の特定の命令、または、命令列が実行された結果、システムレベルシミュレーションの実行を制御する特定のモジュールのモデル(制御用仮想デバイス114)に対してアクセス要求を出す機能を有する。バス115等は、マイクロプロセッサモデル(CPU111)と制御用仮想デバイス114との間のアクセス要求を伝達する機能を有する。   The CPU 111 has a function of issuing an access request to a model of a specific module (control virtual device 114) that controls execution of the system level simulation as a result of execution of a specific instruction or instruction sequence of the application program 123. Have. The bus 115 and the like have a function of transmitting an access request between the microprocessor model (CPU 111) and the control virtual device 114.

受付部302は、システムレベルシミュレーションの実行を制御する特定のモジュールに対するアクセス要求を受け付ける機能を有する。ここで、特定のモジュールとは、たとえば、図1に示したハードウェアモデル110内の制御用仮想デバイス114である。なお、制御用仮想デバイス114は、システムレベルシミュレーションを制御するために付加されるソフトウェアモジュールであり、電子機器に実際に搭載される物理的なモジュールではない。   The accepting unit 302 has a function of accepting an access request for a specific module that controls execution of a system level simulation. Here, the specific module is, for example, the control virtual device 114 in the hardware model 110 illustrated in FIG. Note that the control virtual device 114 is a software module added to control the system level simulation, and is not a physical module that is actually mounted on the electronic device.

特定の命令とは、たとえば、制御用仮想デバイス114の機能を利用するためのAPIを呼び出すための命令または命令列である。アクセス要求とは、たとえば、制御用仮想デバイス114に割り当てられた特定のアドレスに対する書込要求である。また、特定のアドレスとは、たとえば、制御用仮想デバイス114が有するレジスタのアドレスであり、システムレベルシミュレーションに対する操作の内容と関連付けられている。   The specific instruction is, for example, an instruction or an instruction sequence for calling an API for using the function of the control virtual device 114. The access request is a write request for a specific address assigned to the control virtual device 114, for example. The specific address is, for example, an address of a register included in the control virtual device 114, and is associated with the contents of the operation for the system level simulation.

具体的には、たとえば、制御用仮想デバイス114が、特定のアドレスに対するCPU111からの書込要求を受け付ける。なお、上記レジスタは、たとえば、制御用仮想デバイス114での処理(操作)の起動指示、処理実行時の入力パラメータ、処理結果などを保持する。   Specifically, for example, the control virtual device 114 accepts a write request from the CPU 111 for a specific address. The register holds, for example, an instruction to start processing (operation) in the control virtual device 114, input parameters at the time of processing execution, processing results, and the like.

実行制御部303は、実行部301を制御して、システムレベルシミュレーションを実行制御する機能を有する。具体的には、たとえば、制御用仮想デバイス114が、特定のアドレスに対するCPU111からの書込要求に基づいて、実行部301に指示を出すなどして、システムレベルシミュレーションを実行制御する。   The execution control unit 303 has a function of controlling the execution unit 301 to execute and control system level simulation. Specifically, for example, the control virtual device 114 executes and controls the system level simulation by issuing an instruction to the execution unit 301 based on a write request from the CPU 111 for a specific address.

判定部304は、制御用仮想デバイス114の特定のアドレスに対して書き込まれた値に基づいて、システムレベルシミュレーションに対する操作の要否を判定する機能を有する。具体的には、たとえば、制御用仮想デバイス114が、特定のアドレスに対して書き込まれた値に基づいて、操作を実行するか否かを判定する。   The determination unit 304 has a function of determining whether or not an operation for the system level simulation is necessary based on a value written to a specific address of the control virtual device 114. Specifically, for example, the control virtual device 114 determines whether to perform an operation based on a value written to a specific address.

この場合、実行制御部303は、判定された判定結果に基づいて、システムレベルシミュレーションに対する操作を実行する。具体的には、たとえば、制御用仮想デバイス114が、ESLシミュレータカーネル102を制御して、システムレベルシミュレーションに対する操作を実行する。   In this case, the execution control unit 303 executes an operation for the system level simulation based on the determined determination result. Specifically, for example, the control virtual device 114 controls the ESL simulator kernel 102 to execute an operation for the system level simulation.

ここで、制御用仮想デバイス114の機能を実現するためのプログラムの記述例について説明する。図4は、制御用仮想デバイスの機能に関する記述例を示す説明図である。図4において、プログラム400には、SystemCを用いて記述された制御用仮想デバイス114の機能が示されている。   Here, a description example of a program for realizing the function of the control virtual device 114 will be described. FIG. 4 is an explanatory diagram illustrating a description example regarding the function of the control virtual device. In FIG. 4, the program 400 shows the function of the control virtual device 114 described using SystemC.

具体的には、プログラム400には、switch文を用いて、制御用仮想デバイス114の特定のアドレス『0x00XX』に、特定の値『EXIT_VALUE』が書き込まれた場合に実行される操作が記述されている。このプログラム400をハードウェアモデル110のプログラム記述に挿入することにより、制御用仮想デバイス114の機能を実現することができる。   Specifically, the program 400 describes an operation to be executed when a specific value “EXIT_VALUE” is written to a specific address “0x00XX” of the control virtual device 114 using a switch statement. Yes. By inserting the program 400 into the program description of the hardware model 110, the function of the control virtual device 114 can be realized.

システムレベルシミュレーションに対する操作の内容は、制御用仮想デバイス114に割り当てられたアドレスと関連付けられている。このため、制御用仮想デバイス114が、特定のアドレスから操作の内容を判定し、そのアドレスに対して書き込まれた値から、その操作を実行するか否かを判定する。   The content of the operation for the system level simulation is associated with the address assigned to the control virtual device 114. For this reason, the control virtual device 114 determines the content of the operation from a specific address, and determines whether to execute the operation from the value written to the address.

以下、具体的な操作の内容の具体例(i)〜(v)を示す。(i)実行制御部303は、判定された判定結果に基づいて、システムレベルシミュレーションの実行を終了させる。ここで、制御用仮想デバイス114の「終了」の機能を実現するためのプログラムの記述例について説明する。   Specific examples (i) to (v) of specific operation contents are shown below. (I) The execution control unit 303 ends the execution of the system level simulation based on the determined determination result. Here, a description example of a program for realizing the “end” function of the control virtual device 114 will be described.

図5は、制御用仮想デバイスの終了の機能に関する記述例を示す説明図である。図5において、プログラム500には、制御用仮想デバイス114のアドレス『0x0010』に対して、特定の値『EXIT_VALUE』が書き込まれた場合に、システムレベルシミュレーションの実行を終了させるためのソースコードが記述されている。   FIG. 5 is an explanatory diagram illustrating a description example regarding the function of terminating the control virtual device. In FIG. 5, the program 500 describes source code for ending the execution of the system level simulation when a specific value “EXIT_VALUE” is written to the address “0x0010” of the control virtual device 114. Has been.

このプログラム500をハードウェアモデル110のプログラム記述に挿入することにより、制御用仮想デバイス114の「終了」の機能を実現することができる。これにより、CPU111上で動作するアプリケーションプログラム123からシステムレベルシミュレーションの実行を終了させることができる。   By inserting the program 500 into the program description of the hardware model 110, the “end” function of the control virtual device 114 can be realized. Thereby, the execution of the system level simulation can be ended from the application program 123 running on the CPU 111.

(ii)実行制御部303は、判定された判定結果に基づいて、システムレベルシミュレーションのプロセスの優先度を制御する。ここで、制御用仮想デバイス114の「優先度制御」の機能を実現するためのプログラムの記述例について説明する。   (Ii) The execution control unit 303 controls the priority of the system level simulation process based on the determined determination result. Here, a description example of a program for realizing the “priority control” function of the control virtual device 114 will be described.

図6は、制御用仮想デバイスの優先度制御の機能に関する記述例を示す説明図である。図6において、プログラム600には、制御用仮想デバイス114の特定のアドレス『0x0020』に対して特定の値が書き込まれた場合に、getpid()により取得されたプロセスIDのプロセスの優先度を変更して実行するソースコードが記述されている。   FIG. 6 is an explanatory diagram illustrating a description example regarding the priority control function of the control virtual device. In FIG. 6, when a specific value is written to a specific address “0x0020” of the control virtual device 114 in the program 600, the process priority of the process ID acquired by getpid () is changed. The source code to be executed is described.

具体的には、特定のアドレス『0x0020』に対して、特定の値『PRIORITY_UP_VALUE』が書き込まれた場合は、優先度を『−10』してプロセスを実行する。また、特定のアドレス『0x0020』に対して、特定の値『PRIORITY_DOWN_VALUE』が書き込まれた場合は、優先度を『+10』してプロセスを実行する。また、特定のアドレス『0x0020』に対して、特定の値『PRIORITY_SET_VALUE』が書き込まれた場合は、優先度を『Pvalue』に変更してプロセスを実行する。   Specifically, when a specific value “PRIORITY_UP_VALUE” is written to a specific address “0x0020”, the process is executed with a priority of “−10”. When a specific value “PRIORITY_DOWN_VALUE” is written for a specific address “0x0020”, the process is executed with a priority of “+10”. When a specific value “PRIORITY_SET_VALUE” is written for a specific address “0x0020”, the priority is changed to “Pvalue” and the process is executed.

このプログラム600をハードウェアモデル110のプログラム記述に挿入することにより、制御用仮想デバイス114の「優先度制御」の機能を実現することができる。これにより、CPU111上で動作するアプリケーションプログラム123からシステムレベルシミュレーションのプロセスの優先度を変更することができる。   By inserting the program 600 into the program description of the hardware model 110, the “priority control” function of the control virtual device 114 can be realized. Thereby, the priority of the system level simulation process can be changed from the application program 123 running on the CPU 111.

(iii)実行制御部303は、判定された判定結果に基づいて、システムレベルシミュレーションのプロセスのメモリイメージダンプを実行する。ここで、制御用仮想デバイス114の「システムレベルシミュレーションのプロセスのイメージダンプ」の機能を実現するためのプログラムの記述例について説明する。   (Iii) The execution control unit 303 executes a memory image dump of the system level simulation process based on the determined determination result. Here, a description example of a program for realizing the function of “system level simulation process image dump” of the control virtual device 114 will be described.

図7は、制御用仮想デバイスのイメージダンプの機能に関する記述例を示す説明図(その1)である。図7において、プログラム700には、特定のアドレス『0x0030』に対して特定の値『COREDUMP_VALUE』が書き込まれた場合に、システムレベルシミュレーションのプロセスのイメージダンプをするソースコードが記述されている。   FIG. 7 is an explanatory diagram (part 1) of a description example regarding the image dump function of the control virtual device. In FIG. 7, a program 700 describes a source code for performing an image dump of a system level simulation process when a specific value “COREDUMP_VALUE” is written to a specific address “0x0030”.

このプログラム700をハードウェアモデル110のプログラム記述に挿入することにより、制御用仮想デバイス114の「システムレベルシミュレーションのプロセスのイメージダンプ」の機能を実現することができる。これにより、CPU111上で動作するアプリケーションプログラム123からシステムレベルシミュレーションのプロセスのイメージダンプをすることができる。   By inserting the program 700 into the program description of the hardware model 110, the function of “system level simulation process image dump” of the control virtual device 114 can be realized. As a result, an image dump of the system level simulation process can be performed from the application program 123 running on the CPU 111.

(iv)実行制御部303は、判定された判定結果に基づいて、ハードウェアモデル110内のメインメモリ112のモデルのイメージダンプを実行する。ここで、制御用仮想デバイス114の「メインメモリのモデルのイメージダンプ」の機能を実現するためのプログラムの記述例について説明する。   (Iv) The execution control unit 303 executes an image dump of the model of the main memory 112 in the hardware model 110 based on the determined determination result. Here, a description example of a program for realizing the function of “image dump of main memory model” of the control virtual device 114 will be described.

図8は、制御用仮想デバイスのイメージダンプの機能に関する記述例を示す説明図(その2)である。図8において、プログラム800には、特定のアドレス『0x0040』に対して特定の値『MEMORYDUMP_VALUE』が書き込まれた場合に、メインメモリ112のイメージダンプをするソースコードが記述されている。   FIG. 8 is an explanatory diagram (part 2) of a description example regarding the image dump function of the control virtual device. In FIG. 8, a program 800 describes source code for performing an image dump of the main memory 112 when a specific value “MEMORYDUMP_VALUE” is written to a specific address “0x0040”.

具体的には、『memory_address』のメモリから『mem_size』バイト分のメモリの内容をファイル『memory_dump_file』に出力する。なお、『memory_address』はメインメモリ112の先頭アドレスであり、『mem_size』はイメージダンプするメモリサイズである。   Specifically, the memory contents of “mem_size” bytes from the memory of “memory_address” are output to the file “memory_dump_file”. Note that “memory_address” is the top address of the main memory 112, and “mem_size” is the memory size for image dumping.

このプログラム800をハードウェアモデル110のプログラム記述に挿入することにより、制御用仮想デバイス114の「メインメモリのモデルのイメージダンプ」の機能を実現することができる。これにより、CPU111上で動作するアプリケーションプログラム123からメインメモリ112のイメージダンプをすることができる。   By inserting the program 800 into the program description of the hardware model 110, the function of “image dump of the main memory model” of the control virtual device 114 can be realized. Thereby, the image dump of the main memory 112 can be performed from the application program 123 operating on the CPU 111.

(v)実行制御部303は、判定された判定結果に基づいて、システムレベルシミュレーションの実行を停止させる。ここで、制御用仮想デバイス114の「停止」の機能を実現するためのプログラムの記述例について説明する。   (V) The execution control unit 303 stops the execution of the system level simulation based on the determined determination result. Here, a description example of a program for realizing the “stop” function of the control virtual device 114 will be described.

図9は、制御用仮想デバイスの停止の機能に関する記述例を示す説明図である。図9において、プログラム900には、特定のアドレス『0x0050』に対して特定の値『STOP_VALUE』が書き込まれた場合に、sc_stop()により、最上位階層であるsc_main()に制御を戻すためのソースコードが記述されている。   FIG. 9 is an explanatory diagram illustrating a description example regarding the function of stopping the control virtual device. In FIG. 9, when a specific value “STOP_VALUE” is written to a specific address “0x0050”, the program 900 returns control to sc_main () that is the highest layer by sc_stop (). Source code is described.

このプログラム900をハードウェアモデル110のプログラム記述に挿入することにより、制御用仮想デバイス114の「停止」の機能を実現することができる。これにより、CPU111上で動作するアプリケーションプログラム123からシステムレベルシミュレーションの実行を停止させることができる。   By inserting the program 900 into the program description of the hardware model 110, the “stop” function of the control virtual device 114 can be realized. As a result, the execution of the system level simulation can be stopped from the application program 123 running on the CPU 111.

出力部305は、実行部301によって実行された実行結果を出力する機能を有する。出力結果としては、たとえば、システムレベルシミュレーションの実行結果、デバッグ用の各種メモリのイメージダンプ結果などがある。具体的には、たとえば、出力部305が、メインメモリ112のメモリ内容をバイナリファイルなどのファイル形式で出力する。出力形式としては、たとえば、ディスプレイ208への表示、プリンタ213への印刷出力、I/F209による外部装置への送信がある。また、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶することとしてもよい。   The output unit 305 has a function of outputting the execution result executed by the execution unit 301. Examples of the output result include an execution result of a system level simulation and an image dump result of various memories for debugging. Specifically, for example, the output unit 305 outputs the memory contents of the main memory 112 in a file format such as a binary file. Examples of the output format include display on the display 208, print output to the printer 213, and transmission to an external device via the I / F 209. Alternatively, the data may be stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207.

(アクセス時間の短縮化)
ここで、ハードウェアモデル110内のCPU111から制御用仮想デバイス114にアクセスする際のアクセス時間について説明する。図1に示した例では、CPU111は、バス115を介して、制御用仮想デバイス114の特定のアドレスに対してアクセスする。
(Reduction of access time)
Here, the access time when accessing the control virtual device 114 from the CPU 111 in the hardware model 110 will be described. In the example illustrated in FIG. 1, the CPU 111 accesses a specific address of the control virtual device 114 via the bus 115.

この場合、制御用仮想デバイス114に対するアクセスに時間がかかり(たとえば、100[ns])、システムレベルシミュレーションに対する操作に遅れが生じてしまう。これでは、システムレベルシミュレーションの実行を終了させる場合に、アクセス時間分だけシステムレベルシミュレーションが実行されてしまい、シミュレーション結果に影響を与えることになる。   In this case, it takes time to access the control virtual device 114 (for example, 100 [ns]), and a delay occurs in the operation for the system level simulation. In this case, when the execution of the system level simulation is ended, the system level simulation is executed for the access time, which affects the simulation result.

そこで、ハードウェアモデル110内のCPU111から制御用仮想デバイス114にアクセスするための専用のバスのモデルを構築する。図10は、システムレベルシミュレーション装置のシステム構成図(その2)である。図10において、CPU111とバス115との間に仮想ブリッジ1001が設けられ、CPU111と制御用仮想デバイス114とを接続する制御用バス1002が構築されている。   Therefore, a dedicated bus model for accessing the control virtual device 114 from the CPU 111 in the hardware model 110 is constructed. FIG. 10 is a system configuration diagram (part 2) of the system level simulation apparatus. In FIG. 10, a virtual bridge 1001 is provided between the CPU 111 and the bus 115, and a control bus 1002 for connecting the CPU 111 and the control virtual device 114 is constructed.

CPU111は、この制御用バス1002を介して制御用仮想デバイス114にアクセスすることにより、アクセス時間を0時間(デルタ0時間)に短縮することができる。このように、CPU111から制御用仮想デバイス114に対して、0時間でアクセス可能にすることにより、システムレベルシミュレーションに影響を与えることなく、その実行を制御することができる。なお、「時間」とは、シミュレーションにおける時間をあらわしている。   The CPU 111 can shorten the access time to 0 hours (delta 0 hours) by accessing the control virtual device 114 via the control bus 1002. In this way, by making the control virtual device 114 accessible from the CPU 111 in 0 hours, execution thereof can be controlled without affecting the system level simulation. “Time” represents the time in the simulation.

(ホストマシンのシミュレーション制御処理手順)
つぎに、実施の形態にかかるホストマシン100のシミュレーション制御処理手順について説明する。図11は、ホストマシンのシミュレーション制御処理手順の一例を示すフローチャートである。
(Host machine simulation control processing procedure)
Next, a simulation control processing procedure of the host machine 100 according to the embodiment will be described. FIG. 11 is a flowchart illustrating an example of a simulation control processing procedure of the host machine.

図11のフローチャートにおいて、まず、実行部301により、ハードウェアモデル110とソフトウェアモデル120とのシステムレベルシミュレーションを実行開始する(ステップS1101)。このあと、受付部302により、CPU111から制御用仮想デバイス114の特定のアドレスに対する書込要求を受け付けたか否かを判断する(ステップS1102)。   In the flowchart of FIG. 11, first, the execution unit 301 starts executing a system level simulation of the hardware model 110 and the software model 120 (step S1101). Thereafter, the accepting unit 302 determines whether a write request for a specific address of the control virtual device 114 is accepted from the CPU 111 (step S1102).

ここで、書込要求を受け付けるのを待って(ステップS1102:No)、受け付けた場合(ステップS1102:Yes)、判定部304により、書込先のアドレスからシステムレベルシミュレーションに対する操作を特定する(ステップS1103)。そして、判定部304により、そのアドレスに対して特定の値が書き込まれたか否かを判定する(ステップS1104)。   Here, after waiting for a write request to be accepted (step S1102: No), if accepted (step S1102: Yes), the determination unit 304 specifies an operation for the system level simulation from the address of the write destination (step S1102: Yes). S1103). Then, the determination unit 304 determines whether or not a specific value has been written for the address (step S1104).

ここで、特定の値が書き込まれた場合(ステップS1104:Yes)、実行制御部303により、実行部301を制御して、ステップS1103において特定された操作を実行して(ステップS1105)、本フローチャートによる一連の処理を終了する。一方、特定の値が書き込まれていない場合は(ステップS1104:No)、ステップS1102に戻る。   If a specific value is written (step S1104: YES), the execution control unit 303 controls the execution unit 301 to execute the operation specified in step S1103 (step S1105). The series of processes by is terminated. On the other hand, if a specific value is not written (step S1104: No), the process returns to step S1102.

これにより、ハードウェアモデル110内のCPU111上で動作しているアプリケーションプログラム123から、システムレベルシミュレーションの実行を制御することができる。   As a result, the execution of the system level simulation can be controlled from the application program 123 running on the CPU 111 in the hardware model 110.

つぎに、図5〜図9に示した制御用仮想デバイス114の記述例に基づくシミュレーション制御処理の具体的な処理手順について説明する。図12および図13は、シミュレーション制御処理の具体的な処理手順の一例を示すフローチャートである。   Next, a specific processing procedure of the simulation control process based on the description example of the control virtual device 114 illustrated in FIGS. 5 to 9 will be described. 12 and 13 are flowcharts illustrating an example of a specific processing procedure of the simulation control process.

図12のフローチャートにおいて、まず、ESLシミュレータカーネル102により、ハードウェアモデル110とソフトウェアモデル120とのシステムレベルシミュレーションを実行開始する(ステップS1201)。このあと、制御用仮想デバイス114により、特定のアドレスに対する書込要求を受け付けたか否かを判断する(ステップS1202)。   In the flowchart of FIG. 12, first, the ESL simulator kernel 102 starts executing a system level simulation of the hardware model 110 and the software model 120 (step S1201). Thereafter, the control virtual device 114 determines whether a write request for a specific address has been received (step S1202).

ここで、特定のアドレスに対する書込要求を受け付けるのを待って(ステップS1202:No)、受け付けた場合(ステップS1202Yes)、制御用仮想デバイス114により、書込先のアドレスは『0x0010』か否かを判断する(ステップS1203)。ここで、アドレスが『0x0010』の場合(ステップS1203:Yes)、制御用仮想デバイス114により、書き込まれた値は『EXIT_VALUE』か否かを判断する(ステップS1204)。   Here, after waiting for a write request for a specific address to be accepted (step S1202: No), if accepted (step S1202 Yes), the control virtual device 114 determines whether the write destination address is “0x0010” or not. Is determined (step S1203). If the address is “0x0010” (step S1203: Yes), the control virtual device 114 determines whether the written value is “EXIT_VALUE” (step S1204).

ここで、書き込まれた値が『EXIT_VALUE』の場合(ステップS1204:Yes)、制御用仮想デバイス114により、ESLシミュレータカーネル102を制御して、システムレベルシミュレーションの実行を終了させて(ステップS1205)、本フローチャートによる一連の処理を終了する。一方、書き込まれた値が『EXIT_VALUE』ではない場合(ステップS1204:No)、ステップS1202に戻る。   If the written value is “EXIT_VALUE” (step S1204: Yes), the control virtual device 114 controls the ESL simulator kernel 102 to end the execution of the system level simulation (step S1205). A series of processing by this flowchart is complete | finished. On the other hand, when the written value is not “EXIT_VALUE” (step S1204: No), the process returns to step S1202.

また、ステップS1203において、アドレスが『0x0010』ではない場合(ステップS1203:No)、制御用仮想デバイス114により、書込先のアドレスは『0x0020』か否かを判断する(ステップS1206)。   If the address is not “0x0010” in step S1203 (step S1203: No), the control virtual device 114 determines whether the write destination address is “0x0020” (step S1206).

ここで、アドレスが『0x0020』の場合(ステップS1206:Yes)、制御用仮想デバイス114により、書き込まれた値は『PRIORITY_UP_VALUE』か否かを判断する(ステップS1207)。   If the address is “0x0020” (step S1206: Yes), the control virtual device 114 determines whether the written value is “PRIORITY_UP_VALUE” (step S1207).

そして、書き込まれた値が『PRIORITY_UP_VALUE』の場合(ステップS1207:Yes)、制御用仮想デバイス114により、ESLシミュレータカーネル102を制御して、getpid()により取得されたプロセスIDのプロセスの優先度を『−10』してプロセスを実行して(ステップS1208)、本フローチャートによる一連の処理を終了する。   If the written value is “PRIORITY_UP_VALUE” (step S1207: Yes), the control virtual device 114 controls the ESL simulator kernel 102 to set the process priority of the process ID acquired by getpid (). The process is executed by “−10” (step S1208), and a series of processing according to this flowchart is ended.

一方、ステップS1207において、書き込まれた値が『PRIORITY_UP_VALUE』ではない場合(ステップS1207:No)、制御用仮想デバイス114により、書き込まれた値は『PRIORITY_DOWN_VALUE』か否かを判断する(ステップS1209)。   On the other hand, if the written value is not “PRIORITY_UP_VALUE” in step S1207 (step S1207: No), the control virtual device 114 determines whether the written value is “PRIORITY_DOWN_VALUE” (step S1209).

そして、書き込まれた値が『PRIORITY_DOWN_VALUE』の場合(ステップS1209:Yes)、制御用仮想デバイス114により、ESLシミュレータカーネル102を制御して、getpid()により取得されたプロセスIDのプロセスの優先度を『+10』してプロセスを実行して(ステップS1210)、本フローチャートによる一連の処理を終了する。   When the written value is “PRIORITY_DOWN_VALUE” (step S1209: Yes), the control virtual device 114 controls the ESL simulator kernel 102 to set the process priority of the process ID acquired by getpid (). The process is executed by “+10” (step S1210), and the series of processing according to this flowchart ends.

一方、ステップS1209において、書き込まれた値が『PRIORITY_DOWN_VALUE』ではない場合(ステップS1209:No)、制御用仮想デバイス114により、書き込まれた値は『PRIORITY_SET_VALUE』か否かを判断する(ステップS1211)。   On the other hand, if the written value is not “PRIORITY_DOWN_VALUE” in step S1209 (step S1209: No), the control virtual device 114 determines whether the written value is “PRIORITY_SET_VALUE” (step S1211).

そして、書き込まれた値が『PRIORITY_SET_VALUE』の場合(ステップS1211:Yes)、制御用仮想デバイス114により、ESLシミュレータカーネル102を制御して、getpid()により取得されたプロセスIDのプロセスの優先度を『Pvalue』に変更してプロセスを実行し(ステップS1212)、本フローチャートによる一連の処理を終了する。   If the written value is “PRIORITY_SET_VALUE” (step S1211: Yes), the control virtual device 114 controls the ESL simulator kernel 102 to set the process priority of the process ID acquired by getpid (). The process is changed to “Pvalue” (step S1212), and a series of processes according to this flowchart is terminated.

一方、ステップS1211において、書き込まれた値が『PRIORITY_SET_VALUE』ではない場合(ステップS1211:No)、ステップS1202に戻る。また、ステップS1206において、書込先のアドレスが『0x0020』ではない場合(ステップS1206:No)、図13に示すステップS1213に移行する。   On the other hand, if the written value is not “PRIORITY_SET_VALUE” in step S1211, the process returns to step S1202. If the write destination address is not “0x0020” in step S1206 (step S1206: No), the process proceeds to step S1213 shown in FIG.

図13のフローチャートにおいて、まず、制御用仮想デバイス114により、書込先のアドレスは『0x0030』か否かを判断する(ステップS1213)。ここで、アドレスが『0x0030』の場合(ステップS1213:Yes)、制御用仮想デバイス114により、書き込まれた値は『COREDUMP_VALUE』か否かを判断する(ステップS1214)。   In the flowchart of FIG. 13, first, the control virtual device 114 determines whether or not the write destination address is “0x0030” (step S1213). If the address is “0x0030” (step S1213: Yes), the control virtual device 114 determines whether the written value is “COREDUMP_VALUE” (step S1214).

そして、書き込まれた値が『COREDUMP_VALUE』の場合(ステップS1214:Yes)、制御用仮想デバイス114により、ESLシミュレータカーネル102を制御して、システムレベルシミュレーションのプロセスのイメージダンプをして(ステップS1215)、本フローチャートによる一連の処理を終了する。一方、書き込まれた値が『COREDUMP_VALUE』ではない場合(ステップS1214:No)、図12に示したステップS1202に移行する。   If the written value is “COREDUMP_VALUE” (step S1214: Yes), the control virtual device 114 controls the ESL simulator kernel 102 to perform an image dump of the system level simulation process (step S1215). Then, a series of processes according to this flowchart is finished. On the other hand, when the written value is not “COREDUMP_VALUE” (step S1214: No), the process proceeds to step S1202 shown in FIG.

また、ステップS1213において、書込先のアドレスが『0x0030』ではない場合(ステップS1213:No)、制御用仮想デバイス114により、書込先のアドレスは『0x0040』か否かを判断する(ステップS1216)。ここで、アドレスが『0x0040』の場合(ステップS1216:Yes)、制御用仮想デバイス114により、書き込まれた値は『MEMORYDUMP_VALUE』か否かを判断する(ステップS1217)。   If the write destination address is not “0x0030” in step S1213 (step S1213: No), the control virtual device 114 determines whether the write destination address is “0x0040” (step S1216). ). If the address is “0x0040” (step S1216: Yes), the control virtual device 114 determines whether the written value is “MEMORYDUMP_VALUE” (step S1217).

そして、書き込まれた値が『MEMORYDUMP_VALUE』の場合(ステップS1217:Yes)、制御用仮想デバイス114により、ESLシミュレータカーネル102を制御して、ハードウェアモデル110内のメインメモリ112のイメージダンプをして(ステップS1218)、本フローチャートによる一連の処理を終了する。一方、書き込まれた値が『MEMORYDUMP_VALUE』ではない場合(ステップS1217:No)、図12に示したステップS1202に移行する。   If the written value is “MEMORY DUMP_VALUE” (step S1217: Yes), the control virtual device 114 controls the ESL simulator kernel 102 to perform an image dump of the main memory 112 in the hardware model 110. (Step S1218), a series of processes according to this flowchart is terminated. On the other hand, when the written value is not “MEMORY DUMP_VALUE” (step S1217: No), the process proceeds to step S1202 shown in FIG.

また、ステップS1216において、書込先のアドレスが『0x0040』ではない場合(ステップS1216:No)、制御用仮想デバイス114により、書込先のアドレスは『0x0050』か否かを判断する(ステップS1219)。ここで、アドレスが『0x0050』の場合(ステップS1219:Yes)、制御用仮想デバイス114により、書き込まれた値は『STOP_VALUE』か否かを判断する(ステップS1220)。   If the write destination address is not “0x0040” in step S1216 (step S1216: No), the control virtual device 114 determines whether the write destination address is “0x0050” (step S1219). ). If the address is “0x0050” (step S1219: Yes), the control virtual device 114 determines whether the written value is “STOP_VALUE” (step S1220).

そして、書き込まれた値が『STOP_VALUE』の場合(ステップS1220:Yes)、制御用仮想デバイス114により、ESLシミュレータカーネル102を制御して、システムレベルシミュレーションの実行を停止させて(ステップS1221)、本フローチャートによる一連の処理を終了する。   If the written value is “STOP_VALUE” (step S1220: Yes), the control virtual device 114 controls the ESL simulator kernel 102 to stop the execution of the system level simulation (step S1221). A series of processes according to the flowchart ends.

一方、書き込まれた値が『STOP_VALUE』ではない場合(ステップS1220:No)、図12に示したステップS1202に移行する。また、ステップS1219において、書込先のアドレスが『0x0050』ではない場合(ステップS1219:No)、図12に示したステップS1202に移行する。   On the other hand, when the written value is not “STOP_VALUE” (step S1220: No), the process proceeds to step S1202 shown in FIG. If the write destination address is not “0x0050” in step S1219 (step S1219: No), the process proceeds to step S1202 shown in FIG.

これにより、ユーザが期待したアプリケーションプログラム123の特定のポイントで、システムレベルシミュレーションに対する操作(上述した(i)〜(v)の機能)を実行することができる。   Thereby, the operation (functions (i) to (v) described above) for the system level simulation can be executed at a specific point of the application program 123 expected by the user.

以上説明したように、本実施の形態によれば、ハードウェアモデル110内のCPU111上で動作しているアプリケーションプログラム123から、システムレベルシミュレーションを制御することができる。これにより、アプリケーションプログラム123の特定のポイントでシステムレベルシミュレーションを終了させる場合などに、特定のポイントまで実行されるのをユーザが監視するなどの面倒な作業が不要となる。   As described above, according to the present embodiment, the system level simulation can be controlled from the application program 123 running on the CPU 111 in the hardware model 110. Thereby, when the system level simulation is terminated at a specific point of the application program 123, a troublesome operation such as monitoring by the user of execution up to the specific point becomes unnecessary.

また、特定のポイントまで実行されたことをユーザが見過ごしてシステムレベルシミュレーションをやり直すなどの手戻りを防ぐことができる。さらに、システムレベルシミュレーションの処理の効率化を図ることができ、限られた計算機リソースやライセンスリソースを有効活用することができる。   Further, it is possible to prevent rework such as the user overlooking the execution to a specific point and redoing the system level simulation. Furthermore, the efficiency of the system level simulation process can be improved, and limited computer resources and license resources can be used effectively.

以上のことから、このシミュレーション制御プログラム、シミュレーション装置、およびシミュレーション制御方法によれば、システムレベルシミュレーションにかかる作業負担の軽減化およびシミュレーション期間の短縮化を図ることができる。   From the above, according to the simulation control program, the simulation apparatus, and the simulation control method, it is possible to reduce the work load for the system level simulation and shorten the simulation period.

なお、本実施の形態で説明したシミュレーション制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネットなどのネットワークを介して配布することが可能であってもよい。   The simulation control 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. The program may be distributed via a network such as the Internet.

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

(付記1)コンピュータをシステムレベルシミュレーション装置として機能させるために、
ハードウェアモデルとソフトウェアモデルとを持つシステムレベルシミュレーションを実行制御する手段として、
前記コンピュータが、前記ハードウェアモデルを実行するための実行手段を有し、
前記ハードウェアモデル内に、
マイクロプロセッサモデルと、
前記システムレベルシミュレーションの実行を制御する特定のモジュールのモデルと、
前記マイクロプロセッサモデルと前記特定のモジュールのモデルとの間のバスと、を有し、
前記ソフトウェアモデル内に、
前記特定のモジュールを操作する特定の命令、または、命令列を有し、
前記マイクロプロセッサモデルが前記特定の命令、または、前記命令列を実行した結果、前記特定のモジュールのモデルに対してアクセス要求を出す送出手段と、
前記アクセス要求を伝達する伝達手段と、
前記特定のモジュールのモデルに対するアクセス要求を受け付ける受付手段と、
前記受付手段によって前記アクセス要求を受け付けた場合、前記実行手段を制御して、前記システムレベルシミュレーションを実行制御する実行制御手段と、
を持つことを特徴とするシミュレーション制御プログラム。
(Appendix 1) In order for a computer to function as a system level simulation device,
As a means to control the execution of system level simulation with hardware model and software model,
The computer has execution means for executing the hardware model;
Within the hardware model,
A microprocessor model,
A model of a particular module that controls the execution of the system level simulation;
A bus between the microprocessor model and the model of the particular module;
Within the software model,
A specific instruction for operating the specific module, or an instruction sequence;
Sending means for issuing an access request to the model of the specific module as a result of the microprocessor model executing the specific instruction or the instruction sequence;
A transmission means for transmitting the access request;
Receiving means for receiving an access request for the model of the specific module;
An execution control means for controlling the execution means to control the execution of the system level simulation when the access request is received by the reception means;
A simulation control program characterized by having

(付記2)前記受付手段は、
前記特定のモジュールに割り当てられた特定のアドレスに対する書込要求を受け付け、
前記実行制御手段は、
前記特定のアドレスに対する書込要求に基づいて、前記実行手段を制御して、前記システムレベルシミュレーションを実行制御することを特徴とする付記1に記載のシミュレーション制御プログラム。
(Appendix 2) The accepting means is:
Accepts a write request for a specific address assigned to the specific module;
The execution control means includes
The simulation control program according to appendix 1, wherein the system level simulation is controlled by controlling the execution means based on a write request for the specific address.

(付記3)前記コンピュータを、
前記特定のアドレスに対して書き込まれた値に基づいて、前記システムレベルシミュレーションに対する操作の要否を判定する判定手段として機能させ、
前記実行制御手段は、
前記判定手段によって判定された判定結果に基づいて、前記システムレベルシミュレーションに対する操作を実行することを特徴とする付記2に記載のシミュレーション制御プログラム。
(Appendix 3)
Based on a value written for the specific address, function as a determination unit that determines whether or not an operation for the system level simulation is necessary,
The execution control means includes
The simulation control program according to appendix 2, wherein an operation for the system level simulation is executed based on a determination result determined by the determination unit.

(付記4)前記実行制御手段は、
前記判定結果に基づいて、前記システムレベルシミュレーションの実行を終了させることを特徴とする付記3に記載のシミュレーション制御プログラム。
(Supplementary Note 4) The execution control means includes:
The simulation control program according to appendix 3, wherein the execution of the system level simulation is terminated based on the determination result.

(付記5)前記実行制御手段は、
前記判定結果に基づいて、前記システムレベルシミュレーションのプロセスの優先度を変更することを特徴とする付記3または4に記載のシミュレーション制御プログラム。
(Supplementary Note 5) The execution control means includes:
The simulation control program according to appendix 3 or 4, wherein a priority of the system level simulation process is changed based on the determination result.

(付記6)前記実行制御手段は、
前記判定結果に基づいて、前記システムレベルシミュレーションのプロセスのメモリイメージダンプをすることを特徴とする付記3〜5のいずれか一つに記載のシミュレーション制御プログラム。
(Appendix 6) The execution control means includes:
6. The simulation control program according to any one of appendices 3 to 5, wherein a memory image dump of the system level simulation process is performed based on the determination result.

(付記7)前記実行制御手段は、
前記判定結果に基づいて、前記ハードウェアモデル内のメインメモリのメモリイメージダンプをすることを特徴とする付記3〜6のいずれか一つに記載のシミュレーション制御プログラム。
(Appendix 7) The execution control means includes:
The simulation control program according to any one of appendices 3 to 6, wherein a memory image dump of a main memory in the hardware model is performed based on the determination result.

(付記8)前記実行制御手段は、
前記判定結果に基づいて、前記システムレベルシミュレーションの実行を停止させることを特徴とする付記3〜7のいずれか一つに記載のシミュレーション制御プログラム。
(Supplementary Note 8) The execution control means includes:
The simulation control program according to any one of appendices 3 to 7, wherein execution of the system level simulation is stopped based on the determination result.

(付記9)前記ハードウェアモデル内のCPU(Central Processing Unit)のモデルと前記特定のモジュールのモデルとが0時間でアクセス可能なバスのモデルで接続されており、
前記受付手段は、
前記バスのモデルを介して、前記特定のモジュールのモデルに対するアクセス要求を受け付けることを特徴とする付記1〜8のいずれか一つに記載のシミュレーション制御プログラム。
(Supplementary note 9) A CPU (Central Processing Unit) model in the hardware model and a model of the specific module are connected by a bus model accessible in 0 hours,
The accepting means is
The simulation control program according to any one of appendices 1 to 8, wherein an access request for the model of the specific module is received via the bus model.

(付記10)前記特定の命令は、前記特定のモジュールを呼び出すためのAPI(Application Programming Interface)であることを特徴とする付記1〜9のいずれか一つに記載のシミュレーション制御プログラム。 (Supplementary note 10) The simulation control program according to any one of Supplementary notes 1 to 9, wherein the specific instruction is an API (Application Programming Interface) for calling the specific module.

(付記11)ハードウェアモデルとソフトウェアモデルとのシステムレベルシミュレーションを実行する実行手段と、
前記ソフトウェアモデル内の特定の命令が実行された結果、前記ハードウェアモデル内のモジュールのモデルのうち前記システムレベルシミュレーションの実行を制御する特定のモジュールのモデルに対するアクセス要求を受け付ける受付手段と、
前記受付手段によって前記アクセス要求を受け付けた場合、前記実行手段を制御して、前記システムレベルシミュレーションを実行する実行制御手段と、
を備えることを特徴とするシミュレーション装置。
(Supplementary Note 11) Execution means for executing a system level simulation of a hardware model and a software model;
As a result of execution of a specific instruction in the software model, accepting means for receiving an access request for a model of a specific module that controls execution of the system level simulation among models of the module in the hardware model;
An execution control means for controlling the execution means to execute the system level simulation when the access request is received by the reception means;
A simulation apparatus comprising:

(付記12)制御手段、記憶手段、およびハードウェアモデルとソフトウェアモデルとのシステムレベルシミュレーションを実行する実行手段を備えるコンピュータが、
前記制御手段により、前記ソフトウェアモデル内の特定の命令が実行された結果、前記ハードウェアモデル内のモジュールのモデルのうち前記システムレベルシミュレーションの実行を制御する特定のモジュールのモデルに対するアクセス要求を受け付けて、前記記憶手段に記憶する受付工程と、
前記制御手段により、前記受付工程によって前記アクセス要求を受け付けた場合、前記実行手段を制御して、前記システムレベルシミュレーションを実行する制御工程と、
を実行することを特徴とするシミュレーション制御方法。
(Supplementary note 12) A computer comprising control means, storage means, and execution means for executing a system level simulation of a hardware model and a software model,
As a result of execution of a specific instruction in the software model by the control means, an access request to a specific module model that controls execution of the system level simulation among modules of the hardware model is received. A receiving step for storing in the storage means;
When the access request is received by the control unit by the control unit, the control unit executes the system level simulation by controlling the execution unit;
The simulation control method characterized by performing.

100 ホストマシン
101,121 OS
102 ESLシミュレータカーネル
103 SystemCライブラリ
110 ハードウェアモデル
111,201 CPU
112 メインメモリ
113 周辺デバイス
114 制御用仮想デバイス
120 ソフトウェアモデル
122 制御用仮想デバイスドライバ
123 アプリケーションプログラム
301 実行部
302 受付部
303 実行制御部
304 判定部
305 出力部
100 Host machine 101, 121 OS
102 ESL simulator kernel 103 SystemC library 110 Hardware model 111, 201 CPU
DESCRIPTION OF SYMBOLS 112 Main memory 113 Peripheral device 114 Control virtual device 120 Software model 122 Control virtual device driver 123 Application program 301 Execution part 302 Reception part 303 Execution control part 304 Judgment part 305 Output part

Claims (8)

コンピュータをシステムレベルシミュレーション装置として機能させるために、
ハードウェアモデルとソフトウェアモデルとを持つシステムレベルシミュレーションを実行制御する手段として、
前記コンピュータが、前記ハードウェアモデルを実行するための実行手段を有し、
前記ハードウェアモデル内に、
マイクロプロセッサモデルと、
前記システムレベルシミュレーションの実行を制御する特定のモジュールのモデルと、
前記マイクロプロセッサモデルと前記特定のモジュールのモデルとの間のバスと、を有し、
前記ソフトウェアモデル内に、
前記特定のモジュールを操作する特定の命令、または、命令列を有し、
前記マイクロプロセッサモデルが前記特定の命令、または、前記命令列を実行した結果、前記特定のモジュールのモデルに対してアクセス要求を出す送出手段と、
前記アクセス要求を伝達する伝達手段と、
前記特定のモジュールのモデルに対するアクセス要求を受け付ける受付手段と、
前記受付手段によって前記アクセス要求を受け付けた場合、前記実行手段を制御して、前記システムレベルシミュレーションを実行制御する実行制御手段と、
を持つことを特徴とするシミュレーション制御プログラム。
In order for a computer to function as a system level simulation device,
As a means to control the execution of system level simulation with hardware model and software model,
The computer has execution means for executing the hardware model;
Within the hardware model,
A microprocessor model,
A model of a particular module that controls the execution of the system level simulation;
A bus between the microprocessor model and the model of the particular module;
Within the software model,
A specific instruction for operating the specific module, or an instruction sequence;
Sending means for issuing an access request to the model of the specific module as a result of the microprocessor model executing the specific instruction or the instruction sequence;
A transmission means for transmitting the access request;
Receiving means for receiving an access request for the model of the specific module;
An execution control means for controlling the execution means to control the execution of the system level simulation when the access request is received by the reception means;
A simulation control program characterized by having
前記受付手段は、
前記特定のモジュールに割り当てられた特定のアドレスに対する書込要求を受け付け、
前記実行制御手段は、
前記特定のアドレスに対する書込要求に基づいて、前記実行手段を制御して、前記システムレベルシミュレーションを実行制御することを特徴とする請求項1に記載のシミュレーション制御プログラム。
The accepting means is
Accepts a write request for a specific address assigned to the specific module;
The execution control means includes
The simulation control program according to claim 1, wherein the system level simulation is controlled by controlling the execution unit based on a write request for the specific address.
前記コンピュータを、
前記特定のアドレスに対して書き込まれた値に基づいて、前記システムレベルシミュレーションに対する操作の要否を判定する判定手段として機能させ、
前記実行制御手段は、
前記判定手段によって判定された判定結果に基づいて、前記システムレベルシミュレーションに対する操作を実行することを特徴とする請求項2に記載のシミュレーション制御プログラム。
The computer,
Based on a value written to the specific address, function as a determination unit that determines whether or not an operation for the system level simulation is necessary,
The execution control means includes
The simulation control program according to claim 2, wherein an operation for the system level simulation is executed based on a determination result determined by the determination unit.
前記実行制御手段は、
前記判定結果に基づいて、前記システムレベルシミュレーションの実行を終了させることを特徴とする請求項3に記載のシミュレーション制御プログラム。
The execution control means includes
The simulation control program according to claim 3, wherein execution of the system level simulation is terminated based on the determination result.
前記実行制御手段は、
前記判定結果に基づいて、前記システムレベルシミュレーションのプロセスの優先度を変更することを特徴とする請求項3または4に記載のシミュレーション制御プログラム。
The execution control means includes
5. The simulation control program according to claim 3, wherein the priority of the system level simulation process is changed based on the determination result.
前記実行制御手段は、
前記判定結果に基づいて、前記システムレベルシミュレーションのプロセスのメモリイメージダンプをすることを特徴とする請求項3〜5のいずれか一つに記載のシミュレーション制御プログラム。
The execution control means includes
6. The simulation control program according to claim 3, wherein a memory image dump of the system level simulation process is performed based on the determination result.
ハードウェアモデルとソフトウェアモデルとのシステムレベルシミュレーションを実行する実行手段と、
前記システムレベルシミュレーションの実行を制御する特定のモジュールのモデルに対するアクセス要求を受け付ける受付手段と、
前記受付手段によって前記アクセス要求を受け付けた場合、前記実行手段を制御して、前記システムレベルシミュレーションを実行する実行制御手段と、
を備えることを特徴とするシミュレーション装置。
An execution means for performing a system level simulation of the hardware model and the software model;
Receiving means for receiving an access request for a model of a specific module that controls execution of the system level simulation;
An execution control means for controlling the execution means to execute the system level simulation when the access request is received by the reception means;
A simulation apparatus comprising:
制御手段、記憶手段、およびハードウェアモデルとソフトウェアモデルとのシステムレベルシミュレーションを実行する実行手段を備えるコンピュータが、
前記制御手段により、前記ソフトウェアモデル内の特定の命令が実行された結果、前記ハードウェアモデル内のモジュールのモデルのうち前記システムレベルシミュレーションの実行を制御する特定のモジュールのモデルに対するアクセス要求を受け付けて、前記記憶手段に記憶する受付工程と、
前記制御手段により、前記受付工程によって前記アクセス要求を受け付けた場合、前記実行手段を制御して、前記システムレベルシミュレーションを実行する制御工程と、
を実行することを特徴とするシミュレーション制御方法。
A computer comprising control means, storage means, and execution means for executing a system level simulation of a hardware model and a software model,
As a result of execution of a specific instruction in the software model by the control means, an access request to a specific module model that controls execution of the system level simulation among modules of the hardware model is received. A receiving step for storing in the storage means;
When the access request is received by the control unit by the control unit, the control unit executes the system level simulation by controlling the execution unit;
The simulation control method characterized by performing.
JP2009022799A 2009-02-03 2009-02-03 Simulation control program, simulation apparatus, and simulation control method Expired - Fee Related JP5262774B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009022799A JP5262774B2 (en) 2009-02-03 2009-02-03 Simulation control program, simulation apparatus, and simulation control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009022799A JP5262774B2 (en) 2009-02-03 2009-02-03 Simulation control program, simulation apparatus, and simulation control method

Publications (2)

Publication Number Publication Date
JP2010181961A true JP2010181961A (en) 2010-08-19
JP5262774B2 JP5262774B2 (en) 2013-08-14

Family

ID=42763525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009022799A Expired - Fee Related JP5262774B2 (en) 2009-02-03 2009-02-03 Simulation control program, simulation apparatus, and simulation control method

Country Status (1)

Country Link
JP (1) JP5262774B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012155515A (en) * 2011-01-26 2012-08-16 Renesas Electronics Corp Source device driver and method for creating execution module
US20140325516A1 (en) * 2011-02-15 2014-10-30 Commissariat A L'energie Atomique Et Aux Energies Al Ternatives Device for accelerating the execution of a c system simulation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108621A (en) * 2001-06-21 2003-04-11 Hitachi Ltd Variable accuracy mode in microprocessor simulation
JP2006079464A (en) * 2004-09-10 2006-03-23 Canon Inc Simulation apparatus and simulation method
JP2006343942A (en) * 2005-06-08 2006-12-21 Nec Electronics Corp Bus system design method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108621A (en) * 2001-06-21 2003-04-11 Hitachi Ltd Variable accuracy mode in microprocessor simulation
JP2006079464A (en) * 2004-09-10 2006-03-23 Canon Inc Simulation apparatus and simulation method
JP2006343942A (en) * 2005-06-08 2006-12-21 Nec Electronics Corp Bus system design method and device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200700980015; 柴田 誠也, 本田 晋也, 冨山 宏之, 高田 広章: 'RTOSシミュレータとFPGAを用いた組込みシステムの検証環境' DAシンポジウム 2007 第2007巻, 20070829, 第151-156頁, 社団法人情報処理学会 *
JPN6012062972; 柴田 誠也, 本田 晋也, 冨山 宏之, 高田 広章: 'RTOSシミュレータとFPGAを用いた組込みシステムの検証環境' DAシンポジウム 2007 第2007巻, 20070829, 第151-156頁, 社団法人情報処理学会 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012155515A (en) * 2011-01-26 2012-08-16 Renesas Electronics Corp Source device driver and method for creating execution module
US20140325516A1 (en) * 2011-02-15 2014-10-30 Commissariat A L'energie Atomique Et Aux Energies Al Ternatives Device for accelerating the execution of a c system simulation
US9612863B2 (en) * 2011-02-15 2017-04-04 Commissariat A L'energie Atomique Et Aux Energies Alternatives Hardware device for accelerating the execution of a systemC simulation in a dynamic manner during the simulation

Also Published As

Publication number Publication date
JP5262774B2 (en) 2013-08-14

Similar Documents

Publication Publication Date Title
TWI400652B (en) Dual operating system parallel processing methods, recording media and computer program products
JP4667206B2 (en) Multi-core model simulation program, recording medium storing the program, multi-core model simulator, and multi-core model simulation method
CN111104269B (en) UART interface-based processor debugging method and system
US20060143523A1 (en) Apparatus and method for debugging embedded software
JP3822044B2 (en) Design verification system, design verification method, and computer-readable recording medium storing design verification program
KR20040063837A (en) Method and system for recording macros in a language independent syntax
US7676774B2 (en) System LSI verification system and system LSI verification method
JP5444724B2 (en) Verification support program, information processing apparatus, and verification support method
JP5262774B2 (en) Simulation control program, simulation apparatus, and simulation control method
JP2002366602A (en) Simulation method, system and program for software and hardware
JP5830955B2 (en) Verification device, verification method, and verification program
US11544436B1 (en) Hardware-software interaction testing using formal verification
US6766510B2 (en) Application program developing system, application program developing method, and recording medium in which application program developing program is stored
CN102043677B (en) Parallel processing method for dual-operation system
JP2010152645A (en) Simulation support program, simulation device, and simulation support method
JP2006023852A (en) Method for creating software validation model
CN100492299C (en) Embedded software developing method and system
JP5262909B2 (en) Verification support program, verification support apparatus, and verification support method
JP4820654B2 (en) Cycle simulation method, cycle simulation program, recording medium recording the program, and cycle simulator
JP2013020425A (en) Hardware and software cooperative verification method using open source software
JP2013080386A (en) Information processing device and address management method
CN111045665B (en) UML-based GPU command processor
CN103164325A (en) Control coding method and control coding device
CN102375674B (en) Signal conditioning package
JP4421498B2 (en) program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111006

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130415

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees