Xilinx社FPGA Zynqボードについて調べてみる(Arty、Zybo、PYNQ比較)
こんにちは。m-taroです。
今日は、兼ねてから始めてみたかったFPGAについて調べてみたいと思います。
FPGAと言えば、2代巨頭のAlteraやxilinxが有名ですね。
どっちにしよう…って思っていたが、周りはxilinx使いがほとんど。
うちの会社だけかもしれないが、教えてもらうには同じメーカの方がいい。
ってことで話を聞くと、答えは一つ!
「どうせやるなら、Zynqでしょ。ソフトもできるよ。」
こればっかり…
たしかに、ZynqはFPGAロジック部とプロセッサ部が両方乗っているので、両方勉強できなくもないが、難しくない?
これの答えは
「Zyboにすればブログがいっぱいあるし、分かりやすいよ」
・・・・なるほど、ネットで調べて頑張れと。
分かりましたよ。調べながらやりますよ。
といことで、なんぞや?から調べてみました。
まずはZybo
その内、Zynq搭載製品は3シリーズ。
・Arty Z7シリーズ
・Zybo Z7シリーズ
・PYNQ-Z1シリーズ
なんか色々出てきた。とりあえず調べてみる。
■Arty Z7シリーズ
Arty Z7-10とZ7-20があり、Z7-20の方がロジック数が多く、大規模な開発が可能。
まずはArty Z7シリーズをベース。
Arty Z7-10 Arty Z7-20 FPGA part XC7Z010-1CLG400C XC7Z020-1CLG400C 1 MSPS On-chip ADC Yes Yes Processor Dual ARM Cortex A9 Dual ARM Cortex A9 Look-up Tables (LUTs) 17,600 53,200 Flip-flops 35,200 106,400 Block RAM 270 KB 630 KB Clock Management Tiles 2 4 Available Shield I/O 26 49
■Zybo Z7シリーズ
Zybo Z7-10、Z7-20があり、Z-20の方がロジック数も多く、大規模な開発が可能。
ここはArty Z7シリーズと一緒ですね。
Zybo Z7-10 Zybo Z7-20 FPGA part XC7Z010-1CLG400C XC7Z020-1CLG400C 1 MSPS On-chip ADC Yes Yes Look-up Tables (LUTs) 17,600 53,200 Flip-flops 35,200 106,400 Block RAM 270 KB 630 KB Clock Management Tiles 2 4 Available Shield I/O 32 40 Total Pmod Ports 5 6 Fan Connector No Yes Zynq Heat Sink No Yes HDMI CEC Support TX port only TX and RX ports RGB LEDs 1 2
Artyと比べると、上位互換ですね。メモリがDDR3Lで1GB載っていたり、カメラのI/FであるMIPI CSI-2をサポートしていたりしますね。USBも「2.0」が明記されています。
また、ZyboはSDSoCのライセンスあり版もあります。
Zynq内部はロジック側(PL側)とプロセッサ側(PS側)に分かれており、お互いにアクセスはできるが、基本的には独立で動きます。そのため、開発に使う言語が異なり、PL側はHDLやVerilog、PS側はC言語を用いるようです。
ここで、全てC言語で書いてしまおう!!というのがSDSoCです。これができれば、C/C++など高位言語でPS側から操れてしまう。
わざわざドライバを作らなくても、引数をロジック側に渡すと処理した結果が返ってくるようです。
…この辺は良くわからないので、これから勉強ですね。
■PYNQ-Z7シリーズ
PYNQ-Z1のみがあります。ArtyやZyboと違い、Pythonで手軽にZynqを動かせるようです。詳しいことは…理解できませんが、シーンによってはとても便利なもののようです。
■まとめ
結果的にPYNQはよく理解した人が使うべきもののような気がしますので、
ArtyかZynqということになりますね。
見た目はホワイトボードArtyがかっこいい!!
ですが、将来的にカメラを繋げて動してみたい。というのもあるので、
Zyboで勉強してみようかな?
若干気になるのは、Zybo Z-20にはある。あれ!
そう、ファンコネクタとヒートシンク!!
Z-10には無くても大丈夫なのか??最初はカメラなんかぶん回さない…というかできないので、大丈夫かな?
ボード選びで迷っている方がいれば参考にしていただければと幸いです。
ではでは、また。