サンプル プラットフォームのダウンロード
- Vivado を起動します。
- (保存/アラート) をクリックします。
- OK をクリックして、ウェブからオープンソースのサンプルのダウンロードに同意します。
- をクリックし、ツールバーのダウンロード ボタンをクリックします。
- インストールが完了したら、Close をクリックします。注記: この例では、Versal エクステンシブル エンベデッド プラットフォームが使用されています。必要なデザイン例を選択します。
- インストールが完了したら、Close をクリックします。注記: この例では、Versal エクステンシブル エンベデッド プラットフォームが使用されています。必要なデザイン例を選択します。
CED サンプル デザインの作成
- (保存/アラート) をクリックします。
- [Select Project Template] ウィンドウで Versal Extensible Embedded Platform をオンにします。
- project name および project location を入力します。Create project subdirectory はオンのままにします。Next をクリックします。
- [Default Part] ページでターゲット ボードを選択します。この例では、Versal VCK190 Evaluation Platform が選択されています。Next をクリックします。
- クロック設定を指定します。このページでは、より多くのクロックをイネーブルにしたり、出力周波数をアップデートしたり、デフォルト クロックを定義したりできます。この例では、デフォルト設定が使用されています。
- 割り込み設定を指定します。このプラットフォームのサポートする割り込みの数を選択できます。63 割り込みモードの場合、カスケード モードで 2 つの AXI_INTC が使用されます。この例では、デフォルト設定が使用されています。
- メモリ設定を指定します。このデザイン例では、デフォルトで DDR4 のみをイネーブルにします。LPDDR4 をイネーブルにすると、DDR4 と LPDDR4 の両方がイネーブルになります。この例では、デフォルト設定が使用されています。
- Next をクリックします。
- 新しいプロジェクト サマリを確認し、Finish をクリックします。
- しばらくすると、サンプル デザインが生成されたことがわかります。
生成されたデザインでは AI エンジンがインスタンシエートされ、DDR4 コントローラーがイネーブルになり、CIPS に接続されます。また、1 つの割り込みコントローラー、3 つのクロック、および関連する同期リセット信号も提供されます。
Versal エクステンシブル プラットフォーム例のプラットフォーム設定
- AXI ポート設定を確認します。
-
axi_noc_ddr4 では、S01_AXI から S27_AXI がイネーブルになっています。SP
Tag は DDR に設定されています。
-
icn_ctrl_0 および icn_ctrl_1 では、M01_AXI から M15_AXI がイネーブルになっています。icn_ctrl では、M03_AXI および M04_AXI がイネーブルです。memport は M_AXI_GP に設定されています。[SP Tag] は空です。これらのポートは、PL カーネルを制御する AXI マスター インターフェイスを提供します。ブロック図では、AXI SmartConnect IP にロードが必要なので、icn_ctrl_0 および icn_ctrl_1 は AXI Verification IP に接続します。ここでは、AXI Verification IP をダミーとして使用します。
-
axi_noc_ddr4 では、S01_AXI から S27_AXI がイネーブルになっています。SP
Tag は DDR に設定されています。
- クロック設定を確認します。
-
Clock タブで clk_wizard_0 から tab, clk_out1、clk_out2、clk_out3 を id {0,1,2}、frequency {200 MHz, 100 MHz, 300 MHz} を使用してイネーブルにします。デフォルトのクロックは、clk_out1 です。リンク設定でクロックが指定されていない場合、v++ リンカーはこのクロックを使用してカーネルを接続します。[Proc Sys Reset] プロパティは、各クロックに割り当てられた同期リセット信号に設定されます。
-
Clock タブで clk_wizard_0 から tab, clk_out1、clk_out2、clk_out3 を id {0,1,2}、frequency {200 MHz, 100 MHz, 300 MHz} を使用してイネーブルにします。デフォルトのクロックは、clk_out1 です。リンク設定でクロックが指定されていない場合、v++ リンカーはこのクロックを使用してカーネルを接続します。[Proc Sys Reset] プロパティは、各クロックに割り当てられた同期リセット信号に設定されます。
- [Interrupt] タブを確認します。
-
Interrupt タブでは、xlconcat の In0 から In31 ポートがイネーブルになっています。
-
Interrupt タブでは、xlconcat の In0 から In31 ポートがイネーブルになっています。
- シミュレーション モデルを確認します。
-
Vivado 統合デザイン環境 (IDE) で、CIPS インスタンスを選択します。Block
Properties ウインドウを確認します。Properties タブには、ALLOWED_SIM_MODELS が tlm および rtl、SELECTED_SIM_MODEL は tlm と表示されます。つまり、このブロックでは 2 つのタイプのシミュレーション モデルがサポートされます。この例では tlm モデルが選択されています。
- ブロック図で NoC および AI エンジンのシミュレーション モデル プロパティを確認します。
-
Vivado 統合デザイン環境 (IDE) で、CIPS インスタンスを選択します。Block
Properties ウインドウを確認します。Properties タブには、ALLOWED_SIM_MODELS が tlm および rtl、SELECTED_SIM_MODEL は tlm と表示されます。つまり、このブロックでは 2 つのタイプのシミュレーション モデルがサポートされます。この例では tlm モデルが選択されています。
ハードウェア XSA のエクスポート
- ブロック図を生成します。
- Flow Navigator から Generate Block Diagram をクリックします。
- [Synthesis Options] を [Global] にして、生成時間を短縮します。Generate ボタンをクリックします。
- Flow Navigator から Generate Block Diagram をクリックします。
- 次のスクリプトを使用してハードウェア プラットフォームをエクスポートします。
- Platform Setup タブの下にある Export Platform ボタンをクリックします。 (保存/アラート) をクリックします。または、Flow Navigator ウィンドウで をクリックするか、
- Export Hardware Platform ページで Next をクリックします。
- Hardware を選択します。シミュレーションをサポートしない IP がある場合は、ハードウェア XSA とハードウェア エミュレーション XSA を別々に生成する必要があります。Next をクリックします。
- DFX プラットフォームが作成されないため、Pre-synthesis を選択します。Next をクリックします。
- 名前を入力し、Next をクリックします。
- ファイル名をアップデートして Next をクリックします。
- サマリを確認したら、Finish をクリックします。
ハードウェア エミュレーション XSA のエクスポート
Vitis 2021.2 の変更では、XSCT でプラットフォームを作成する際に、ハードウェアとハードウェア エミュレーションごとに独自の XSA ファイルが必要となりました。2021.2 では、ハードウェアとハードウェア エミュレーションの両方のコンテンツを含む 1 つの XSA も引き続きサポートされますが、今後廃止される予定です。
- Flow Navigator で をクリックするか、Platform Setup タブの下にある Export Platform ボタンをクリックします。 (保存/アラート) をクリックします。または、
- Export Hardware Platform ページで Next をクリックします。
- Hardware Emulation をクリックします。シミュレーションをサポートしない IP がある場合は、ハードウェア XSA とハードウェア エミュレーション XSA を別々に生成する必要があります。Next をクリックします。
- DFX プラットフォームが作成されないため、Pre-synthesis を選択します。Next をクリックします。
- 名前を入力し、Next をクリックします。
- ファイル名をアップデートして Next をクリックします。
- サマリを確認したら、Finish をクリックします。