JP2010020384A - Simulation system, simulation method, hils device, simulation support device, method, and program - Google Patents
Simulation system, simulation method, hils device, simulation support device, method, and program Download PDFInfo
- Publication number
- JP2010020384A JP2010020384A JP2008177810A JP2008177810A JP2010020384A JP 2010020384 A JP2010020384 A JP 2010020384A JP 2008177810 A JP2008177810 A JP 2008177810A JP 2008177810 A JP2008177810 A JP 2008177810A JP 2010020384 A JP2010020384 A JP 2010020384A
- Authority
- JP
- Japan
- Prior art keywords
- real
- model
- processor
- subsystem model
- simulation
- 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
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 72
- 238000000034 method Methods 0.000 title claims description 15
- 230000004044 response Effects 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims description 53
- 238000012546 transfer Methods 0.000 claims description 52
- 238000010586 diagram Methods 0.000 claims description 43
- 238000003780 insertion Methods 0.000 claims description 7
- 230000037431 insertion Effects 0.000 claims description 7
- 230000009977 dual effect Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 24
- 238000004891 communication Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000012360 testing method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23446—HIL hardware in the loop, simulates equipment to which a control module is fixed
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本発明はシミュレーションに関し、特にFPGA(Field Programmable Gate Array)を用いたHILS(Hardware In the Loop Simulation)に関する。 The present invention relates to simulation, and more particularly to HILS (Hardware In the Loop Simulation) using an FPGA (Field Programmable Gate Array).
Simulink(登録商標)、Real−Time Workshop(登録商標)などMATLAB(登録商標)ファミリーは実世界のダイナミックシステムのモデリングとテストを行うプロトタイピング環境を提供するモデリングツールとして広く知られている。ハイブリッド自動車の駆動系制御システムなどの開発環境においては、シミュレーション演算の高速化が求められている。例えばモータを制御する電子制御ユニットの開発環境では、モータの応答を模擬するシミュレーション装置と電子制御ユニットとを接続したHILSテストが実施されるが、電気信号の応答を模擬するには高速なシミュレーション装置が必要となる。そこでHDL(Hardware Description Language)を用いてFPGAをシミュレーション演算に最適化された高速演算処理回路として構成し、シミュレーションの演算時間を短縮する技術が知られている(特許文献1,2,3)。また、FPGAを高速演算部として構成するHDLをブロック線図型モデルから生成するFPGAのプログラミングツールが開発されている。これらのFPGA対応のプログラミングツールには、米国ザイリンクス社のSystem Generator、米国アルテラ社のDsp Builderなど、汎用プロセッサ対応のSimulinkなどのモデリングツールと連携し、プロセッサベースのブロック線図型モデルとFPGAベースのブロック線図型モデルとを統合した1つのブロック線図型モデルを用いたシミュレーションを可能にするものも開発されている。その結果、ソースコードを実行するプロセッサと、HDLによって定義されるFPGAとにより並列演算処理装置を構成し、高速にHILS(Hardware In the Loop Simulation)演算を実行できる環境が整いつつある。
しかし、従来のプロセッサとFPGAとを用いたHILSの並列演算処理においては、効率の良いリアルタイム処理を実行したり、SILS(Software In the Loop Simulation)の演算結果とHILSの演算結果とを正確に一致させることができない。 However, in parallel processing of HILS using a conventional processor and FPGA, efficient real-time processing is executed, and the results of SILS (Software In the Loop Simulation) and HILS are precisely matched. I can't let you.
本発明は効率の良いHILS装置を実現し、さらにはHILSの演算精度を高めることを目的とする。 An object of the present invention is to realize an efficient HILS apparatus and to further improve the calculation accuracy of HILS.
(1)上記目的を達成するためのシミュレーションシステムは、電子制御ユニットによって制御される対象システムを表現したブロック線図型モデルを用いて前記対象システムの応答を検証するためのシミュレーションシステムであって、シミュレーション支援装置と、FPGAを備えるHILS装置と、前記HILS装置を操作するとともに前記HILS装置の出力を表示するHILS端末と、を備える。本発明のシミュレーションシステムに備わるシミュレーション支援装置は、プロセッサ対応ブロックが結線された第一サブシステムモデルとFPGA対応ブロックが結線された第二サブシステムモデルとが統合された前記ブロック線図型モデルを作成するためのモデル作成手段と、前記第一サブシステムモデルからシミュレーションプログラムを生成するプログラム生成手段と、前記第二サブシステムモデルからネットリストを生成するネットリスト生成手段と、を備える。本発明のシミュレーションシステムに備わるFPGAは、前記シミュレーションプログラムを実行することにより、前記HILS端末と通信しながら前記第一サブシステムモデルの入出力を実行する非リアルタイムシステムを構成する非リアルタイムプロセッサと、前記ネットリストによって定義されることにより前記電子制御ユニットと通信しながら前記第二サブシステムモデルの演算を実行する高速演算部を構成するユーザロジック部と、前記シミュレーションプログラムを実行することにより、前記電子制御ユニットと前記非リアルタイムシステムと前記高速演算部と通信しながら前記第一サブシステムモデルの演算を実行するリアルタイムシステムを構成するリアルタイムプロセッサと、を備える。 (1) A simulation system for achieving the above object is a simulation system for verifying a response of the target system using a block diagram model representing the target system controlled by an electronic control unit, A simulation support apparatus; an HILS apparatus including an FPGA; and an HILS terminal that operates the HILS apparatus and displays an output of the HILS apparatus. The simulation support apparatus provided in the simulation system of the present invention creates the block diagram model in which a first subsystem model in which processor-compatible blocks are connected and a second subsystem model in which FPGA-compatible blocks are connected are integrated. A model generating unit for generating the program, a program generating unit for generating a simulation program from the first subsystem model, and a net list generating unit for generating a net list from the second subsystem model. The FPGA provided in the simulation system of the present invention includes a non-real-time processor constituting a non-real-time system that executes input / output of the first subsystem model while communicating with the HILS terminal by executing the simulation program, A user logic unit constituting a high-speed calculation unit that executes the calculation of the second subsystem model while communicating with the electronic control unit by being defined by a netlist, and the electronic control by executing the simulation program A real-time processor that constitutes a real-time system that executes computation of the first subsystem model while communicating with a unit, the non-real-time system, and the high-speed computation unit.
本発明によると、リアルタイム処理を効率化するため、HILS装置のFPGAに2つのプロセッサを組み込む。すなわち本発明によると、HILS端末と通信する非リアルタイムシステムを構成するプロセッサ(非リアルタイムプロセッサ)と、ネットリストによって構成される高速演算部と通信するリアルタイムシステムを構成するプロセッサ(リアルタイムプロセッサ)とがHILS装置のFPGAに定義され、FPGAのその他の領域であるユーザロジック部が高速演算部として定義される構成である。その結果、HILS端末と通信する非リアルタイムプロセッサによる非リアルタイム処理と、高速演算部と協働するリアルタイムプロセッサによるリアルタイム処理とが競合することを防止できるとともに2つのプロセッサと高速演算部とがFPGA内部の高速な通信線を通じて通信できるため、効率の良いHILS装置が実現される。なお、プロセッサ対応ブロックとは、プロセッサによって実行されるプログラムに変換される処理が定義されるブロックをいい、FPGA対応ブロックとはFPGAを定義するネットリストに変換される処理が定義されるブロックをいうものとする。 According to the present invention, two processors are incorporated into the FPGA of the HILS apparatus in order to make real-time processing more efficient. That is, according to the present invention, a processor (non-real-time processor) constituting a non-real-time system communicating with an HILS terminal and a processor (real-time processor) constituting a real-time system communicating with a high-speed computing unit constituted by a netlist are provided. The user logic unit, which is defined in the FPGA of the device and is another area of the FPGA, is defined as a high-speed calculation unit. As a result, it is possible to prevent the non-real-time processing by the non-real-time processor communicating with the HILS terminal from competing with the real-time processing by the real-time processor cooperating with the high-speed arithmetic unit, and the two processors and the high-speed arithmetic unit are provided inside the FPGA. Since communication is possible via a high-speed communication line, an efficient HILS apparatus is realized. The processor-corresponding block refers to a block in which processing to be converted into a program executed by the processor is defined, and the FPGA-corresponding block refers to a block in which processing to be converted into a netlist defining FPGA is defined. Shall.
(2)ユーザロジック部がカスタマイズされた高速演算部とリアルタイムプロセッサとの間においてデータを転送するときには、対象システムの構成とは無関係に、HILS装置内部でデータ転送を司るデータ転送部の構成に応じた転送遅延が生じ、その結果、HILS装置によるシミュレーション演算の精度が低下する。 (2) When data is transferred between the high-speed arithmetic unit customized by the user logic unit and the real-time processor, depending on the configuration of the data transfer unit that controls the data transfer inside the HILS apparatus regardless of the configuration of the target system. Transfer delay occurs, and as a result, the accuracy of the simulation operation by the HILS apparatus decreases.
そこで上記目的を達成するためのシミュレーションシステムにおいて、前記シミュレーション支援装置は、前記リアルタイムプロセッサと前記高速演算部との間においてデータを転送するデータ転送部の作動を模擬するデータ転送ブロックを前記第二サブシステムモデルに挿入するためのデータ転送ブロック挿入手段を備え、前記ユーザロジック部には、前記ネットリストによって定義されることにより前記データ転送部が構成されることが望ましい。
高速演算部とリアルタイムプロセッサとの間においてデータを転送するデータ転送部の作動を模擬するデータ転送ブロックをブロック線図型モデルに挿入するための手段(データ転送ブロック挿入手段)をシミュレーション装置に備え、データ転送ブロックによってFPGAのユーザロジック部の一部をデータ転送部として構成することにより、HILS装置によるシミュレーション演算の精度を高めることができる。
Therefore, in the simulation system for achieving the above object, the simulation support apparatus includes a data transfer block that simulates an operation of a data transfer unit that transfers data between the real-time processor and the high-speed calculation unit. It is preferable that data transfer block insertion means for insertion into a system model is provided, and the data transfer unit is configured in the user logic unit by being defined by the netlist.
The simulation apparatus includes means (data transfer block insertion means) for inserting a data transfer block that simulates the operation of the data transfer unit that transfers data between the high-speed arithmetic unit and the real-time processor into the block diagram model model. By configuring a part of the user logic unit of the FPGA as a data transfer unit with the data transfer block, it is possible to improve the accuracy of the simulation calculation by the HILS apparatus.
(3)上記目的を達成するためのシミュレーションシステムにおいて、前記HILS装置は、緩衝記憶部を備えるとともに前記緩衝記憶部を介して前記リアルタイムプロセッサから前記非リアルタイムプロセッサへデータを転送する緩衝インタフェースを備えることが望ましい。 (3) In the simulation system for achieving the above object, the HILS apparatus includes a buffer storage unit and a buffer interface for transferring data from the real-time processor to the non-real-time processor via the buffer storage unit. Is desirable.
これによりリアルタイムプロセッサと非リアルタイムプロセッサとを効率よく利用することができる。 Thereby, a real-time processor and a non-real-time processor can be used efficiently.
(4)上記目的を達成するためのシミュレーションシステムにおいて、前記緩衝インタフェースは、前記緩衝記憶部と前記非リアルタイムプロセッサとの間に配置され前記非リアルタイムプロセッサが利用する第一デュアルポートRAMと、前記緩衝記憶部と前記リアルタイムプロセッサとの間との間に配置され前記リアルタイムプロセッサが利用する第二デュアルポートRAMと、前記非リアルタイムプロセッサと前記リアルタイムプロセッサとから前記緩衝記憶部を制御するための緩衝記憶制御部と、前記非リアルタイムプロセッサと前記リアルタイムプロセッサとの間に配置され前記非リアルタイムプロセッサと前記リアルタイムプロセッサとが利用する第三デュアルポートRAMと、を備えることが望ましい。 (4) In the simulation system for achieving the above object, the buffer interface is disposed between the buffer storage unit and the non-real-time processor and used by the non-real-time processor, and the buffer A second dual-port RAM disposed between the storage unit and the real-time processor and used by the real-time processor; and a buffer storage control for controlling the buffer storage unit from the non-real-time processor and the real-time processor And a third dual port RAM disposed between the non-real time processor and the real time processor and used by the non real time processor and the real time processor.
第一プロセッサから第二プロセッサへのデータ転送経路と第二プロセッサから第一プロセッサへのデータ転送経路とを分離することにより、リアルタイムプロセッサと非リアルタイムプロセッサとをさらに効率よく利用することができる。 By separating the data transfer path from the first processor to the second processor and the data transfer path from the second processor to the first processor, the real-time processor and the non-real-time processor can be used more efficiently.
(5)Simulinkを用いて作成したブロック線図型モデルからC言語のソースファイルをReal−Time Workshopを用いて生成する場合、FPGA対応ブロックが結線された部分を全体のブロック線図型モデルから一旦削除しなければならない。 (5) When a C language source file is generated from a block diagram model created using Simulink using Real-Time Workshop, a portion where FPGA-compatible blocks are connected is temporarily extracted from the entire block diagram model. Must be deleted.
そこで上記目的を達成するためのシミュレーションシステムにおいて、前記シミュレーション支援装置は、前記第一サブシステムモデルが保存される第一ファイルと前記第二サブシステムモデルが保存される第二ファイルとを独立に生成するとともに前記第二サブシステムモデルの演算に必要な前記第一サブシステムモデルの情報を前記第二ファイルに格納するファイル管理手段を備えることが望ましい。
これによりシミュレーション支援装置を操作するユーザの負担を低減できる。
Therefore, in the simulation system for achieving the above object, the simulation support apparatus independently generates a first file in which the first subsystem model is stored and a second file in which the second subsystem model is stored. In addition, it is desirable to provide file management means for storing the information of the first subsystem model necessary for the calculation of the second subsystem model in the second file.
This can reduce the burden on the user who operates the simulation support apparatus.
(6)上記目的を達成するためのシミュレーション方法は、電子制御ユニットによって制御される対象システムを表現したブロック線図型モデルを用いて前記対象システムの応答を検証するためのシミュレーション方法であって、プロセッサ対応ブロックが結線された第一サブシステムモデルとFPGA対応ブロックが結線された第二サブシステムモデルとが統合された前記ブロック線図型モデルを作成し、前記第一サブシステムモデルからシミュレーションプログラムを生成し、前記第二サブシステムモデルからネットリストを生成し、FPGAの一部で構成された第一プロセッサにより前記シミュレーションプログラムを実行することにより、前記HILS端末と通信しながら前記第一サブシステムモデルの入出力を実行する非リアルタイムシステムを構成し、前記ネットリストによって定義されることにより前記電子制御ユニットと通信しながら前記第二サブシステムモデルの演算を実行する高速演算部を構成し、FPGAの一部で構成された第二プロセッサにより前記シミュレーションプログラムを実行することにより、前記電子制御ユニットと前記非リアルタイムシステムと前記高速演算部と通信しながら前記第一サブシステムモデルの演算を実行するリアルタイムシステムを構成し、前記HILS端末において前記HILS装置を操作するとともに前記HILS装置の出力を表示する、ことを含む。
本発明によると、上述したとおり、効率の良いHILS装置を実現できる。
(6) A simulation method for achieving the above object is a simulation method for verifying the response of the target system using a block diagram model representing the target system controlled by the electronic control unit, The block diagram model in which the first subsystem model in which processor-compatible blocks are connected and the second subsystem model in which FPGA-compatible blocks are connected is integrated, and a simulation program is created from the first subsystem model. Generating a netlist from the second subsystem model, and executing the simulation program by a first processor configured by a part of an FPGA, so that the first subsystem model is communicated with the HILS terminal. Non-realistic that perform I / O A high-speed computing unit configured to execute computation of the second subsystem model while communicating with the electronic control unit by being defined by the netlist, and comprising a part of the FPGA By executing the simulation program by two processors, a real-time system that executes the calculation of the first subsystem model while communicating with the electronic control unit, the non-real-time system, and the high-speed calculation unit is configured, and the HILS terminal And operating the HILS apparatus and displaying the output of the HILS apparatus.
According to the present invention, as described above, an efficient HILS apparatus can be realized.
(7)上記目的を達成するためのHILS装置は、電子制御ユニットによって制御される対象システムを表現したブロック線図型モデルであってプロセッサ対応ブロックが結線された第一サブシステムモデルとFPGA対応ブロックが結線された第二サブシステムモデルとが統合された前記ブロック線図型モデルを用いて前記対象システムの応答を検証するためのHILS装置であって、前記第一サブシステムモデルから生成されたシミュレーションプログラムを実行することにより、前記HILS端末と通信しながら前記第一サブシステムモデルの入出力を実行する非リアルタイムシステムを構成する非リアルタイムプロセッサと、前記第二サブシステムモデルから生成されたネットリストによって定義されることにより前記電子制御ユニットと通信しながら前記第二サブシステムモデルの演算を実行する高速演算部を構成するユーザロジック部と、前記シミュレーションプログラムを実行することにより、前記電子制御ユニットと前記非リアルタイムシステムと前記高速演算部と通信しながら前記第一サブシステムモデルの演算を実行するリアルタイムシステムを構成するリアルタイムプロセッサと、を備えるFPGAを備える。
本発明によると、上述したとおり、効率の良いHILS装置を実現できる。
(7) An HILS apparatus for achieving the above object is a block diagram model representing a target system controlled by an electronic control unit, and a first subsystem model in which processor corresponding blocks are connected and an FPGA corresponding block A HILS apparatus for verifying the response of the target system using the block diagram type model integrated with the second subsystem model connected to each other, the simulation generated from the first subsystem model By executing a program, a non-real-time processor constituting a non-real-time system that executes input / output of the first subsystem model while communicating with the HILS terminal, and a netlist generated from the second subsystem model By defining the electronic control unit A user logic unit that constitutes a high-speed calculation unit that executes the calculation of the second subsystem model while communicating with the computer, and the electronic control unit, the non-real-time system, and the high-speed calculation unit by executing the simulation program And a real-time processor that constitutes a real-time system that executes operations of the first subsystem model while communicating with the first subsystem model.
According to the present invention, as described above, an efficient HILS apparatus can be realized.
(8)上記目的を達成するためのシミュレーション支援装置は、電子制御ユニットによって制御される対象システムを表現したブロック線図型モデルであってプロセッサ対応ブロックが結線された第一サブシステムモデルとFPGA対応ブロックが結線された第二サブシステムモデルとが統合された前記ブロック線図型モデルを作成するためのモデル作成手段と、FPGAに備わるプロセッサによって実行されるシミュレーションプログラムを前記第一サブシステムモデルから生成するプログラム生成手段と、前記電子制御ユニットと通信しながら前記第二サブシステムモデルの演算を実行する高速演算部を構成する前記FPGAのユーザロジック部を定義するネットリストを前記第二サブシステムモデルから生成するネットリスト生成手段と、前記リアルタイムプロセッサと前記高速演算部との間においてデータを転送するデータ転送部の作動を模擬するデータ転送ブロックを前記第二サブシステムモデルに挿入するためのデータ転送ブロック挿入手段と、を備える。
本発明によると、上述したとおり、HILS装置によるシミュレーション演算の精度を高めることができる。
(8) A simulation support apparatus for achieving the above object is a block diagram type model representing a target system controlled by an electronic control unit and is compatible with a first subsystem model in which processor-compatible blocks are connected and an FPGA. A model creating means for creating the block diagram model integrated with the second subsystem model in which the blocks are connected, and a simulation program executed by the processor provided in the FPGA are generated from the first subsystem model. And a net list defining a user logic part of the FPGA constituting a high-speed arithmetic unit that executes the calculation of the second subsystem model while communicating with the electronic control unit from the second subsystem model Netlist generation means to generate , And a data transfer block insertion means for inserting the data transfer block to simulate the operation of the data transfer unit for transferring the data to the second sub-system model in between the high-speed arithmetic unit and the real-time processor.
According to the present invention, as described above, the accuracy of the simulation calculation by the HILS apparatus can be increased.
(9)上記目的を達成するためのシミュレーション支援方法は、電子制御ユニットによって制御される対象システムを表現したブロック線図型モデルであってプロセッサ対応ブロックが結線された第一サブシステムモデルとFPGA対応ブロックが結線された第二サブシステムモデルとが統合された前記ブロック線図型モデルを作成するためのモデル作成手段と、FPGAに備わるプロセッサによって実行されるシミュレーションプログラムを前記第一サブシステムモデルから生成するプログラム生成手段と、前記電子制御ユニットと通信するとともに前記プロセッサと協働する高速演算部を構成する前記FPGAのユーザロジック部を定義するネットリストを前記第二サブシステムモデルから生成するネットリスト生成手段と、を備えるシミュレーション支援装置において用いられるシミュレーション支援方法であって、前記リアルタイムプロセッサと前記高速演算部との間においてデータを転送するデータ転送部の作動を模擬するデータ転送ブロックを前記第二サブシステムモデルに挿入する、ことを含む。
本発明によると、上述したとおり、HILS装置によるシミュレーション演算の精度を高めることができる。
(9) A simulation support method for achieving the above object is a block diagram type model representing a target system controlled by an electronic control unit, which corresponds to an FPGA and a first subsystem model in which processor corresponding blocks are connected. A model creating means for creating the block diagram model integrated with the second subsystem model in which the blocks are connected, and a simulation program executed by the processor provided in the FPGA are generated from the first subsystem model. Generating a net list from the second subsystem model for defining a user logic unit of the FPGA that constitutes a high-speed arithmetic unit that communicates with the electronic control unit and cooperates with the processor Means comprising A simulation support method used in a simulation support apparatus, wherein a data transfer block that simulates an operation of a data transfer unit that transfers data between the real-time processor and the high-speed calculation unit is inserted into the second subsystem model , Including that.
According to the present invention, as described above, the accuracy of the simulation calculation by the HILS apparatus can be increased.
(10)上記目的を達成するためのシミュレーション支援プログラムは、電子制御ユニットによって制御される対象システムを表現したブロック線図型モデルであってプロセッサ対応ブロックが結線された第一サブシステムモデルとFPGA対応ブロックが結線された第二サブシステムモデルとが統合された前記ブロック線図型モデルを作成するためのモデル作成手段と、FPGAに備わるプロセッサによって実行されるシミュレーションプログラムを前記第一サブシステムモデルから生成するプログラム生成手段と、前記電子制御ユニットと通信するとともに前記プロセッサと協働する高速演算部を構成する前記FPGAのユーザロジック部を定義するネットリストを前記第二サブシステムモデルから生成するネットリスト生成手段と、して機能するコンピュータによって実行されるシミュレーション支援プログラムであって、前記リアルタイムプロセッサと前記高速演算部との間においてデータを転送するデータ転送部を前記第二サブシステムモデルに挿入するためのデータ転送ブロック挿入手段として前記コンピュータを機能させる。
本発明によると、上述したとおり、HILS装置によるシミュレーション演算の精度を高めることができる。
(10) A simulation support program for achieving the above object is a block diagram type model representing a target system controlled by an electronic control unit, and is compatible with a first subsystem model in which processor corresponding blocks are connected and an FPGA. A model creating means for creating the block diagram model integrated with the second subsystem model in which the blocks are connected, and a simulation program executed by the processor provided in the FPGA are generated from the first subsystem model. Generating a net list from the second subsystem model for defining a user logic unit of the FPGA that constitutes a high-speed arithmetic unit that communicates with the electronic control unit and cooperates with the processor Means and A data transfer block inserting means for inserting a data transfer unit for transferring data between the real-time processor and the high-speed arithmetic unit into the second subsystem model, which is a simulation support program executed by a functioning computer To make the computer function.
According to the present invention, as described above, the accuracy of the simulation calculation by the HILS apparatus can be increased.
尚、請求項に記載された動作の順序は、技術的な阻害要因がない限りにおいて記載順に限定されず、同時に実行されても良いし、記載順の逆順に実行されても良いし、連続した順序で実行されなくても良い。また請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。さらに、本発明はコンピュータプログラムの記録媒体としても成立する。むろん、そのコンピュータプログラムの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体であってもよい。 The order of the operations described in the claims is not limited to the order of description as long as there is no technical obstruction factor, and may be executed at the same time, may be executed in the reverse order of the description order, or may be continuous. It does not have to be executed in order. The functions of the respective means described in the claims are realized by hardware resources whose functions are specified by the configuration itself, hardware resources whose functions are specified by a program, or a combination thereof. The functions of these means are not limited to those realized by hardware resources that are physically independent of each other. Furthermore, the present invention is also realized as a computer program recording medium. Of course, the recording medium for the computer program may be a magnetic recording medium, a magneto-optical recording medium, or any recording medium that will be developed in the future.
以下、本発明の実施の形態を添付図面を参照しながら以下の順に説明する。各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
1.概要
図1は、本発明の一実施形態であるシミュレーションシステム1の全体構成を示している。シミュレーションシステム1は、シミュレーション支援装置およびHILS端末として機能するホストコンピュータ10と、電子制御ユニット30に接続されるHILS装置20とを備えている。ホストコンピュータ10では、モータおよびそのドライバやセンサによって構成される実世界の対象システムを表す対象モデルの作成とSIL(Software In the Loop)のテストと、HILS装置20に備わるFPGA29をカスタマイズするためのプログラム203、206およびネットリスト207の生成が行われる。HILS装置20では、電子制御ユニット30によって制御されるモータの作動を模擬するためのシミュレーション演算がFPGA29によって行われる。HILS装置20の操作と出力の表示はホストコンピュータ10によって行われる。
Hereinafter, embodiments of the present invention will be described in the following order with reference to the accompanying drawings. In each figure, corresponding components are denoted by the same reference numerals, and redundant description is omitted.
1. Overview FIG. 1 shows an overall configuration of a
2.ホストコンピュータの構成
図2に示すように、ホストコンピュータ10は、プロセッサ11、HILS装置20との通信を制御するI/O16の他、図示しないメモリ、ハードディスク等を備えている。ホストコンピュータ10には、ホストコンピュータ10のGUI(Graphical User Interface)を構成する画面とHILS装置20の出力を表示するためのディスプレイ14aと、ホストコンピュータ10およびHILS装置20を操作するためのキーボード15aとマウス15bとが接続される。
2. Configuration of Host Computer As shown in FIG. 2, the
ホストコンピュータ10は、非リアルタイムオペレーティングシステムであるWindows(登録商標)上において、Simulink102、Real−Time Workshop(以下、RTWと略記する。)103、System Generator(以下、SGと略記する。)108、ISE(登録商標)107、モデリング支援プログラム104などで構成されるシミュレーション支援プログラムをプロセッサ11によって実行することによってシミュレーション支援装置として機能する。
On the Windows (registered trademark), which is a non-real-time operating system, the
Simulink102は対象システムであるモータの全体を表現したブロック線図型モデルの中のプロセッサによって演算される部分である第一サブシステムモデルM1を作成する機能を実現するモジュールであって、ホストコンピュータ10をモデル作成手段として機能させる。第一サブシステムモデルM1はHILS装置20のプロセッサで実行されるプログラムに変換されるプロセッサ対応ブロックが結線されたモデルである。
The
RTW103はSimulink102によって作成されたモデルから独立して実行可能な通信プログラム203と演算プログラム206を生成するモジュールであって、ホストコンピュータ10をプログラム生成手段として機能させる。
The
SG108は、対象システムであるモータの全体を表現したブロック線図型モデルの中の高速演算部26bによって演算される部分である第二サブシステムモデルM2を作成する機能を実現するモジュールであって、ホストコンピュータ10をモデル作成手段として機能させる。SG108はFPGA対応ブロックであるSGブロックをSimulink102のGUIに組み込む。SGブロックとは米国ザイリンクス社がSG108の標準ブロックとして提供しているブロックである。第二サブシステムモデルM2はHILS装置20のFPGA29を定義するネットリストに変換されるFPGA対応ブロックが結線されたモデルである。
SG108 is a module that realizes a function of creating a second subsystem model M2 that is a portion calculated by the high-
ISE107は、HILS装置20のFPGA29のユーザロジック部26を、SG108によって作成した第二サブシステムモデルM2の演算を実行する高速演算部26bおよびI/F26aとして構成するためのネットリスト207を第二サブシステムモデルM2から生成するモジュールであって、ホストコンピュータ10をネットリスト生成手段として機能させる。またISE107は、ユーザロジック部26を定義するネットリスト207と第一プロセッサ21を定義するネットリストと第二プロセッサ24を定義するネットリストとから二進数表現の1つのFPGA実装ファイル(コンフィギュレーションファイル)を生成する。尚、第一プロセッサ21を定義するネットリストと第二プロセッサ24を定義するネットリストとは、予め組み込んでおく。
The
モデリング支援プログラム104は、第二サブシステムモデルM2にデータ転送ブロック106を挿入するとともに、第二サブシステムモデルM2が参照する第一サブシステムモデルM1の情報を第一サブシステムモデルM1から参照情報105として取得するモジュールであって、ホストコンピュータ10をデータ転送ブロック挿入手段およびファイル管理手段として機能させる。
The
3.HILS装置の構成
図2に示すように、HILS装置20は、FPGA29、ホストコンピュータ10との通信を制御するI/O22、電子制御ユニット30との通信を制御するI/O27、28の他、図示しない記憶媒体等を備えている。ホストコンピュータ10によって生成されたFPGA実装ファイル、通信プログラム203および演算プログラム206をHILS装置20にロードすることによって、HILS装置20の各種の機能が実現される。
3. Configuration of HILS Device As shown in FIG. 2, the
FPGA29は、図示しない複数のI/O部、複数のロジックセル、内部配線、クロックネットワーク、複数のSRAM、複数のデュアルポートブロックRAMなどを備えたPLD(Programmable Logic Device)である。FPGA29のこれらの構成要素は第一プロセッサ21と、第二プロセッサ24と、I/F23と、ユーザロジック部26と、第一プロセッサ21および第二プロセッサ24の図示しないバスやタイマなどを構成する。第一プロセッサ21と、第二プロセッサ24と、I/F23と、ユーザロジック部26とは、ホストコンピュータ10によって生成されたFPGA実装ファイルをFPGA29に実装することによって、ネットリストによって定義された機能を備える電子回路として構成される。
The
非リアルタイムプロセッサとして機能する第一プロセッサ21は、非リアルタイムオペレーティングシステムであるLinux(登録商標)201の上でDown Loader(以下、DLと略記する。)203を実行することにより、通信プログラム203および演算プログラム206をHILS装置20の図示しない不揮発性記憶媒体に格納する。通信プログラム203および演算プログラム206は、DL203によってロードされ、それぞれが第一プロセッサ21および第二プロセッサ24によって実行可能な状態になる。
The
第一プロセッサ21は、Linux201の上で通信プログラム203を実行することによりホストコンピュータ10と通信しながら第一サブシステムモデルM1の入出力を実行する非リアルタイムシステムを構成するMicro Blaze(登録商標)コアである。通信プログラム203は、第一サブシステムモデルM1に基づいてRTW103が生成する実行形式のシミュレーションプログラムのうちの1つであって、第一サブシステムモデルM1の入出力を制御する。
The
リアルタイムプロセッサとして機能する第二プロセッサ24は、リアルタイムオペレーティングシステムであるμITRON準拠のRTOS205の上でMonitor204および演算プログラム206を実行することによりリアルタイムシステムを構成するPower PC(登録商標)コアである。第二プロセッサ24によって構成されるリアルタイムシステムは、第一プロセッサ21によって構成される非リアルタイムシステムと、ユーザロジック部26の高速演算部26bと、電子制御ユニット30と通信しながら第一サブシステムモデルM1の演算を実行する。Monitor204は主に通信を制御する。演算プログラム206は第一サブシステムモデルM1に基づいてRTW103が生成する実行形式のシミュレーションプログラムのうちの1つであって、第一サブシステムモデルM1の演算を制御する。第二プロセッサ24と第一プロセッサ21との通信はI/F23を介して行われる。第二プロセッサ24と高速演算部26bとの通信はI/F26aを介して行われる。第二プロセッサ24と電子制御ユニット30との通信はI/O27を介して行われる。
The
ユーザロジック部26は、ISE107によって生成されるFPGA実装ファイルがFPGA29に実装されると第二プロセッサ24と電子制御ユニット30と通信しながら第二サブシステムモデルM2の演算を実行する専用処理回路を構成する。すなわちユーザロジック部26は、SG108を用いてユーザが作成するブロック線図型モデルによって任意の回路が定義されるFPGA29の一部の領域である。ユーザロジック部26と電子制御ユニット30との通信はI/O28を介して行われる。
When the FPGA mounting file generated by the
ユーザロジック部26には、第二サブシステムモデルM2の実世界の対象システムに対応する部分の演算を行う高速演算部26bと、第二サブシステムモデルM2の実世界の対象システムに対応しない部分であるデータ転送ブロック106に対応するI/F26aとがネットリスト207に応じて構成される。
The
ユーザロジック部26のI/F26aは、第二プロセッサ24と高速演算部26bとの間においてデータを転送するバスとバスマスタとを備えている。データ転送部として機能するI/F26aのモデルはデータ転送ブロック106として第二サブシステムモデルM2に組み込まれるため、I/F26aにおいて転送遅延が生じるとしても、第一サブシステムモデルM1と第二サブシステムモデルM2との同期が保証される。したがって、HILS装置20によるシミュレーション演算の精度が向上し、ホストコンピュータ10によるSILS演算の結果とHILS装置20によるHILS演算の結果の差が低減される。
The I /
図3は第一プロセッサ21と第二プロセッサ24との間でデータ転送を行うためのI/F23の構成を示すブロック図である。緩衝インタフェースとして機能するI/F23の各ブロックは、IPコアによって構成されている。図3においてはIPコアによって構成されている各ブロックにIPコアの一般略称を付すことにより各ブロックの機能を示している。DPRAM23b、23d、23hは、同時に読み出しと書き込みができるデュアルポートのブロックRAMである。BRAM−CNTR23a、23e、23g、23jは、ブロックRAMにデータを書き込み、ブロックRAMからデータを読み出す。GPIO23f、23iは第一プロセッサ21と第二プロセッサ24とによって緩衝記憶部23cを制御するための各種の制御信号とフラグの書き込みと読み込みに用いられる。
FIG. 3 is a block diagram showing a configuration of the I /
非リアルタイムシステムを構成する第一プロセッサ21からリアルタイムシステムを構成する第二プロセッサへのデータ転送は、第一プロセッサ21によって制御されるBRAM−CNTR23gと、第二プロセッサ24によって制御されるBRAM−CNTR23jとによって読み出しと書き込みが制御されるDPRAM23hを介して行われる。すなわちDPRAM23hを共有メモリとして利用することにより第一プロセッサ21から第二プロセッサ24へデータを転送する。
Data transfer from the
リアルタイムシステムを構成する第二プロセッサ24から非リアルタイムシステムを構成する第一プロセッサ21へのデータ転送は、緩衝記憶部23cを介して行われる。緩衝記憶部23cは、FIFO(First In First Out)の記憶回路である。GPIO23iは第二プロセッサ24から緩衝記憶部23cを制御するための緩衝記憶制御部として機能する。GPIO23fは第一プロセッサ21から緩衝記憶部23cを制御するための緩衝記憶制御部として機能する。緩衝記憶部23cに書き込まれるデータはBRAM−CNTR23eを介して第二プロセッサ24によって利用されるDPRAM23dにいったん書き込まれる。緩衝記憶部23cから読み出されるデータはBRAM−CNTR23aを介して第一プロセッサ21によって利用されるDPRAM23bにいったん書き込まれる。
Data transfer from the
リアルタイムシステムを構成する第二プロセッサ24によって利用されるDPRAM23dには、第一プロセッサ21の状態とは無関係にデータが書き込まれ、DPRAM23dに書き込まれたデータが所定量蓄積されると、そのデータが緩衝記憶部23cに書き込まれる。非リアルタイムシステムを構成する第一プロセッサ21がDPRAM23bに記憶されているデータを読み出すとき、緩衝記憶部23cに記憶されているデータのうち最も古いデータがDPRAM23bに書き込まれる。緩衝記憶部23cは自分自身の容量分までのデータを蓄積できるため、第一プロセッサ21によって構成される非リアルタイムシステムがデータを受け取ることが可能ではない状態でも第二プロセッサ24が構成するリアルタイムシステムはデータをいったん緩衝記憶部23cに引き渡すことができる。このため、第一プロセッサ21と第二プロセッサ24を効率良く利用できる。
Data is written in the
4.シミュレーション方法
図4はシミュレーションシステム1を用いて実世界の対象システムの応答を検証するためのシミュレーション方法を示すシーケンスチャートである。
はじめにホストコンピュータ10においてSimulink102のGUIを操作することにより、第一サブシステムモデルM1と第二サブシステムモデルM2とを統合したブロック線図型モデルを作成する(ステップS10)。SG108によってSimulink102のGUIに組み込まれたSGブロックを用いて第二サブシステムモデルM2が作成されるとき、第二サブシステムモデルM2に対応するHDLが記述される。モデリング支援プログラム104によってSimulink102のGUIに組み込まれたメニュー項目を操作することにより、図2に示すようにデータ転送ブロック106が第二サブシステムモデルM2に挿入される。データ転送ブロック106に対応したHDLはSG108によって記述される。またこのとき、モデリング支援プログラム104は、Simulink102によって第一サブシステムモデルM1が保存されるファイルから、第二サブシステムモデルM2の演算に必要な参照情報105を抽出し、SG108によって第二サブシステムモデルM2が保存されるファイルにその参照情報105を格納する。
4). Simulation Method FIG. 4 is a sequence chart showing a simulation method for verifying the response of the target system in the real world using the
First, the
次にホストコンピュータ10において第一サブシステムモデルM1から通信プログラム203のソースファイルと演算プログラム206のソースファイルとを生成する(ステップS11)。これらのソースファイルはC言語によって記述され、RTW103を実行することによって生成される。このとき、ユーザは第一サブシステムモデルM1と第二サブシステムモデルM2とが互いに独立した別個のファイルに保存されているため、第二サブシステムモデルM2を編集することなく、通信プログラム203のソースファイルと演算プログラム206のソースファイルを生成することができる。
Next, the
次にホストコンピュータ10において通信プログラム203のソースファイルと演算プログラム206のソースファイルとをコンパイルし、実行形式の通信プログラム203と演算プログラム206とを生成する(ステップS12)。この処理はRTW103の実行によって行われる。
Next, the
次にホストコンピュータ10において第二サブシステムモデルM2に対応するHDLからFPGA29のユーザロジック部26を定義するためのネットリスト207を生成し、ネットリスト207と第一プロセッサ21を定義するネットリストと第二プロセッサ24を定義するネットリストとから二進数表現の1つのFPGA実装ファイルを生成する(ステップS13)。FPGA実装ファイルはISE107を実行することによって生成される。
Next, the
次にホストコンピュータ10からHILS装置20にFPGA実装ファイルをダウンロードする(ステップS14)。このとき、FPGA29の機能がネットリストに応じて定義される。
Next, the FPGA mounting file is downloaded from the
次にホストコンピュータ10からHILS装置20に通信プログラム203および演算プログラム206をダウンロードする(ステップS16)。このとき図2に示すDL202によって通信プログラム203および演算プログラム206がHILS装置20の不揮発性記憶媒体の所定の領域にダウンロードされる。
Next, the
次にホストコンピュータ10のGUIを操作することによって、第一サブシステムモデルM1と第二サブシステムモデルM2とが統合されたブロック線図型モデルの演算をHILS装置20において実行するための操作コマンドがホストコンピュータ10からHILS装置20に送信される(ステップS18)。この操作コマンドは通信プログラム203を実行する第一プロセッサ21が構成する非リアルタイムシステムが受信する。
Next, by operating the GUI of the
操作コマンドを受信したHILS装置20は第一サブシステムモデルM1と第二サブシステムモデルM2とが統合されたブロック線図型モデルの演算を実行する(ステップS19)。この演算は演算プログラム206を実行する第二プロセッサ24が構成するリアルタイムシステムとネットリスト207によって定義された高速演算部26bとによって実行される。このとき、ネットリスト207によって定義された高速演算部26bはハードウエア論理によって演算するため高速に第二サブシステムモデルM2の演算を実行できる。また高速演算部26bと第二プロセッサ24との間のデータ転送を行うI/F26aのモデルがブロック線図型モデルに予め組み込まれているため、高速演算部26bと第二プロセッサ24とは同期してそれぞれの演算を実行する。このため、HILS装置20によるシミュレーション演算の精度は高く、HILS装置20によるHILS演算の結果はホストコンピュータ10によるSILS演算の結果と一致する。
The
次にHILS装置20におけるブロック線図型モデルの演算結果がHILS装置20からホストコンピュータ10に送信される(ステップS20)。この処理は通信プログラム203を実行する第一プロセッサ21が構成する非リアルタイムシステムによって実行される。
Next, the calculation result of the block diagram type model in the
ホストコンピュータ10はHILS装置20によるブロック線図型モデルの演算の結果を受信すると、その結果をディスプレイ14aに表示する(ステップS21)。
When the
5.他の実施形態
本発明の技術的範囲は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。例えば、シミュレーション支援装置とHILS端末とを別個独立の2つのコンピュータによって構成しても良い。また本発明はSystem Generator以外の例えばDsp Builder等のモデリングツールに適用することもできる。また本発明によるシミュレーションシステムは、電気信号が応答として検証される実世界の様々なシステムのプロトタイピングに適用されることにより、その高い演算精度と高速性能が顕著に発揮される。
5). Other Embodiments The technical scope of the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the present invention. For example, the simulation support apparatus and the HILS terminal may be configured by two independent computers. The present invention can also be applied to modeling tools such as Dsp Builder other than the System Generator. Further, the simulation system according to the present invention is remarkably exhibited in its high calculation accuracy and high-speed performance by being applied to prototyping of various systems in the real world where electric signals are verified as responses.
1:シミュレーションシステム、10:ホストコンピュータ、11:プロセッサ、14a:ディスプレイ、15a:キーボード、15b:マウス、20:HILS装置、21:第一プロセッサ、23:I/F、23b:デュアルポートRAM、23c:緩衝記憶部、23d:デュアルポートRAM、23f:GPIO、23h:デュアルポートRAM、23i:GPIO、24:第二プロセッサ、26:ユーザロジック部、26a:I/F、26b:高速演算部、30:電子制御ユニット、104:モデリング支援プログラム、105:参照情報、106:データ転送ブロック、203:通信プログラム、206:演算プログラム、207:ネットリスト、M1:第一サブシステムモデル、M2:第二サブシステムモデル 1: simulation system, 10: host computer, 11: processor, 14a: display, 15a: keyboard, 15b: mouse, 20: HILS device, 21: first processor, 23: I / F, 23b: dual port RAM, 23c : Buffer storage unit, 23d: dual port RAM, 23f: GPIO, 23h: dual port RAM, 23i: GPIO, 24: second processor, 26: user logic unit, 26a: I / F, 26b: high speed calculation unit, 30 : Electronic control unit, 104: modeling support program, 105: reference information, 106: data transfer block, 203: communication program, 206: calculation program, 207: netlist, M1: first subsystem model, M2: second sub System model
Claims (10)
プロセッサ対応ブロックが結線された第一サブシステムモデルとFPGA対応ブロックが結線された第二サブシステムモデルとが統合された前記ブロック線図型モデルを作成するためのモデル作成手段と、
前記第一サブシステムモデルからシミュレーションプログラムを生成するプログラム生成手段と、
前記第二サブシステムモデルからネットリストを生成するネットリスト生成手段と、
を備えるシミュレーション支援装置と、
FPGAを備えるHILS装置と、
前記HILS装置を操作するとともに前記HILS装置の出力を表示するHILS端末と、
を備え、
前記FPGAは、
前記シミュレーションプログラムを実行することにより、前記HILS端末と通信しながら前記第一サブシステムモデルの入出力を実行する非リアルタイムシステムを構成する非リアルタイムプロセッサと、
前記ネットリストによって定義されることにより前記電子制御ユニットと通信しながら前記第二サブシステムモデルの演算を実行する高速演算部を構成するユーザロジック部と、
前記シミュレーションプログラムを実行することにより、前記電子制御ユニットと前記非リアルタイムシステムと前記高速演算部と通信しながら前記第一サブシステムモデルの演算を実行するリアルタイムシステムを構成するリアルタイムプロセッサと、
を備える、
シミュレーションシステム。 A simulation system for verifying a response of the target system using a block diagram model representing the target system controlled by an electronic control unit,
Model creation means for creating the block diagram model in which the first subsystem model to which the processor corresponding block is connected and the second subsystem model to which the FPGA corresponding block is connected is integrated;
Program generation means for generating a simulation program from the first subsystem model;
Netlist generating means for generating a netlist from the second subsystem model;
A simulation support apparatus comprising:
An HILS device comprising an FPGA;
A HILS terminal for operating the HILS device and displaying the output of the HILS device;
With
The FPGA is
A non-real-time processor constituting a non-real-time system for executing input / output of the first subsystem model while communicating with the HILS terminal by executing the simulation program;
A user logic unit constituting a high-speed calculation unit that executes the calculation of the second subsystem model while communicating with the electronic control unit by being defined by the netlist;
By executing the simulation program, a real-time processor constituting a real-time system that executes computation of the first subsystem model while communicating with the electronic control unit, the non-real-time system, and the high-speed computation unit;
Comprising
Simulation system.
前記ユーザロジック部には、前記ネットリストによって定義されることにより前記データ転送部が構成される、
請求項1に記載のシミュレーションシステム。 The simulation support apparatus includes a data transfer block insertion means for inserting a data transfer block that simulates an operation of a data transfer unit that transfers data between the real-time processor and the high-speed calculation unit into the second subsystem model. With
In the user logic unit, the data transfer unit is configured by being defined by the netlist.
The simulation system according to claim 1.
請求項1に記載のシミュレーションシステム。 The HILS apparatus includes a buffer storage unit and a buffer interface that transfers data from the real-time processor to the non-real-time processor via the buffer storage unit.
The simulation system according to claim 1.
前記緩衝記憶部と前記非リアルタイムプロセッサとの間に配置され前記非リアルタイムプロセッサが利用する第一デュアルポートRAMと、
前記緩衝記憶部と前記リアルタイムプロセッサとの間に配置され前記リアルタイムプロセッサが利用する第二デュアルポートRAMと、
前記非リアルタイムプロセッサと前記リアルタイムプロセッサとから前記緩衝記憶部を制御するための緩衝記憶制御部と、
前記非リアルタイムプロセッサと前記リアルタイムプロセッサとの間に配置され前記非リアルタイムプロセッサと前記リアルタイムプロセッサとが利用する第三デュアルポートRAMと、
を備える請求項3に記載のシミュレーションシステム。 The buffer interface is
A first dual port RAM disposed between the buffer storage unit and the non-real-time processor and used by the non-real-time processor;
A second dual-port RAM that is disposed between the buffer storage unit and the real-time processor and used by the real-time processor;
A buffer storage control unit for controlling the buffer storage unit from the non-real-time processor and the real-time processor;
A third dual-port RAM disposed between the non-real-time processor and the real-time processor and used by the non-real-time processor and the real-time processor;
The simulation system according to claim 3.
請求項1〜4のいずれか一項に記載のシミュレーションシステム。 The simulation support apparatus independently generates a first file in which the first subsystem model is stored and a second file in which the second subsystem model is stored and is necessary for the calculation of the second subsystem model File management means for storing the information of the first subsystem model in the second file,
The simulation system according to any one of claims 1 to 4.
プロセッサ対応ブロックが結線された第一サブシステムモデルとFPGA対応ブロックが結線された第二サブシステムモデルとが統合された前記ブロック線図型モデルを作成し、
前記第一サブシステムモデルからシミュレーションプログラムを生成し、
前記第二サブシステムモデルからネットリストを生成し、
FPGAの一部で構成された第一プロセッサにより前記シミュレーションプログラムを実行することにより、前記HILS端末と通信しながら前記第一サブシステムモデルの入出力を実行する非リアルタイムシステムを構成し、
前記ネットリストによって定義されることにより前記電子制御ユニットと通信しながら前記第二サブシステムモデルの演算を実行する高速演算部を構成し、
FPGAの一部で構成された第二プロセッサにより前記シミュレーションプログラムを実行することにより、前記電子制御ユニットと前記非リアルタイムシステムと前記高速演算部と通信しながら前記第一サブシステムモデルの演算を実行するリアルタイムシステムを構成し、
前記HILS端末において前記HILS装置を操作するとともに前記HILS装置の出力を表示する、
ことを含むシミュレーション方法。 A simulation method for verifying a response of the target system using a block diagram model representing the target system controlled by an electronic control unit,
Creating the block diagram model in which the first subsystem model in which processor-compatible blocks are connected and the second subsystem model in which FPGA-compatible blocks are connected are integrated;
Generating a simulation program from the first subsystem model;
Generating a netlist from the second subsystem model;
A non-real-time system that executes input / output of the first subsystem model while communicating with the HILS terminal is configured by executing the simulation program by a first processor configured by a part of an FPGA,
A high-speed calculation unit that executes the calculation of the second subsystem model while communicating with the electronic control unit by being defined by the netlist,
Execution of the first subsystem model while communicating with the electronic control unit, the non-real-time system, and the high-speed arithmetic unit by executing the simulation program by a second processor configured by a part of the FPGA Configure real-time system,
Operating the HILS device at the HILS terminal and displaying the output of the HILS device;
A simulation method including:
前記第一サブシステムモデルから生成されたシミュレーションプログラムを実行することにより、前記HILS端末と通信しながら前記第一サブシステムモデルの入出力を実行する非リアルタイムシステムを構成する非リアルタイムプロセッサと、
前記第二サブシステムモデルから生成されたネットリストによって定義されることにより前記電子制御ユニットと通信しながら前記第二サブシステムモデルの演算を実行する高速演算部を構成するユーザロジック部と、
前記シミュレーションプログラムを実行することにより、前記電子制御ユニットと前記非リアルタイムシステムと前記高速演算部と通信しながら前記第一サブシステムモデルの演算を実行するリアルタイムシステムを構成するリアルタイムプロセッサと、
を備えるFPGAを備える、
HILS装置。 A block diagram model representing a target system controlled by an electronic control unit, in which a first subsystem model in which processor-compatible blocks are connected and a second subsystem model in which FPGA-compatible blocks are connected are integrated A HILS apparatus for verifying a response of the target system using the block diagram type model,
A non-real-time processor constituting a non-real-time system for executing input / output of the first subsystem model while communicating with the HILS terminal by executing a simulation program generated from the first subsystem model;
A user logic unit that configures a high-speed calculation unit that executes the calculation of the second subsystem model while communicating with the electronic control unit by being defined by a netlist generated from the second subsystem model;
By executing the simulation program, a real-time processor constituting a real-time system that executes the calculation of the first subsystem model while communicating with the electronic control unit, the non-real-time system, and the high-speed calculation unit;
Comprising an FPGA comprising
HILS equipment.
FPGAに備わるプロセッサによって実行されるシミュレーションプログラムを前記第一サブシステムモデルから生成するプログラム生成手段と、
前記電子制御ユニットと通信しながら前記第二サブシステムモデルの演算を実行する高速演算部を構成する前記FPGAのユーザロジック部を定義するネットリストを前記第二サブシステムモデルから生成するネットリスト生成手段と、
前記リアルタイムプロセッサと前記高速演算部との間においてデータを転送するデータ転送部の作動を模擬するデータ転送ブロックを前記第二サブシステムモデルに挿入するためのデータ転送ブロック挿入手段と、
を備えるシミュレーション支援装置。 A block diagram model representing a target system controlled by an electronic control unit, in which a first subsystem model in which processor-compatible blocks are connected and a second subsystem model in which FPGA-compatible blocks are connected are integrated Model creation means for creating the block diagram type model;
Program generation means for generating a simulation program to be executed by a processor included in the FPGA from the first subsystem model;
Netlist generating means for generating a netlist defining a user logic unit of the FPGA constituting a high-speed calculation unit that executes the calculation of the second subsystem model while communicating with the electronic control unit from the second subsystem model When,
A data transfer block inserting means for inserting a data transfer block for simulating an operation of a data transfer unit for transferring data between the real-time processor and the high-speed arithmetic unit into the second subsystem model;
A simulation support apparatus comprising:
前記リアルタイムプロセッサと前記高速演算部との間においてデータを転送するデータ転送部の作動を模擬するデータ転送ブロックを前記第二サブシステムモデルに挿入する、
ことを含むシミュレーション支援方法。 A block diagram model representing a target system controlled by an electronic control unit, in which a first subsystem model in which processor-compatible blocks are connected and a second subsystem model in which FPGA-compatible blocks are connected are integrated A model creating means for creating the block diagram type model, a program generating means for generating a simulation program executed by a processor included in the FPGA from the first subsystem model, and the electronic control unit And a netlist generating means for generating a netlist defining the user logic part of the FPGA constituting the high-speed arithmetic unit cooperating with the processor from the second subsystem model. There is provided a method,
Inserting a data transfer block that simulates an operation of a data transfer unit that transfers data between the real-time processor and the high-speed calculation unit into the second subsystem model;
A simulation support method including the above.
前記リアルタイムプロセッサと前記高速演算部との間においてデータを転送するデータ転送部を前記第二サブシステムモデルに挿入するためのデータ転送ブロック挿入手段として前記コンピュータを機能させる、
シミュレーション支援プログラム。 A block diagram model representing a target system controlled by an electronic control unit, in which a first subsystem model in which processor-compatible blocks are connected and a second subsystem model in which FPGA-compatible blocks are connected are integrated A model creating means for creating the block diagram type model, a program generating means for generating a simulation program executed by a processor included in the FPGA from the first subsystem model, and the electronic control unit A simulation support program executed by a computer functioning as netlist generating means for generating a netlist defining the user logic part of the FPGA constituting the high-speed arithmetic unit cooperating with the processor from the second subsystem model A-time,
Causing the computer to function as data transfer block insertion means for inserting a data transfer unit for transferring data between the real-time processor and the high-speed calculation unit into the second subsystem model;
Simulation support program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008177810A JP5297707B2 (en) | 2008-07-08 | 2008-07-08 | Simulation system and simulation method, HILS apparatus, and simulation support apparatus, method and program. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008177810A JP5297707B2 (en) | 2008-07-08 | 2008-07-08 | Simulation system and simulation method, HILS apparatus, and simulation support apparatus, method and program. |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010020384A true JP2010020384A (en) | 2010-01-28 |
JP5297707B2 JP5297707B2 (en) | 2013-09-25 |
Family
ID=41705240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008177810A Expired - Fee Related JP5297707B2 (en) | 2008-07-08 | 2008-07-08 | Simulation system and simulation method, HILS apparatus, and simulation support apparatus, method and program. |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5297707B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101325594B1 (en) | 2013-08-27 | 2013-11-06 | 국방과학연구소 | Power emulator based open system integration lab system |
KR101862221B1 (en) | 2016-04-25 | 2018-05-30 | 한국항공우주산업 주식회사 | Flight control law simulation method and apparatus |
JP2019046477A (en) * | 2017-09-06 | 2019-03-22 | ディスペース デジタル シグナル プロセッシング アンド コントロール エンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH | Method for providing real-time simulation part for control unit development and simulator for control unit development |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104533701B (en) * | 2014-12-23 | 2017-03-08 | 华中科技大学 | A kind of automatic setting method of Turbine Governor System control parameter |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006318200A (en) * | 2005-05-12 | 2006-11-24 | Dsp Technology Kk | Block diagram type simulation model creation device, real-time simulation execution device and library |
JP2006350549A (en) * | 2005-06-14 | 2006-12-28 | Hitachi Ltd | Integrated simulation system |
-
2008
- 2008-07-08 JP JP2008177810A patent/JP5297707B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006318200A (en) * | 2005-05-12 | 2006-11-24 | Dsp Technology Kk | Block diagram type simulation model creation device, real-time simulation execution device and library |
JP2006350549A (en) * | 2005-06-14 | 2006-12-28 | Hitachi Ltd | Integrated simulation system |
Non-Patent Citations (2)
Title |
---|
CSNG200700957008; 斗納 宏敏: '自動車制御におけるリアルタイムシミュレーションの動向' 電子情報通信学会技術研究報告 第106巻 第367号, 20061113, p.71-75, 社団法人電子情報通信学会 * |
JPN6013025752; 斗納 宏敏: '自動車制御におけるリアルタイムシミュレーションの動向' 電子情報通信学会技術研究報告 第106巻 第367号, 20061113, p.71-75, 社団法人電子情報通信学会 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101325594B1 (en) | 2013-08-27 | 2013-11-06 | 국방과학연구소 | Power emulator based open system integration lab system |
KR101862221B1 (en) | 2016-04-25 | 2018-05-30 | 한국항공우주산업 주식회사 | Flight control law simulation method and apparatus |
JP2019046477A (en) * | 2017-09-06 | 2019-03-22 | ディスペース デジタル シグナル プロセッシング アンド コントロール エンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH | Method for providing real-time simulation part for control unit development and simulator for control unit development |
Also Published As
Publication number | Publication date |
---|---|
JP5297707B2 (en) | 2013-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8412918B1 (en) | Booting mechanism for FPGA-based embedded system | |
US5991523A (en) | Method and system for HDL global signal simulation and verification | |
US7930162B1 (en) | Accelerating hardware co-simulation using dynamic replay on first-in-first-out-driven command processor | |
US10586003B1 (en) | Circuit design using high level synthesis and linked hardware description language libraries | |
US20100218146A1 (en) | Synthesis using multiple synthesis engine configurations | |
US8387005B1 (en) | Generation of multi-domain code from a graphical program | |
WO2007120888A2 (en) | Simulation of power domain isolation | |
US9304840B2 (en) | Message-based modeling | |
JP6289751B2 (en) | Program generating apparatus, program generating method, and program generating program | |
EP1966730A2 (en) | System and method for generating a plurality of models at different levels of abstraction from a single master model | |
US10387584B1 (en) | Streaming on hardware-software platforms in model based designs | |
EP3356966B1 (en) | Interactive multi-step physical synthesis | |
JP5297707B2 (en) | Simulation system and simulation method, HILS apparatus, and simulation support apparatus, method and program. | |
Bazydlo et al. | Translation UML diagrams into Verilog | |
US9946823B2 (en) | Dynamic control of design clock generation in emulation | |
US8082139B1 (en) | Displaying signals of a design block emulated in hardware co-simulation | |
US20090150137A1 (en) | Method for generating performance evaluation model | |
US9824173B1 (en) | Software development-based compilation flow for hardware implementation | |
EP3923133A1 (en) | Systems and methods for generating service access points for rte services in code or other rte service information for use with the code | |
US8600722B1 (en) | Method and apparatus for providing program-based hardware co-simulation of a circuit design | |
US20150379178A1 (en) | Implementing a constant in fpga code | |
Melnyk | Self-Configurable FPGA-Based Computer Systems: Basics and Proof of Concep | |
Biancolin et al. | Accessible, FPGA resource-optimized simulation of multiclock systems in firesim | |
US10657210B2 (en) | Slack time recycling | |
US20040153301A1 (en) | Integrated circuit development methodology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110526 |
|
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: 20130528 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130617 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5297707 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |