JP6448195B2 - ランタイムにfpgaの信号値にランダムにアクセスするための方法、データ処理装置、コンピュータプログラム、ディジタル記憶媒体及びfpgaビルドの実施方法 - Google Patents

ランタイムにfpgaの信号値にランダムにアクセスするための方法、データ処理装置、コンピュータプログラム、ディジタル記憶媒体及びfpgaビルドの実施方法 Download PDF

Info

Publication number
JP6448195B2
JP6448195B2 JP2014024455A JP2014024455A JP6448195B2 JP 6448195 B2 JP6448195 B2 JP 6448195B2 JP 2014024455 A JP2014024455 A JP 2014024455A JP 2014024455 A JP2014024455 A JP 2014024455A JP 6448195 B2 JP6448195 B2 JP 6448195B2
Authority
JP
Japan
Prior art keywords
fpga
data
signal value
configuration memory
configuration
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.)
Active
Application number
JP2014024455A
Other languages
English (en)
Other versions
JP2014154173A (ja
Inventor
カルテ ハイコ
カルテ ハイコ
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 JP2014154173A publication Critical patent/JP2014154173A/ja
Application granted granted Critical
Publication of JP6448195B2 publication Critical patent/JP6448195B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/4401Bootstrapping
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Computer Security & Cryptography (AREA)
  • Logic Circuits (AREA)

Description

本発明は、ランタイムにFPGAの信号値にアクセスするための方法に関する。同様に本発明は、プロセッサユニット及びFPGAを備えている、上述の方法を実施するデータ処理装置に関する。更に本発明は、適切なデータ処理装置にロード及び実行された後に上述の方法のステップを実施する、コンピュータにより実現される命令を備えているコンピュータプログラム、並びに、上述の方法が実施されるように、プログラミング可能なデータ処理装置と協働することができる電子的に読み出し可能な制御信号を備えているディジタル記憶媒体に関する。最後に、本発明は、ハードウェア記述言語でのFPGAモデルに基づくFPGAビルドの実施方法に関する。
複雑で動的なモデルのリアルタイムシミュレーションは、時間的な周辺条件自体が厳しいことから、現在のコンピュータノードに高い要求を課している。自動車のハードウェア・イン・ザ・ループ(HiL:Hardware-in-the-Loop)シミュレーションにおいては、その種のモデルは特に、高速な制御回路を接続しなければならないところで使用される。これは例えば、シリンダ内部圧力センサをシミュレーションする場合である。シリンダ内部圧力センサは燃費又は排ガスの低減において益々重要な役割を担ってきている。しかしながら、例えば電気モータのような高いダイナミクスを有している制御区間においても、短い周期時間及び待ち時間が不可欠である。しかしながら、そのような短い周期時間及び待ち時間はCPUベースのシミュレーションでは殆ど実現することはできない。
フィールド・プログラマブル・ゲート・アレイ(FPGA:Field Programmable Gate Array)は、モデルの動的な部分の計算を担うことにより、リアルタイムシミュレーションにおいてコンピュータノードを支援することができる。フレキシビリティが高く、また複数の信号の並列処理を実現できることから、FPGAを使用することにより、厳しいリアルタイム要求も容易に満たすことができる。FPGAはコンピュータノードのCPUのためのハードウェア・アクセラレータとして使用することができる。HiLシミュレータのためのその種の拡張形態として、例えばdSPACE社のDS5203-FPGA Boardが挙げられる。相応に、例えば環境モデルの非常に動的な部分がFPGAにスワップされるので、制御装置に対する非常に厳密で高速な応答時間は依然として保証される。FPGAハードウェア・コンフィギュレーションは通常の場合、ハードウェア記述言語でのFPGAモデルに基づくビルドプロセスにより生成される。
精度に対する要求が高まることによって、制御区間のモデルは一層複雑になり、従って管理も困難になる。自動車のHiL環境においては、その種のモデルは通常の場合、マスワークス(MathWorks)社のツールセットであるマトラブ/シミュリンク(Matlab/Simulink)を用いて作成される。シミュリンクはブロック回路図の形態のブロックベースの図をその種のモデルに提供する。モデルパーツをブロック回路図においてサブシステムに統合し、相互に信号と結合させることができる。それらのブロック間のデータフローは信号線路により表される。
CPUベースのリアルタイムシミュレーションにおいては、モデルのブロック回路図がシミュリンクコーダ(Simulink Coder)を用いてC/C++ソースファイルに翻訳される。それらのソースファイルは続いてコンパイラによって実行可能なアプリケーションに翻訳され、それらのアプリケーションをリアルタイム能力のあるオペレーションシステムを備えているコンピュータノードにおいて実行することができる。更に、CPUビルドの際にトレースファイル(Trace-File)が生成され、このトレースファイルはトポロジーファイル(Topologie File)を、例えばシミュリンクでのグラフィックモデリングを用いて表す。
モデルのCPUアプリケーションへの翻訳によって、シミュレーションの計算がシーケンシャルに固定のステップ幅で実施されることになる。それと共に、全てのモデル状態又はモデル変数、例えば信号線路上のデータ又はブロックの入力値/出力値の一貫性のあるコピーが、常にコンピュータノードのメインメモリに存在している。メインメモリへの直接的なアクセスにより、モデル変数を実験ツール、例えばコントロールデスク(ControlDesk)において分析及び/又は操作することができる。HiLシミュレーションの変数へのランダムな書き込み/読み出しアクセスを実現できる。トレースファイルに基づき、例えばモータ回転数のような信号値を選択することができ、また、ディスプレイを介して出力又は操作することができる。HiLの分野では、この動作が「測定」及び「調整」という概念に要約される。
FPGAベースのシミュレーションを、dSPACE社のFPGAプログラミング・ブロックセット(FPGA-Programming Blockset)及びザイリンクス・システム・ジェネレータ(XSG:Xilinx System Generator)を利用して、CPUベースのシミュレーションと同様に、シミュリンクを用いてブロック回路図でモデリングすることができる。
もっともそのようなモデルは、CPUベースのシミュレーションとは異なり、再帰的なプログラミング言語には翻訳されず、顧客固有のディジタル回路を記述するハードウェア記述言語に翻訳される。顧客固有の回路の記述は、合成(synthesis)プロセスによりFPGAコンフィギュレーションデータストリームに翻訳される。
幾つかのFPGAに関しては、デバッグを目的としてFPGAの完全な状態のフリーズ及び読み出しが可能である。しかしながら、FPGAの閉じられた入力/出力特性によって、コンピュータノードのメインメモリと同様に、モデル状態に任意にアクセスし、それらのモデル状態を必要に応じて変更することは不可能である。ユーザが測定又は調整したい各モデル変数は、明示的なモデリングによって、信号線路を介してFPGAのインタフェースに供給されなければならない。この適合に続いて、モデルが新たに翻訳されなければならず、これは数時間続く可能性がある。この状況はFPGAベースのリアルタイムシミュレーションの非常に長期の開発周期に繋がる虞がある。
従って、上述の従来技術を基礎とする本発明の課題は、ランタイムにFPGAにおけるモデル変数へのアクセスを実現し、また、FPGAベースのリアルタイムシミュレーションを作成する際の反復的な開発周期の短縮を実現する、冒頭で述べたような方法、データ処理装置、コンピュータプログラム、並びに、電子的に読み出し可能な制御信号を備えているディジタル記憶媒体を提供することである。
上記の課題は、本発明によれば独立請求項の特徴部分に記載されている構成によって解決される。本発明の有利な実施の形態は従属請求項に記載されている。
従って、本発明によれば、ランタイムにFPGAの信号値にアクセスするための方法が提供され、この方法は、FPGAハードウェア・コンフィギュレーションをFPGAにロードするステップと、FPGA上でFPGAハードウェア・コンフィギュレーションを実施するステップと、FPGAの信号値を要求するステップと、FPGAの機能レベルからFPGAのコンフィギュレーションレベルにおけるコンフィギュレーションメモリに状態データを伝送するステップと、状態データをコンフィギュレーションメモリからリードバックデータとして読み出すステップと、リードバックデータから信号値を検出するステップとを備えている。
更に本発明によれば、プロセッサユニット及びFPGAを備えている、上述の方法を実施するデータ処理装置が提供される。
本発明によれば、適切なデータ処理装置にロード及び実行された後に上述の方法のステップを実施する、コンピュータにより実現される命令を備えているコンピュータプログラムも提供される。
更に、上述の方法がデータ処理装置において実施されるように、プログラミング可能なデータ処理装置と協働することができる電子的に読み出し可能な制御信号を備えているディジタル記憶媒体が提供される。
本発明の基本的な着想とは、つまり、FPGAの動作中に状態データがFPGAから読み出され、その状態データから信号値が検出されることにより、ランタイムにおけるFPGAの信号値へのアクセスを実現することである。複数の状態データが読み出されて、必要に応じて結合されるが、その際にFPGAの構造的な変更は必要ない。FPGAの動作を中断する必要もない。従って、FPGAの信号値にランダムにアクセスすることができる。信号値へのアクセスを、トポロジーファイル(トレースファイル)を介するアクセス及びシミュリンクを用いるグラフィックモデリングも含めて、ソフトウェアの実行から公知であるように行うことができる。信号値、例えばモータ回転数を相応に選択して、表示又は操作することができる。
有利には、FPGAの実施に関して何ら変更は必要ないので、FPGAのリソース及び性能に対する要求も変わらない。従って、信号値へのアクセスは、生成されたFPGAハードウェア・コンフィギュレーションに関しても、また実行中にも、通常の動作に影響を及ぼすことはない。アクセスを実現するために、種々のモデル変数の状態を矛盾なく一貫性のあるものとして記憶することができる。適合されたFPGAハードウェア・コンフィギュレーションを生成して、それをFPGAに伝送する必要なく、所望の信号値へのアクセスを行うことができ、これによって開発期間を短縮することができる。FPGAの利用可能なリソース及びリアルタイム特性への影響は回避又は低減される。特に、FPGAハードウェア・コンフィギュレーションを変更することなく、種々の信号値をFPGAから必要に応じて読み出すことができる。
コンフィギュレーションレベルは、FPGAを初期化するために使用される、FPGAの論理レベルに関係する。初期コンフィギュレーションプロセスの間に、コンフィギュレーションデータがコンフィギュレーションメモリに書き込まれ、それによって、機能レベルは引き続きモデリングされたような特性を示す。この場合、動作中は例えばトリガにより、機能レベルの全てのレジスタ内容を再びコンフィギュレーションレベルにミラーリングすることができる。続いて、コンフィギュレーションメモリの内容を読み出し、その内容から信号値を検出することができる。信号値の選択を任意にランタイム中に変更することができる。有利には、複数の信号値へのアクセスが行われる。
リードバックデータはFPGAの任意のデータ単位を含むことができる。リードバックデータは個々のレジスタ値又はFPGAの比較的大きいメモリブロックを含むことができる。メモリブロックは例えばFPGAのリードバック列であると考えられる。
上述の方法のステップの順序は原則として変更可能であり、本明細書に記載した順序に限定されるものではない。
データ処理装置は原則として任意に実施することができる。FPGAは典型的には、拡張モジュールとしてデータ処理装置に配置されているか、又はデータ処理装置と接続されている。データ処理装置はデータコネクションを介して遠隔の制御コンピュータと接続することができる。特に有利には、信号値へのアクセスが制御コンピュータ上のアプリケーションを介して行われる。
信号値の表示をグラフィック表示として行うことができる。信号値を有利にはリストから「ドラッグ・アンド・ドロップ」により、信号値を表示するための表示機器に移動させることができる。
コンフィギュレーションメモリから状態データをリードバックデータとして読み出すことにはデータを変更することは含まれず、この読み出しは単に概念上の定義に関する。
リードバックデータからの信号値の検出を原則として任意の場所において、例えばFPGA、データ処理装置のCPU又は制御コンピュータにおいて行うことができる。相応に、状態データ、レジスタデータ又は信号値をそれぞれ必要に応じて伝送することができる。
FPGAの外部又は内部からのFPGAのコンフィギュレーションメモリへのアクセスはインタフェースを介して行われる。コンフィギュレーションメモリの通常のアーキテクチャは、1フレームの最小読み出し量で、100MHzのクロック周波数において32ビット幅を有しているインタフェースを含む。従って、FPGAのタイミング制御において正確な周期でアクセスが行われるFPGAデバッガ又はFPGAスコープの意味での本方法の使用は、今日一般的なFPGAでは不可能である。フレームはレジスタ値の他に、ルックアップテーブル並びにマルチプレクサコンフィギュレーション又は配線コンフィギュレーションについての情報を含むことができる。リードバックデータからの信号値の検出には、有利には、フレームからのレジスタ値の発見及び抽出が含まれる。
本発明の有利な実施の形態においては、リードバックデータから信号値を検出するステップには、リードバックデータを少なくとも一つのレジスタ値にコピーすることが含まれる。レジスタは機能レベルにおけるメモリを表し、そのデータを簡単にコピーすることができ、また信号値を検出するために使用することができる。これによって、信号値を検出するためのデータの識別が実現される。
本発明の有利な実施の形態においては、リードバックデータから信号値を検出するステップには、少なくとも一つのレジスタ値からの信号値を検出することが含まれる。少なくとも一つのレジスタにおける信号値の編成は任意で良いので、従って、信号値を検出するためには、レジスタ内容が処理されれば良い。特に、信号値を複数のレジスタに分散させることができ、また信号値を検出するためにレジスタの内容が共通して処理される。
本発明の有利な実施の形態においては、状態データをコンフィギュレーションメモリからリードバックデータとして読み出すステップには、信号値を検出するために必要とされるコンフィギュレーションメモリの領域を求めることと、コンフィギュレーションメモリのその必要な領域の状態データをリードバックデータとして読み出すことが含まれる。読み出すべき領域はランタイムに求められ、それにより、コンフィギュレーションメモリへのアクセスを、FPGAハードウェア・コンフィギュレーションの事前の適合を必要とすることなく行うことができる。必要とされる領域を求めることにより、状態データの読み出しをそれらの領域に限定することができるので、僅かなデータを読み出し、伝送し、また処理するだけで良い。
本発明の有利な実施の形態においては、状態データをFPGAの機能レベルからそのFPGAのコンフィギュレーションレベルにおけるコンフィギュレーションメモリに伝送するステップには、信号値を検出するために必要とされる状態データの部分を求めること、及び、状態データのその部分をコンフィギュレーションメモリにおいて保護することが含まれる。伝送すべき領域はランタイムに求められ、それにより、状態データの伝送を、FPGAハードウェア・コンフィギュレーションの事前の適合を必要とすることなく行うことができる。必要とされる領域を求めることにより、状態データの保護をそれらの領域に限定することができるので、僅かなデータを保護するだけで良い。
本発明の有利な実施の形態においては、FPGAの信号値を要求するステップには、利用可能な信号値のリストを提供すること、及び、そのリストから信号値を選択することが含まれる。リストを原則として任意の時点に作成することができる。有利には、FPGAハードウェア・コンフィギュレーションのモデルを使用してリストが作成される。特に有利には、各信号値に一つの一義的な識別番号が割り当てられ、この識別番号を介してアクセスが行われる。
本発明の有利な実施の形態において、本方法は、FPGAに伝送するための信号値を設定するステップと、信号値からライトバックデータを検出するステップと、状態データとしてライトバックデータをコンフィギュレーションメモリに書き込むステップと、コンフィギュレーションメモリからFPGAの機能レベルに状態データを伝送するステップとを備えている。上記において説明した、FPGAへの読み出しアクセスと同様に書き込みアクセスが行われる。このアクセスは同様に、FPGAに影響を及ぼすことなく、ランタイムに行われる。FPGAへの読み出しアクセスについて上記において説明した詳細はそれぞれ個別に、相応に書き込みアクセスについて適用することができる。
即ち、FPGAの動的なパーシャルリコンフィギュレーションが行われ、その際に、FPGAにおける関連する各部分が上書きされる。例えば、シミュリンク定数ブロックをリコンフィギュレーション可能なルックアップテーブルにコピーする必要がある。このリコンフィギュレーション可能なルックアップテーブルはその後、動的なパーシャルリコンフィギュレーションにより、任意の信号値を変更するために使用することができる。
状態データをFPGAの機能レベルに伝送する際には、ライトバックデータは信号値の他に付加的な情報を含むことができる。従って有利には、状態データが先ずライトバックデータのためのベースとして読み出され、続いて信号値がこの状態データに挿入される。これにより、FPGAのデータの完全性が保証される。
更に本発明によれば、ハードウェア記述言語でのFPGAモデルに基づくFPGAビルドの実施方法が提供され、この方法は、FPGAハードウェア・コンフィギュレーションを作成するステップと、FPGAハードウェア・コンフィギュレーションに基づき、少なくとも一つの信号値の状態データに関するコンフィギュレーションメモリの記憶ロケーションを求めるステップと、ランタイムにアクセス可能な信号値及びそれに対応する記憶ロケーションを有するリストを作成するステップとを備えている。
即ちこの方法の基本的な着想は、FPGAハードウェア・コンフィギュレーションの作成時に、信号値に関して必要とされるデータを既に検出し、その信号値を検出された状態データに基づきFPGAのランタイムに形成することができるように処理することである。
記憶ロケーションは有利にはFPGAのレジスタである。レジスタをモデルにおいて明示的にモデリングすることができるか、又は、例えば複数のブロックによって遅延を伴い暗示的にモデリングすることができる。モデルは有利にはグラフィック形式で生成される。
上述の方法のステップの順序は原則として変更可能であり、本明細書に記載した順序に限定されるものではない。例えば、ランタイムにアクセス可能な信号値を有するリストのハードウェア記述言語でのモデルに基づく作成をより早期の時点に行うことができる。
有利には、ここで説明するFPGAビルドの実施方法は、FPGAを用いるデータ処理装置のためのビルド方法の一部であり、その際、データ処理装置はFPGAを含んでいるか、又はFPGAと接続されている。この方法においては、更に、データ処理装置のCPUのためのビルドが実施され、その際、CPUトレースファイル・ジェネレータにおいてはCPUトレースファイルの生成が行われる。付加的に、ランタイムにアクセス可能な信号値と、その信号値に対応する記憶ロケーションとを有しているリスト(ここでは「ロジック・アロケーションファイル(Logic Allocation File)」とも称される)が機械読み出し可能なファイルに変換される。更に、CPUのトレースファイルと等価の、FPGAのためのトレースファイルが生成される。更なるステップにおいては、CPU及びFPGAのトレースファイルがトレースファイル・マージ器において統合される。これによって、例えば、制御コンピュータによって、CPU又はFPGAにおける実行に関する実現形態に依存せずに、信号値へのアクセスを行うことができる。
本発明の有利な実施の形態においては、ランタイムにアクセス可能な信号値と、その信号値に対応する記憶ロケーションとを有しているリストを作成するステップには、信号値を形成するための複数の記憶ロケーションの結合状態を求めることが含まれる。従って、リストは、信号値がどのように状態データから求められるかについての具体的な情報を含んでいる。
本発明の有利な実施の形態においては、本方法は、信号値を検出するためのFPGAコードを生成する付加的なステップを備えており、ここでFPGAコードは、リードバックデータとしてのコンフィギュレーションメモリからの状態データの読み出し、及び、読み出し可能な信号値と、その信号値に対応する記憶ロケーションとを有しているリストに基づく、リードバックデータからの信号値の検出を含んでいる。従って、信号値を検出するための状態データの後続の処理を完全にFPGAにおいて実施することができる。相応に、FPGAからは所定の信号値しか伝送されず、これによってFPGAのインタフェースの負荷が軽減される。
本発明の有利な実施の形態においては、本方法は、一つの信号値に関する複数の状態データを有している複数の記憶ロケーションを、FPGAの一つのリードバック列に配置することにより、FPGAハードウェア・コンフィギュレーションを最適化する付加的なステップを備えている。一つのリードバック列に配置することにより、信号値に関する状態データへのアクセスが加速される。信号値に関する全ての記憶ロケーションが一つのリードバック列に配置される場合には、それらの信号値に1回のオペレーションでアクセスすることができる。つまり、FPGAハードウェア・コンフィギュレーションを生成する前に記憶ロケーションのソートが行われる。
本発明の有利な実施の形態においては、本方法は、一つの信号値に関する複数の状態を有している複数の記憶ロケーションを、FPGAの隣接する複数の領域内に配置することにより、FPGAハードウェア・コンフィギュレーションを最適化する付加的なステップを備えている。隣接する領域をFPGAの単一のリードバック列に関連付けることができるか、又は隣接する複数のリードバック列に関連付けることができる。隣接させて配置することにより、記憶ロケーションへのアクセスが加速される。一つのリードバック列内に二つの信号値に関する複数の記憶ロケーションが配置されることにより、それら二つの信号値に1回のオペレーションでアクセスすることができる。相応のことが書き込みアクセスにも該当し、その場合、一つの記憶ロケーションにおいて少なくとも一時的にその記憶ロケーションに存在する信号値のみをFPGAに書き込むことができる。
本発明の有利な実施の形態においては、本方法は、状態データを提供するための複数の論理ブロックの出力端に複数の記憶ロケーションを追加する付加的なステップを備えている。記憶ロケーション、通常はレジスタによって状態データの読み出しが実現され、その状態データから信号値を検出することができる。利用可能な状態データの数が多くなると、より多くの信号値へのアクセスを行うことができる。
本発明の有利な実施の形態において、FPGAはザイリンクスのFPGAである。ザイリンクスのFPGAは、FPGAの反復的なコンフィギュレーションを実現できる以外にも、動作中のFPGAの部分的な読み出し及びコンフィギュレーションを実現することができる。
以下では、添付の図面を参照しながら、複数の有利な実施の形態に基づき本発明を詳細に説明する。
制御コンピュータ及びリアルタイムシステムを備えているデータ処理システムの概略図を示す。 図1に示したリアルタイムシステムのFPGAの詳細図を示す。 図1に示したリアルタイムシステムのためのビルドを実施するための方法のチャートを示す。 図3に示したFPGAビルドの詳細図を示す。 リードバック列における、図2に示したFPGAのコンフィギュレーションメモリの編成の詳細図を示す。 コンフィギュレーションメモリのリードバック列における関連するメモリ内容の概略図を示す。ここで、左側の図は最適化が行われていない分布を示し、中央の図はリードバック列における関連する記憶ロケーションを集中させることによる最適化を示し、右側の図は関連するリードバック列を隣接して配置することによる最適化を示す。 本方法にとって重要な全ての情報、例えばFPGAのヒエラルキー、信号のビット幅及び2進小数点位置、並びに、FPGAのコンフィギュレーションメモリにおける個々のレジスタのアドレス情報の例示的な表現形態を示す。 図3に示したビルド方法の結果の、図1に示したデータ処理システムの種々のコンポーネントへの分散を示す。
図1には、ここではホストシステムと表されている制御コンピュータ2と、リアルタイムシステム3とを備えているデータ処理システム1の本発明による構造が示されている。リアルタイムシステム3は、明示していないネットワークコネクションを介して制御コンピュータ2と接続されている。
リアルタイムシステム3は、図示していないCPUを備えている、参照符号CNで表されている計算ノード4と、FPGA5とを含んでいる。この実施例においてFPGA5はザイリンクスのFPGAである。リアルタイムシステム3はここでは任意のデータ処理装置である。FPGA5は概略的に図2に示されており、また、機能レベル6及びコンフィギュレーションレベル7を含んでいる。コンフィギュレーションレベル7には、複数の記憶ロケーション9を備えているコンフィギュレーションメモリ8が配置されている。コンフィギュレーションレベル7は、FPGA5を初期化するための、FPGA5の論理レベルである。初期コンフィギュレーションプロセスの間に、コンフィギュレーションデータがコンフィギュレーションメモリ8に書き込まれ、また機能レベル6に伝送される。記憶ロケーション9はFPGA5のレジスタに相当する。
FPGA5はFPGAボード10に配置されており、インタフェース11を介して、インタフェース11にアクセスするためのコントローラ12と接続されている。インタフェース11はここでは、1フレームの最小読み出し量で、100MHzのクロック周波数において32ビット幅を有している。フレームはレジスタ値の他に、ルックアップテーブル並びにマルチプレクサコンフィギュレーション又は配線コンフィギュレーションについての情報を含むことができる。FPGAボード10には、コントローラ12によるアクセスのためのFPGA変数マッピングファイル(Variable Mapping File)13が記憶されている。
リアルタイムシステム3を利用するために、下記において図3を参照しながら説明するようにビルドが実施される。ビルドのための基礎として、いずれもシミュリンクにより生成された、FPGAモデル20並びにCPUモデル21が使用される。FPGAモデル20からは、FPGAビルド22において、公知のハードウェア記述言語であるVHDL(VHSIC Hardware Description Language)により、ロジック・アロケーションファイル(Logic Allocation File)23及びFPGAハードウェア・コンフィギュレーション24が生成される。ロジック・アロケーションファイル23においては、ランタイムにFPGA5においてアクセス可能な信号値の状態データに関する、コンフィギュレーションメモリ8の記憶ロケーション9を有するリストが記憶される。また、信号値を形成するための記憶ロケーション9の結合形態も求められ、その結合形態がロジック・アロケーションファイル23に記憶され、それにより、ロジック・アロケーションファイル23に基づき、状態データから信号値を検出することができる。
ロジック・アロケーションファイル23からは、上記において既に述べたFPGA変数マッピングファイル13が生成され、このFPGA変数マッピングファイル13は、記憶ロケーション9と信号値の対応関係を機械読み出し可能な形態で含んでいる。CPUモデル21からは、CPUビルド26において、リアルタイムシステム3のCPUにおいて実行可能なアプリケーション27が作成される。CPUビルド26から出発して、更にCPUトレースファイル・ジェネレータ28においては、CPUトレースファイル29が生成される。同様に、FPGAトレースファイル・ジェネレータ30においては、FPGAトレースファイル31が生成される。更なるステップにおいては、両トレースファイル29,31がトレースファイル・マージ器32において、一つの完全なトレースファイル33に統合される。
このビルド方法は、総合結果として、アプリケーション27、完全なトレースファイル33、FPGA変数マッピングファイル13及びFPGAハードウェア・コンフィギュレーション24を有する、リアルタイムシステム3のためのダウンロード・アプリケーション34を供給する。
FPGAビルド22が図4に詳細に示されている。結果として、FPGAビルド22からはFPGAサブシステムのブロック回路図40が得られ、このブロック回路図は加算、乗算等のプリミティブブロックの組み合わせを含んでいる。プロセスの結果は、完成したビットストリーム並びにインタフェース記述を含んでいるModel.iniファイル41である。インタフェース記述は、FPGAサブシステムにおいてインスタンスが生成されている全てのインタフェースのリストを含んでいる。この記述によって、FPGAインタフェースに対応するCPUインタフェースを生成することができる。FPGAビルド22の第1のステップにおいては、FPGAサブシステムのブロック回路図40から、ザイリンクス・システム・ジェネレータ(XSG)により、HDL記述42が生成される。このHDL記述42はこの実施例においてVHDL記述である。この記述は続いて合成ツールによってネットワークリストに翻訳される。
シミュリンクモデルのネットワークリストは、リードバック機能に必要とされるその他のリードバック・フレームワーク・コンポーネント46により、一つの完全なネットワークリスト47へと統合される。続いて、全体の設計がインプリメントプロセスによりビットストリームに翻訳され、Model.iniファイル41に格納される。
シミュリンクブロック回路図のブロック出力とFPGAコンポーネント(D型フリップフロップ)又はFPGAコンポーネントに属するコンフィギュレーションメモリ8における記憶ロケーション9との間に関係性が確立される。このマッピングは逐次的に、FPGAビルド22の間に構成又は簡略化され、FPGAトレースファイル・ジェネレータ30によりFPGAトレースファイル31に格納される。
FPGAサブシステムのブロック回路図がXSGによりHDLに翻訳されると、それらの二つの記述はその構造に関して類似している。このことは、例えばシミュリンクブロックとHDLエンティティのポートとの間の直接的な関係性を作成するために利用することができる。
本方法は更に、一つの信号値に関する複数の状態データを有している複数の記憶ロケーション9をFPGA5の一つのリードバック列に配置することにより、FPGAハードウェア・コンフィギュレーション24を最適化するステップを備えている。リードバック列におけるコンフィギュレーションメモリ8の編成が図5に示されている。フレームはコンフィギュレーションメモリ8において1ビット幅及び1312ビット長の列を含み、機能レベル6の一つのCLB列にわたり延在している。一つのフレーム内の1ビットと、コンフィギュレーションを行う機能エレメントとの相関を、ザイリンクスのツールにより求めることができる。従って、信号値を検出するために、一つのフレームの一部のみが重要となる。一つのリードバック列に配置することにより、信号値に関する状態データへのアクセスが加速される。信号値に関する全ての記憶ロケーション9が一つのリードバック列に配置される場合には、それらの信号値に1回のオペレーションでアクセスすることができる。
図6の左側に示されているように、関連するリードバック列は差し当たりコンフィギュレーションメモリ8全体にわたり分散されている。FPGAハードウェア・コンフィギュレーション24の最適化により、信号値に関する複数の状態を有している複数の記憶ロケーション9がFPGA5の隣接する複数の領域内に配置される。隣接する領域をFPGA5の単一のリードバック列に関連付けることができるか、又は隣接する複数のリードバック列に関連付けることができる。隣接する配置により、記憶ロケーション9へのアクセスが加速される。一つのリードバック列内に二つの信号値に関する複数の記憶ロケーション9を配置することにより、それら二つの信号値に1回のオペレーションでアクセスすることができる。図6の中央には、関連する複数の記憶ロケーション9を低減された数のリードバック列に集中させることによる最適化が示されている。図6の右側には、更なる最適化において、関連するリードバック列が更に隣接されてFPGA5内に配置されている。
本方法にとって重要な全ての情報、例えばFPGAモデルのヒエラルキー、信号のビット幅及び2進小数点位置、並びに、FPGAコンフィギュレーションメモリにおける個々のレジスタのアドレス情報の例示的な表現形態が図7に示されている。
FPGAサブシステムタイプの要素は、各リードバックモデルのインスタンスのルートを形成する。FPGAサブシステムは、シミュリンクのモデルヒエラルキーに依存して、再帰的に別のサブシステム・インスタンスを含んでいる。サブシステムはこのコンテキストにおいて、プリミティブブロック(例えば加算器)としても、シミュリンクサブシステムとしても実施することができる。サブシステム又はブロックの名称及び所属のHDLエンティティの名称は、サブシステムクラスのプロパティname又はhdlInstanceに記憶される。
各サブシステムは、シミュリンクモデルにおける各信号又はI/Oポートを表す複数の信号を含むことができる。各信号は、id特性を介して一義的な識別子を得る。信号の方向(入力/出力)は重要ではなく、またモデリングの際の冗長性が回避されるべきなので、信号クラスは慣習に応じてシミュリンクモデルにおけるブロック又はサブシステムの出力を表す。複数のサブシステムが同一の信号を共有する場合、信号参照(Signal-Reference)クラスのインスタンスを介して、他のサブシステム・インスタンスの信号を参照することができる。
信号を統合によってレジスタと関連付けることができる。この関連付けは同様に、信号クラスとレジスタクラスとの間で再び発見することができる。レジスタと、レジスタの初期値が記憶されるフレームとの関係性は、相応のクラスを介してモデリングされる。信号の特性はプロパティクラスを介してモデリングされる。リードバック及びそれに続く信号の処理にとって、特に、2進小数点(Binary-Point)、データタイプ(DataType)及び幅(Width)といった特性が重要である。
レジスタ要素はフレームクラスを介して複数のビットと関連付けられている。信号の幅と、それに属するレジスタの幅は場合によっては変更される可能性があるので、レジスタは信号と同様に固有の幅特性を有している。ビットはビット位置(pos)を介して差し当たり、レジスタのどのビットであるかを表す。更に、ビットインスタンスは、フレーム内のどの語(framewordOffset)にレジスタビットが存在するかの情報、またどのビットマスク(mask)でもってビット語をフレーム語からマスクすることができるかの情報を含んでいる。
リードバックモデルはXMLファイルに記憶されている。つまり、モデルをマルチツールで処理することができる。モデルはXSDスキームに対する妥当性検査により、構文的及び構造的に正確に維持される。
本方法は、信号値を検出するためにリードバック・アプリケーションとしてFPGAコード44を生成する付加的なステップを備えており、このFPGAコード44は、状態データをコンフィギュレーションメモリ8からリードバックデータとして読み出すこと、及び、FPGA変数マッピングファイル13に基づいてリードバックデータから信号値を検出することを含んでいる。
図8には、ビルド方法の結果の種々のコンポーネントへの分散が示されている。シミュリンクモデル20,21に基づき、FPGAビルド22を用いてビルドが実施される。FPGAハードウェア・コンフィギュレーション24が生成され、FPGA5にロードされる。アプリケーション27がコンピュータノード4にロードされ、また完全なトレースファイル33が制御コンピュータ2に伝送される。
動作時に、FPGAハードウェア・コンフィギュレーション24がFPGA5において開始及び実施される。アプリケーション27はコンピュータノード4において開始及び実行される。制御コンピュータ2においては制御ソフトウェア50が開始される。制御ソフトウェア50はこの実施例において、dSPACE社のコントロールデスクソフトウェアである。コントロールデスク50は図1に示されているようにコンピュータノード4を介してリアルタイムシステム3と通信する。
ランタイム中にFPGA5の信号値を表示するために、コントロールデスク50を介してこれを要求することができる。種々の信号値へのアクセスは完全なトレースファイル33及びシミュリンクを用いたグラフィックモデリングを介して行われる。信号値の表示はグラフィック表示として行われ、その際、信号値はリストから「ドラッグ・アンド・ドロップ」により、信号値を表示するための表示機器に移動される。リストに由来する信号値は一義的な識別番号に基づき識別される。
信号値は、コントロールデスク50によりコンピュータノード4を介して要求される。このために、コンピュータノード4には、コントロールデスク50からの要求を受信するデータ取得サービス(Data Acquisition Service)51が実装されている。データ取得サービス51により、FPGA5のためのコントローラ12の信号値が要求される。これは、FPGA5の動作中に、FPGA5の機能レベル6からFPGA5のコンフィギュレーションメモリ8への状態データの伝送を開始する。つまり動作中には、トリガにより、機能レベル6の全てのレジスタ内容がコンフィギュレーションレベル7にミラーリングされる。択一的な実施の形態においては、FPGA変数マッピングファイル13から、信号値の検出に必要とされる、状態データの部分が求められ、それらの部分のみがコンフィギュレーションメモリ8において保護される。
更には、FPGA5においては、リードバック・アプリケーション44により状態データがコンフィギュレーションメモリ8からリードバックデータとして読み出される。読み出されたリードバックデータはここでは一つ又は複数のフレーム、即ち、FPGA5の一つ又は複数のリードバック列を含んでいる。その際、先ず、信号値の検出に必要とされるリードバック列が求められ、それらのリードバック列のみが読み出される。必要とされるリードバック列に関する情報はFPGA変数マッピングファイル13を介して求めることができる。
リードバックデータに基づき、FPGA5において信号値が検出される。このためにレジスタ値がフレームから検索及び抽出される。それらの情報はFPGA変数マッピングファイル13から得られる。リードバックデータの少なくとも一つのレジスタ値へのコピーが行われる。その際、必要に応じて、信号値が複数のレジスタの状態データから形成される。相応に、信号値を検出するために、レジスタの内容がFPGA変数マッピングファイル13に応じて共通して処理される。
そのようにして検出された信号値は、FPGA5のインタフェース11を介してコントローラ12に伝送され、更にコントローラ12はその信号値をコンピュータノード4のデータ取得サービス51を介して、制御コンピュータ2のコントロールデスク50に伝送する。
上記において説明した、FPGA5の信号値への読み出しアクセスと同様に書き込みアクセスが実現される。その際、FPGA5に伝送するための信号値が選択される。その信号値からライトバックデータが検出され、そのライトバックデータが状態データとしてFPGA5のコンフィギュレーションメモリ8に伝送される。コンフィギュレーションメモリ8からは、状態データがFPGA5の機能レベル6に伝送される。FPGA5への読み出しアクセスについて上記において説明した詳細はそれぞれ個別に、相応に書き込みアクセスについて適用することができる。
本方法は、リアルタイムシステム3にロード及び実行された後に上述の方法のステップを実施する、コンピュータにより実現される命令を備えているコンピュータプログラムとして実現されている。
ディジタル記憶媒体は、上述の方法がリアルタイムシステム3において実施されるように、リアルタイムシステム3と協働する、電子的に読み出し可能な制御信号を提供する。
1 データ処理システム、 2 制御コンピュータ、 3 リアルタイムシステム、データ処理装置、 4 コンピュータノード、 5 FPGA、 6 機能レベル、 7 コンフィギュレーションレベル、 8 コンフィギュレーションメモリ、 9 記憶ロケーション、 10 FPGAボード、 11 インタフェース、 12 コントローラ、 13 FPGA変数マッピングファイル、 20 FPGAモデル、 21 CPUモデル、 22 FPGAビルド、 23 ロジック・アロケーションファイル、 24 FPGAハードウェア・コンフィギュレーション、 26 CPUビルド、 27 アプリケーション、 28 CPUトレースファイル・ジェネレータ、 29 CPUトレースファイル、 30 FPGAトレースファイル・ジェネレータ、 31 FPGAトレースファイル、 32 トレースファイル・マージ器、 33 完全なトレースファイル、 40 ブロック回路図、 41 Model.iniファイル、 42 HDL記述、 43 リードバックファイル・ジェネレータ、 44 FPGAコード、リードバック・アプリケーション、 46 リードバック・フレームワーク・コンポーネント、 47 ネットワークリスト、 50 制御ソフトウェア、コントロールデスク、 51 データ取得サービス

Claims (9)

  1. ランタイムにFPGA(5)の信号値にアクセスするための方法において、
    FPGAハードウェア・コンフィギュレーション(24)を前記FPGA(5)にロードするステップと、
    前記FPGA(5)において、前記FPGAハードウェア・コンフィギュレーション(24)を実施するステップと、
    前記FPGA(5)の信号値を要求するステップと、
    前記FPGA(5)の機能レベル(6)から、前記FPGA(5)のコンフィギュレーションレベル(7)におけるコンフィギュレーションメモリ(8)に状態データを伝送するステップと、
    前記状態データを前記コンフィギュレーションメモリ(8)からリードバックデータとして読み出すステップと、
    前記リードバックデータから前記信号値を検出するステップと、
    を備えており、
    前記信号値は、複数のレジスタに分散されて記憶され、前記信号値を検出するために前記レジスタの内容は、共通して処理される、
    方法。
  2. 前記コンフィギュレーションメモリ(8)から前記状態データをリードバックデータとして読み出すステップは、前記信号値を検出するために必要とされる前記コンフィギュレーションメモリの領域を求めるステップと、前記コンフィギュレーションメモリ(8)の前記必要とされる領域の状態データをリードバックデータとして読み出すステップと、を含む、
    請求項1に記載の方法。
  3. 状態データを前記FPGA(5)の機能レベル(6)から前記FPGA(5)のコンフィギュレーションレベル(7)におけるコンフィギュレーションメモリ(8)に伝送するステップは、前記信号値を検出するために必要とされる前記状態データの複数の部分を求めるステップと、前記状態データの前記部分をコンフィギュレーションメモリ(8)において保護するステップと、を含む、
    請求項1または2に記載の方法。
  4. 前記FPGA(5)の信号値を要求するステップは、利用可能な信号値のリストを提供するステップと、前記リストから信号値を選択するステップと、を含む、
    請求項1乃至3のいずれか一項に記載の方法。
  5. 付加的なステップ、即ち、
    前記FPGA(5)に伝送するための信号値を設定するステップと、
    前記信号値からライトバックデータを検出するステップと、
    前記ライトバックデータを状態データとして前記FPGA(5)の前記コンフィギュレーションメモリ(8)に書き込むステップと、
    前記状態データを前記コンフィギュレーションメモリ(8)から前記FPGA(5)の前記機能レベル(6)に伝送するステップと、
    を備えている、
    請求項1乃至4のいずれか一項に記載の方法。
  6. プロセッサユニット及びFPGAを備えている、請求項1乃至5のいずれか一項に記載の方法を実施する、データ処理装置(3)。
  7. 前記FPGA(5)は、ザイリンクスのFPGAである、
    請求項6に記載のデータ処理装置(3)。
  8. 適切なデータ処理装置(3)にロード及び実行された後に、請求項1乃至5のいずれか一項に記載の方法のステップを実施する、コンピュータにより実現される命令を備えているコンピュータプログラム。
  9. 請求項1乃至5のいずれか一項に記載の方法がプログラミング可能なデータ処理装置(3)において実施されるように、前記データ処理装置(3)と協働することができる電子的に読み出し可能な制御信号を備えているディジタル記憶媒体。
JP2014024455A 2013-02-11 2014-02-12 ランタイムにfpgaの信号値にランダムにアクセスするための方法、データ処理装置、コンピュータプログラム、ディジタル記憶媒体及びfpgaビルドの実施方法 Active JP6448195B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP13154741.6 2013-02-11
EP13154741.6A EP2765528B1 (de) 2013-02-11 2013-02-11 Wahlfreier Zugriff auf Signalwerte eines FPGA zur Laufzeit

Publications (2)

Publication Number Publication Date
JP2014154173A JP2014154173A (ja) 2014-08-25
JP6448195B2 true JP6448195B2 (ja) 2019-01-09

Family

ID=47826859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014024455A Active JP6448195B2 (ja) 2013-02-11 2014-02-12 ランタイムにfpgaの信号値にランダムにアクセスするための方法、データ処理装置、コンピュータプログラム、ディジタル記憶媒体及びfpgaビルドの実施方法

Country Status (4)

Country Link
US (2) US9235425B2 (ja)
EP (1) EP2765528B1 (ja)
JP (1) JP6448195B2 (ja)
CN (1) CN103984791B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140019112A1 (en) * 2012-07-10 2014-01-16 Siemens Product Lifecycle Management Software Inc. Synthesis of simulation models from systems engineering data
DE102014111675A1 (de) * 2014-08-15 2016-02-18 Dspace Digital Signal Processing And Control Engineering Gmbh Simulationsvorrichtung und Verfahren zur Simulation einer an ein Regelungsgerät anschließbaren peripheren Schaltungsanordnung
EP3001318A1 (de) * 2014-09-24 2016-03-30 dSPACE digital signal processing and control engineering GmbH Bestimmung von Signalen für Readback aus FPGA
WO2016049336A1 (en) 2014-09-26 2016-03-31 Moog Inc. Data visualization and logging system
EP3244327A1 (de) 2016-05-10 2017-11-15 dSPACE digital signal processing and control engineering GmbH Verfahren zum erstellen einer zuordnungsliste
EP3244326B1 (de) 2016-05-10 2021-07-07 dSPACE digital signal processing and control engineering GmbH Verfahren zum erstellen einer fpga-netzliste
US10235485B1 (en) * 2016-09-27 2019-03-19 Altera Corporation Partial reconfiguration debugging using hybrid models
US10326651B1 (en) 2017-04-18 2019-06-18 Amazon Technologies, Inc. Client configurable hardware logic and corresponding signature
CN109729731B (zh) * 2017-08-22 2021-02-09 华为技术有限公司 一种加速处理方法及设备
CN108376206B (zh) * 2018-02-09 2021-09-24 大连理工大学 一种通过运用运动学联合仿真平台对机械设备进行在线实时监测的方法
EP3647801A1 (de) 2018-10-30 2020-05-06 dSPACE digital signal processing and control engineering GmbH Verfahren zur überprüfung eines fpga-programms
DE102020116872A1 (de) * 2020-03-27 2021-09-30 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zur Programmierung einer programmierbaren Gatteranordnung in einem verteilten Computersystem

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5425036A (en) * 1992-09-18 1995-06-13 Quickturn Design Systems, Inc. Method and apparatus for debugging reconfigurable emulation systems
US6292762B1 (en) * 1998-07-13 2001-09-18 Compaq Computer Corporation Method for determining a random permutation of variables by applying a test function
US20060117274A1 (en) * 1998-08-31 2006-06-01 Tseng Ping-Sheng Behavior processor system and method
US7240303B1 (en) * 1999-11-30 2007-07-03 Synplicity, Inc. Hardware/software co-debugging in a hardware description language
US6453456B1 (en) * 2000-03-22 2002-09-17 Xilinx, Inc. System and method for interactive implementation and testing of logic cores on a programmable logic device
US6373779B1 (en) * 2000-05-19 2002-04-16 Xilinx, Inc. Block RAM having multiple configurable write modes for use in a field programmable gate array
US6535043B2 (en) * 2000-05-26 2003-03-18 Lattice Semiconductor Corp Clock signal selection system, method of generating a clock signal and programmable clock manager including same
US6931543B1 (en) * 2000-11-28 2005-08-16 Xilinx, Inc. Programmable logic device with decryption algorithm and decryption key
US6922665B1 (en) * 2001-01-08 2005-07-26 Xilinx, Inc. Method and system for device-level simulation of a circuit design for a programmable logic device
US20030105620A1 (en) * 2001-01-29 2003-06-05 Matt Bowen System, method and article of manufacture for interface constructs in a programming language capable of programming hardware architetures
US7827510B1 (en) * 2002-06-07 2010-11-02 Synopsys, Inc. Enhanced hardware debugging with embedded FPGAS in a hardware description language
US20050209840A1 (en) * 2004-01-09 2005-09-22 Mikhail Baklashov Method and apparatus for functional language temporal extensions, dynamic modeling, and verification in a system-level simulation environment
US7689726B1 (en) 2004-10-01 2010-03-30 Xilinx, Inc. Bootable integrated circuit device for readback encoding of configuration data
US7353162B2 (en) * 2005-02-11 2008-04-01 S2C, Inc. Scalable reconfigurable prototyping system and method
US7546572B1 (en) * 2005-09-20 2009-06-09 Xilinx, Inc. Shared memory interface in a programmable logic device using partial reconfiguration
JP2009524134A (ja) * 2006-01-18 2009-06-25 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト ハードウェア定義方法
US8234457B2 (en) 2006-06-30 2012-07-31 Seagate Technology Llc Dynamic adaptive flushing of cached data
US7900168B2 (en) 2007-07-12 2011-03-01 The Mathworks, Inc. Customizable synthesis of tunable parameters for code generation
JP2009031933A (ja) * 2007-07-25 2009-02-12 S2C Inc スケーラブル再構成可能型プロトタイプシステムと方法
US8352229B1 (en) * 2009-01-26 2013-01-08 Xilinx, Inc. Reloadable just-in-time compilation simulation engine for high level modeling systems
CN101493809B (zh) 2009-03-03 2010-09-08 哈尔滨工业大学 一种基于fpga的多核心星载计算机
CN102332307B (zh) 2011-07-28 2015-08-05 中国空间技术研究院 Sram型fpga单粒子效应试验系统及方法
US20130046912A1 (en) * 2011-08-18 2013-02-21 Maxeler Technologies, Ltd. Methods of monitoring operation of programmable logic
US8739089B2 (en) 2011-08-29 2014-05-27 Synopsys, Inc. Systems and methods for increasing debugging visibility of prototyping systems
CN102520333A (zh) 2011-12-15 2012-06-27 北京航空航天大学 一种对空间应用数字信号处理器进行单粒子翻转效应模拟的装置
CN102636744B (zh) 2012-04-24 2014-06-11 中国科学院空间科学与应用研究中心 一种检测fpga单粒子效应与其时序特性关系的装置及方法

Also Published As

Publication number Publication date
EP2765528B1 (de) 2018-11-14
US20160162298A1 (en) 2016-06-09
CN103984791B (zh) 2019-06-25
US10083043B2 (en) 2018-09-25
EP2765528A1 (de) 2014-08-13
US9235425B2 (en) 2016-01-12
CN103984791A (zh) 2014-08-13
US20140229723A1 (en) 2014-08-14
JP2014154173A (ja) 2014-08-25

Similar Documents

Publication Publication Date Title
JP6448195B2 (ja) ランタイムにfpgaの信号値にランダムにアクセスするための方法、データ処理装置、コンピュータプログラム、ディジタル記憶媒体及びfpgaビルドの実施方法
JP6436916B2 (ja) ランタイムにfpgaの信号値を変更するための方法、当該方法を実施するためのデータ処理装置、コンピュータプログラムおよびディジタル記憶媒体
US8122398B2 (en) Conversion of circuit description to an abstract model of the circuit
US7707019B1 (en) Command buffering for hardware co-simulation
US7433813B1 (en) Embedding a co-simulated hardware object in an event-driven simulator
Gong et al. ReSim: A reusable library for RTL simulation of dynamic partial reconfiguration
US10394989B2 (en) Method for creating an FPGA netlist
JP5034916B2 (ja) 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置
JP2004348606A (ja) 高位合成装置、ハードウェア検証用モデル生成方法およびハードウェア検証方法
US8600722B1 (en) Method and apparatus for providing program-based hardware co-simulation of a circuit design
US10318687B2 (en) Implementing a constant in FPGA code
Gong et al. Functional verification of dynamically reconfigurable FPGA-based systems
US9223910B1 (en) Performance and memory efficient modeling of HDL ports for simulation
JP2009140222A (ja) Lsiの電力見積方法及びその装置
US9135384B1 (en) Compilation and simulation of a circuit design
US10223077B2 (en) Determination of signals for readback from FPGA
CN115935870A (zh) 功耗分析方法、装置、电子设备、存储介质
JP2006309667A (ja) 動作合成検証装置及び方法
US6339751B1 (en) Circuit design support apparatus and a method
Caba et al. Rapid prototyping and verification of hardware modules generated using hls
US20240111660A1 (en) Managing high performance simulation representation of an emulation system
US9608871B1 (en) Intellectual property cores with traffic scenario data
US11151294B1 (en) Emulated register access in hybrid emulation
Gong et al. Modeling Reconfiguration
Gong et al. Verification Challenges

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181010

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181204

R150 Certificate of patent or registration of utility model

Ref document number: 6448195

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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