JP2014216031A - ハードウェアコンポーネントのi/oチャネルのフレキシブルな分配方法 - Google Patents

ハードウェアコンポーネントのi/oチャネルのフレキシブルな分配方法 Download PDF

Info

Publication number
JP2014216031A
JP2014216031A JP2014093383A JP2014093383A JP2014216031A JP 2014216031 A JP2014216031 A JP 2014216031A JP 2014093383 A JP2014093383 A JP 2014093383A JP 2014093383 A JP2014093383 A JP 2014093383A JP 2014216031 A JP2014216031 A JP 2014216031A
Authority
JP
Japan
Prior art keywords
application
fpga
channels
subset
creating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014093383A
Other languages
English (en)
Other versions
JP6489760B2 (ja
Inventor
シュテファンメアテン
Merten Stefan
メアテン シュテファン
シュレンガー マーク
Schlenger Marc
シュレンガー マーク
ロス ホルガー
Ross Holger
ロス ホルガー
メアテンス フランク
Mertens Frank
メアテンス フランク
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.)
Dspace Digital Signal Processing and Control Engineering GmbH
Original Assignee
Dspace Digital Signal Processing and Control Engineering GmbH
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 Dspace Digital Signal Processing and Control Engineering GmbH filed Critical Dspace Digital Signal Processing and Control Engineering GmbH
Publication of JP2014216031A publication Critical patent/JP2014216031A/ja
Application granted granted Critical
Publication of JP6489760B2 publication Critical patent/JP6489760B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven

Abstract

【課題】FPGA及びプロセッサが実行中にI/Oチャネルと通信することができ、且つ、ハードウェアコンポーネントの利用可能なI/OチャネルをFPGA及びプロセッサに自由に分配することができる、ハードウェアコンポーネントのフレキシブルな使用を実現する方法を提供する。
【解決手段】FPGA(3)による操作のための、I/Oチャネル(2)の第1のサブセット(9)を選択するステップと、FPGAにおいて実行するための第1のアプリケーションを作成するステップと、プロセッサ(4)による操作のための、I/Oチャネルの第2のサブセット(10)を選択するステップと、プロセッサにおいて実行するための第2のアプリケーションを作成するステップとを備えており、第1のアプリケーションを作成するステップは、I/Oチャネルの第2のサブセットを通信インタフェース(5)に接続するためのコードの作成を含む。
【選択図】図2

Description

本発明は、プロセッサと、そのプロセッサと通信インタフェースを介して接続されているFPGAと、そのFPGAに接続されている複数のI/O(入出力)チャネルとを備えている、測定システム、開ループ制御システム又は閉ループ制御システムのハードウェアコンポーネントのためのソフトウェアの作成方法に関する。同様に、本発明は、適切なデータ処理装置にロード及び実行された後に、上記の方法のステップを実施する、コンピュータ実行可能な命令を備えているコンピュータプログラム製品、並びに、上記の方法をプログラミング可能なデータ処理装置において実行できるように、データ処理装置と協働することができる、電子的に読み出し可能な制御信号を有しているディジタル記憶媒体に関する。更に本発明は、その種のハードウェアコンポーネントの運転方法並びに本方法を実行するためのハードウェアコンポーネントに関する。
複雑で動的モデルのリアルタイムシミュレーションは、時間的な基本条件自体が厳格であることに基づき、現代の計算ノードに高い要求を課している。その種のモデルは例えば自動車のハードウェア・イン・ザ・ループ(HiL)において使用され、そこには高速の制御回路が接続されなければならない。これは例えば、燃料消費量又は排ガスの低減において一層重要な役割を担うシリンダ内圧センサをシミュレーションする場合である。しかしながら、高いダイナミクスを有しいている制御区間においても、例えば電気モータにおいても、短い周期時間及び僅かな待ち時間が不可欠である。それらをCPUベースのシミュレーションで実現することは実際のところほぼ不可能である。
フィールド・プログラマブル・ゲート・アレイ(FPGA:Field Programmable Gate Array)は、モデルの動的な部分の計算を担うことによって、リアルタイムシミュレーションにおいてハードウェアコンポーネントを支援することができる。高いフレキシビリティまた複数の信号の並列処理を実現できることから、FPGAの使用によって、厳格なリアルタイム要求も容易に満たすことができる。FPGAは一般的に、CPUのためのハードウェアアクセラレータとして使用することができる。
上述のハードウェアコンポーネントは、従来技術においては、二つの運転モードで使用される。第1の運転モードにおいては、FPGAに固定の機能がロードされ、それによってFPGAがコンフィギュレートされる。その固定の機能を介して、通信インタフェースにおける固定の機能環境がI/Oチャネルに提供され、それによって、I/Oチャネルをプロセッサにおけるアプリケーションにおいて使用することができる。ユーザはこの第1の運転モードにおいては専ら、モデルベースで作成されたプロセッサアプリケーション、例えばRTIブロックセットを用いて作業する。アプリケーションは完全にプロセッサにおいて実行され、また固定のFPGA機能を介してI/Oチャネルにアクセスする。
第2の運転モードにおいては、ユーザによってモデルベースで作成されたFPGAコードがFPGAにロードされ、このFPGAコードがFPGAにおいてI/Oチャネルを使用する。このFPGAコードは例えば、FPGAにおける制御モデルであるか、又はFPGAにおけるI/Oチャネルの前処理を表す。この運転モードにおいては、プロセッサはI/Oチャネルにアクセスしない。ユーザはこの運転モードにおいて、モデルベースで作成されたFPGAアプリケーション、例えばRTI FPGAプログラミング・ブロックセットを用いて作業する。プロセッサにおいては更に、FPGAアプリケーションと通信することができるプロセッサアプリケーションを実行することができる。もっとも、プロセッサアプリケーションは、固定の機能環境及び所定のインタフェースを有するI/Oチャネルを使用することはできない。
従って、上述の従来技術を基礎とする本発明の課題は、FPGA及びプロセッサが実行中にI/Oチャネルと通信することができ、且つ、ハードウェアコンポーネントの利用可能なI/OチャネルをFPGA及びプロセッサに自由に分配することができる、ハードウェアコンポーネントのフレキシブルな使用を実現する、冒頭で述べたような方法を提供することである。
本発明によれば、この課題は、独立請求項の特徴部分に記載されている構成によって解決される。本発明の有利な実施の形態は、従属請求項に記載されている。
従って、本発明によれば、プロセッサと、そのプロセッサと通信インタフェースを介して接続されているFPGAと、そのFPGAに接続されている複数のI/Oチャネルとを備えている、測定システム、開ループ制御システム又は閉ループ制御システムのハードウェアコンポーネントのためのソフトウェアの作成方法が提供され、この作成方法は、FPGAによる操作のためのI/Oチャネルの第1のサブセットを選択するステップと、FPGAにおいて実行するための第1のアプリケーションを作成するステップと、プロセッサによる操作のためのI/Oチャネルの第2のサブセットを選択するステップと、プロセッサにおいて実行するための第2のアプリケーションを作成するステップとを備えており、第1のアプリケーションを作成するステップは、I/Oチャネルの第2のサブセットを通信インタフェースに接続するためのコードの作成を含んでいる。
即ち、本発明の基本的な着想は、二つのアプリケーション、つまりプロセッサにおいて実行されるアプリケーション並びにFPGAにおいて実行されるアプリケーションを作成し、用途に応じてI/Oチャネルを任意にそれら二つのアプリケーションに分配することである。従って、FPGAにおける第1のアプリケーション(以下ではFPGAアプリケーションとも称する)は、そのタスクを実施するために必要とされるI/Oチャネルにのみアクセスする。残りのI/Oチャネルは通信インタフェースを介して、プロセッサにおける第2のアプリケーション(以下ではプロセッサアプリケーションとも称する)に提供される。これによって、古典的なモデルベースで作成された開ループ制御モデル、閉ループ制御モデル又は測定モデルを、モデルベースで作成されたFPGAモデルと組み合わさることができ、そのようなFPGAモデルは、FPGA技術に基づき、制御モデルのためのサブマイクロ秒の範囲の短いサイクル時間、又は、ハードウェアコンポーネントにおける測定用途のための非常に高性能の信号処理を実現する。
本方法においては、第1のサブセット及び第2のサブセットをそれぞれ必要に応じて選択することができる。択一的に、第1のサブセット及び第2のサブセットの内の一方のみが選択され、その都度の他方のサブセットが残存するI/Oチャネルのセットを形成することによって、第1のサブセット又は第2のサブセットの暗示的な選択を行うこともできる。
第1のサブセット又は第2のサブセットへのI/Oチャネルの選択を原則として任意の時点に行うことができる。例えば、最初にI/Oチャネルの第1のサブセットも第2のサブセットも選択することができ、それに続いて、第1のアプリケーション及び第2のアプリケーションを作成することができる。また、第1のサブセット又は第2のサブセットへのI/Oチャネルの選択を、対応する第1のアプリケーション又は第2のアプリケーションが実際に作成される前に行うことができるか、又は、第1のサブセット又は第2のサブセットへのI/Oチャネルの選択は、第1のアプリケーション又は第2のアプリケーションを作成するための各ステップのサブステップであっても良い。第1のアプリケーション及び第2のアプリケーションの作成の順序も基本的には任意である。I/Oチャネルはアナログ式のI/Oチャネルであるか、又はディジタル式のI/Oチャネルである。
本発明の有利な構成においては、I/Oチャネルの第2のサブセットを通信インタフェースに接続するためのコードを作成するステップは、第2のサブセットの複数のI/Oチャネルの内の少なくとも一つのI/Oチャネルと通信インタフェースとの間において信号処理を実施するためのコードの作成を含む。従って、例えば、一つのI/Oチャネルにおいて受信された入力値の前処理を、FPGAにおける高速処理によって実施することができ、その一方で別の評価ステップをフレキシブルにプロセッサにおいて実施することができる。
本発明の有利な構成においては、本方法はアプリケーションモデルの作成を含み、その場合、第1のアプリケーションを作成するステップはコードのモデルベースの自動的な作成を含む。モデリングは簡単なコード生成を実現し、それによって短時間の開発サイクルが実現される。有利には、FPGAにおける所望の機能をモデルベースでMatlab又はSimulinkにおいて作成するために、複数の機能ブロックが使用される。更に有利には、必要な数のI/Oチャネルがアプリケーションモデルに引き込まれ、事前に作成された機能に接続される。
本発明の有利な構成においては、I/Oチャネルの第2のサブセットを通信インタフェースに接続するためのコードを作成するステップは、複数のI/Oチャネルの内の第2のサブセットの一部であるI/Oチャネルを接続するためのコードの自動的な作成を含む。従って、ユーザは第2のサブセットのI/Oチャネルを、FPGAアプリケーションのモデリングの際に考慮しなくて良く、それらのI/Oチャネルは例えば事前設定に応じて通信インタフェースに自動的に接続される。
本発明の有利な構成においては、I/Oチャネルの第2のサブセットを通信インタフェースに接続するためのコードを作成するステップは、複数のI/Oチャネルの内の第2のサブセットの一部であるI/Oチャネルを接続するための、事前に合成されたコードの提供を含む。事前に合成されたコードは更に、第1のアプリケーションを作成するための時間を短縮することができる。事前に合成されたコードは、FPGAアプリケーションの一部となり、その際に、それらのコードをコンパイルする必要はない。事前に合成されたコードを別のコード要素と簡単に組み合わせることができ、このことはFPGAの種々の提供者のもとでフィット(Fitting)又は配置配線(Place & Route)と称される。続いて、コード全体をFPGAにロードすることができる。事前に合成されたコードは有利には既存のライブラリから取得される。
本発明の有利な構成においては、第1のアプリケーションを作成するステップは、第1のサブセットのI/Oチャネルの識別情報の提供を含む。第2のアプリケーションの作成時に、I/Oチャネルの選択を依然として使用可能なチャネルに制限するために、第1のサブセットの識別情報を使用することができ、このことは第2のアプリケーションの作成を簡単且つ確実に実現する。有利には、モデルベースのFPGAアプリケーション作成のためのモデリング環境が、アプリケーションモデルのためのハードウェアコンポーネントの全てのI/Oチャネルを提供する。FPGAアプリケーションのモデリングの後に、FPGAアプリケーションにおいては必要ないI/Oチャネルに関して、第2のアプリケーションに識別情報が提供され、これによって、第2のアプリケーションは、FPGAアプリケーションにおいては必要ない未使用のI/Oチャネルを所期のように使用することができる。
本発明の有利な構成においては、第1のアプリケーションを作成するステップは、第2のサブセットのI/Oチャネルの識別情報の受信を含む。第1のアプリケーションの作成時に、I/Oチャネルの選択を依然として使用可能なチャネルに制限するために、第2のサブセットの識別情報を使用することができ、このことは第1のアプリケーションの作成を簡単且つ確実に実現する。第2のアプリケーションにおいて必要ないI/Oチャネルに関して、第1のアプリケーションに識別情報を提供することができ、これによって、第1のアプリケーションは、プロセッサアプリケーションにおいては必要ない未使用のI/Oチャネルを所期のように使用することができる。
本発明の有利な構成においては、本方法は更にアプリケーションモデルを作成するステップを含み、その場合、第2のアプリケーションを作成するステップはコードのモデルベースの自動的な作成を含む。モデリングは簡単なコード生成を実現し、それによって短時間の開発サイクルが実現される。有利には、プロセッサにおける所望の機能をモデルベースでMatlab又はSimulinkにおいて作成するために、複数の機能ブロックが使用される。更に有利には、必要な数のI/Oチャネルがアプリケーションモデルに引き込まれ、事前に作成された機能に接続される。
有利には、アプリケーションモデルは第1のアプリケーション及び第2のアプリケーションを作成するための統一的なモデルである。しかしながら択一的に、第1のアプリケーションの作成と、第2のアプリケーションの作成とで異なるモデルを使用することもできる。
本発明の有利な構成においては、第2のアプリケーションを作成するステップは、第2のサブセットの識別情報の提供を含む。第1のアプリケーションの作成時に、I/Oチャネルの選択を依然として使用可能なチャネルに制限するために、第2のサブセットの識別情報を使用することができ、このことは第1のアプリケーションの作成を簡単且つ確実に実現する。有利には、モデルベースのプロセッサアプリケーション作成のためのモデリング環境が、アプリケーションモデルのためのハードウェアコンポーネントの全てのI/Oチャネルを提供する。プロセッサアプリケーションのモデリングの後に、プロセッサアプリケーションにおいては必要ないI/Oチャネルに関して、第1のアプリケーションに識別情報が提供され、これによって、第1のアプリケーションは、プロセッサアプリケーションにおいては必要ない未使用のI/Oチャネルを所期のように使用することができる。
本発明の有利な構成においては、第2のアプリケーションを作成するステップは、第1のサブセットの識別情報の受信を含む。第2のアプリケーションの作成時に、I/Oチャネルの選択を依然として使用可能なチャネルに制限するために、第1のサブセットの識別情報を使用することができ、このことは第2のアプリケーションの作成を簡単且つ確実に実現する。第1のアプリケーションにおいて必要ないI/Oチャネルに関して、第2のアプリケーションに識別情報を提供することができ、これによって、第2のアプリケーションは、FPGAアプリケーションにおいては必要ない未使用のI/Oチャネルを所期のように使用することができる。
更に本発明は、プロセッサと、そのプロセッサと通信インタフェースを介して接続されているFPGAと、そのFPGAに接続されている複数のI/Oチャネルとを備えている、測定システム、開ループ制御システム又は閉ループ制御システムのハードウェアコンポーネントの運転方法に関し、この運転方法は、上述の方法に従い作成されたソフトウェアをロードするステップと、ソフトウェアを実行するステップとを含み、ソフトウェアのロードは第1のアプリケーションのFPGAへのロードと、第2のアプリケーションのプロセッサへのロードとを含む。従って、二つのアプリケーション、つまりプロセッサにおいて実行されるアプリケーション並びにFPGAにおいて実行されるアプリケーションを処理し、用途に応じてI/Oチャネルを任意にそれら二つのアプリケーションに分配することができる。これによって、古典的な開ループ制御モデル、閉ループ制御モデル又は測定モデルと、モデルベースで作成されたFPGAモデルとの組み合わせを提供することができ、そのようなFPGAモデルは、FPGA技術に基づき、制御モデルのためのサブマイクロ秒の範囲の短いサイクル時間、又は、ハードウェアコンポーネントにおける測定用途のための非常に高性能の信号処理を実現する。
本発明の有利な構成においては、本方法は、FPGAを部分的にリコンフィギュレーションするステップを含む。特にアプリケーションを変更する場合には、FPGAに存在するコードに基づき一部だけ置換すれば良く、従ってFPGAを変更されたコードを用いて迅速に使用することができる。またそれによって、第1のアプリケーションが作成されるまでのアプリケーションモデルの時間が短縮される。何故ならば、相応にFPGAコードの一部だけが実行されれば良いからである。原則として、リコンフィギュレーションはFPGAコードの任意の部分に関連すると考えられ、従って事前に合成されたコードも含む。相応に、個々の要素を事前に実施してFPGAに書き込むことができるか、又は、先行して使用した後にそこに残すことができる。
更に本発明は、プロセッサと、そのプロセッサと通信インタフェースを介して接続されているFPGAと、そのFPGAに接続されている複数のI/Oチャネルとを備えている、測定システム、開ループ制御システム又は閉ループ制御システムのハードウェアコンポーネントに関し、このハードウェアコンポーネントは上記の方法を実行するために構成されている。
同様に本発明は、適切なデータ処理装置にロード及び実行された後に上述の方法を実施する、コンピュータ実行可能な命令を備えているコンピュータプログラム製品に関する。
更に本発明は、プログラミング可能なデータ処理装置において上述の方法が実行されるように、データ処理装置と協働することができる、電子的に読み出し可能な制御信号を有しているディジタル記憶媒体に関する。
以下では、添付の図面を参照しながら、有利な実施の形態に基づき本発明を詳細に説明する。
本発明の一つの実施の形態によるハードウェアコンポーネントを概略的に示す。 図1によるハードウェアコンポーネントと共に、本発明の一つの実施の形態による方法を実施するためのデータ処理装置を概略的に示す。 本発明の一つの実施の形態による方法のフローチャートを示す。 図3によるステップS2の詳細なフローチャートを示す。 図4によるステップS23の詳細なフローチャートを示す。 図3によるステップS3の詳細なフローチャートを示す。 図3によるステップS4の詳細なフローチャートを示す。
図1には、第1の実施の形態による、測定システム、開ループ制御システム又は閉ループ制御システムのハードウェアコンポーネント1が示されている。ハードウェアコンポーネント1はここでは例示的に、ラピッド・コントロール・プロトタイピング(RCP:Rapid Control Prototyping)用のデバイスであり、また複数のI/Oチャネル2、FPGA3及びプロセッサ4を含んでいる。I/Oチャネル2はFPGA3に接続されており、またFPGA3は通信インタフェース5を介してプロセッサ4と接続されている。この実施例において、ハードウェアコンポーネント1はI/Oチャネル2として全部で24個のADCと、16個のDACと、48xDIOとを有しており、図1においてはそれらの内の一部のみが示されている。
図2には、ハードウェアコンポーネント1の他に、高性能のコンピュータであるデータ処理装置6も示されている。データ処理装置6においては、第1のソフトウェアブロック7として、FPGA3をプログラミングするためのSimulinkブロックセットと、FPGA3において実行するための第1のアプリケーションを作成するためのXilinxツール(ISE,XSG)とを備えているFPGAプログラミング・ブロックセットが実装されており、また、第2のソフトウェアブロック8として、プロセッサ4において実行するための第2のアプリケーションを作成するためのRTIブロックセット又はSimulinkブロックセットが実装されている。
図3には、全体として、ハードウェアコンポーネント1のためのソフトウェアを作成し、また、ハードウェアコンポーネント1を運転させるための方法が示されている。この方法はステップS1から始まり、このステップS1においては、ユーザがアプリケーション、即ちハードウェアコンポーネント1のためのソフトウェアのモデリングを開始する。
ステップS2においては、FPGA3において実行するための第1のアプリケーションが作成される。このために先ず、図4に詳細に示されているように、ステップS21においてFPGAモデルが作成される。FPGA3における所望の機能をモデルベースでMatlab/Simulinkにおいて作成するために、XSGの機能ブロックが使用される。これに関して、FPGAプログラミング・ブロックセットはユーザにハードウェアコンポーネント1の全てのI/Oチャネル2を自由に使用させることができる。
ステップS22においては、ユーザによって、FPGA3による操作のためのI/Oチャネル2の第1のサブセット9、即ち、第1のアプリケーションと接続されているI/Oチャネル2が選択される。このためにユーザは、必要なI/Oチャネル2をFPGAプログラミング・ブロックセットからユーザのFPGAモデルに引き込み、それらのI/Oチャネル2をユーザが事前に作成した機能に接続する。例えばここでは、第1のサブセット9を形成する、8個のADC及び8個のDACがFPGAモデルにおいて使用されるが、図2においてはそれらの内の一部しか示していない。この実施例においては、プロセッサ4による操作のために、第1のサブセット9に属していないI/Oチャネル2のセットとして、I/Oチャネル2の第2のサブセット10が自動的に選択される。
ステップS23においては、FPGAモデルがコンパイルされる。これに関して、図5に示されているように、ステップS231においては、FPGAモデルによって使用されないI/Oチャネル2、この実施例においては16個のADC、8個のDAC及び24個のDIOには、FPGAプログラミング・ブロックセットによって、標準機能で自動的に割り当てられ、それにより、それらのI/Oチャネル2を後にRTIブロックセットによって、第2のアプリケーションを作成するために使用することができる。これについては下記において更に詳細に説明する。
ステップS232においては、FPGAコードが生成される。このFPGAコードの生成には、ユーザによって作成されたFPGAモデルについてのモデルベースの自動的なコードの形成、並びに、I/Oチャネル2の第2のサブセット10を通信インタフェース5に接続するためのコードの形成が含まれる。I/Oチャネル2の第2のサブセット10を通信インタフェース5に接続するためのコードは、I/Oチャネル2の第2のサブセット10のI/Oチャネル2を接続するための事前に合成されたコードを含み、このコードはライブラリから別の合成コードに付加される。 全てのコードの種々の構成要素の結合を、例えばAlteraのFPGAにおいては「フィット(Fit)」と称され、XilinxのFPGAでは「マップ及び配置配線(MAP+Place&Route)」と称される。
ステップS233においては、第1のサブセット9の識別情報が提供される。それらの識別情報は、どのI/Oチャネル2に標準機能が提供されるかの情報を含む。
ステップS3においては、プロセッサ4において実行するための第2のアプリケーションが作成される。これに関して、図6に詳細に示されているように、ステップS31においてRTIブロックセットがFPGAブロックセットから、どのI/Oチャネル2に標準機能が提供されるかの識別情報を得る。それらのI/OチャネルはステップS32において使用するために提供される。
ステップS33においては、アプリケーションモデルが作成される。このことは、RTIブロックセットにおいて、ステップS32において使用するために提供されたI/Oチャネル2を用いて行われる。第2のアプリケーションのモデルはMatlab/Simulinkにおいて作成される。
ステップS34においては、第2のアプリケーションの、モデリングが完成したモデルが通常通りにコンパイルされる。即ち、ビルド(Build)が実施され、それによって第2のアプリケーションが自動的にモデルに基づいて作成される。このために、第1のサブセット9の識別情報が受信される。
ステップS35においては、事前に作成された第1のアプリケーション、即ちFPGAアプリケーションが第2のアプリケーション、即ちプロセッサアプリケーションに組み込まれる。
ステップS4においては、作成されたソフトウェア、即ち第1のアプリケーション及び第2のアプリケーションがハードウェアコンポーネントにロードされる。これに関して、図7に詳細に示されているように、先ずステップS41において第2のアプリケーションが、組み込まれた第1のアプリケーションと共にプロセッサ4にロードされ、第2のアプリケーションはプロセッサ4に配属されているメモリに格納される。
ステップS42においては、第2のアプリケーションが、組み込まれた第1のアプリケーションと共に、プロセッサ4における実行のためにメモリから起動される。
第2のアプリケーションが、組み込まれた第1のアプリケーションと共に実行されることによって、ステップS43においては第1のアプリケーションがFPGAに伝送される。
続いて、ハードウェアコンポーネント1は、ロードされた第1のアプリケーション及び第2のアプリケーションに従い運転することができる。
1 ハードウェアコンポーネント、 2 I/Oチャネル、 3 FPGA、 4 プロセッサ、 5 通信インタフェース、 6 データ処理装置、 7 第1のソフトウェアブロック、 8 第2のソフトウェアブロック、 9 第1のサブセット、 10 第2のサブセット

Claims (15)

  1. プロセッサ(4)と、該プロセッサ(4)と通信インタフェース(5)を介して接続されているFPGA(3)と、該FPGA(3)に接続されている複数のI/Oチャネル(2)とを備えている、測定システム、開ループ制御システム又は閉ループ制御システムのハードウェアコンポーネント(1)のためのソフトウェアを作成するための方法において、
    前記FPGA(3)による操作のための、前記I/Oチャネル(2)の第1のサブセット(9)を選択するステップと、
    前記FPGA(3)において実行するための第1のアプリケーションを作成するステップと、
    前記プロセッサ(4)による操作のための、前記I/Oチャネルの第2のサブセット(10)を選択するステップと、
    前記プロセッサ(4)において実行するための第2のアプリケーションを作成するステップとを備えており、
    前記第1のアプリケーションを作成するステップは、前記I/Oチャネル(2)の前記第2のサブセット(10)を前記通信インタフェース(5)に接続するためのコードの作成を含む、
    ことを特徴とする、方法。
  2. 前記I/Oチャネル(2)の前記第2のサブセット(10)を前記通信インタフェース(5)に接続するためのコードを作成するステップは、前記第2のサブセット(10)の複数のI/Oチャネル(2)の内の少なくとも一つのI/Oチャネルと前記通信インタフェース(5)との間において信号処理を実施するためのコードの作成を含む、請求項1に記載の方法。
  3. 更に、アプリケーションモデルを作成するステップを備えており、
    前記第1のアプリケーションを作成するステップは、コードのモデルベースの自動的な作成を含む、請求項1又は2に記載の方法。
  4. 前記I/Oチャネル(2)の前記第2のサブセット(10)を前記通信インタフェース(5)に接続するためのコードを作成するステップは、複数のI/Oチャネル(2)の内の前記第2のサブセット(10)の一部であるI/Oチャネル(2)を接続するためのコードの自動的な作成を含む、請求項3に記載の方法。
  5. 前記I/Oチャネル(2)の前記第2のサブセット(10)を前記通信インタフェース(5)に接続するためのコードを作成するステップは、複数のI/Oチャネル(2)の内の前記第2のサブセット(10)の一部であるI/Oチャネル(2)を接続するための、事前に合成されたコードの提供を含む、請求項3又は4に記載の方法。
  6. 前記第1のアプリケーションを作成するステップは、前記第1のサブセット(9)のI/Oチャネル(2)の識別情報の提供を含む、請求項3乃至5のいずれか一項に記載の方法。
  7. 前記第1のアプリケーションを作成するステップは、前記第2のサブセット(10)のI/Oチャネル(2)の識別情報の受信を含む、請求項3乃至6のいずれか一項に記載の方法。
  8. 更に、アプリケーションモデルを作成するステップを備えており、
    前記第2のアプリケーションを作成するステップは、コードのモデルベースの自動的な作成を含む、請求項1乃至7のいずれか一項に記載の方法。
  9. 前記第2のアプリケーションを作成するステップは、前記第2のサブセット(10)のI/Oチャネル(2)の識別情報の提供を含む、請求項8に記載の方法。
  10. 前記第2のアプリケーションを作成するステップは、前記第1のサブセット(9)のI/Oチャネル(2)の識別情報の受信を含む、請求項8又は9に記載の方法。
  11. プロセッサ(4)と、該プロセッサ(4)と通信インタフェース(5)を介して接続されているFPGA(3)と、該FPGA(3)に接続されている複数のI/Oチャネル(2)とを備えている、測定システム、開ループ制御システム又は閉ループ制御システムのハードウェアコンポーネント(1)を運転するための方法において、
    請求項1乃至10のいずれか一項に記載の方法に従い作成されたソフトウェアをロードするステップと、
    前記ソフトウェアを実行するステップとを備えており、
    前記ソフトウェアのロードは、前記第1のアプリケーションの前記FPGA(3)へのロードと、前記第2のアプリケーションの前記プロセッサ(4)へのロードとを含む、
    ことを特徴とする、方法。
  12. 更に、前記FPGA(3)を部分的にリコンフィギュレーションするステップを備えている、請求項11に記載の方法。
  13. プロセッサ(4)と、該プロセッサ(4)と通信インタフェース(5)を介して接続されているFPGA(3)と、該FPGA(3)に接続されている複数のI/Oチャネル(2)とを備えている、測定システム、開ループ制御システム又は閉ループ制御システムのハードウェアコンポーネント(1)において、
    前記ハードウェアコンポーネント(1)は、請求項11又は請求項12に記載の方法を実行するように構成されていることを特徴とする、ハードウェアコンポーネント(1)。
  14. 適切なデータ処理装置(6)にロード及び実行された後に、請求項1乃至10のいずれか一項に記載の方法を実施する、コンピュータ実行可能な命令を備えているコンピュータプログラム。
  15. プログラミング可能なデータ処理装置(6)において請求項1乃至10のいずれか一項に記載の方法が実行されるように、前記データ処理装置(6)と協働することができる、電子的に読み出し可能な制御信号を有しているディジタル記憶媒体。
JP2014093383A 2013-04-29 2014-04-30 ハードウェアコンポーネントのi/oチャネルのフレキシブルな分配方法 Active JP6489760B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102013104320.8 2013-04-29
DE102013104320.8A DE102013104320A1 (de) 2013-04-29 2013-04-29 Flexible Aufteilung der I/O Kanäle einer Hardware Kompomente

Publications (2)

Publication Number Publication Date
JP2014216031A true JP2014216031A (ja) 2014-11-17
JP6489760B2 JP6489760B2 (ja) 2019-03-27

Family

ID=49958301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014093383A Active JP6489760B2 (ja) 2013-04-29 2014-04-30 ハードウェアコンポーネントのi/oチャネルのフレキシブルな分配方法

Country Status (5)

Country Link
US (1) US9811361B2 (ja)
EP (1) EP2799983B1 (ja)
JP (1) JP6489760B2 (ja)
CN (1) CN104123187B (ja)
DE (1) DE102013104320A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015119201A1 (de) * 2015-05-11 2016-11-17 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zum Konfigurieren einer Schnittstelleneinheit eines Computersystems
DE202016008563U1 (de) * 2016-01-26 2018-07-03 Dspace Digital Signal Processing And Control Engineering Gmbh Konfigurationssystem zum Konfigurieren eines für das Testen eines Steuergeräts eingerichteten Testgeräts
US10331833B2 (en) 2016-05-03 2019-06-25 Dspace Digital Signal Processing And Control Engineering Gmbh Optimized generation of overall netlist and bit stream
EP3242232B1 (de) 2016-05-03 2019-02-27 dSPACE digital signal processing and control engineering GmbH Optimierte erzeugung von gesamtnetzliste und bitstrom
CN108983645B (zh) * 2017-06-01 2020-12-25 比亚迪股份有限公司 列车及用于列车的多路i/o输出控制系统、方法
CN107229584B (zh) * 2017-06-01 2020-03-13 西南电子技术研究所(中国电子科技集团公司第十研究所) 航空电子仿真测试平台i/o管理系统
EP3413204B1 (de) 2017-06-09 2019-05-08 dSPACE digital signal processing and control engineering GmbH Verfahren zur parallelen verwaltung kontinuierlicher und tasksynchroner eingangsdaten eines echtzeitsystems
US11265172B2 (en) * 2018-12-21 2022-03-01 Intel Corporation Methods and apparatus for offloading signature revocation checking on acceleration circuitry
EP3726394A1 (en) * 2019-04-17 2020-10-21 Volkswagen Aktiengesellschaft Reconfigurable system-on-chip

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005327124A (ja) * 2004-05-14 2005-11-24 Fujitsu Ten Ltd ポート割付制御システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219628B1 (en) 1997-08-18 2001-04-17 National Instruments Corporation System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations
US7152027B2 (en) * 1998-02-17 2006-12-19 National Instruments Corporation Reconfigurable test system
US7085670B2 (en) 1998-02-17 2006-08-01 National Instruments Corporation Reconfigurable measurement system utilizing a programmable hardware element and fixed hardware resources
US6462579B1 (en) * 2001-04-26 2002-10-08 Xilinx, Inc. Partial reconfiguration of a programmable gate array using a bus macro
US7086014B1 (en) * 2001-11-19 2006-08-01 Cypress Semiconductor Corporation Automatic generation of application program interfaces, source code, interrupts, and datasheets for microcontroller programming
US20050177816A1 (en) * 2002-03-08 2005-08-11 National Instruments Corporation Automatic generation of graphical program code for a graphical program based on the target platform of the graphical program
US8271943B2 (en) * 2007-04-24 2012-09-18 National Instruments Corporation Automatically generating a graphical program with a plurality of models of computation
US7568172B2 (en) 2007-08-03 2009-07-28 National Instruments Corporation Integration of pre-defined functionality and a graphical program in a circuit
CN102169158B (zh) * 2011-03-15 2012-12-26 深圳市双合电气股份有限公司 一种电力系统稳态录波装置
CN202196420U (zh) * 2011-09-08 2012-04-18 慈维琦 多功能手持数卡器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005327124A (ja) * 2004-05-14 2005-11-24 Fujitsu Ten Ltd ポート割付制御システム

Also Published As

Publication number Publication date
US20140324408A1 (en) 2014-10-30
US9811361B2 (en) 2017-11-07
CN104123187B (zh) 2019-05-31
EP2799983B1 (de) 2018-04-04
CN104123187A (zh) 2014-10-29
JP6489760B2 (ja) 2019-03-27
EP2799983A1 (de) 2014-11-05
DE102013104320A1 (de) 2014-10-30

Similar Documents

Publication Publication Date Title
JP6489760B2 (ja) ハードウェアコンポーネントのi/oチャネルのフレキシブルな分配方法
JP6307140B2 (ja) セーフティクリティカルソフトウェア自動要求ベーステストケース生成のためのシステムおよび方法
AU2017202110B2 (en) Runtime creation, assignment, deployment and updating of arbitrary radio waveform techniques for a radio waveform generation device
CN103984791B (zh) 对fpga在运行时的信号值的随机访问
KR20210149045A (ko) 인공 지능 칩 검증
US9075624B2 (en) Compilation of system designs
US10311193B2 (en) Alteration of a signal value for an FPGA at runtime
CN107885500B (zh) 一种面向autosar软件架构的运行时环境生成方法
US10387584B1 (en) Streaming on hardware-software platforms in model based designs
CN110362356A (zh) 函数数据处理方法、装置、计算机设备和存储介质
Tokunaga et al. IDF-Autoware: Integrated development framework for ROS-based self-driving systems using MATLAB/Simulink
US10318687B2 (en) Implementing a constant in FPGA code
Kalb et al. Enabling dynamic and partial reconfiguration in Xilinx SDSoC
EP2963824A1 (en) Data processing device and control method therefor
Vidal et al. Dynamic applications on reconfigurable systems: from UML model design to FPGAs implementation
CN115061825B (zh) 隐私计算、隐私数据和联邦学习的异构计算系统及方法
US9558305B1 (en) Automatic modeling, mapping, and code generation for homogeneous and heterogeneous platforms
Davidrajuh Representing resources in petri net models: Hardwiring or soft-coding?
Werner et al. Virtualized on-chip distributed computing for heterogeneous reconfigurable multi-core systems
US9600613B1 (en) Block-level code coverage in simulation of circuit designs
CN109857638B (zh) 一种测试系统软件通用框架
KR101726663B1 (ko) 블록 다이어그램 환경에서의 모델 기반 설계 시 클라우드 개념을 이용한 각 모델 간 입출력 포트 연결 자동화 방법 및 시스템
Horta et al. Accelerating linux bash commands on fpgas using partial reconfiguration
Geng et al. Embedded C code generation platform for electric vehicle controller
Spivey et al. A component architecture for FPGA-based, DSP system design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170407

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180814

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190226

R150 Certificate of patent or registration of utility model

Ref document number: 6489760

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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