PFM インターフェイスおよびプロパティは、IP インテグレーター ブロック デザインの [Platform Interfaces] ビューから宣言します。まだ開いていない場合、Vivado メニューで をクリックして [Platform Interfaces] ビューを開き、Enable platform interfaces リンクをクリックします。
Tcl コマンドを使用してプラットフォーム プロパティを設定する方法は、プラットフォーム インターフェイス プロパティのコンフィギュレーション を参照してください。
[Platform Interfaces] ビューには、デザイン内のさまざまな IP ブロック、およびアプリケーション アクセラレーション フローで Vitis コンパイラがリンクする使用可能なインターフェイス ポートが表示されます。次の手順に従うと、カーネルをハードウェア デザインに統合する際に、インターフェイスの v++
リンカーでの使用をイネーブルまたはディスエーブルに宣言できます。
Ctrl
または Shift
キーを使用すると、複数のインターフェイスを選択して同時に設定できます。- [Platform Interfaces] ビューで
zynq_ultra_ps_e_0
ブロックを展開し、ディスエーブルのままにしておくべき次のインターフェイスを除いたインターフェイスを右クリックし、Enable をクリックしてすべてのインターフェイスをイネーブルにします。- S_AXI_ACP_FPD
- S_AXI_LPD
- pl_clk0
-
clk_wiz_0
ブロックを展開して、clk_out1
からclk_out5
まですべてのクロックをイネーブル。 -
clk_out3
をクリックし、Platform Interface Properties ビューでそのプロパティを変更して、プラットフォームのデフォルト クロックとして定義します。- Options タブをクリックします。
- id = 0 に設定します。 重要: 編集後に変更を保存するには、Enter をクリックする必要があります。
-
is_default
をオンにします。 - status = fixed になっていることを確認します。
さまざまなプラットフォーム インターフェイスを指定した後、プロジェクト プロパティを設定し、オプションでエミュレーションをイネーブルにし、ブロック デザインを検証し、出力ファイルを生成し、必要な XSA を生成します。
- プロジェクト プロパティも設定して、インプリメンテーション ツールを実行してビットストリームを生成する前に、ターゲット プラットフォームのハードウェア デザインで使用されるダウンストリーム ツールに伝えるようにする必要があります。
set_property platform.design_intent.embedded true [current_project] set_property platform.design_intent.server_managed false [current_project] set_property platform.design_intent.external_host false [current_project] set_property platform.design_intent.datacenter false [current_project] set_property platform.default_output_type "sd_card" [current_project]
- これは、プラットフォームにハードウェア エミュレーション サポートを追加するためのオプションの手順です。
zynq_ultra_ps_e_0
ブロックを選択し、[Block Properties] ビューでSELECTED_SIM_MODEL
プロパティをrtl
からtlm
に変更します。ヒント: 次の Tcl コマンドでも同じ操作を実行できます。set_property SELECTED_SIM_MODEL tlm [get_bd_cells /zynq_ultra_ps_e_0]
- IP インテグレーター キャンバスで右クリックして Validate Design をクリックし、ブロック デザインに問題がないかどうかを検証します。
- [Sources] ビューで BD design (design_1.bd) を右クリックし、Generate Output
Products をクリックします
- 合成オプションには、デフォルトの [Out-of-context per IP] を使用します。
- run 設定には、デフォルトの [On local host] を使用します。
- Generate をクリックします。
- 生成が終了したら、[Design Run] タブで [Out-of-Context Module Runs] を展開し、デザイン名の横に緑のチェックマークが表示されたことを確認します。
- [Sources] ビューで BD
design を右クリックし、Create HDL
Wrapper をクリックします。
- デフォルト オプションである [Let Vivado manage wrapper and auto-update] をオンにします。
- OK をクリックします。
- Flow Navigator で
- Yes をクリックして合成およびインプリメンテーションを開始します。
- [Launch Runs] ダイアログ ボックスの設定はデフォルトのままにして OK をクリックします。
- 「Bitstream Generation Completed」というメッセージが表示されたら、Cancel をクリックして続行します。
をクリックします。 - 次の Tcl コマンドで XSA を作成します。
write_hw_platform -include_bit zcu102_min.xsa
- XSA を検証します。
validate_hw_platform ./zcu102_min.xsa
- XSA (
zcu102_min.xsa
) が生成されて、Vivado プロジェクト ディレクトリと同じレベルにあることを確認します。
カーネル サポートを含む XSA が作成され、Vitis ターゲット プラットフォーム プロジェクトでハードウェア コンポーネントとして使用して、カーネル ベースのアプリケーションが提供できるようになりました。ターゲット プラットフォームには、ソフトウェア コンポーネントも必要です。Linux ソフトウェア コンポーネントを生成するには PetaLinux ツールを使用し、XRT ライブラリ サポートと追加アイテム (ソフトウェア コンポーネントの作成 を参照) を含めます。