Vitis を用いたアクセラレータの開発 (4) Acceleration Application 実装編

「Vitis Target Platform SW構築編」の記事で、PetaLinux を使った SW Component 構築方法について紹介しました。4回目となる今回は Vitis 2019.2 を利用して、Vitis Target Platform および Acceleration Application の構築方法をご紹介します。

Vitis Target Platform Tool Flow

まず Tool Flow の復習ですが、Vitis での Acceleration Application の Tool Flow は以下の図のよう4つの Step があります。

今回は上図の③の Vitis Target Platform と④の Vitis Acceleration Application の簡単な Flow をご紹介いたします。

まずは、Vitis Target Platform の簡単な Flow から説明します。

Vitis Workspace

Vitis を起動すると、はじめに Workspace を指定します。これは eclipse という Open Source の統合開発環境を流用しているため、Tool 起動時には必ず指定する必要があります。

New Platform Project

Vitis が起動すると以下の Welcome 画面がはじめに登場します。今回は、Vitis Target Platform の作成なので、 Create Platform Project を選択して次へ進みます。もし、Welcome の画面が開いていない場合は、Vitis の Menu より Files -> New -> Platform Project でも同様の動作となります。

New Platform Project の最初の Step は、Platform name の設定です。ここでは、Avnet Ultra96v2 の Target Platform を作成しますので、その Board Name をもとにした名前を設定します。

次に、どの情報をもとに Platform を作成するかを指定します。ここでは、XSA を指定して Target Platform を作成します。

最後に、XSA File を指定し、Software Specification で Operating System を “linux” と指定します。

上記の設定が終わりましたら、Finish を選択し New Platform Project の Wizard は終了となります。

Domain: linux_domain

次に Domain の設定を行います。platform.spr を開くと Platform 設定画面が開きます。ここで、”linux on psu_cortexa53″ を選択します。

すると、linux_domain 設定画面が開きます。ここでは、Bif File、Boot Components Directory、Linux Image Directory、Sysroot Directory を指定して、Platform 完成させます。注意点としては、Bif File は自動で生成されないため、予め Create Boot Image の機能での自動生成や、Text Editor などで作成しておく必要があります。

Build

各 File および Directory の設定が完了したら、あとは Build を実行するのみとなります。Build の実行方法は何通りかありますが、画面左下の Assistant View から実行する方法が便利で確実です。

Build 時間は、PC の性能により変わりますが数分で完了します。完了すると Console View にて “Build Finished” の Message を確認できます。

Build が完了すると、画面左にある Explorer View の export Directory に Vitis Target Platform が完成しています。

Vitis Acceleration Application Tool Flow

次に、Acceleration Application の簡単な Flow をご紹介します。

Create Application Project

Welcome の画面から、Create Application Project を選択します。Welcome の画面がない場合は、Vitis の Menu より File -> New -> Application Project でも同様の動作となります。

New Application Project の最初の画面で、先程作成した Vitis Target Platform を選択します。同じ Workspace 内であれば、自動的に Vitis Target Platform が追加されている状態になりますが、Workspace を Vitis Target Platform Project とは別に作成した場合は、この画面で “+” を選択して追加する必要があります。

次は Domain の指定画面になります。Platform 作成時に設定した linux on psu_cortexa53 Domain を指定します。

最後は Template の指定画面になります。ここでは Vector Addition という簡単なExample がありますので、今回はこれを利用します。

Application Project Wizard が終わると Application Project Settings 画面が立ち上がります。

Application Project Settings

Application Project Settings では、各種 Option 設定、Hardware Functions の項目ではKernel 関数の設定や、Kernel 関数単体で Vitis HLS を立ち上げる機能 (雷のような印のicon) があります。今回は Template をそのまま利用するので、Default で HW 化する関数 (Kernel 関数) が追加されています。

Build

Platform Project と同様に Assistant View から実行します。

Build 時間は、PC の性能により変わりますが数十分程度で完了します。完了すると Console View にて “Build Finished” の Message を確認出来ます。

Build が完了すると、画面左にある Explorer View の sd_card Directory に Acceleration Application が完成しています。

実機動作確認

Create Application Project で生成された File をすべて SD Card に書き込み、動作を確認します。書き込む場合、SD Card に Root File System を展開する設定をしている場合は、Gparted などの Linux のApplication などで Partition を分けて、fat32 領域に Boot Image、ext4 に Root File System を書き込む必要があります。Compile した User Application は fat32 の Partition に書き込んでおきます。

後は Zynq 上で Linux 起動後に Application を実行すると Terminal に “TEST PASSED” と結果が出力されます。Command は以下です。

$ cd /run/media/mmcblk0p1/
$ export XILINX_XRT=/usr
$ ./ultra96v2_test.exe binary_container_1.xclbin

以上で、Vitis Target Platform を使った Acceleration Application の構築および動作確認については終了です。これらの内容は、XILINX の Vitis User Guide を元に作成しています。詳細については以下の URL をご確認ください。

Documentation Portal

次回は最終回で、Vitis Library や Vitis AI について説明いたします。

AVNET K.K. 仲見 倫

タイトルとURLをコピーしました