この手順では、各サブシステムに異なるクロック ドメインを指定します。
- System Generator トークンをダブルクリックし、プロパティ エディターを開きます。
- Clocking タブをクリックします。
-
Enable multiple clocks をクリックします。注記: [FPGA clock period] と [Simulink system period] が淡色表示されます。これは、クロック レートが System Generator により各階層に個別に設定されることを示しています。マルチレート デザインでは、最上位にサブシステムと FIFO のみが含まれるようにし、ほかのロジックは含めないようにすることが重要です。
-
OK をクリックしてプロパティ エディターを閉じます。
次に、CTRL ブロックのクロック レートを指定します。CTRL ブロックは、100 MHz で実行される CPU で駆動されます。
- System Generator トークンを選択します。
- Ctrl + C キーを押すか、右クリックして [Copy] をクリックし、トークンをコピーします。
次に、CTRL ブロックにクロック レートを指定します。このブロックには 100 MHz のクロックを供給し、AXI4-Lite インターフェイスを使用してアクセスします。
- CTRL ブロックをダブルクリックし、サブシステムを開きます。
- Ctrl + V キーを押すか、右クリックして [Paste] をクリックし、System Generator トークンを CTRL に貼り付けます。
- System Generator トークンをダブルクリックし、プロパティ エディターを開きます。
- Clocking タブをクリックします。
- Enable multiple clocks をオフにします。
- [FPGA clock period] を [1e9/100e6] に変更します。
- [Simulink system period] を [1/100e6] に変更します。
- OK をクリックしてプロパティ エディターを閉じます。
- Gateway In インスタンス POWER_SCALE をダブルクリックし、プロパティ エディターを開きます。
- [Sample period] をこのブロックの新しい周波数である [1/100e6] に変更します。
[Implementation] タブの [Interface] は [AXI4-Lite] に設定されています。これにより、このポートが AXI4-Lite インターフェイスにレジスタとしてインプリメントされます。
- OK をクリックしてプロパティ エディターを閉じます。
- System Generator トークンを選択してコピーします。
-
Up to Parent ツールバー ボタンをクリックし、最上位に戻ります。
次に、Gain Control ブロックのクロック レートを指定します。Gain Control ブロックには、DDC の出力と同じレート (61.44 MHz) のクロックが供給されます。
- Gain Control ブロックをダブルクリックし、サブシステムを開きます。
- Ctrl + V キーを押すか、右クリックして [Paste] をクリックし、System Generator トークンを Gain Control に貼り付けます。
- System Generator トークンをダブルクリックし、プロパティ エディターを開きます。
- Clocking タブをクリックします。
- [FPGA clock period] を [1e9/61.44e6] に変更します。
- [Simulink system period] を [1/61.44e6] に変更します。
-
OK をクリックしてプロパティ エディターを閉じます。
出力信号名には、接頭辞として
M_AXI_DATA_
が付きます。どちらの信号名も有効な AXI4 信号名 (tvalid
およびtdata
) なので、これらのポートは AXI4 インターフェイスとしてインプリメントされます。 -
Up to Parent ツールバー ボタンをクリックし、最上位に戻ります。
DDC ブロックでは、入力データのレートである元のデザインと同じクロック周波数 (491 MHz) が使用されます。
- 最上位デザインで System Generator トークンを選択してコピーします。
- DDC ブロックをダブルクリックし、サブシステムを開きます。
- Ctrl + V キーを押すか、右クリックして [Paste] をクリックし、System Generator トークンを DDC に貼り付けます。
- System Generator トークンをダブルクリックし、プロパティ エディターを開きます。
- Clocking タブをクリックします。
-
Enable multiple clocks をオフにします。[FPGA clock period] と [Simulink system period] が 491 MHz に設定されます。
- OK をクリックしてプロパティ エディターを閉じます。
- Up to Parent ツールバー ボタンをクリックして最上位に戻ります。
- デザインを保存します。
- [Run simulation] ボタンをクリックしてデザインをシミュレーションし、先ほどと同じ結果であることを確認します。
これで、デザインが 3 つのクロック ドメインでインプリメントされます。
- 最上位の System Generator トークンをダブルクリックし、プロパティ エディターを開きます。
- Generate をクリックし、デザインをハードウェア記述にコンパイルします。
- Yes をクリックしてシミュレーションの警告を閉じます。
- 生成が完了したら、OK をクリックして [Compilation status] ダイアログ ボックスを閉じます。
- OK をクリックして System Generator トークンを閉じます。
-
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;