ひでみのアイデア帳 https://sweetcafe.jp/ https://sweetcafe.jp/ https://sweetcafe.jp/favicon.ico AQUAXIS Fri, 14 Feb 2020 00:00:00 +0900 ja-JP Fri, 14 Feb 2020 00:00:00 +0900 Blog Let's Vitis(18) - Ultra96V2で動かしてみよう https://sweetcafe.jp/?*20200214-000000 Let's Vitis(18) - Ultra96V2で動かしてみよう

VitisでコンパイルしたバイナリをSDカードにコピーします。

プロジェクトのHardwareディレクトリにsd_cardディレクトリが生成されます。

存在するファイルは下記のとおりです。

  • BOOT.BIN
  • uEnv.txt
  • Image
  • zynqmp-ultra96-v2.dtb
  • sample_app1.exe
  • binary_container_1.xclbin

SDカードの生成方法はすでにお勉強しました。

これらのファイルをSDカードの第一パーティションに書き込みます。

core-image-minimal-ultra96v2.tar.gzはSDカードの第二パーティションにコピーします。

Ultra96V2で実行

SDカードをUltra96V2に差し込んで起動します。

SDカードの第一パーティションをマウントしてsample_app1.exeとbinary_container_1.xclbinをhomeディレクトリにコピーします。

そして、sample_app1.exeを実行してみましょう。

$ export XILINX_XRT=/usr
$ ./sample_app1.exe binary_container_1.xclbin

「TEST PASS」って表示されればOKです。

本当に確かめるなら、Emulation-SWと相違がなければ正解です。

次回予告

次は既存のRTLをアプリケーションから使えるようにRTL Kernelを作っていきましょう。

次回は「RTL Kernelを作る」を勉強しましょう。

]]>
Fri, 14 Feb 2020 00:00:00 +0900 https://sweetcafe.jp/2020-02-14 00:00:00
Let's Vitis(17) - FPGAアクセラレーションするプロジェクト https://sweetcafe.jp/?*20200212-000000 Let's Vitis(17) - FPGAアクセラレーションするプロジェクト

今回はFPGAアクセラレーションするプロジェクトを勉強します。

まずはサンプルプロジェクトで試していきます。

Create ApplicationでVector Additionを選択します。

プロジェクト名はsample_app1にしました。

Emulation-SWのコンパイル

生成されたプロジェクトをコンパイルしてみましょう。

まずはEmulation-SWからやってみましょう。

コンパイルが正常終了すればOKです。

ここでコケるようでは話になりません。

Emulation-HW

次はEmulation-HWをコンパイルしてみましょう。

時間がかかりますがコンパイルが正常終了すれば問題ありません。

Hardware

最後にHardwareをコンパイルしてみましょう。

時間がかかりますがコンパイルが正常終了すれば問題ありません。

次回予告

ここまでできれば実機で動作するか確認です。

アクセラレーションのソフトウェアのカスタマイズは動作確認を行った後に実施していきます。

次回は「Ultra96V2で動かしてみよう」を勉強します。

]]>
Wed, 12 Feb 2020 00:00:00 +0900 https://sweetcafe.jp/2020-02-12 00:00:00
Let's Vitis(16) - FPGAアクセラレーション環境を構築 https://sweetcafe.jp/?*20200210-000000 Let's Vitis(16) - FPGAアクセラレーション環境を構築

今回からFPGAでアクセラレーションするアプリケーションを作成していけるようにします。

前回作成したのは単にCortexA53上で動作するアプリケーション環境です。

しかも、環境はUltra96V2でアプリケーションを開発できる環境でした。

この環境ではFPGAアクセラレーションすることはできません。

VitisでのFPGAアクセラレーションとは

VitisでFPGAアクセラレーションを行うにはOpenCL環境を開発できるようにしなければいけません。

Interfaceの設定

Interfaceを設定します。

Interfaceはアクセラレーションで使用できるInterfaceを設定する必要があります。

VivadoのWindow→Platform InterfaceでInterfaceを追加します。

ClockのIDは0を必ず用意して、どれかのClockにDefaultがチェックされていなければいけません。

XSAファイルの生成

Tcl Consoleから次のようにコマンドを実行します。

write_hw_platform -include_bit ultra96v2_platform.xsa

前回、アプリケーションを作成したときはVivadoのExport HardwareをクリックしてXSAを作成しましたがこのXSAではFPGAでアクセラレーションできるPlatformを作成することが出来ないので注意しましょう。

Platformの生成

新しいXSAファイルでPlatformを生成するとOpenCLを選択できるようになります。

次回予告

次回は「FPGAアクセラレーションするプロジェクト」を勉強しましょう。

]]>
Mon, 10 Feb 2020 00:00:00 +0900 https://sweetcafe.jp/2020-02-10 00:00:00
Let's Vitis(15) - VitisでHello World https://sweetcafe.jp/?*20200207-000000 Let's Vitis(15) - VitisでHello World

やっとVitisでアプリケーションを開発できる環境が整いました。

Application Projectをクリックして新規にプロジェクトを作成します。

Platformはultra96V2_platform[custom]を選択します。

DomainはLinux on psu_cortexa53を選択します。

New Application ProjectはHello Worldを選択します。

Finishをクリックすると下図のようにプロジェクトが生成されます。

ビルド

sample_app1_systemを右クリックしてBuild Projectを選択します。

生成物

ビルドが正常終了するとDebugディレクトリが生成されsd_cardディレクトリにSDカードに格納するファイルがコピーされます。

ここまでのまとめ

ここまでの勉強でUltra96V2で動作させることがアプリケーションでビルドできました。

実はここまでの手順だとアプリケーションをFPGAにアクセラレーションをさせることができないのです。

なぜなら、単にUltra96V2のARM上で動作するアプリをビルドしたからです。

次回以降はFPGAでアクセラレーションさせる勉強をしていきたいと思います。

次回予告

次回は「FPGAアクセラレーション環境を構築」を勉強しましょう。

]]>
Fri, 07 Feb 2020 00:00:00 +0900 https://sweetcafe.jp/2020-02-07 00:00:00
Let's Vitis(14) - Platformの作成(続き) https://sweetcafe.jp/?*20200205-000000 Let's Vitis(14) - Platformの作成(続き)

前回、SDKを作成してインストールしたのでルートシステムのディレクトリが展開されています。

展開場所は下記のディレクトリです。

/opt/poky/3.0.1_ultra96v2/sysroots/aarch64-poky-linux

Platformの設定

Platformの作成で残っていたSysroot Directoryを次のディレクトリを指定します。

/opt/poky/3.0.1_ultra96v2/sysroots/aarch64-poky-linux

ここでQEMUは設定しません。

なぜなら、男ならエミュレータに頼るな!です。

Platformのビルド

Domain: Linux_domainの設定が終わったらExplorerのultra96v2_platformを右クリックして、Build Projectを選択します。

そうするとコンパイルが走って、正常に生成されるとexportディレクトリが生成され、Platformに必要なファイルがコピーされます。

これでようやくUltra96V2用のPlatformができあがりました。

次回予告

次回は「VitisでHello World」を勉強しましょう。

]]>
Wed, 05 Feb 2020 00:00:00 +0900 https://sweetcafe.jp/2020-02-05 00:00:00