« Zynqberryセミナーを開催しました | トップページ | ZYNQのLinux上でSDSoCアプリを動かすための条件 »

2018.06.18

ZynqberryでSDSoCのアプリが動いた!

ついに、できました!!

ZynqberryでSDSoCのアプリが動くようになりました。

Zb

Zynqberryというのは、Raspberry Pi形状のFPGAボードでZYNQが乗っています。

ここにあるスタータキットを使うと、Ubuntuが動いて、apt-getで便利なコマンドがいろいろインストールできるようになってRasPiみたいになります。

http://www.trenz.jp/product/TE0726-STARTER-KIT/

私は、FPGAでアクセラレートできるRasPiを作りたいので、Zynqberryのアプリ(HW/SW)をSDSoCで開発する方法を確立しようとしています。

sun

プロジェクトやらファイルをいじっていたら、SD_CARDフォルダに起動用のboot.binが作られるようになりました。

Sdsoc_files

いずれはオリジナル・プラットフォームでSDSoCを使う手順を確立して手順書を作りたいと思いますが、まずはできあがったBoot.binを使って実際に動かしてみます。

動かしている回路は、XILINXのサンプルプログラムに入っている並列加算器のデモらしく、1024個の加算をするという、いかにもなものでした。高位合成をしたらこのような回路が出来上がっていました。

Zb_sdsoc_circuit

まずはハードウェアで実行したときのCPUのクロック数(?)を表示しています。

Zb_hw_acc_2

次はソフトウェアで実行したときのCPUのクロック数(?)です。

Zb_sw

確かに違いが出ていますね。

Estimate PerformanceをONにすると、プログラム全体と、ハードウェア化した関数の詳細なプロファイルを取ってくれるそうです。

Estim

が、結果を見てもよくわかりません。

Sdsoc_speedup

あまり高速になっていないような気もします。

データはBRAMに入れているようなので、1024個の加算を同時にやっているわけではないのでしょう。

SDSoCはデータ転送に相当なクロックサイクルを使うし、CPUがそもそも666MHzで動いているので、PLを100MHzかそこらで動かしても加速はたかが知れたものです。

SDSoCを試すなら、並列加算なんていうぬるいものではなく、もっとパワーが必要な演算回路を入れてやらねば真価を発揮しないということだと思います。

重い演算、どんとこい!

|

« Zynqberryセミナーを開催しました | トップページ | ZYNQのLinux上でSDSoCアプリを動かすための条件 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« Zynqberryセミナーを開催しました | トップページ | ZYNQのLinux上でSDSoCアプリを動かすための条件 »