第 4 章
FPGA ベースのデバッグおよび検証
FPGA 開発ボードでの設計のデバッグとテスト
アルゴリズムの究極のテストは、ハードウェアで指定されたとおりに動作するかどうかの確認です。MATLAB および Simulink では、FPGA 開発ボード上でアルゴリズム実装をテストするためのさまざまな手法を利用できます。
- テスト対象の設計 (DUT) を開発ボードにプログラミングし、MATLAB または Simulink セッションをそのテストベンチとして操作してテストを実行することで、ハードウェア プロトタイプにさまざまなスティミュラスを与えた上で、結果を対話的に可視化することができます。
- DUT を高速でデバッグしてテストするには、対象の内部信号でプローブを使用し、ハードウェア プロトタイプでのテスト中に信号をキャプチャし、MATLAB での表示や解析のために信号を取得することができます。
- AXI4 レジスタへの読み取りまたは書き込みアクセスを通して、FPGA ボードにプログラミングされた IP コアを MATLAB から対話的に制御することができます。
これらの手法には、さまざまなレベルの対話機能と可視性が用意されており、幅広いテストと検証のニーズを満たします。
ハードウェアベースの検証のための FPGA インザループの使用
FPGA インザループ (FIL) テストを使用すると、MATLAB または Simulink でゴールデン リファレンス モデルを使用して、ハードウェア実装の back-to-back テストを実行することができます。
FIL では、AMD、Intel、Microchip などの開発ボードに DUT をプログラミングし、HDL コシミュレーションと同様にテストベンチを適用します。MATLAB または Simulink のテストベンチは、ホストコンピューター上で実行され、開発ボードとの間で信号の受け渡しを行います。HDL コシミュレーションと比べ、FIL ではハードウェアによるテストを高速化できます。
このツールは、AMD Vivado、Intel Quartus®、または Microchip Libero® SoC を使用した DUT のコンパイル、開発ボードのプログラミング、JTAG、Ethernet、または PCI-Express を介した通信の設定など、FIL テストの設定および実行に関するすべての手順を自動化します。
AMD、Intel、Microchip などの 50 種類以上のボードがサポートされていて、FIL を拡張してカスタムボードで作業することもできます。
FPGA Data Capture を使用した信号の取得
FPGA インザループテストには、どのような場合に使用すると最も効果的であるかの判断に影響を与える、以下の 2 つの条件があります。
- ホストコンピューターと開発ボードの間の通信は、低減したレートで DUT がクロック動作する必要があることを意味します。
- DUT へのすべての入力は、MATLAB または Simulink で生成されたものである必要があり、開発ボードからの他の入力を使用することはできません。
高速でテストを実行する必要があり、ホストコンピューターからの入力に制限しない場合は、FPGA Data Captureがより良い選択肢となります。
FPGA Data Capture を使用すると、FPGA 実装の特定の内部信号をプローブする IP コアを生成し、ローカルメモリに保存することができます。その後、信号が表示や解析のために MATLAB または Simulink に取り込まれます。
HDL Coder を使用して RTL を生成する場合、それが Simulink モデル階層のどこに存在するかに関係なく、取得する必要がある信号を指定して、テストポイントを追加することができます。
FPGA Data Capture を使用すると、トリガー条件を定義し、保持するデータサンプル数を指定することで、ハードウェア実装をデバッグすることができます。信号はロジックアナライザー ウィンドウのように表示することができ、信号を測定し評価するためのカーソルなどのツールが用意されています。
レジスタおよび DDR メモリの読み取りと書き込み
FPGA 開発ボードでは、AXI4レジスタや、メモリへの読み込みアクセスまたは書き込みアクセスが必要になる場合が多くあります。たとえば、プログラマブル ロジックに実装された新しい IP コアをテストする場合などです。
このような場合、エンジニアは、AXI4 レジスタにアクセスして IP コアをテストするためだけに、Arm® プロセッサ用の C コードを記述する必要が生じることがよくあります。
MATLAB AXI Master 機能を使用すると、MATLAB セッションからレジスタや DDR メモリの読み取りや書き込みが可能になり、テスト用の MATLAB 解析スクリプトを拡張する機能が得られ、テストのためだけに組み込み C コードを記述する必要がなくなります。
次の文章は正しいでしょうか? それとも誤りでしょうか?
FPGA Data Capture を使用すると、トリガー条件を定義し、保持するデータサンプル数を指定することで、ハードウェア実装をデバッグすることができます。
正しいです!
FPGA Data Capture の詳細についてはこちらをご覧ください。
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)