Main Content

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

FILウィザードによるブロック生成

手順 1: FPGA設計ソフトウェアツールのセットアップ

 Xilinx ソフトウェア

 Intel ソフトウェア

 マイクロチップ ソフトウェア

手順 2: FILウィザードを起動

次のいずれかの呼び出し方法を選択して、FPGA インザループ ウィザードを開きます。

  • MATLAB コマンド ウィンドウで、次のように入力します。

    >> filWizard
  • Simulink® ツールストリップの Apps タブで、Code Verification, Validation and Test の下の FIL Wizard をクリックします。

以前のセッションを復元するには、次のコマンドを使用します。

filWizard('./Subsystem_fil/Subsystem_fil.mat')

手順 3: FILブロックのFILオプションを設定する

FIL Options ページ内:

  1. FIL Simulation:Simulinkを選択します。

  2. Board Name: FPGA 開発ボードを選択します。HDL Verifier™ FPGA ボード サポート パッケージをまだダウンロードしていない場合は、FPGAボードサポートパッケージをダウンロード を参照してください。(ボードがリストに表示されない場合は、サポート パッケージをまだダウンロードしていません)。自分でカスタムボードを定義する予定の場合は、FPGA ボードのカスタマイズ を参照してください。

  3. FPGA-in-the-Loop Connection:FILシミュレーションの接続方法。ドロップダウン メニューのオプションは、選択したターゲット ボードでサポートされている接続方法に応じて更新されます。ターゲット ボードと HDL Verifier が接続をサポートしている場合は、EthernetJTAGPCI Express、または USB Ethernet を選択できます。

  4. Advanced Options:

    イーサネット接続を選択すると、必要に応じてボードの IP アドレスと MAC アドレスを調整できます。

    オプション手順
    ボード IP アドレス

    ボードの IP アドレスがデフォルトの IP アドレス (192.168.0.2) でない場合は、このオプションを使用して IP アドレスを設定します。

    デフォルトのボード IP アドレス (192.168.0.2) が別のデバイスで使用されている場合、または別のサブネットが必要な場合は、次のガイドラインに従ってボード IP アドレスを変更します。

    • サブネット アドレス (通常はボード IP アドレスの最初の 3 バイト) は、ホスト IP アドレスのサブネットと同じである必要があります。

    • ボード IP アドレスの最後のバイトは、ホスト IP アドレスの最後のバイトと異なる必要があります。

    • ボードの IP アドレスは、他のコンピューターの IP アドレスと競合しないものを使用しなければなりません。

      たとえば、ホスト IP アドレスが 192.168.8.2 の場合、192.168.8.3 が使用可能であれば、使用できます。

    ボード MAC アドレス

    ほとんどの場合、ボードの MAC アドレスを変更する必要はありません。複数の FPGA 開発ボードを 1 台のホスト コンピューターに接続する場合は、追加ボードのボード MAC アドレスを変更して、各アドレスが一意になるようにします。ボードごとに個別の NIC が必要です。

    ボードの MAC アドレスを変更するには、[ボード MAC アドレス] フィールドをクリックします。コンピューターに接続されている他のデバイスに属しているアドレスとは異なるアドレスを指定します。特定の FPGA 開発ボードのボード MAC アドレスを取得するには、ボードに貼られているラベルを参照するか、製品ドキュメンテーションを参照してください。

    FPGA system clock frequency (MHz):ターゲットクロック周波数を入力します。Intel ボードおよび Xilinx ISE 対応ボードの場合、filWizard は要求された周波数を要求されたボードで可能な周波数と比較します。要求された周波数がこのボードで利用できない場合は、filWizard はエラーを返し、別の周波数を提案します。Xilinx Vivado 対応ボード、または PCI Express® 対応ボードの場合、filWizard は周波数をチェックできません。合成ツールは要求された周波数で最善の努力をしますが、指定された周波数が達成できなかった場合は別の周波数を選択することがあります。デフォルトは 25 MHz です。

    Enable data buffering on FPGA:シミュレーションのパフォーマンスを向上させるには、このオプションを選択します。選択すると、FIL は FPGA 上の BRAM を使用して、フレームベースの処理モードでイーサネット パケットをバッファリングします。設計で BRAM リソースが不足している場合は、このパラメータをクリアします。イーサネット接続のみ使用可能です。

  5. [Next] をクリックします。

手順 4: FILブロックのHDLソースファイルを追加する

Source Files ページ内:

  1. FPGA でコシミュレーションする HDL 設計を指定します。これらのファイルは、FPGA ボード上で検証される HDL 設計ファイルです。

    Add をクリックしてソース ファイルを指定します。ファイル選択ダイアログボックスを使用してファイルを選択します。

    FIL ウィザードはソース ファイルの種類を識別しようとします。ファイルの種類が期待したものと異なる場合は、File Type ドロップダウン リストから選択して変更できます。許容されるファイルの種類は次のとおりです:

    • VHDL®

    • Verilog®

    • ネットリスト

    • Tcl スクリプト

    • 制約

    • その他

      「その他」とは、以下のものを指します。

      • Intel の場合、Other として指定されたファイルは FPGA プロジェクトに追加されますが、生成されたブロックには影響しません。たとえば、readme ファイルにコメントをいくつか入れて、このファイル リストに含めることができます。

      • Xilinx の場合、Other として指定されたファイルは、Xilinx ISE で受け入れられる任意のファイルになります。ISE はファイル拡張子を見て、このファイルの使用方法を決定します。たとえば、リストに foo.vhd を追加し、それを Other として指定すると、ISE はファイルを VHDL ファイルとして扱います。

  2. 最上位 HDL ファイルが含まれるファイルを指定します。

    Top-level というタイトルの列にある最上位 HDL モジュールを含む HDL ファイルの行のボックスをオンにします。FIL ウィザードは、選択した HDL ファイルの名前を Top-level module name フィールドに自動的に入力します。トップレベル モジュール名とファイル名が一致しない場合は、このダイアログ ボックスでトップレベル モジュール名を手動で変更できます。続行する前に、最上位モジュール名を指定します。

  3. (オプション) ソース ファイルへの完全なパスを表示するには、Show full paths to source files というタイトルのボックスをオンにします。

  4. [Next] をクリックします。

手順 5: FILブロックのDUT I/Oポートを検証する

DUT I/O Ports ページ内:

  1. ポートリストを確認します。FIL ウィザードは、トップレベルの HDL モジュールを解析してすべての I/O ポートを取得し、それらを DUT I/O ポート テーブルに表示します。パーサーはポート名からポート タイプを判別しようとします。ウィザードは、これらの信号を「ポート タイプ」の下に表示されます。

    すべての入力/出力/リセット ポート/クロックが期待どおりにマッピングされていることを確認します。パーサーがポートに誤ったポート タイプを割り当てた場合は、手動で信号を変更できます。同期設計の場合は、クロック、リセット、または必要に応じてクロック有効化信号を指定します。このテーブルで指定されるポート タイプは、HDL コードと同じである必要があります。少なくとも 1 つの出力ポートが必要です。

    信号を追加または削除するには、Manually enter port information を選択します。

    Regenerate をクリックすると、元のポート定義 (HDL コードから) を含むテーブルが再ロードされます。

  2. [Next] をクリックします。

手順 6: FILブロックの出力タイプを指定する

Output Types ページ内:

  1. 出力データ型を指定します。ウィザードはデータ型を割り当てます。出力データ型が予想と異なる場合は、手動で型を変更します。

    選択:

    • Fixedpoint

    • 整数

    • Logical

    データ型は指定されたビット幅によって異なります。

    出力タイプを SignedUnsigned、または Fraction Length に指定できます。

  2. [Next] をクリックします。

手順 7: FILブロックのビルドオプションを指定する

Build Options ページ内:

  • 出力ファイルのフォルダーを指定します。デフォルトのオプションを使用できます。通常、デフォルトは、現在のフォルダーの下にある、最上位モジュールにちなんで名付けられたサブフォルダーです。

  • Summary は、ISE プロジェクト ファイルと FPGA プログラミング ファイルの場所を表示します。FIL ブロック マスクの高度な操作には、これら 2 つのファイルが必要になる場合があります。

手順 8: ビルドを開始

FIL ブロックの生成を開始するには、Build をクリックします。

  1. FIL ウィザードは、最上位モジュールにちなんで名付けられた FIL ブロックを生成し、それを新しいモデルに配置します。

  2. FIL ウィザードはコマンド ウィンドウを開きます。

    • このウィンドウでは、FPGA 設計ソフトウェアが合成、フィット、PAR、FPGA プログラミング ファイルの生成を実行します。

    • プロセスが完了すると、コマンド ウィンドウにウィンドウを閉じるように求めるメッセージが表示されます。

ステップ9:統合とシミュレーション

モデルに FIL ブロックを挿入する

モデル内で、DUT サブシステムを新しいモデルで生成された FIL ブロックに置き換えます。モデルに名前を付けて保存します。その後、元のモデルを参照モデルとして使用できます。

HDL ワークフロー アドバイザーから FIL ブロックを生成した場合、FIL ブロックの設定を調整する必要はほとんどありません。FIL ウィザードを使用して FIL ブロックを生成した場合は、いくつかの設定を調整する必要がある場合があります。FIL ブロック設定を調整する手順については、FIL Simulation を参照してください。

プログラミングファイルをFPGAにロードする

 Intel ボードの Linux の説明

FPGA 開発ボードがセットアップされ、電源がオンになっており、JTAG ケーブルを使用してマシンに接続されていることを確認します。シミュレーションに別の接続を選択した場合でも、プログラミングでは JTAG インターフェイスが使用されます。

FPGA をプログラムするには、次の手順を実行します。

  1. Simulink モデル内の FIL ブロックをダブルクリックして、ブロック マスクを開きます。

  2. Main タブで Load をクリックし、JTAG ケーブル経由でプログラミング ファイルを FPGA にダウンロードします。

    サブシステムの大きさに応じて、ロード プロセスには数分から数分以上かかる場合があります。場合によっては、大規模なサブシステムの場合、このプロセスに 1 時間半以上かかることがあります。

  3. FPGA プログラミング ファイルが期待どおりにロードされると、メッセージ ウィンドウが表示されます。[OK] をクリックします。

     イーサネット接続

     PCI Express 接続

シミュレーションの実行

Simulink で、FIL Simulation ブロックを含むモデルを実行します。FIL シミュレーションの結果は、Simulink 参照モデルまたは元の HDL コードの結果と一致する必要があります。

メモ

RAM の初期化: Simulink は毎回時間 0 から開始します。つまり、Simulink モデル内の RAM は実行ごとにゼロに初期化されます。ただし、この仮定はハードウェアでは当てはまりません。FPGA 内の RAM は、1 つのシミュレーションの終了から次のシミュレーションの開始までその値を保持します。設計に RAM がある場合、最初のシミュレーションは Simulink と一致しますが、その後の実行は一致しない可能性があります。回避策としては、シミュレーションを再実行する前に FPGA ビットストリームを再ロードします。ビットストリームを再ロードするには、FIL ブロック マスクの Load をクリックします。

関連するトピック