AMD Zynq™
UltraScale+™ MPSoC および AMD Zynq™ 7000 エンベデッド プラットフォームの場合、--package
コマンド ラインは次のようになります。
v++ --package -t [sw_emu | hw_emu | hw] --platform <platform> input.xclbin [ -o output.xclbin ]
-o
) が指定されていない場合は、デフォルト名の a.xclbin で出力ファイルが作成されます。
Versal デバイスの場合、v++
--link
コマンドは、.xclbin ファイルの代わりに .xsa ファイルを作成します。この場合、.xclbin ファイルを生成するには、.xsa をパッケージ プロセスに提供する必要があります。Versal デバイスの場合の --package
コマンド ラインは、次のようになります。
v++ --package -t [sw_emu | hw_emu | hw] --platform <platform> input.xsa [ -o output.xclbin ]
Versal プラットフォームの場合、パッケージ プロセスで v++ --link
コマンドで生成された .xsa ファイルが使用されるほか、aiecompiler
コマンドで生成された libadf.a ファイルも使用されて、出力デバイス バイナリに統合されます (Versal デザインのパッケージ を参照)。
--package
コマンドには、Vitis ツールでサポートされるさまざまなプラットフォームおよびビルド ターゲットで使用できるさまざまなオプションがあります。Vitis IDE では、パッケージ プロセスが自動化されており、必要に応じて必要なファイルが作成されるようになっています。ただし、コマンド ライン フローでは、v++ --package
コマンドを指定するか、config ファイルに [package]
タグを追加して、そのジョブに正しいオプションを指定する必要があります。次に、ハードウェア エミュレーションのコマンド例を示します。
v++ --package --config package.cfg ./aie_graph/libadf.a \
./project.xsa -o aie_graph.xclbin
--config package.cfg
オプションでは、パッケージ プロセスのさまざまなオプションを使用して、Vitis コンパイラのコンフィギュレーション ファイルを指定できます。次に、コンフィギュレーション ファイルの例を示します。
platform=xilinx_vck190_base_202310_1
target=hw_emu
save-temps=1
[package]
boot_mode=sd
out_dir=./emulation
enable_aie_debug=1
rootfs=<path_to_platform>/sw/versal/xilinx-versal-common-v2023.1/rootfs.ext4
image_format=ext4
kernel_image=<path_to_platform>/sw/versal/xilinx-versal-common-v2023.1/Image
sd_file=host.exe
ソフトウェア エミュレーションの場合、このコマンドは .xclbin または .xsa ファイルを入力として使用し、エミュレーションを起動するスクリプト (launch_sw_emu.sh または launch_hw_emu.sh) を生成し、指定した出力フォルダーに必要なサポート ファイルを書き込みます (--package.out_dir
)。
アプリケーションの実行に必要な追加ファイル (入力として必要なデータ ファイル、アプリケーションの検証に必要なデータファイル、プロファイリングとデバッグ用の xrt.ini ファイルなど) を出力ファイルに含める必要があり、--package.sd_file
オプションを使用して個別に転送したり、--package オプション で説明される sd_dir
オプションを使用してディレクトリとして転送したりできます。
ハードウェア ビルドの場合、--package
コマンドで sd_card フォルダー、または --package.boot_mode
オプションで指定したブート モードによって QSPI.img が作成されます。
--package.ps_elf <elf>,<core>
package コマンドでは、sd_card という出力フォルダーが作成され、sd_card
のブート プロセスを記述した、アプリケーションのハードウェア エミュレーションを実行するのに必要なファイルすべてが含まれます。ハードウェア ビルドの場合は、デバイスをブートする SD カードを作成するのに必要なファイルすべてが含まれます。次に、ハードウェア エミュレーションのパッケージ出力例を示します。
|-- BOOT_bh.bin //Boot header
|-- BOOT.BIN //Boot File
|-- boot_image.bif
|-- launch_hw_emu.sh //Hardware emulation launch script
|-- libadf //AIE emulation data folder
| `-- cfg
| |-- aie.control.config.json
| |-- aie.partial.aiecompile_summary
| |-- aie.shim.solution.aiesol
| |-- aie.sim.config.txt
| `-- aie.xpe
|-- plm.bin //PLM boot file
|-- pmc_args.txt //PMC command argument specification file
|-- pmc_cdo.bin //PMC boot file
|-- qemu_args.txt //QEMU command argument specification file
|-- sd_card
| |-- BOOT.BIN
| |-- boot.scr
| |-- aie_graph.xclbin
| |-- host.exe
| |-- Image
|-- sd_card.img
`-- sim //Vivado simulation folder
ハードウェア ビルド用に sd_card フォルダーを作成したら、内容を SD カードにコピーして、物理的デバイス用のブート イメージを作成します。