2017/10/09

[zybo]これまでの復習

久しぶりにZyboを触ろうとしたが、どういうものだったか、何を調べてきたのかすら記憶に残っていないので、復習しておこう。



まず、CPU?として、XilinxのZYNQ-7000シリーズである、Z-7010が搭載されている。
PS部としてARM Cortex-A9(650MHz)が2つ。
PL部として7-series Artix FPGA相当のものが搭載されている。

PS部とPL部は、EMIO, AMBAなどのバスでつながっているようだ。


ARMのA9が載るだけあって、周辺も充実している。
RJ45もあるし、HDMI(I/O)、Dsub9のVGA、MIC IN, LINE, INもあるし、タクトスイッチやスライドスイッチ、GPIOのポート(Pmod)もある。
USBは、Type-Aもあるし、microBを使えばFTDIが載っているのでUSBシリアル変換でコンソールとして使うこともできる。

microSDカードもささり、そこから起動させるようなこともできるのだ。


なかなかよいのだが、発売がもう3年くらい前になるためか、情報があまり更新されていない。
FPGAの勉強用であれば、もうちょっと最近発売されているボードの方がおすすめだと思う。

Xilinxが発売しているボードであれば、Vivadoなどの開発環境で最初から設定が入っていそうだから、本筋にすぐ入っていけるのではなかろうか。
私なんか、おかげで、新しいPetaLinux(Xilinxが提供しているLinux環境)をZyboで動かすために数ヶ月かかってしまったぞ。

まあ、それはそれで勉強になってよいのだけどね。


おかげで、まだVHDLとかVerilogとかにはほとんど手を出していない。


FPGAというと、なんとなく組込みジャンルで考えていたのだが、ZyboみたいにOSが載る環境で使えてしまうと、もっと違う使い方をした方がよいような気がしてくる。

もちろん機器の制御もできるけれども、ハードウェアに近い部分でロジックを作ることもできるのだ。
そうなると、柔軟な並列演算処理装置、という見方もできよう。
GPUで仮想通貨のマイニングしたり、ディープラーニングの演算をさせたりするような、そんなイメージだ。

私はCortex-M系のマイコンを使うことが多かったのだが、A系だと電池で動かすこともないだろうし、動作クロックもそうとう高い。
Linuxを載せたとしたら、デバイスの制御にはデバイスドライバを介することになるだろう。
割り込み処理ですれスケジューリングされてしまうはずだ。


そうなると、少々のことであればPL部を使う必要がないはず。
PS部からGPIOで制御した方が、自由がききやすいと思う。
そうなっていないということは、A9とOSが載った環境ですら難しいことをPL部にやってもらうのがよいのではなかろうか。

ということで、結果的に「FPGAのFPGAっぽい部分をがんばるべし」という結論になった。
何をがんばればよいのかわからんけど、GPIOみたいなものの制御ではなく、並列でロジックを書けるようになるとか、そういう方向がよいのかな?

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。