手順 3: クロック ドメインの指定 - 2020.2 日本語

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

Document ID
UG948
Release Date
2020-12-11
Version
2020.2 日本語
この手順では、各サブシステムに異なるクロック ドメインを指定します。
  1. System Generator トークンをダブルクリックし、プロパティ エディターを開きます。
  2. Clocking タブをクリックします。
  3. Enable multiple clocks をクリックします。
    注記: [FPGA clock period] と [Simulink system period] が淡色表示されます。これは、クロック レートが System Generator により各階層に個別に設定されることを示しています。マルチレート デザインでは、最上位にサブシステムと FIFO のみが含まれるようにし、ほかのロジックは含めないようにすることが重要です。


  4. OK をクリックしてプロパティ エディターを閉じます。

    次に、CTRL ブロックのクロック レートを指定します。CTRL ブロックは、100 MHz で実行される CPU で駆動されます。

  5. System Generator トークンを選択します。
  6. Ctrl + C キーを押すか、右クリックして [Copy] をクリックし、トークンをコピーします。

    次に、CTRL ブロックにクロック レートを指定します。このブロックには 100 MHz のクロックを供給し、AXI4-Lite インターフェイスを使用してアクセスします。

  7. CTRL ブロックをダブルクリックし、サブシステムを開きます。
  8. Ctrl + V キーを押すか、右クリックして [Paste] をクリックし、System Generator トークンを CTRL に貼り付けます。
  9. System Generator トークンをダブルクリックし、プロパティ エディターを開きます。
  10. Clocking タブをクリックします。
  11. Enable multiple clocks をオフにします。
  12. [FPGA clock period] を [1e9/100e6] に変更します。
  13. [Simulink system period] を [1/100e6] に変更します。

  14. OK をクリックしてプロパティ エディターを閉じます。
  15. Gateway In インスタンス POWER_SCALE をダブルクリックし、プロパティ エディターを開きます。
  16. [Sample period] をこのブロックの新しい周波数である [1/100e6] に変更します。

    [Implementation] タブの [Interface] は [AXI4-Lite] に設定されています。これにより、このポートが AXI4-Lite インターフェイスにレジスタとしてインプリメントされます。

  17. OK をクリックしてプロパティ エディターを閉じます。
  18. System Generator トークンを選択してコピーします。
  19. Up to Parent ツールバー ボタンをクリックし、最上位に戻ります。

    次に、Gain Control ブロックのクロック レートを指定します。Gain Control ブロックには、DDC の出力と同じレート (61.44 MHz) のクロックが供給されます。

  20. Gain Control ブロックをダブルクリックし、サブシステムを開きます。
  21. Ctrl + V キーを押すか、右クリックして [Paste] をクリックし、System Generator トークンを Gain Control に貼り付けます。
  22. System Generator トークンをダブルクリックし、プロパティ エディターを開きます。
  23. Clocking タブをクリックします。
  24. [FPGA clock period] を [1e9/61.44e6] に変更します。
  25. [Simulink system period] を [1/61.44e6] に変更します。

  26. OK をクリックしてプロパティ エディターを閉じます。

    出力信号名には、接頭辞として M_AXI_DATA_ が付きます。どちらの信号名も有効な AXI4 信号名 (tvalid および tdata) なので、これらのポートは AXI4 インターフェイスとしてインプリメントされます。

  27. Up to Parent ツールバー ボタンをクリックし、最上位に戻ります。

    DDC ブロックでは、入力データのレートである元のデザインと同じクロック周波数 (491 MHz) が使用されます。

  28. 最上位デザインで System Generator トークンを選択してコピーします。
  29. DDC ブロックをダブルクリックし、サブシステムを開きます。
  30. Ctrl + V キーを押すか、右クリックして [Paste] をクリックし、System Generator トークンを DDC に貼り付けます。
  31. System Generator トークンをダブルクリックし、プロパティ エディターを開きます。
  32. Clocking タブをクリックします。
  33. Enable multiple clocks をオフにします。[FPGA clock period] と [Simulink system period] が 491 MHz に設定されます。

  34. OK をクリックしてプロパティ エディターを閉じます。
  35. Up to Parent ツールバー ボタンをクリックして最上位に戻ります。
  36. デザインを保存します。
  37. [Run simulation] ボタンをクリックしてデザインをシミュレーションし、先ほどと同じ結果であることを確認します。

    これで、デザインが 3 つのクロック ドメインでインプリメントされます。

  38. 最上位の System Generator トークンをダブルクリックし、プロパティ エディターを開きます。
  39. Generate をクリックし、デザインをハードウェア記述にコンパイルします。
  40. Yes をクリックしてシミュレーションの警告を閉じます。
  41. 生成が完了したら、OK をクリックして [Compilation status] ダイアログ ボックスを閉じます。
  42. OK をクリックして System Generator トークンを閉じます。
  43. C:\SysGen_Tutorial\Lab4\IPP_QT_MCD_0001\DDC_HB_hier\ip\hdl\ lab4_1.vhd を開き、デザインに 3 つのクロックが使用されていることを確認します。
    entity lab4_1 is
      port (
         ctrl_clk : in std_logic;
         ddc_clk : in std_logic;
         gain_control_clk : in std_logic;