JP2007317102A - Simulation device - Google Patents

Simulation device Download PDF

Info

Publication number
JP2007317102A
JP2007317102A JP2006148441A JP2006148441A JP2007317102A JP 2007317102 A JP2007317102 A JP 2007317102A JP 2006148441 A JP2006148441 A JP 2006148441A JP 2006148441 A JP2006148441 A JP 2006148441A JP 2007317102 A JP2007317102 A JP 2007317102A
Authority
JP
Japan
Prior art keywords
hardware
model
circuit
simulation
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006148441A
Other languages
Japanese (ja)
Inventor
Shigeaki Takagi
繁彰 高木
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006148441A priority Critical patent/JP2007317102A/en
Publication of JP2007317102A publication Critical patent/JP2007317102A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a simulation device analyzing a timing to instruct the circuit change of software controlling a system by calculating a time required for changing the circuit of dynamically reconfigurable hardware included in the system. <P>SOLUTION: The simulation device includes; a simulation circuit storage device 50 storing data of a simulation circuit including a hardware model having a plurality of hardware operation models corresponding to a plurality of circuits respectively and a memory model having a plurality of pieces of data defining the plurality of circuits respectively; and an analysis module 10 which operates the simulation circuit by software to analyze the switching operation of the plurality of hardware operation models and calculates the time required for the switching operation, including a transfer time of a plurality of pieces of data from the memory model to the hardware model. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、ソフトウェアの解析に用いられるシミュレーション装置に係り、特に回路を動的に再構成するハードウェアを含むシステムを制御するソフトウェアの解析に用いられるシミュレーション装置に関する。   The present invention relates to a simulation apparatus used for software analysis, and more particularly to a simulation apparatus used for software analysis for controlling a system including hardware that dynamically reconfigures a circuit.

近年、複数の回路を切り替えて回路を動的に再構成するハードウェア(以下において、「動的再構成可能ハードウェア」という。)が使用されている。動的再構成可能ハードウェアは、回路構成を定義するデータ(以下において、「ハードウェア仕様データ」という。)に応じて動的に自身の回路構成を変更する。処理内容に適した回路を構成することにより、動的再構成可能ハードウェアは高速処理を達成できる。又、動的再構成可能ハードウェアを採用することによって、専用ハードウェアを新たに製作する場合に比べて、ハードウェアの開発期間を短縮できる。   In recent years, hardware that dynamically reconfigures a circuit by switching a plurality of circuits (hereinafter referred to as “dynamically reconfigurable hardware”) has been used. The dynamically reconfigurable hardware dynamically changes its circuit configuration according to data defining the circuit configuration (hereinafter referred to as “hardware specification data”). By configuring a circuit suitable for the processing content, the dynamically reconfigurable hardware can achieve high-speed processing. Also, by adopting dynamically reconfigurable hardware, the hardware development period can be shortened compared to the case where dedicated hardware is newly produced.

システムを制御するソフトウェアを開発するために、シミュレーション用モデルを用いた回路シミュレーションが使用されている(例えば、特許文献1参照。)。動的再構成可能ハードウェアを含むシステムを制御するソフトウェアを設計する場合、システム稼動中における動的再構成可能ハードウェアの回路変更に要する時間を予測する必要がある。動的再構成可能ハードウェアの回路変更に要する時間は、(1)ハードウェア仕様データをメモリから動的再構成可能ハードウェアに転送する時間、及び(2)転送されたハードウェア仕様データに応じて動的再構成可能ハードウェアの回路の変更が完了するまでの時間、の和となる。ソフトウェア開発者は、動的再構成可能ハードウェアの回路変更に要する時間を見積り、動的再構成可能ハードウェアに回路変更を指示する命令(以下において、「ドライバコマンド」という。)をソフトウェアに記述する。   In order to develop software for controlling the system, circuit simulation using a simulation model is used (see, for example, Patent Document 1). When designing software that controls a system that includes dynamically reconfigurable hardware, it is necessary to predict the time required to change the circuit of the dynamically reconfigurable hardware during system operation. The time required for changing the circuit of the dynamically reconfigurable hardware depends on (1) the time for transferring the hardware specification data from the memory to the dynamically reconfigurable hardware, and (2) depending on the transferred hardware specification data. And the time required for completing the change of the circuit of the dynamically reconfigurable hardware. The software developer estimates the time required for the circuit change of the dynamically reconfigurable hardware, and describes an instruction (hereinafter referred to as “driver command”) instructing the circuit change to the dynamically reconfigurable hardware in the software. To do.

しかし、動的再構成可能ハードウェアに回路変更を指示しても、動的再構成可能ハードウェアが動作中の場合は回路を変更できず、動作中の処理が終了した後に動的再構成可能ハードウェアの回路が変更される。そのため、ドライバコマンドが実行されるタイミングが適切でないと動的再構成可能ハードウェアの回路を変更するための待ち時間が発生し、システム全体のスループットが低下する。   However, even if the dynamically reconfigurable hardware is instructed to change the circuit, if the dynamically reconfigurable hardware is in operation, the circuit cannot be changed and can be dynamically reconfigured after the processing in operation is completed. The hardware circuit is changed. For this reason, if the timing at which the driver command is executed is not appropriate, a waiting time for changing the circuit of the dynamically reconfigurable hardware occurs, and the throughput of the entire system decreases.

一般に、動的再構成可能ハードウェア及びハードウェア仕様データを格納するメモリを接続するバスには、メモリに直接アクセス可能なバスマスタが複数接続される。メモリから動的再構成可能ハードウェアへのハードウェア仕様データの転送に要する時間は、バスにおけるデータ転送状況、つまり各バスマスタのメモリへのアクセス状況に依存して変動する。そのため、ハードウェア仕様データをメモリから動的再構成可能ハードウェアに転送する時間の見積もりは困難である。   In general, a plurality of bus masters that can directly access the memory are connected to a bus that connects dynamically reconfigurable hardware and a memory that stores hardware specification data. The time required to transfer the hardware specification data from the memory to the dynamically reconfigurable hardware varies depending on the data transfer status on the bus, that is, the access status of each bus master to the memory. Therefore, it is difficult to estimate the time for transferring the hardware specification data from the memory to the dynamically reconfigurable hardware.

関連技術では、動的再構成可能ハードウェアを含むシステムを制御するソフトウェアにおいて動的再構成可能ハードウェアの回路変更を指示するタイミングを正確に解析できない。そのため、動的再構成可能ハードウェアへのハードウェア仕様データの転送が終了する前に、動的再構成可能ハードウェアに対する動作命令が実行されることによる誤動作の検出が困難である。更に、ソフトウェア開発者の手作業によるドライバコマンドの実行タイミングを調整する手間が増大するという問題があった。
特開平11−149489号公報
In the related art, the timing for instructing the circuit change of the dynamically reconfigurable hardware cannot be accurately analyzed in the software that controls the system including the dynamically reconfigurable hardware. For this reason, it is difficult to detect a malfunction due to the execution of the operation instruction for the dynamically reconfigurable hardware before the transfer of the hardware specification data to the dynamically reconfigurable hardware is completed. Furthermore, there has been a problem that the effort of adjusting the execution timing of the driver command by the manual operation of the software developer increases.
Japanese Patent Application Laid-Open No. 11-149489

本発明は、システムに含まれる動的再構成可能ハードウェアの回路変更に必要な時間を算出することにより、システムを制御するソフトウェアの回路変更を指示するタイミングを解析可能なシミュレーション装置を提供する。   The present invention provides a simulation apparatus capable of analyzing the timing for instructing a circuit change of software for controlling the system by calculating the time required for the circuit change of the dynamically reconfigurable hardware included in the system.

本発明の一態様によれば、(イ)複数の回路にそれぞれ対応した複数のハードウェア動作モデルを有するハードウェアモデルと、複数の回路をそれぞれ定義する複数のデータを格納するメモリモデルとを含むシミュレーション回路のデータを格納するシミュレーション回路記憶装置と、(ロ)ソフトウェアによってシミュレーション回路を動作させ複数のハードウェア動作モデルの切り替え動作を解析し、メモリモデルからハードウェアモデルへの複数のデータの転送時間を含む切り替え動作に必要な時間を算出する解析モジュールとを備え、ソフトウェアを解析するシミュレーション装置が提供される。   According to one aspect of the present invention, (a) a hardware model having a plurality of hardware operation models respectively corresponding to a plurality of circuits, and a memory model storing a plurality of data respectively defining the plurality of circuits are included. (B) The simulation circuit is operated by software to analyze the switching operation of a plurality of hardware operation models, and the transfer time of the plurality of data from the memory model to the hardware model And a simulation device for analyzing software, and an analysis module for calculating a time required for the switching operation including.

本発明によれば、システムに含まれる動的再構成可能ハードウェアの回路変更に必要な時間を算出することにより、システムを制御するソフトウェアの回路変更を指示するタイミングを解析可能なシミュレーション装置を提供できる。   According to the present invention, it is possible to provide a simulation device capable of analyzing the timing for instructing the circuit change of the software for controlling the system by calculating the time required for the circuit change of the dynamically reconfigurable hardware included in the system. it can.

次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。又、以下に示す実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。   Next, embodiments of the present invention will be described with reference to the drawings. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals. Further, the following embodiments exemplify apparatuses and methods for embodying the technical idea of the present invention. The technical idea of the present invention describes the structure, arrangement, etc. of components as follows. It is not something specific. The technical idea of the present invention can be variously modified within the scope of the claims.


本発明の実施の形態に係るシミュレーション装置は、図1に示すように、複数の回路にそれぞれ対応した複数のハードウェア動作モデルを有するハードウェアモデルと、複数の回路をそれぞれ定義する複数のデータを格納するメモリモデルとを含むシミュレーション回路のデータを格納するシミュレーション回路記憶装置50と、ソフトウェアによってシミュレーション回路を動作させ複数のハードウェア動作モデルの切り替え動作を解析し、メモリモデルからハードウェアモデルへの複数のデータの転送時間を含む切り替え動作に必要な時間を算出する解析モジュール10とを備えを備え、ソフトウェアを解析する。

As shown in FIG. 1, the simulation apparatus according to the embodiment of the present invention includes a hardware model having a plurality of hardware operation models respectively corresponding to a plurality of circuits, and a plurality of data defining each of the plurality of circuits. A simulation circuit storage device 50 that stores data of a simulation circuit including a memory model to be stored and a simulation circuit that is operated by software to analyze a switching operation of a plurality of hardware operation models, and a plurality of memory models to hardware models are analyzed. And an analysis module 10 for calculating the time required for the switching operation including the data transfer time, and analyze the software.

図1に示したシミュレーション装置は、メモリ20、入力装置30及び出力装置40を更に備える。メモリ20は、ソフトウェア記憶領域21、ハードウェア構成情報記憶領域22及びログ情報記憶領域23を備える。ソフトウェア記憶領域21は、解析対象のソフトウェア(以下において、「対象ソフトウェア」という。)を格納する。ハードウェア構成情報記憶領域22は、後述するハードウェア構成情報を格納する。ログ情報記憶領域23は、シミュレーション結果を格納する。   The simulation apparatus shown in FIG. 1 further includes a memory 20, an input device 30, and an output device 40. The memory 20 includes a software storage area 21, a hardware configuration information storage area 22, and a log information storage area 23. The software storage area 21 stores analysis target software (hereinafter referred to as “target software”). The hardware configuration information storage area 22 stores hardware configuration information described later. The log information storage area 23 stores simulation results.

入力装置30はキーボード、マウス、ライトペン又はフレキシブルディスク装置などで構成される。入力装置30よりシミュレーションの実行者は、対象ソフトウェアを指定したり、シミュレーション回路を修正したりすることができる。出力装置40としては、解析結果を表示するディスプレイやプリンタ、或いはコンピュータ読み取り可能な記録媒体に保存する記録装置等が使用可能である。ここで、「コンピュータ読み取り可能な記録媒体」とは、例えばコンピュータの外部メモリ装置、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどの電子データを記録することができるような媒体などを意味する。具体的には、フレキシブルディスク、CD−ROM、MOディスク等が「コンピュータ読み取り可能な記録媒体」に含まれる。   The input device 30 includes a keyboard, a mouse, a light pen, a flexible disk device, or the like. A simulation executor can specify the target software or modify the simulation circuit from the input device 30. As the output device 40, a display or a printer for displaying the analysis result, a recording device for storing in a computer-readable recording medium, or the like can be used. Here, the “computer-readable recording medium” refers to a medium capable of recording electronic data such as an external memory device of a computer, a semiconductor memory, a magnetic disk, an optical disk, a magneto-optical disk, and a magnetic tape. means. Specifically, a “flexible disk, CD-ROM, MO disk, etc.” are included in the “computer-readable recording medium”.

以下において、図1に示したシミュレーション装置を用いて、図2に示すシステムを制御するソフトウェアを解析する例を説明する。図2に示したシステムは、バス105に接続するプロセッサ101、動的再構成可能ハードウェア102、メモリコントローラ103及びメモリ104を備える。先ず、図2に示したシステムを説明する。   Hereinafter, an example in which software for controlling the system shown in FIG. 2 is analyzed using the simulation apparatus shown in FIG. 1 will be described. The system shown in FIG. 2 includes a processor 101 connected to a bus 105, dynamically reconfigurable hardware 102, a memory controller 103, and a memory 104. First, the system shown in FIG. 2 will be described.

プロセッサ101は、図2に示したシステムを制御する対象ソフトウェアを命令単位で実行する。対象ソフトウェアは、メモリ104に格納される。プロセッサ101はメモリ104からフェッチした命令をデコードし、デコードされた命令を実行して動的再構成可能ハードウェア102における回路変更等を指示する。   The processor 101 executes target software for controlling the system shown in FIG. 2 in units of instructions. The target software is stored in the memory 104. The processor 101 decodes the instruction fetched from the memory 104 and executes the decoded instruction to instruct a circuit change or the like in the dynamically reconfigurable hardware 102.

動的再構成可能ハードウェア102は、プロセッサ101が対象ソフトウェアに含まれる回路変更命令に従って送信する回路構成変更のコマンド(以下において、「切り替えコマンド」という。)を受信すると、切り替えコマンドで指定された回路のハードウェア仕様データをメモリ104から転送させて、動的再構成可能ハードウェア102の回路構成を変更する。動的再構成可能ハードウェア102として、例えばフィールド・プログラマブル・ゲート・アレイ(FPGA)等が採用可能である。   When the dynamically reconfigurable hardware 102 receives a circuit configuration change command (hereinafter referred to as a “switching command”) transmitted by the processor 101 in accordance with a circuit change command included in the target software, the dynamically reconfigurable hardware 102 is designated by the switching command. The hardware specification data of the circuit is transferred from the memory 104, and the circuit configuration of the dynamically reconfigurable hardware 102 is changed. As the dynamically reconfigurable hardware 102, for example, a field programmable gate array (FPGA) can be employed.

メモリコントローラ103は、メモリ104に直接アクセス可能なバスマスタであり、例えばダイレクトメモリアクセス(DMA)コントローラである。メモリコントローラ103はプロセッサ101によって制御される。   The memory controller 103 is a bus master that can directly access the memory 104, and is, for example, a direct memory access (DMA) controller. The memory controller 103 is controlled by the processor 101.

メモリ104は、図2に示したシステムを制御する対象ソフトウェア、及び複数のハードウェア仕様データを格納する。メモリ104から動的再構成可能ハードウェア102へのハードウェア仕様データの転送は、メモリコントローラ103によって制御される。   The memory 104 stores target software for controlling the system shown in FIG. 2 and a plurality of hardware specification data. The transfer of hardware specification data from the memory 104 to the dynamically reconfigurable hardware 102 is controlled by the memory controller 103.

バス105は、プロセッサ101、動的再構成可能ハードウェア102、メモリコントローラ103及びメモリ104に接続する。プロセッサ101、動的再構成可能ハードウェア102、メモリコントローラ103及びメモリ104間でのデータ転送は、バス105を介して行われる。   The bus 105 is connected to the processor 101, dynamically reconfigurable hardware 102, the memory controller 103, and the memory 104. Data transfer among the processor 101, the dynamically reconfigurable hardware 102, the memory controller 103, and the memory 104 is performed via the bus 105.

図2の構成は一例であり、プロセッサ101及びメモリコントローラ103以外のバスマスタがバス105に接続してもよい。例えば、対象ソフトウェアとハードウェア仕様データをそれぞれ格納するメモリがバス105に別個に接続してもよい。既に述べたように、複数のバスマスタがバス105に接続する場合、ハードウェア仕様データをメモリ104から動的再構成可能ハードウェア102に転送するために要するクロックサイクル数は、各バスマスタのメモリ104へのアクセス状況に依存して変動する。   The configuration of FIG. 2 is an example, and a bus master other than the processor 101 and the memory controller 103 may be connected to the bus 105. For example, memories for storing the target software and hardware specification data may be separately connected to the bus 105. As described above, when a plurality of bus masters are connected to the bus 105, the number of clock cycles required to transfer hardware specification data from the memory 104 to the dynamically reconfigurable hardware 102 is transferred to the memory 104 of each bus master. Fluctuates depending on the access situation.

図1に示した解析モジュール10は、図2に示したシステムを制御するソフトウェアの動作を解析するために、図2に示したシステムに対応するシミュレーション回路において対象ソフトウェアを動作させる。図3に、図2に示したシステムの動作をシミュレートするシミュレーション回路を示す。図3に示したプロセッサモデル201、ハードウェアモデル202、メモリコントローラモデル203、メモリモデル204、及びバスモデル205は、図2に示したプロセッサ101、動的再構成可能ハードウェア102、メモリコントローラ103、メモリ104、及びバス105の動作をそれぞれシミュレートする回路動作モデルである。図3に示した各回路動作モデルは、パーソナルコンピュータ(PC)或いはワークステーション(WS)等のホストプロセッサ上で動作するソフトウェアモジュール群によって構成可能である。各回路動作モデルのデータは、図1に示したシミュレーション回路記憶装置50に格納される。   The analysis module 10 shown in FIG. 1 operates the target software in a simulation circuit corresponding to the system shown in FIG. 2 in order to analyze the operation of the software that controls the system shown in FIG. FIG. 3 shows a simulation circuit for simulating the operation of the system shown in FIG. The processor model 201, hardware model 202, memory controller model 203, memory model 204, and bus model 205 shown in FIG. 3 are the same as the processor 101, dynamically reconfigurable hardware 102, memory controller 103, This is a circuit operation model that simulates the operations of the memory 104 and the bus 105, respectively. Each circuit operation model shown in FIG. 3 can be configured by a software module group that operates on a host processor such as a personal computer (PC) or a workstation (WS). The data of each circuit operation model is stored in the simulation circuit storage device 50 shown in FIG.

図3に示したシミュレーション回路では、プロセッサモデル201及びメモリコントローラモデル203がバスマスタとしてバスモデル205に接続する。現実の使用状況に対応させて、他のプロセッサやペリフェラル回路等のバスマスタの回路動作モデルがバスモデル205に接続してもよい。   In the simulation circuit shown in FIG. 3, the processor model 201 and the memory controller model 203 are connected to the bus model 205 as a bus master. A bus master circuit operation model such as another processor or a peripheral circuit may be connected to the bus model 205 in accordance with an actual use situation.

プロセッサモデル201は、プロセッサ101の動作をシミュレートして、対象ソフトウェアを命令単位で実行する機能を有する。プロセッサモデル201によって、ハードウェアモデル202、メモリコントローラモデル203、及びメモリモデル204がそれぞれ制御される。   The processor model 201 has a function of simulating the operation of the processor 101 and executing target software in units of instructions. The processor model 201 controls the hardware model 202, the memory controller model 203, and the memory model 204, respectively.

ハードウェアモデル202は、システム稼動中に自分自身の回路構成を変更する動的再構成可能ハードウェア102の動作をシミュレートする。ハードウェアモデル202は、図3に示すように、複数のハードウェア動作モデル211〜21n、アクセス制御手段220、管理手段230及び切り替え手段240を有する(n:2以上の整数)。   The hardware model 202 simulates the operation of the dynamically reconfigurable hardware 102 that changes its own circuit configuration during system operation. As shown in FIG. 3, the hardware model 202 includes a plurality of hardware operation models 211 to 21n, an access control unit 220, a management unit 230, and a switching unit 240 (n: an integer of 2 or more).

ハードウェア動作モデル211〜21nは、動的再構成可能ハードウェア102が構成可能な複数の回路の動作をそれぞれシミュレートする。つまり、ハードウェアモデル202は、メモリ104から動的再構成可能ハードウェア102に転送される複数のハードウェア仕様データにそれぞれ対応するハードウェア動作モデル211〜21nを有する。プロセッサモデル201から転送される切り替えコマンドに応じて、ハードウェアモデル202はハードウェア動作モデル211〜21nを切り替えてシミュレートする回路を変更する。ハードウェアモデル202がハードウェア動作モデル211〜21nを切り替えることにより、動的再構成可能ハードウェア102の回路変更動作がシミュレートされる。   The hardware operation models 211 to 21n simulate the operations of a plurality of circuits that can be configured by the dynamically reconfigurable hardware 102, respectively. That is, the hardware model 202 includes hardware operation models 211 to 21n respectively corresponding to a plurality of hardware specification data transferred from the memory 104 to the dynamically reconfigurable hardware 102. In response to the switching command transferred from the processor model 201, the hardware model 202 changes the circuit to be simulated by switching the hardware operation models 211 to 21n. When the hardware model 202 switches the hardware operation models 211 to 21n, the circuit changing operation of the dynamically reconfigurable hardware 102 is simulated.

アクセス制御手段220は、プロセッサモデル201から転送されるハードウェアモデル202への要求コマンドを受信する。又、アクセス制御手段220は、ハードウェアモデル202の状態に応じて、ハードウェアモデル202へのプロセッサモデル201のアクセスを制御する。例えば、ハードウェアモデル202がハードウェア動作モデル211〜21nを切り替えている期間、或いはハードウェアモデル202が動作している期間は、アクセス制御手段220は、プロセッサモデル201のハードウェアモデル202へのアクセスを禁止する。ハードウェアモデル202へのアクセスが禁止されている場合、「ハードウェアモデル202はアクセス禁止状態である。」という。   The access control means 220 receives a request command to the hardware model 202 transferred from the processor model 201. The access control unit 220 controls access of the processor model 201 to the hardware model 202 according to the state of the hardware model 202. For example, the access control means 220 accesses the hardware model 202 of the processor model 201 during the period when the hardware model 202 switches the hardware operation models 211 to 21n or during the period when the hardware model 202 is operating. Is prohibited. When access to the hardware model 202 is prohibited, it is said that “the hardware model 202 is in an access prohibited state”.

管理手段230は、動的再構成可能ハードウェア102に設定されるハードウェア構成情報に基づき、ハードウェア動作モデル211〜21nと、対象ソフトウェアに含まれる切り替えコマンドによって指定される回路との関係を示す管理テーブルを作成する。管理テーブルは、管理手段230が有する管理テーブル記憶領域231に格納される。「ハードウェア構成情報」は、動的再構成可能ハードウェア102が構成可能な回路(以下において、単に「構成可能回路」という。)に対応するハードウェア動作モデル211〜21n、各構成可能回路に対応する指示子、及び動的再構成可能ハードウェア102が構成する回路を各構成可能回路に変更するために必要な変更クロックサイクル数の情報を含む。「変更クロックサイクル数」は、ハードウェア仕様データが動的再構成可能ハードウェア102に転送されてから動的再構成可能ハードウェア102の回路変更が完了するまでに要するクロックサイクル数である。   Based on the hardware configuration information set in the dynamically reconfigurable hardware 102, the management unit 230 indicates the relationship between the hardware operation models 211 to 21n and the circuit specified by the switching command included in the target software. Create a management table. The management table is stored in a management table storage area 231 included in the management unit 230. “Hardware configuration information” includes hardware operation models 211 to 21n corresponding to circuits that can be configured by the dynamically reconfigurable hardware 102 (hereinafter simply referred to as “configurable circuits”), and each configurable circuit. The corresponding indicator and information on the number of changed clock cycles necessary for changing the circuit formed by the dynamically reconfigurable hardware 102 to each configurable circuit are included. The “number of changed clock cycles” is the number of clock cycles required from completion of hardware specification data transfer to the dynamically reconfigurable hardware 102 to completion of the circuit change of the dynamically reconfigurable hardware 102.

対象ソフトウェアに含まれる回路変更の命令で指定される指示子によって、動的再構成可能ハードウェア102の回路変更後の回路が決定される。対象ソフトウェアの回路変更の命令を含む部分の例を図4に示す。図4は、動的再構成可能ハードウェア102を指示子「hweX」に対応する構成可能回路に変更する例を示す。   The circuit after the circuit change of the dynamically reconfigurable hardware 102 is determined by an indicator designated by a circuit change instruction included in the target software. FIG. 4 shows an example of a part including a circuit change instruction of the target software. FIG. 4 shows an example of changing the dynamically reconfigurable hardware 102 to a configurable circuit corresponding to the indicator “hweX”.

図5に、動的再構成可能ハードウェア102の構成可能回路が構成可能回路A及び構成可能回路Bである場合のハードウェア構成情報の例を示す。図5に示したように、構成可能回路A及び構成可能回路Bのハードウェア動作モデルはそれぞれ動作モデルMA及び動作モデルMBである。対象ソフトウェアの回路変更の命令で構成可能回路Aを指定する指示子は指示子「hweA」であり、動的再構成可能ハードウェア102が構成する回路を構成可能回路Aに変更するために必要な変更クロックサイクル数は20である。対象ソフトウェアの回路変更の命令で構成可能回路Bを指定する指示子は指示子「hweB」であり、動的再構成可能ハードウェア102が構成する回路を構成可能回路Bに変更するために必要な変更クロックサイクル数は30である。   FIG. 5 shows an example of hardware configuration information when the configurable circuits of the dynamically reconfigurable hardware 102 are the configurable circuit A and the configurable circuit B. As shown in FIG. 5, the hardware operation models of the configurable circuit A and the configurable circuit B are the operation model MA and the operation model MB, respectively. The indicator that designates the configurable circuit A by the instruction to change the circuit of the target software is the indicator “hweA”, which is necessary for changing the circuit that the dynamically reconfigurable hardware 102 configures to the configurable circuit A. The number of changed clock cycles is 20. The indicator that designates the configurable circuit B by the instruction to change the circuit of the target software is the indicator “hweB”, which is necessary for changing the circuit configured by the dynamically reconfigurable hardware 102 to the configurable circuit B. The number of changed clock cycles is 30.

図5に示したハードウェア構成情報に基づき管理手段230が作成する管理テーブルの例を図6に示す。図6に示すように、管理テーブルは、動作モデルMA及び動作モデルMBそれぞれの、動作記述が記述されたオブジェクトのリファレンス、シミュレーションにおける状態、対象ソフトウェアにおいて回路変更を指示するタイミングを示す変更アドレス、及び回路変更に必要なクロックサイクル数の情報を含む。プログラムカウンタがいずれかの変更アドレスに一致した場合に、プロセッサモデル201は、その変更アドレスに対応するハードウェア動作モデルへの切り替えをハードウェアモデル202に指示する。つまり、管理テーブルは、ハードウェア動作モデルと、対象ソフトウェアに含まれる回路変更を指示する命令が指定する構成可能回路との関係を示す。各構成可能回路に対応する指示子に割り当てられた変更アドレスの情報は、対象ソフトウェアのシンボル情報に含まれる。管理手段230は、ソフトウェアのシンボル情報及びハードウェア構成情報を参照して管理テーブルを作成する。   FIG. 6 shows an example of a management table created by the management unit 230 based on the hardware configuration information shown in FIG. As shown in FIG. 6, the management table includes a reference of an object in which a behavior description is described, a state in simulation, a change address indicating a timing for instructing a circuit change in the target software, and Contains information on the number of clock cycles required to change the circuit. When the program counter matches one of the changed addresses, the processor model 201 instructs the hardware model 202 to switch to the hardware operation model corresponding to the changed address. In other words, the management table indicates the relationship between the hardware operation model and the configurable circuit specified by the instruction for instructing the circuit change included in the target software. Information on the change address assigned to the indicator corresponding to each configurable circuit is included in the symbol information of the target software. The management unit 230 creates a management table with reference to software symbol information and hardware configuration information.

ハードウェア動作モデル211〜21nがシミュレーション実行中に取り得る状態は、「実行状態」、「実行可能状態」及び「待機状態」のいずれかである。「実行状態」は、そのハードウェア動作モデルの動作をハードウェアモデル202がシミュレートしていることを示す。「実行可能状態」は、ハードウェア動作モデルの切り替えを行わずに、そのハードウェア動作モデルの動作をハードウェアモデル202がシミュレートできることを示す。「待機状態」は、ハードウェア動作モデルの切り替えをしなければ、そのハードウェア動作モデルの動作をハードウェアモデル202がシミュレートできないことを示す。管理テーブルにおけるハードウェア動作モデルの初期状態は「待機状態」である。   The states that the hardware operation models 211 to 21n can take during simulation execution are any one of “execution state”, “executable state”, and “standby state”. The “execution state” indicates that the hardware model 202 is simulating the operation of the hardware operation model. The “executable state” indicates that the hardware model 202 can simulate the operation of the hardware operation model without switching the hardware operation model. The “standby state” indicates that the hardware model 202 cannot simulate the operation of the hardware operation model unless the hardware operation model is switched. The initial state of the hardware operation model in the management table is “standby state”.

切り替え手段240は、シミュレーション中に対象ソフトウェアによって指示される動的再構成可能ハードウェア102の回路変更動作をシミュレートするために、管理テーブルを参照してハードウェア動作モデル211〜21nを切り替える。ハードウェア動作モデル211〜21nを切り替えることによって、ハードウェアモデル202は、対象ソフトウェアによって指示された構成可能回路をシミュレートする。   The switching unit 240 switches the hardware operation models 211 to 21n with reference to the management table in order to simulate the circuit changing operation of the dynamically reconfigurable hardware 102 instructed by the target software during the simulation. By switching the hardware operation models 211 to 21n, the hardware model 202 simulates the configurable circuit instructed by the target software.

メモリモデル204は、対象ソフトウェア及びハードウェア仕様データの読み出し等のメモリ104の動作をシミュレートする。メモリモデル204からハードウェアモデル202へのハードウェア仕様データの転送は、メモリコントローラモデル203によって制御される。具体的には、メモリコントローラモデル203は、メモリ104から動的再構成可能ハードウェア102に転送するデータのデータ長L及び占有要求をバス105に転送する動作をシミュレートする。バスモデル205は、データ長Lとバス105のデータ幅Wから、以下に示す式(1)を用いて、メモリモデル204からハードウェアモデル202へのデータ転送にかかる最短のクロックサイクル数Cを算出する:

C=α+L/W ・・・(1)

ここで、定数αはデータ転送以外に各回路の初期動作等に必要なクロックサイクル数を表す値で、システムが採用するアーキテクチャの仕様に基づいて定まる一定値である。データ長Lもアーキテクチャの仕様に基づいて定まる値であり、例えばアーキテクチャの仕様に基づいて作成されるメモリコントローラモデル203からバスモデル205にデータ長Lの情報が通知される。
The memory model 204 simulates the operation of the memory 104 such as reading of target software and hardware specification data. Transfer of hardware specification data from the memory model 204 to the hardware model 202 is controlled by the memory controller model 203. Specifically, the memory controller model 203 simulates the operation of transferring the data length L of data to be transferred from the memory 104 to the dynamically reconfigurable hardware 102 and the occupation request to the bus 105. The bus model 205 calculates the shortest clock cycle number C required for data transfer from the memory model 204 to the hardware model 202 from the data length L and the data width W of the bus 105 using the following equation (1). To:

C = α + L / W (1)

Here, the constant α is a value representing the number of clock cycles necessary for initial operation of each circuit in addition to data transfer, and is a constant value determined based on the architecture specifications adopted by the system. The data length L is also a value determined based on the architecture specification. For example, the data length L information is notified to the bus model 205 from the memory controller model 203 created based on the architecture specification.

バスモデル205は、プロセッサモデル201、メモリコントローラモデル203、及びバスモデル205に接続する他のバスマスタからの要求を検出し、例えばラウンドロビン等のアルゴリズムによって、各バスマスタにデータ転送許可を与える。そして、バスモデル205は、各バスマスタから要求されたデータの転送に必要なサイクルクロック数(以下において、「転送クロックサイクル数」という。)をカウントした後に、データ転送終了をデータ転送許可を与えたバスマスタに通知する。データの転送に必要なサイクルクロック数は、バスモデル205におけるデータ転送状況、つまり各バスマスタのメモリモデル204へのアクセス状況に依存して変動する。そのため、バスモデル205は各バスマスタからのデータ転送要求を調整し、データ転送が優先されたバスマスタへのデータ転送に要するクロックサイクル数に式(1)で算出されたクロックサイクル数を加算したサイクルクロック数を転送クロックサイクル数として、各バスマスタに通知する。   The bus model 205 detects requests from the processor model 201, the memory controller model 203, and other bus masters connected to the bus model 205, and grants data transfer permission to each bus master by an algorithm such as round robin. Then, the bus model 205 gives the data transfer permission to the end of the data transfer after counting the number of cycle clocks (hereinafter referred to as “the number of transfer clock cycles”) necessary for transferring the data requested by each bus master. Notify the bus master. The number of cycle clocks necessary for data transfer varies depending on the data transfer status in the bus model 205, that is, the access status of each bus master to the memory model 204. Therefore, the bus model 205 adjusts the data transfer request from each bus master, and the cycle clock obtained by adding the number of clock cycles calculated by the equation (1) to the number of clock cycles required for data transfer to the bus master in which data transfer is prioritized. The number is notified to each bus master as the number of transfer clock cycles.

例えば、データ転送許可を与えたバスマスタがメモリコントローラモデル203である場合は、メモリモデル204からのハードウェア仕様データの転送が終了したことがハードウェアモデル202に通知される。上記で説明したように、バスモデル205は、バス105におけるデータ転送状況に依存して変動するメモリ104から動的再構成可能ハードウェア102へのハードウェア仕様データの転送に要する時間を転送クロックサイクル数として算出する。   For example, if the bus master that has given the data transfer permission is the memory controller model 203, the hardware model 202 is notified that the transfer of the hardware specification data from the memory model 204 has been completed. As described above, the bus model 205 determines the time required to transfer hardware specification data from the memory 104 to the dynamically reconfigurable hardware 102, which varies depending on the data transfer status on the bus 105. Calculate as a number.

以下に、図1に示したシミュレーション装置によって、図2に示したシステムを制御する対象ソフトウェアを解析する例を説明する。先ず、図7に示したフローチャートを参照して、動的再構成可能ハードウェア102の回路変更動作を解析する例を説明する。以下では、動的再構成可能ハードウェア102の回路を、図5に示した構成可能回路Aに切り替える例を説明する。つまり、以下の解析において、ハードウェアモデル202がシミュレートする回路が動作モデルMAに切り替わる。既に述べたように、プロセッサモデル201のプログラムカウンタが動作モデルMAの変更アドレスに一致した場合に、ハードウェアモデル202のシミュレートする回路を動作モデルMAに切り替える動作が開始される。   Hereinafter, an example in which the target software that controls the system shown in FIG. 2 is analyzed by the simulation apparatus shown in FIG. 1 will be described. First, an example of analyzing the circuit changing operation of the dynamically reconfigurable hardware 102 will be described with reference to the flowchart shown in FIG. Hereinafter, an example in which the circuit of the dynamically reconfigurable hardware 102 is switched to the configurable circuit A illustrated in FIG. 5 will be described. That is, in the following analysis, the circuit simulated by the hardware model 202 is switched to the operation model MA. As described above, when the program counter of the processor model 201 matches the change address of the operation model MA, the operation of switching the circuit to be simulated by the hardware model 202 to the operation model MA is started.

(イ)ステップS100において、対象ソフトウェア及び図2に示した動的再構成可能ハードウェア102のハードウェア構成情報が、図1に示した入力装置30を介してメモリ20に入力される。ここで、動的再構成可能ハードウェア102のハードウェア構成情報が図5に示したハードウェア構成情報であるとする。対象ソフトウェア及びハードウェア構成情報は、ソフトウェア記憶領域21及びハードウェア構成情報記憶領域22にそれぞれ格納される。   (A) In step S100, the target software and the hardware configuration information of the dynamically reconfigurable hardware 102 shown in FIG. 2 are input to the memory 20 via the input device 30 shown in FIG. Here, it is assumed that the hardware configuration information of the dynamically reconfigurable hardware 102 is the hardware configuration information illustrated in FIG. The target software and hardware configuration information are stored in the software storage area 21 and the hardware configuration information storage area 22, respectively.

(ロ)ステップS200において、解析モジュール10が、対象ソフトウェア及びハードウェア構成情報をソフトウェア記憶領域21及びハードウェア構成情報記憶領域22からそれぞれ読み出す。更に解析モジュール10は、シミュレーション回路記憶装置50から図3に示したシミュレーション回路を読み出し、シミュレーションを開始する。   (B) In step S200, the analysis module 10 reads the target software and hardware configuration information from the software storage area 21 and the hardware configuration information storage area 22, respectively. Furthermore, the analysis module 10 reads the simulation circuit shown in FIG. 3 from the simulation circuit storage device 50 and starts the simulation.

(ハ)ステップS300において、図3に示したハードウェアモデル202の管理手段230が、ハードウェア構成情報に基づき図6に示した管理テーブルを作成する。作成された管理テーブルは管理手段230内部の管理テーブル記憶領域231に格納される。   (C) In step S300, the management means 230 of the hardware model 202 shown in FIG. 3 creates the management table shown in FIG. 6 based on the hardware configuration information. The created management table is stored in the management table storage area 231 inside the management means 230.

(ニ)ステップS400において、解析モジュール10は、図3に示したシミュレーション回路において対象ソフトウェアを動作させて、対象ソフトウェアの解析を開始する。つまり、プロセッサモデル201が対象ソフトウェアを命令単位で実行する。   (D) In step S400, the analysis module 10 operates the target software in the simulation circuit shown in FIG. 3, and starts analyzing the target software. That is, the processor model 201 executes the target software in units of instructions.

(ホ)ステップS500において、プロセッサモデル201のプログラムカウンタが動作モデルMAの変更アドレスに一致すると、ハードウェアモデル202のハードウェア動作モデルを動作モデルMAに切り替える動作が開始される。先ず、ステップS510において、切り替え手段240が、ハードウェアモデル202がアクセス禁止状態であるか否かを判定する。ハードウェアモデル202がアクセス禁止状態でなければ、処理はステップS511に進む。ハードウェアモデル202がアクセス禁止状態であれば、処理はステップS515に進む。   (E) In step S500, when the program counter of the processor model 201 matches the change address of the operation model MA, an operation of switching the hardware operation model of the hardware model 202 to the operation model MA is started. First, in step S510, the switching unit 240 determines whether or not the hardware model 202 is in an access prohibited state. If the hardware model 202 is not in the access prohibited state, the process proceeds to step S511. If the hardware model 202 is in an access prohibited state, the process proceeds to step S515.

(ヘ)ステップS511において、ハードウェアモデル202をアクセス禁止状態に設定する。具体的には、切り替え手段240が、アクセス制御手段220にハードウェアモデル202へのアクセスを禁止するアクセス禁止要求を転送する。アクセス禁止要求を受信したアクセス制御手段220は、ハードウェアモデル202をアクセス禁止状態に設定する。又、切り替え手段240は、動作モデルMAのハードウェア仕様データをメモリモデル204からハードウェアモデル202に転送する要求をメモリコントローラモデル203に転送する。更に、切り替え手段240は、管理テーブルの構成可能回路Aの状態を「待機状態」から「実行可能状態」に変更する。   (F) In step S511, the hardware model 202 is set to an access prohibited state. Specifically, the switching unit 240 transfers to the access control unit 220 an access prohibition request that prohibits access to the hardware model 202. The access control unit 220 that has received the access prohibition request sets the hardware model 202 to the access prohibited state. In addition, the switching unit 240 transfers a request to transfer the hardware specification data of the operation model MA from the memory model 204 to the hardware model 202 to the memory controller model 203. Further, the switching unit 240 changes the state of the configurable circuit A in the management table from “standby state” to “executable state”.

(ト)ステップS512において、メモリモデル204からハードウェアモデル202へのハードウェア仕様データの転送動作がシミュレートされる。具体的には、動作モデルMAのハードウェア仕様データをメモリモデル204からハードウェアモデル202に転送する要求が、メモリコントローラモデル203からバスモデル205に転送される。バスモデル205は、既に説明したように式(1)を用いて、動作モデルMAのハードウェア仕様データをメモリモデル204からハードウェアモデル202に転送するのに必要な転送クロックサイクル数を算出する。そして、バスモデル205は、動作モデルMAのハードウェア仕様データの転送に必要なサイクルクロック数をカウントした後に、メモリモデル204からのハードウェア仕様データの転送が終了したことをハードウェアモデル202に通知する。   (G) In step S512, the transfer operation of the hardware specification data from the memory model 204 to the hardware model 202 is simulated. Specifically, a request to transfer the hardware specification data of the operation model MA from the memory model 204 to the hardware model 202 is transferred from the memory controller model 203 to the bus model 205. The bus model 205 calculates the number of transfer clock cycles necessary to transfer the hardware specification data of the operation model MA from the memory model 204 to the hardware model 202 using the equation (1) as described above. The bus model 205 notifies the hardware model 202 that the transfer of the hardware specification data from the memory model 204 is completed after counting the number of cycle clocks necessary for the transfer of the hardware specification data of the operation model MA. To do.

(チ)ハードウェア仕様データの転送が終了したことがハードウェアモデル202に通知された後、ステップS513において、動的再構成可能ハードウェア102の回路変更動作を解析モジュール10がシミュレートする。具体的には、切り替え手段240が、管理テーブル記憶領域231に格納された管理テーブルを参照し、ハードウェアモデル202の回路が動作モデルMAに変更されるまでに要する変更クロックサイクル数である20をカウント値の初期値として、カウントダウンを行う。切り替え手段240は、1クロックサイクル毎に1ずつカウント値を減らし、カウント値が0になるまでカウントダウンを行う。   (H) After the hardware model 202 is notified that the transfer of the hardware specification data has been completed, the analysis module 10 simulates the circuit changing operation of the dynamically reconfigurable hardware 102 in step S513. Specifically, the switching unit 240 refers to the management table stored in the management table storage area 231 and sets 20 as the number of changed clock cycles required until the circuit of the hardware model 202 is changed to the operation model MA. Countdown is performed as the initial value of the count value. The switching unit 240 decrements the count value by 1 every clock cycle and counts down until the count value becomes zero.

(リ)カウント値が0になった後、ステップS514において、ハードウェアモデル202のアクセス禁止状態を解除する。具体的には、切り替え手段240が、アクセス制御手段220にハードウェアモデル202へのアクセス禁止を解除するアクセス禁止解除要求を転送する。アクセス禁止解除要求を受信したアクセス制御手段220は、ハードウェアモデル202をアクセス禁止状態から解除し、動的再構成可能ハードウェア102の構成可能回路Aへの切り替え動作が完了する。   (Re) After the count value reaches 0, the access prohibition state of the hardware model 202 is canceled in step S514. Specifically, the switching unit 240 transfers an access prohibition release request for canceling access prohibition to the hardware model 202 to the access control unit 220. The access control means 220 that has received the access prohibition release request releases the hardware model 202 from the access prohibited state, and the operation of switching the dynamically reconfigurable hardware 102 to the configurable circuit A is completed.

(ヌ)ステップS515において、アクセス制御手段220が、プロセッサモデル201からハードウェアモデル202へのアクセス動作を停止させる。そして、ステップS516において、アクセス制御手段220は、ハードウェアモデル202のアクセス禁止状態が解除されるまでの期間にプロセッサモデル201からハードウェアモデル202に転送された要求コマンド等のログ情報を記録する。ログ情報は、図1に示したログ情報記憶領域23に格納される。又、アクセス制御手段220は、ハードウェアモデル202のアクセス禁止状態が解除されるまで、クロックサイクル数をカウントする。ハードウェアモデル202のアクセス禁止状態が解除された後、処理はステップS511に進む。   (N) In step S515, the access control means 220 stops the access operation from the processor model 201 to the hardware model 202. In step S516, the access control unit 220 records log information such as a request command transferred from the processor model 201 to the hardware model 202 until the access prohibition state of the hardware model 202 is released. The log information is stored in the log information storage area 23 shown in FIG. Further, the access control means 220 counts the number of clock cycles until the access prohibition state of the hardware model 202 is released. After the access prohibition state of the hardware model 202 is released, the process proceeds to step S511.

尚、アクセス制御手段220は、ハードウェア仕様データの転送動作及び動的再構成可能ハードウェア102の回路変更動作がシミュレートされている期間のログ情報も記録する。又、変更クロックサイクル数及び転送クロックサイクル数を含む、プロセッサモデル201からハードウェアモデル202へのアクセス動作が禁止された期間のクロックサイクル数が、ログ情報の一部としてログ情報記憶領域23に格納される。   The access control unit 220 also records log information for a period during which the hardware specification data transfer operation and the dynamically reconfigurable hardware 102 circuit change operation are simulated. Further, the number of clock cycles during the period in which the access operation from the processor model 201 to the hardware model 202 is prohibited, including the changed clock cycle number and the transfer clock cycle number, is stored in the log information storage area 23 as a part of the log information. Is done.

上記に説明したように、解析モジュール10は、シミュレーション回路において対象ソフトウェアを動作させて構成可能回路の変更動作を解析することによって、メモリ104から動的再構成可能ハードウェア102へのハードウェア仕様データの転送時間を含む、動的再構成可能ハードウェア102の回路の再構成に必要な時間をクロックサイクル数として算出し、ログ情報を作成する。以上では、構成可能回路の変更が1回である場合を説明した。構成可能回路の変更が複数回ある場合には、各変更時においてログ情報が作成される。   As described above, the analysis module 10 operates the target software in the simulation circuit and analyzes the change operation of the configurable circuit, thereby performing hardware specification data from the memory 104 to the dynamically reconfigurable hardware 102. The time required for reconfiguring the circuit of the dynamically reconfigurable hardware 102 including the transfer time is calculated as the number of clock cycles, and log information is created. The case where the configurable circuit is changed once has been described above. If there are multiple changes to the configurable circuit, log information is created at each change.

次に、図8に示すフローチャートを参照して、図2に示した動的再構成可能ハードウェア102が動作中であるためにプロセッサ101からのアクセスが禁止される場合において対象ソフトウェアを解析する例を説明する。以下では、動的再構成可能ハードウェア102の回路が図5に示した構成可能回路Aである場合を説明する。つまり、ハードウェアモデル202において動作モデルMAが動作中である場合における対象ソフトウェアを解析する例を説明する。   Next, referring to the flowchart shown in FIG. 8, an example of analyzing the target software when access from the processor 101 is prohibited because the dynamically reconfigurable hardware 102 shown in FIG. 2 is operating. Will be explained. Hereinafter, the case where the circuit of the dynamically reconfigurable hardware 102 is the configurable circuit A illustrated in FIG. 5 will be described. That is, an example of analyzing the target software when the operation model MA is operating in the hardware model 202 will be described.

(イ)図8に示したステップS100〜S400において、図7に示したフローチャートを参照して説明した方法と同様にして、図3に示したハードウェアモデル202の管理手段230が管理テーブルを作成し、解析モジュール10が対象ソフトウェアの解析を開始する。   (A) In steps S100 to S400 shown in FIG. 8, the management means 230 of the hardware model 202 shown in FIG. 3 creates a management table in the same manner as described with reference to the flowchart shown in FIG. Then, the analysis module 10 starts analyzing the target software.

(ロ)ステップS600において、プロセッサモデル201からの要求コマンドに応じて、ハードウェアモデル202において動作モデルMAが動作する。   (B) In step S600, the behavior model MA operates in the hardware model 202 in response to a request command from the processor model 201.

(ハ)ステップS611において、ハードウェアモデル202をアクセス禁止状態に設定する。具体的には、切り替え手段240が、アクセス制御手段220にハードウェアモデル202へのアクセスを禁止するアクセス禁止要求を転送する。アクセス禁止要求を受信したアクセス制御手段220は、ハードウェアモデル202をアクセス禁止状態に設定する。又、切り替え手段240は、管理テーブルの構成可能回路Aの状態を「実行可能状態」から「実行状態」に変更する。   (C) In step S611, the hardware model 202 is set to an access prohibited state. Specifically, the switching unit 240 transfers to the access control unit 220 an access prohibition request that prohibits access to the hardware model 202. The access control unit 220 that has received the access prohibition request sets the hardware model 202 to the access prohibited state. The switching unit 240 changes the state of the configurable circuit A in the management table from “executable state” to “execution state”.

(ニ)ステップS612において、アクセス制御手段220が、プロセッサモデル201からハードウェアモデル202へのアクセス動作を停止させる。そして、ステップS613において、アクセス制御手段220は、ハードウェアモデル202のアクセス禁止状態が解除されるまでの期間にプロセッサモデル201からハードウェアモデル202に転送された要求コマンド等のログ情報を記録する。ログ情報は、図1に示したログ情報記憶領域23に格納される。又、アクセス制御手段220は、ハードウェアモデル202のアクセス禁止状態が解除されるまで、クロックサイクル数をカウントする。   (D) In step S612, the access control means 220 stops the access operation from the processor model 201 to the hardware model 202. In step S613, the access control unit 220 records log information such as a request command transferred from the processor model 201 to the hardware model 202 until the access prohibition state of the hardware model 202 is canceled. The log information is stored in the log information storage area 23 shown in FIG. Further, the access control means 220 counts the number of clock cycles until the access prohibition state of the hardware model 202 is released.

(ホ)プロセッサモデル201からの要求コマンドに応じた動作モデルMAの動作が終了すると、ステップS614において、ハードウェアモデル202のアクセス禁止状態を解除する。具体的には、切り替え手段240が、アクセス制御手段220にハードウェアモデル202へのアクセス禁止を解除するアクセス禁止解除要求を転送する。アクセス禁止解除要求を受信したアクセス制御手段220は、ハードウェアモデル202をアクセス禁止状態から解除する。又、ハードウェアモデル202のアクセス禁止状態が解除された後、プロセッサモデル201からハードウェアモデル202へのアクセス動作が禁止された期間のクロックサイクル数が、ログ情報の一部としてログ情報記憶領域23に格納される。   (E) When the operation of the operation model MA according to the request command from the processor model 201 is completed, the access prohibition state of the hardware model 202 is canceled in step S614. Specifically, the switching unit 240 transfers an access prohibition release request for canceling access prohibition to the hardware model 202 to the access control unit 220. Receiving the access prohibition release request, the access control means 220 releases the hardware model 202 from the access prohibited state. In addition, after the access prohibition state of the hardware model 202 is released, the number of clock cycles in the period in which the access operation from the processor model 201 to the hardware model 202 is prohibited is the log information storage area 23 as part of the log information. Stored in

上記に説明したように、図1に示したシミュレーション装置によれば、ハードウェアモデル202がアクセス禁止状態であり、プロセッサモデル201のハードウェアモデル202へのアクセスが停止される期間のログ情報が記録される。ハードウェアモデル202がアクセス禁止状態である期間は、プロセッサモデル201のプログラムカウンタがハードウェア動作モデル211〜21nの変更アドレスのいずれかに一致してから動的再構成可能ハードウェア102の回路変更動作が終了するまでの期間、及びハードウェアモデル202においてハードウェア動作モデル211〜21nのいずれかが動作中の期間である。ログ情報は、プロセッサモデル201からハードウェアモデル202に転送された要求コマンド及びクロックサイクル数を含む。   As described above, according to the simulation apparatus shown in FIG. 1, log information is recorded during a period in which the hardware model 202 is in an access prohibited state and access to the hardware model 202 of the processor model 201 is stopped. Is done. During the period in which the hardware model 202 is in the access prohibited state, the circuit change operation of the dynamically reconfigurable hardware 102 after the program counter of the processor model 201 matches one of the change addresses of the hardware operation models 211 to 21n Is a period until one of the hardware operation models 211 to 21n is operating in the hardware model 202. The log information includes a request command transferred from the processor model 201 to the hardware model 202 and the number of clock cycles.

図9に、ログ情報記憶領域23に格納されるログ情報の例を示す。ハードウェアモデル202がアクセス禁止状態である期間におけるプロセッサモデル201のハードウェアモデル202へのアクセスはエラーとみなされ、図9に示した「エラー内容」の欄は、プロセッサモデル201のアクセスがハードウェア動作モデルの「切り替え中」に行われたか、或いはハードウェアモデル202においてハードウェア動作モデル211〜21nのいずれかが「動作中」に行われたかを示す。「時刻」の欄は、システムが動作を始めたときのクロックサイクル値を「0」とした場合の、プロセッサモデル201がハードウェアモデル202にアクセスしたときのクロックサイクル値を示す。「pc」の欄はプロセッサモデル201がハードウェアモデル202にアクセスしたときのプログラムカウンタ値を示す。「カウント」の欄は、プロセッサモデル201のハードウェアモデル202へのアクセスが停止されていた期間のクロックサイクル数を示す。   FIG. 9 shows an example of log information stored in the log information storage area 23. Access to the hardware model 202 of the processor model 201 during the period in which the hardware model 202 is in an access-prohibited state is regarded as an error, and the column “error contents” shown in FIG. This indicates whether the operation model was “switching” or any one of the hardware operation models 211 to 21n in the hardware model 202 was “operating”. The column “time” indicates a clock cycle value when the processor model 201 accesses the hardware model 202 when the clock cycle value when the system starts operation is “0”. A column “pc” indicates a program counter value when the processor model 201 accesses the hardware model 202. The “count” column indicates the number of clock cycles in a period in which access to the hardware model 202 of the processor model 201 is stopped.

上記に説明したように、プロセッサモデル201のアクセスがハードウェア動作モデルの切り替え中に行われた場合の「カウント」欄の値は、ハードウェア仕様データの転送動作及び動的再構成可能ハードウェア102の回路変更動作がシミュレートされている期間のクロックサイクル数を含む。つまり、バス105におけるデータ転送状況に応じて変動するメモリ104から動的再構成可能ハードウェア102へのハードウェア仕様データの転送に要するクロックサイクル数が、「カウント」欄の値に含まれる。ハードウェア仕様データの転送に要するクロックサイクル数は、各バスマスタのメモリ104へのアクセス状況に基づいて算出される。そのため、図1に示したシミュレーション装置によれば、動的再構成可能ハードウェア102の回路変更に要するクロックサイクル数の見積もりが容易に行われる。その結果、動的再構成可能ハードウェア102へのハードウェア仕様データの転送が終了する前に、動的再構成可能ハードウェア102に対する動作命令が実行されることによる誤動作の検出が容易である。   As described above, the value in the “count” column when the access to the processor model 201 is performed during the switching of the hardware operation model is the hardware specification data transfer operation and the dynamically reconfigurable hardware 102. This includes the number of clock cycles during which the circuit change operation is simulated. That is, the value in the “Count” column includes the number of clock cycles required to transfer the hardware specification data from the memory 104 to the dynamically reconfigurable hardware 102 that varies depending on the data transfer status on the bus 105. The number of clock cycles required for transferring the hardware specification data is calculated based on the state of access to the memory 104 of each bus master. Therefore, according to the simulation apparatus shown in FIG. 1, the number of clock cycles required for changing the circuit of the dynamically reconfigurable hardware 102 can be easily estimated. As a result, it is easy to detect a malfunction due to execution of an operation instruction for the dynamically reconfigurable hardware 102 before the transfer of the hardware specification data to the dynamically reconfigurable hardware 102 is completed.

対象ソフトウェアの開発者は、図1に示した出力装置40を介してログ情報記憶領域23に格納されたログ情報を参照することにより、ハードウェアモデル202がアクセス禁止状態である期間におけるプロセッサモデル201のハードウェアモデル202へのアクセス(以下において「エラーアクセス」という。」)の発生を検出できる。そのため、対象ソフトウェアの開発者は、ログ情報に基づき、エラーアクセスを減少させるように対象ソフトウェアを修正できる。具体的には、対象ソフトウェアの開発者は、対象ソフトウェアのシンボル情報に含まれる指示子の変更アドレスを修正することによって、プロセッサモデル201がハードウェアモデル202に切り替えコマンドを転送するタイミングを変更する。対象ソフトウェアの開発者は、プロセッサ101の待ち時間が無いように修正された変更アドレスに基づき、対象ソフトウェアにおいてドライバコマンドを実行するタイミングを設定する。上記の方法によれば、対象ソフトウェアのドライバコマンドの設定自体を修正しながらエラーアクセスを減少させる方法よりも、対象ソフトウェアの修正が容易であり、対象ソフトウェアにバグが混入する危険性も低くなる。その結果、対象ソフトウェアの開発者の手作業によるドライバコマンドの実行タイミングを調整する手間の増大が抑制される。   The developer of the target software refers to the log information stored in the log information storage area 23 via the output device 40 shown in FIG. 1, so that the processor model 201 during the period when the hardware model 202 is in the access prohibited state. The occurrence of access to the hardware model 202 (hereinafter referred to as “error access”) can be detected. Therefore, the developer of the target software can modify the target software so as to reduce error access based on the log information. Specifically, the developer of the target software changes the timing at which the processor model 201 transfers the switching command to the hardware model 202 by correcting the change address of the indicator included in the symbol information of the target software. The developer of the target software sets the timing for executing the driver command in the target software based on the changed address corrected so that there is no waiting time of the processor 101. According to the above method, it is easier to correct the target software than the method of reducing error access while correcting the driver command setting itself of the target software, and the risk of bugs being mixed into the target software is also reduced. As a result, an increase in labor for adjusting the execution timing of the driver command by the manual work of the developer of the target software is suppressed.

以上に説明したように、本発明の実施の形態に係るシミュレーション装置によれば、システムを制御する対象ソフトウェアの指示による動的再構成可能ハードウェアの回路変更に必要な時間を算出できる。そして、対象ソフトウェアの開発者は、エラーアクセスがなくなるまで対象ソフトウェアを修正することによって、プロセッサ101の待ち時間が無い最適なタイミングで回路変更を指示する命令が実行されるようにドライバコマンドを設定できる。つまり、ソフトウェア開発者は、図1に示したシミュレーション装置によって、対象ソフトウェアの回路変更を指示する最適なタイミングを解析可能である。その結果、回路変更の待ち時間に起因するシステム全体のスループットの低下が防止される。   As described above, according to the simulation apparatus according to the embodiment of the present invention, it is possible to calculate the time required for the circuit change of the dynamically reconfigurable hardware according to the instruction of the target software that controls the system. Then, the developer of the target software can set the driver command so that the instruction for instructing the circuit change is executed at an optimal timing without the waiting time of the processor 101 by correcting the target software until there is no error access. . That is, the software developer can analyze the optimum timing for instructing the circuit change of the target software by the simulation apparatus shown in FIG. As a result, a decrease in the throughput of the entire system due to the circuit change waiting time is prevented.

(その他の実施の形態)
上記のように、本発明は実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
(Other embodiments)
As described above, the present invention has been described according to the embodiment. However, it should not be understood that the description and drawings constituting a part of this disclosure limit the present invention. From this disclosure, various alternative embodiments, examples and operational techniques will be apparent to those skilled in the art.

既に述べた実施の形態の説明においては、含まれる動的再構成可能ハードウェアが一つであるシステムについて説明したが、複数の動的再構成可能ハードウェアを含むシステムについてもシミュレーション回路を構成して対象ソフトウェアの解析が可能である。   In the description of the above-described embodiment, a system having only one dynamically reconfigurable hardware has been described. However, a simulation circuit is also configured for a system including a plurality of dynamically reconfigurable hardware. The target software can be analyzed.

このように、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。   As described above, the present invention naturally includes various embodiments not described herein. Therefore, the technical scope of the present invention is defined only by the invention specifying matters according to the scope of claims reasonable from the above description.

本発明の実施の形態に係るシミュレーション装置の構成を示す模式図である。It is a schematic diagram which shows the structure of the simulation apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係るシミュレーション装置を用いて解析するソフトウェアが制御するシステムの例を示す模式図である。It is a schematic diagram which shows the example of the system which the software analyzed using the simulation apparatus which concerns on embodiment of this invention controls. 図2に示したシステムの動作をシミュレートするシミュレーション回路を示す模式図である。It is a schematic diagram which shows the simulation circuit which simulates operation | movement of the system shown in FIG. 本発明の実施の形態に係るシミュレーション装置を用いて解析するソフトウェアの一部である。It is a part of software analyzed using the simulation apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係るシミュレーション装置が使用するハードウェア構成情報の例を示す表である。It is a table | surface which shows the example of the hardware configuration information which the simulation apparatus which concerns on embodiment of this invention uses. 本発明の実施の形態に係るシミュレーション装置によって作成される管理テーブルの例を示す表である。It is a table | surface which shows the example of the management table produced by the simulation apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係るシミュレーション方法の例を説明するためのフローチャートである。It is a flowchart for demonstrating the example of the simulation method which concerns on embodiment of this invention. 本発明の実施の形態に係るシミュレーション方法の他の例を説明するためのフローチャートである。It is a flowchart for demonstrating the other example of the simulation method which concerns on embodiment of this invention. 本発明の実施の形態に係るシミュレーション装置によって作成されるログ情報の例を示す表である。It is a table | surface which shows the example of the log information produced by the simulation apparatus which concerns on embodiment of this invention.

符号の説明Explanation of symbols

10…解析モジュール
20…メモリ
30…入力装置
40…出力装置
50…シミュレーション回路記憶装置
201…プロセッサモデル
202…ハードウェアモデル
203…メモリコントローラモデル
204…メモリモデル
205…バスモデル
211〜21n…ハードウェア動作モデル
220…アクセス制御手段
230…管理手段
231…管理テーブル記憶領域
240…切り替え手段
DESCRIPTION OF SYMBOLS 10 ... Analysis module 20 ... Memory 30 ... Input device 40 ... Output device 50 ... Simulation circuit memory | storage device 201 ... Processor model 202 ... Hardware model 203 ... Memory controller model 204 ... Memory model 205 ... Bus model 211-21n ... Hardware operation | movement Model 220 ... Access control means 230 ... Management means 231 ... Management table storage area 240 ... Switching means

Claims (5)

複数の回路にそれぞれ対応した複数のハードウェア動作モデルを有するハードウェアモデルと、前記複数の回路をそれぞれ定義する複数のデータを格納するメモリモデルとを含むシミュレーション回路のデータを格納するシミュレーション回路記憶装置と、
ソフトウェアによって前記シミュレーション回路を動作させ前記複数のハードウェア動作モデルの切り替え動作を解析し、前記メモリモデルから前記ハードウェアモデルへの前記複数のデータの転送時間を含む前記切り替え動作に必要な時間を算出する解析モジュール
とを備え、前記ソフトウェアを解析することを特徴とするシミュレーション装置。
A simulation circuit storage device for storing data of a simulation circuit including a hardware model having a plurality of hardware operation models respectively corresponding to a plurality of circuits, and a memory model for storing a plurality of data defining the plurality of circuits. When,
The simulation circuit is operated by software to analyze the switching operation of the plurality of hardware operation models, and the time required for the switching operation including the transfer time of the plurality of data from the memory model to the hardware model is calculated. An analysis module for analyzing the software.
前記ハードウェアモデルが、前記ハードウェアモデルの動作状態に応じて前記ハードウェアモデルへのアクセスを制御するアクセス制御手段を更に備えることを特徴とする請求項1に記載のシミュレーション装置。   The simulation apparatus according to claim 1, wherein the hardware model further includes an access control unit that controls access to the hardware model according to an operation state of the hardware model. 前記アクセス制御手段が、前記ハードウェアモデルへのアクセスが禁止された期間における前記ハードウェアモデルへのアクセスの情報を記録することを特徴とする請求項2に記載のシミュレーション装置。   The simulation apparatus according to claim 2, wherein the access control unit records information on access to the hardware model during a period in which access to the hardware model is prohibited. 前記ハードウェアモデルが、
前記複数のハードウェア動作モデルと前記複数の回路との関係を示す管理テーブルを有する管理手段と、
前記管理テーブルを参照し、前記ソフトウェアに含まれる回路変更の命令に従って、前記ハードウェアモデルにおいて前記複数のハードウェア動作モデルを切り替える切り替え手段
とを更に備えることを特徴とする請求項1乃至3のいずれか1項に記載のシミュレーション装置。
The hardware model is
A management unit having a management table indicating a relationship between the plurality of hardware operation models and the plurality of circuits;
4. The apparatus according to claim 1, further comprising a switching unit that refers to the management table and switches the plurality of hardware operation models in the hardware model according to a circuit change instruction included in the software. The simulation apparatus according to claim 1.
前記シミュレーション回路が、前記ハードウェアモデルと前記メモリモデルとを互いに接続するバスモデルを更に備え、前記解析モジュールが、前記バスモデルにおけるデータ転送状況に応じて変動する前記転送時間を算出することを特徴とする請求項1乃至4のいずれか1項に記載のシミュレーション装置。
The simulation circuit further includes a bus model that connects the hardware model and the memory model to each other, and the analysis module calculates the transfer time that varies depending on a data transfer situation in the bus model. The simulation apparatus according to any one of claims 1 to 4.
JP2006148441A 2006-05-29 2006-05-29 Simulation device Pending JP2007317102A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006148441A JP2007317102A (en) 2006-05-29 2006-05-29 Simulation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006148441A JP2007317102A (en) 2006-05-29 2006-05-29 Simulation device

Publications (1)

Publication Number Publication Date
JP2007317102A true JP2007317102A (en) 2007-12-06

Family

ID=38850882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006148441A Pending JP2007317102A (en) 2006-05-29 2006-05-29 Simulation device

Country Status (1)

Country Link
JP (1) JP2007317102A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108011766A (en) * 2017-12-12 2018-05-08 中电科航空电子有限公司 A kind of system architecture and distribution relation automatic switching control equipment
CN113779129A (en) * 2021-09-10 2021-12-10 滁州职业技术学院 Software development system and method facing simulated city construction

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108011766A (en) * 2017-12-12 2018-05-08 中电科航空电子有限公司 A kind of system architecture and distribution relation automatic switching control equipment
CN108011766B (en) * 2017-12-12 2024-04-05 中电科航空电子有限公司 Automatic switching device for system architecture and wiring relation
CN113779129A (en) * 2021-09-10 2021-12-10 滁州职业技术学院 Software development system and method facing simulated city construction

Similar Documents

Publication Publication Date Title
US7246052B2 (en) Bus master and bus slave simulation using function manager and thread manager
JP4843013B2 (en) System and method for preventing user OS in VMM system from turning off device used by service OS
TWI437424B (en) Microprocessor with system-robust self-reset capability and self-resetting method thereof
JP2009026113A (en) Simulation apparatus and program
JP2008210099A (en) Simulation method and simulation system
JP6272563B2 (en) Simulation reproduction apparatus, simulation reproduction method, and simulation reproduction program
JP2006178646A (en) Information processor, information processing method, semiconductor device, and computer program
JP2007011720A (en) System simulator, system simulation method, control program, and readable recording medium
JP2007310565A (en) System lsi verification device and system lsi verification program
JP2007317102A (en) Simulation device
US8954312B2 (en) Hardware emulation proxy for hardware software co-emulation
JP2008041059A (en) Multiprocessor controller and information processor
JP2023032451A (en) Simulation device and simulation method
TW201712535A (en) Vector operand bitsize control
JP2012083901A (en) Configuration information management device, method and program for the same, and operation synthesis device
JP5390464B2 (en) Simulation apparatus, simulation apparatus control method, and program
JP2011081560A (en) System level simulation method and device
EP3516527A1 (en) Integrated circuits having expandable processor memory
JP2007128336A (en) Parallel register access device and system lsi
JP2006350646A (en) Simulation device and simulation method
JP4351961B2 (en) Simulator program and storage medium
JP2009223762A (en) Cooperation verification device
JP2007018440A (en) Architecture verification apparatus
TWI381180B (en) Circuit Simulation System
JP2005182359A (en) Method for designing data processor and recording medium