手順 2: FPGA での最適化されたデザインの作成 - 2020.2 日本語

Vivado Design Suite チュートリアル: System Generator を使用したモデル ベースの DSP デザイン (UG948)

Document ID
UG948
Release Date
2020-12-11
Version
2020.2 日本語
この手順では、手順 1 で使用したデザインにオーバーサンプリングを使用して、FPGA に最適化されたデザインを作成します。ワークスペース変数を使用する方法も学びます。
  1. コマンド プロンプトに「open Lab1_2.slx」と入力します。
  2. Simulink プロジェクト ワークシートで Simulation > Run をクリックするか [Run simulation] ボタン をクリックし、これが「手順 1: FPGA でのデザインの作成」と同じデザインであることを確認します。
  3. System Generator トークンをダブルクリックし、プロパティ エディターを開きます。

    手順 1 で述べたとおり、このデザインには 18 MHz 以上のサンプル周波数が必要で、現時点では 20 MHz (FPGA クロック周期 50 ns) に設定されています。



    FPGA デバイスに供給可能なクロックの周波数は、20 MHz 以上にすることができます。FPGA を実行するクロック周波数を高くすると、System Generator で同じハードウェア リソースを使用して複数の中間結果を計算できるようになります。
  4. FDATool インスタンスをダブルクリックし、プロパティ エディターを開きます。
  5. Filter Coefficients ボタン をクリックし、フィルター係数を再表示します。

    フィルターで 11 個の対称係数が使用されていることが示されます。これには、6 回以上の乗算が必要です。「System Generator ブロックの設定」セクションの結果でも、ハードウェアで乗算を実行するための FPGA リソースである DSP48 コンポーネントが 6 個使用されていることが示されています。

    現時点のデザインでは、データは 20 MHz のレートでサンプリングされます。入力を 6 倍の周波数でサンプリングすれば、すべての計算を 1 つの乗算器で実行できます。

  6. FDATool のプロパティ エディターを閉じます。
  7. このデザインの一部の属性をワークスペース変数に置き換えます。まず、ワークスペース変数を定義します。
  8. MATLAB のコマンド ウィンドウで次を実行します。
    1. num_bits = 16」と入力します。
    2. bin_pt = 14」と入力します。


  9. デザイン Lab1_2 で Gateway In ブロックをダブルクリックし、プロパティ エディターを開きます。
  10. [Fixed-Point Precision] セクションで 16 を num_bits に変更し、14 を bin_pt に変更します。

  11. OK をクリックして変更を保存し、プロパティ エディターを閉じます。
    次の手順を実行して、System Generator トークンのサンプリング周波数を 120 MHz (6 * 20 MHz) に変更します。
    1. [FPGA clock period] を 8.33 ns (1/120 MHz) に設定します。
    2. [Simulink system period] を 1/120e6 秒に設定します。
    3. 次の図に示すように、[Perform Analysis] に Post Synthesis、[Analyzer type] に Resource を選択します。このオプションを選択すると、完了後にリソース使用率の詳細が表示されます。


  12. Generate をクリックし、デザインをハードウェア記述にコンパイルします。

    この場合、リソースが共有されるようにしてリソースを削減するため、デザインに意図的にサンプル レートを超えるクロックを供給しているので、[Diagnostic Viewer] ウィンドウに表示されるメッセージは無視できます。[Diagnostic Viewer] ウィンドウを閉じます。

  13. 生成が完了したら、OK をクリックして [Compilation status] ダイアログ ボックスを閉じます。

    生成が完了すると次の図に示すような [Resource Analyzer] ウィンドウが開き、合成後のデザインの見積もりが表示されます。

    ハードウェア デザインで使用される DSP48 リソースは 1 つのみとなり (乗算器 1 つ)、System Generator ブロックの設定 の結果と比較してリソース使用量は約半分になります。



  14. OK をクリックして [Resource Analyzer] ウィンドウを閉じます。
  15. OK をクリックして System Generator トークンを閉じます。
Lab1_2.slx Simulink ワークシートを閉じます。