このセクションでは、IP に関連付けられているカスタム ドライバー (ドライバー ファイルは IP コンポーネントの IPXACT ファイルで指定) をハンドオフする方法、HSI のドライバー情報にアクセスする方法、および BSP 生成中にドライバーを IP に関連付ける方法を示します。カスタム ドライバーを含む IP のパッケージの詳細は、 『Vivado Design Suite ユーザー ガイド: カスタム IP の作成とパッケージ』 (UG1118) を参照してください。
次に、カスタム ドライバーを含む IP のサンプル デザインと、カスタム ドライバーを指定する IPXACT 定義を示します。
図 1. カスタム ドライバーを含む IP のサンプル デザイン
図 2. IP の IPXACT 仕様で指定されたカスタム ドライバー
IP の IPXACT 仕様で指定されたカスタム ドライバー
Vivado ハードウェア ハンドオフ フローを合成前またはビットストリーム後のモードで実行します。各 IP のカスタム ドライバーは XSA にパッケージされます。
# カスタム ドライバーを含むハードウェア デザインを開きます。
hsi::open_hw_design ./base_zynq_design_wrapper.xsa
base_zynq_design_wrapper
# ソフトウェア デザインを作成します。
hsi::create_sw_design swdesign -proc ps7_cortexa9_0 -os standalone
Swdesign
# 各 IP コアにカスタム ドライバーが割り当てられているかどうかを確認します。
join [hsi::get_drivers ] \n
axi_bram_ctrl_0
axi_gpio_0
myip_0
# カスタム ドライバーのプロパティを確認します。
common::report_property [ hsi::get_drivers myip*]
プロパティ | データ型 | 読み出し専用 | 表示 | 値 |
---|---|---|---|---|
CLASS | 文字列 | true | true | driver |
HW_INSTANCE | 文字列 | true | true | myip_0 |
NAME | 文字列 | false | true | myip |
VERSION | 文字列 | false | true | 1.0 |
# BSP を生成します。カスタム ドライバー ソースを含む BSP ソース コードが bsp_out ディレクトリに保存されます。
hsi::generate_bsp -dir bsp_out
base_zynq_design_wrapper
ls ./bsp_out/ps7_cortexa9_0/libsrc/
. . .
myip_v1_0
. . .