FPGA の評価ボードを選ぶ
どういった評価ボードを選んだらいいでしょう?ターゲットは FPGA に慣れ親しんでいない人がターゲットです。それには将来、何をしたいか?どこを目指すのかを考えるといいと思います。
- とにかく FPGA を触ってみたい
- 将来 ARM も含めた SoC から FPGA を使いたい
なお、ここで紹介するのはあくまで私個人の偏った環境からの選択です。いろいろなチップやツールを使ってみた感想では、特別に使いやすい、使いにくいというは今までありません。手元にもし FPGA があるなら、新たに買いなおす必要あありません。それを使いこなすようにするのがいいと思います。
とにかく FPGA を触ってみたいなら
FPGA ってなんだろう?とお試ししたいのであれば CPU が入っていない安価なボードを購入するのがよいと思います。ARM などの CPU が入っていると開発として FPGA 上の回路を動かすのにソフトウェアの起動が必要になったりします。その場合、複数のツールを行ったり来たりしなければならなくなり、長年それらのツールに携わっていないとまず確実に躓くでしょう。特に ARM の 64bit は複雑なので要注意です。
ツールもできればなるべく最新のものが使える環境がよいでしょう。Windows 7 あたりで更新が止まっているツールは使わない方が無難です。
FPGA に搭載可能なロジック数はあまり気にしなくてよいと思います。各社ばらばらの基準ですし、いまさらトランジスタ数換算しても意味はないでしょう。懐具合と相談して安価なものを使うのがいいと思います。1万円を切るものでも用途によっては十分です。事前に Web で検索して情報が多いものを選ぶとよいでしょう。
「将来 ARM も含めた SoC から FPGA を使いたい」と思っていてもまずは FPGA 単体のものをお勧めします。ただ、私が確認済みというものが少ないのが(この記事の)現状です。
動作確認済み FPGA
手元にあって動作確認済みの FPGA 評価基板を列挙してみましょう。URL は参考です。そこから購入することをお勧めするわけでありません。
ICE40UP5K-B-EVN
個人的には Lattice はお勧めです。価格も手ごろです。全体的に情報が少ないのが難点です。Lattice が用意するツールはシンプルで使い勝手も悪くありません。
PERIDOTボード
詳細はこちら(とウェブページに書いてある)
https://github.com/osafune/peridot
時間があったら今回このボード対応をしてみます。(手元にボードはあるのだが、、、)
ARM + FPGA
ARM が入っているボードはある意味、ARM もソフトもやらなければならなくなるので FPGA という意味ではちょっと敷居が高くなります。ただ、情報が多いことも事実で Linux + FPGA で頑張りたいというならこの選択肢は有効です。
ikwzm さんが FPGA-SoC-Linux と銘打ってバイナリまで提供してくれるので、これにのっかるのが楽かもしれません。
https://github.com/ikwzm/FPGA-SoC-Linux
ソフトウェアとして Python を扱いたいなら Linux は必須だと思うので、その場合は Zynq を搭載したものが情報量も多いのでよい選択肢になるでしょう。
ZYBO-Z7
http://akizukidenshi.com/catalog/g/gM-12552/
http://akizukidenshi.com/catalog/g/gM-12553/
7010 ベースのものと 7020 ベースのものがあるので注意。7020 の方がロジックの容量(?)が大きい。MIPI 用のインタフェースがあるのが特徴。
DE0-Nano-SoC
情報が少ないかも。価格的には魅力。DE10-Nano というのもあるらしい。
CORA Z7
http://akizukidenshi.com/catalog/g/gM-13489/
チップが 7007 なのでロジックスライスが少なめ。
購入したばかりなのでまだ実験してません。
7010 版もあります。
その他
もし Zybo とか ZedBoard とか持っていればそれも使えます。もちろん、各メーカ純正などのお高いボードでもいいでしょう。使っている環境があればそれを利用するのが一番です。
検索してみた
入手性がよさそうなボードをピックアップしてみます(FPGA 通販で検索しました)。ピックアップしただけでいずれも手元にあるわけではありません。使うのにどれだけ大変かはこちらでは確認してません。
ARTY S7
http://akizukidenshi.com/catalog/g/gM-12558/
Spartan-7 なので大丈夫でしょう(たぶん)。同じ Spartan でも 6 や 3 などの古めのチップを搭載した評価ボードもいろんなところでちらほら見受けられますが、使ったことがある人以外はお勧めしません。古いチップは細心のツールで対応していないこともあり、古い環境をそろえるのも大変だったりします。
ARTY A7
http://akizukidenshi.com/catalog/g/gM-10034/
Artix なので大丈夫でしょう。
MAX10 関連
Cyclone10 LP評価キット
https://www.marutsu.co.jp/pc/i/1003761/
2017 発表とある
DE0-NANO
https://www.marutsu.co.jp/pc/i/557709/
買った記憶があるようなないような、、、あとで家探ししてみよう。
Cyclone IV だとちょっと古めか?
DE0-CV
https://www.marutsu.co.jp/pc/i/557615/
ちょっと高めのお値段
ICE40HX1K-STICK-EVN
https://www.digikey.jp/product-detail/ja/lattice-semiconductor-corporation/ICE40HX1K-STICK-EVN/220-2656-ND/4289604
時間と金があればこれに対応したい。価格自体は安い。
HIMAX HM01B0
https://www.digikey.jp/product-detail/ja/lattice-semiconductor-corporation/HM01B0-UPD-EVN/220-2226-ND/9759580
カメラがついている?(当方未確認)