Main Content

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

FPGA-in-the-Loop を使用したビデオ処理の高速化

この例では、FPGA イン ザ ループ (FIL) シミュレーションを使用して、FPGA を追加することでSimulink®によるビデオ処理シミュレーションを高速化します。ここに示すプロセスは、RGB ビデオ入力を 24 フレーム/秒で鮮明にする単純なシステムを分析します。

この例では、Computer Vision Toolbox™ をHDL Coder™およびHDL Verifier™と組み合わせて使用​​し、FIL シミュレーションを実装するための設計ワークフローを示します。

この例を実行するには次のツールが必要です。

  • FPGA デザイン ソフトウェア (Xilinx® ISE® または Vivado® デザイン スイート、またはインテル® Quartus® Prime デザイン ソフトウェア)

  • サポートされている FPGA 開発ボードおよびアクセサリの 1 つ (ML403、SP601、BeMicro SDK、および Cyclone III スターター キット ボードはこの例ではサポートされていません)。サポートされているハードウェアの詳細については、 「 FPGA検証用にサポートされているFPGAデバイス 」を参照してください。

  • イーサネットを使用した接続の場合:ホスト コンピュータにインストールされたギガビット イーサネット アダプタ、ギガビット イーサネット クロスオーバー ケーブル

  • JTAGを使用した接続の場合:アルテラ FPGA ボード用の USB Blaster I または II ケーブルおよびドライバー。Digilent® JTAG ケーブルおよびザイリンクス FPGA ボード用ドライバー。

  • PCI Express®を使用した接続の場合:FPGA ボードはホスト コンピューターの PCI Express スロットに取り付けられます。

MATLAB®および FPGA 設計ソフトウェアは、ローカルのコンピューターにインストールすることも、ネットワークでアクセス可能なデバイスにインストールすることもできます。ネットワークからのソフトウェアを使用する場合は、FPGA 開発ボードにプライベート ネットワークを提供するために、コンピュータに 2 番目のネットワーク アダプタをインストールする必要があります。ネットワーク アダプターのインストール方法については、お使いのコンピューターのハードウェア ガイドとネットワーク ガイドを参照してください。

1. Simulinkモデルを開いて実行する

モデルを開いてシミュレーションを 0.21 秒間実行します。

処理するデータが大量にあるため、シミュレーションはスムーズではありません。次の手順では、FPGA インザループを使用してシミュレーション速度を向上させます。

2.HDL コードの生成

次の手順を実行して、ストリーミング ビデオ シャープニング サブシステムの HDL コードを生成します。

a. Streaming 2-D FIR Filterというラベルのブロックを右クリックします。

「b.」コンテキスト メニューで、HDL コード > サブシステム用の HDL の生成 を選択します。

あるいは、 MATLABプロンプトで次のコマンドを入力して HDL コードを生成することもできます。

makehdl('fil_videosharp_sim/Streaming 2-D FIR Filter')

HDL コードを生成したくない場合は、 videosharp_hdlsrcフォルダーにある事前に生成された HDL ファイルを使用できます。

3.FPGA設計ソフトウェアのセットアップ

FPGA インザループを使用する前に、FPGA 設計ソフトウェアにアクセスできるようにシステム環境が適切に設定されていることを確認してください。関数 hdlsetuptoolpath を使用して、Xilinx Vivado または インテル Quartus Prime を現在のMATLABセッションのシステム パスに追加できます。

ザイリンクス FPGA ボードの場合は、次を実行します。

hdlsetuptoolpath('ToolName', 'Xilinx Vivado', 'ToolPath', 'C:\Xilinx\Vivado\2019.2\bin');

この例では、Xilinx Vivado 実行可能ファイルが C:\Xilinx\Vivado\2019.2\bin にあることを前提としています。異なる場合は、実際の実行可能場所に置き換えてください。

Intel ボードの場合は、次を実行します。

hdlsetuptoolpath('ToolName','Altera Quartus II','ToolPath','C:\Intel\quartus\18.1\bin64');

この例では、 インテル Quartus Prime 実行可能ファイルが C:\Intel\quartus\18.1\bin64 にあることを前提としています。異なる場合は、実際の実行可能場所に置き換えてください。

4.FPGAインザループウィザードの実行

MATLABプロンプトで次のコマンドを入力して、FIL ウィザードを起動します。

filWizard;

4.1 ハードウェアオプション

ボードリストからボードを選択します。

4.2 ソースファイル

a. Streaming Video Sharpeningサブシステム用に以前に生成した HDL ソース ファイルを追加します。

「b.」最上位ファイルとしてStreaming_2_D_FIR_Filter.vhdを選択します。

4.3 DUT I/O ポート

このビューでは何も変更しないでください。

4.4 ビルドオプション

a.出力フォルダーを選択します。

「b.」 [Build] をクリックして、FIL ブロックと FPGA プログラミング ファイルをビルドします。

ビルド プロセス中に、次のアクションが発生します。

  • Streaming_2_D_FIR_Filter という名前の FIL ブロックが新しいモデルで生成されます。このモデルを閉じないでください。

  • 新しいモデルの生成後、FIL ウィザードはコマンド ウィンドウを開き、FPGA 設計ソフトウェアが合成、フィット、配置配線、タイミング解析、および FPGA プログラミング ファイルの生成を実行します。FPGA 設計ソフトウェアのプロセスが完了すると、コマンド ウィンドウにメッセージが表示され、ウィンドウを閉じてもよいことが通知されます。窓を閉めて。

「c.」 fil_videosharp_sim.slx モデルを閉じます。

5.FIL 用のSimulinkモデルを開いて完成させる

a. fil_videosharp_fpga.slx モデルを開きます。

「b.」以前に生成した FIL ブロックを fil_videosharp_fpga.slx にコピーします。「これを FIL ブロックに置き換える」と表示されます。

6.FIL ブロックの構成

a. FPGA インザループによるストリーミング ビデオ シャープニング モデルの FIL ブロックをダブルクリックして、ブロック マスクを開きます。

「b.」 「ロード」をクリックします。

「c.」 「OK」をクリックしてブロックマスクを閉じます。

7.FIL シミュレーションの実行

シミュレーションを 10 秒間実行し、パフォーマンスの向上を観察します。

これで、FPGA インザループを使用したビデオ処理の高速化の例は終了です。