1. 株式会社PALTEK
  2. TECHブログ
  3. 技術情報
  4. 【Versal ACAP】 Versal™ AI コア シリーズ VCK190 評価キットを動かしてみた【紹介動画付き】

TECHブログ

【Versal ACAP】 Versal™ AI コア シリーズ VCK190 評価キットを動かしてみた【紹介動画付き】

【Versal ACAP】 Versal™ AI  コア シリーズ VCK190 評価キットを動かしてみた【紹介動画付き】

2019年6月にVersal ACAP(Adaptive Compute Acceleration Platform)が発表され、2021年、Versal™ AI コア シリーズ VCK190 評価キットがプロダクトリリースされました。

今回は、Versal™についての簡単な紹介を交えつつ、最新の基板にすぐ触れたい方や実際に動いている様子を知りたい方へ「実機動作の様子」と「動作させるための手順」について解説します。

目次

Versal™とは?

Versal™は、Xilinx社から発表された新しいデバイスACAPのシリーズです。
一番の特徴は、従来のFPGAやSoCにはなかったAI Engine(略:AIE)が新たに追加されていることです。

AIEはGPUライクな性能を持つエンジンで、Versal ACAPはCPU・FPGA・GPUの要素を兼ね備えたデバイスと言えます。

Versal™ AI コア シリーズについて

Versal ACAPは現時点(2021年3月)で、6種のシリーズが発表されています。

  • Versal™ AI コア
  • Versal™ AI エッジ
  • Versal™ AI RF
  • Versal™ プライム
  • Versal™ プレミアム
  • Versal™ HBM

上記3つのVersal™ AI xxシリーズ
AIEを搭載

下記3つのVersal™ xxシリーズ
→AIEは含まれてないが、既存デバイスの性能を大きく伸ばしたデバイスという位置づけになっています。

今回取り上げるVCK190は、Versal™ AI コアシリーズであるVersal™ VC1902 ACAPが搭載されており、新しく追加されたAI Engineを活用することも可能です。

Targeted Reference Designについて

Xilinx社の評価キットには、多くの場合リファレンスデザインが用意されており、評価キットの基本的な性能や各インターフェースの挙動を確認することができます。

今回使用するVCK190にもTargeted Reference Design(略:TRD)が用意されていますので、こちらを使用して、VCK190の動作を見てみましょう。

※注意※
今回使用する評価キットはes版のため、TRDもes版を使用しております。そのため、上記リンクのデザインとこれから説明するデザインは、動作が異なる可能性がありますことをあらかじめご了承ください。

使用機材

WindowsPC OS:Windows 10 →VCK190 TRDアクセス用として用います。
Tera Termを用いてUART経由で操作するため、用意しました。
評価キット Versal AI コア シリーズ VCK190内容テキスト
USBケーブル USB Type-C Cable 評価キット付属品。
WindowsPCとVCK190を接続し、TRDにアクセスします。
SDカード Micro SD Card 評価キット付属品。
今回はSD BootでTRDを動かします。
Ethernetケーブル Ethernet Cable 評価キット付属品。
IPアドレスを発行してLAN経由で、TRDにアクセスします。

事前準備

WindowsPC

 

✔ Tera Termのインストール

Versal AI コア シリーズ VCK190 評価キット

 

✔ imageファイルをSDカードへ書き込み


※注意※

サイズが8GB以上のパーティション化されていないSDカードを選択してください。

イメージファイル(petalinux-sdimage.wic.gz)を解凍した後、 次の手順で、SDカードに書き込みます。

1.解凍したイメージの場所を参照します。
2.[Device]でSDカードドライブを選択します。
3.[Write]を選択し、プロンプトで「はい」をクリックして書き込みを続行し、操作が完了するまで待ちます。

 

✔ 各ケーブルの接続
下図を参照して、セッティングを行います。
・Boot Mode Versal(SW1):”0111”
・Boot Mode SysCtrl(SW11):”0111”
・Remove jumper(J326 7-8)
・各ケーブルの接続

※注意※
HDMI,ケーブルおよびEthernetケーブル使用の際は、コネクタ上側に接続してください。

FMCカメラは付属品ではありませんが、Leopard IMX274 MIPI FMCがありましたので、図と同じ構成で接続しました。

USB webcamは、logicool社のC270を使用しています。

FMCコネクタを取り付ける時に壊れそうで不安になりますが、ちゃんとはまる感覚がするので程々に力を込めて取り付けましょう。

 

✔ TeraTermの設定
各ケーブルを繋いで基板電源をONにする前にTeraTermの設定を済ませましょう。

USB Type-CケーブルをVCK190およびPCへ接続すると、3つのUARTポートがTera Termに表示されます。

  • Versal UART0(接続対象)
  • Versal UART1
  • SysCtrl UART


Versal UART0(ポート番号が小さい方)を選択します。

 

これで準備完了です。

実機動作

動作についての説明は以下に記載しますが、動画も用意していますので、よろしければご覧ください。

【デモ動画】Versal AI コア シリーズ VCK190 評価キット

YouTube動画はChromeまたはFirefoxでご覧ください。

 

✔ JupyterLabサーバーへ接続

基板の電源をONにします。
Tera Term上で、FSBL、Linuxが起動することを確認します。



Linux起動後、Tera Term上で、下記のように root@xilinx-vck190-2020_1 と JupyterLab serverが自動でスタートします。



Tera Term上のURLを直接ダブルクリックします。
表示されるURLの例を下記に示します。



下図のような画面が表示されJupyterLabにアクセスできました。



JupyterLab内には、Pythonスクリプトが以下の10種類用意されていました。

  • base-trd-nb1.ipynb
  • base-trd-nb2.ipynb
  • base-trd-nb3.ipynb
  • base-trd-nb4.ipynb
  • base-trd-nb5.ipynb
  • base-trd-nb6.ipynb
  • base-trd-nb7.ipynb
  • base-trd-apm.ipynb
  • base-trd-cpu.ipynb
  • base-trd-power.ipynb


base-trd-nb1~7.ipynb
 →映像リソースを用いたデモ
そのほか
 →リソース使用率をEthernet経由で監視できるパフォーマンスモニター
となっています。

映像リソースと各インターフェース間の関係を大まかに分けると下図のようになっていると思われます。



早速NotebookでPythonスクリプトを動かしてみましょう。
動作手順は以下の通りです。

  • ブラウザー左部の「Base TRD」フォルダー下にNotebookが表示されます。
  • ダブルクリックして任意のNotebookを開きます。
  • 実行するには、上記のメニューバーから
    「Kernel」→「Restart Kernel and Run All Cells」を選択します。
  • 終了時は「Kernel」→「Shut Down Kernel」を選択します。

 



10種類用意されているソースの中からいくつかピックアップしてみましたので、動作の様子を見てみましょう。

  • base-trd-nb3.ipynb
  • base-trd-nb6.ipynb
  • base-trd-nb7.ipynb
  • base-trd-apm.ipynb
  • base-trd-power.ipynb

 

base-trd-nb3.ipynb

ターゲットの入力デバイスからHDMIモニターにストリーミングビデオをデモします。

今回は、MIPIカメラから映像をHDMI出力してみました。

ノートパソコンの画面がMIPIカメラを通じて4Kモニターに出力されています。
画像では少し分かりにくくて申し訳ありません。


カクつく様子もなく全然余裕といった感じですね。
スペックの高さを感じます。

 

base-trd-nb6.ipynb

2次元畳み込みフィルターを挿入してストリーミングビデオをデモします。

こちらは、出力先をモニターではなくJupyterLABにストリーミングしており、かつ2次元畳み込みフィルターを適用しているため、カラーバーの色が変化しています。

 

動作イメージ図

Ethernet経由で映像監視ができるのと、画像処理の演算部分をAI Engineが活用できるので、拡張性に期待が持てます。

 

base-trd-nb7.ipynb

1つの映像ソースに2次元畳み込みフィルターを挿入した4つのストリーミングビデオをデモします。

先に紹介したbase-trd-nb3.ipynbにさらにマルチビュー機能と、2次元畳み込みフィルターを追加したソースとなっています。


モニター側の解像度が足りずはみ出していますが、複数映像リソースに別々の画像処理を施して、同時に監視ができそうです。

また、ソースを多少弄ると別々の映像リソースを同時に出力することも可能です。


映像の解像度を小さくすれば大量の映像もモニター1枚で見ることもできそうです。
また、映像リソースを4K何本分まで耐えられるかなども気になるところです。

 

base-trd-apm.ipynb

ビデオパイプラインが実行されている間にメモリ帯域幅をプロットします。

映像リソース、DDR間のメモリ帯域を常時監視できる機能となっています。
Ethernet経由のため、遠隔でもモニタリングできるのが、特徴です。


また、他のパフォーマンスモニターも可能ですが、映像をモニタリングしながらの監視にも対応しています。


実際に監視しているのは、PL-NOC間のAXIバスとなっていますが、
AXIバスの実働帯域が常時監視できるのは、不具合の防止に繋がるので、設計ミスが大幅に削減できそうです。

 

base-trd-power.ipynb

ボード全体の複数の電圧の消費電力をプロットします。


FPGAに入力される各電源電圧の消費電力がリアルタイム
でプロットされています。
基板上に電流測定用の部品が搭載されており、PS側でI2Cアクセスして測定しているようです。

こちらもbase-trd-apm.ipynbと同様にEthernet経由で監視できるので、LANを搭載しておけば、実装後でも消費電力を遠隔で監視できるのは非常に魅力的です。

終わりに

今回は、TRDを通じてXilinx社のVersal™ AI コア シリーズ VCK190 評価キットについて、紹介させていただきました。

デモの動画はこちらをご覧ください。

【デモ動画】Versal AI コア シリーズ VCK190 評価キット

YouTube動画はChromeまたはFirefoxでご覧ください。

Versal ACAPは最新のデバイスということもあり、最大パフォーマンスや設計時の使用感など気になることは多々あるかと思いますので、これからもTECHブログを通じて、わかりやすくお伝えできればと思います。
次回のブログもどうぞよろしくお願いいたします。

 

調査依頼や、設計検討などありましたら、弊社デザインサービス事業までお気軽にお問い合わせください。

お問い合わせはこちら

 

最後までお付き合いいただきありがとうございました。