合同会社尽星の谷です。
衛星ビジネスの会社を立ち上げて早々、仕事を頂きFPGA評価ボードを使用する機会がありました。
それまでマイコンを使ったプロトタイピングはやったことがあったのですが、実際にFPGAを使用するにあたり違いに結構驚いた部分がありました。
両者のデバイスとしての違いは「FPGA マイコン 違い」のようなワードで検索すると出てくると思いますが、今回の私の記事は、いざFPGA評価ボードを使ってみて感じたことにを述べたいと思います。
FPGAの初歩的な感想ですが、これからFPGAを触る人の参考になればと思います。
良かった点
・インターフェース、信号処理など高いレベルでカスタマイズできる
・HDLによる並列処理実装、独自の信号処理
例えばシリアル通信でいうと、おそらくマイコン評価ボードでは標準の規格(SPI,UART etc…)のみが用意されていますが、FPGAの場合はHDLで独自の通信処理を実装できます。
また、ピンの数だけインターフェースを用意できるのは柔軟性があってよかったです。仕様変更で接続先が増減したときもすぐに対応できます。
苦労した点
・トラブルシュートやサンプルコードがWeb上で見つけにくい
・外部デバイス接続用のライブラリが用意されていない
最近のマイコン評価ボードであればSDカード、カメラ、wifiなど良く使われるインターフェースは大体ライブラリとして用意されており、使用方法やトラブルシュートもWeb上で比較的容易に検索できるため非常にとっつきやすいと思います。
私がFPGA実装で結構苦労したのはSDカードのIPコア探しでした。既製品で何件か問い合わせたのですが、高いものだと車が買えそうな値段でした。
SDカードスロット搭載のFPGA評価ボードの場合はもう少しやりやすいのかもしれませんが、とにかくFPGAはマイコンで当たり前のように用意されているようなライブラリが見つかり辛く苦労しました。
そしてFPGAは、ArduinoのようなマイコンやWeb開発に比べてWeb上の情報がとにかく少ない印象です。エラーコード一つとってもQ&Aサイトの数少ない投稿くらいしかないケースもあり、解消に苦労しました。
まとめ
良いところ:高度なカスタマイズ性。
辛いところ:導入ハードルの高さ。情報の少なさ。つかいこなすためには練度が必要。
個人的には、クイックプロトタイピングの際はマイコン評価ボードが良く、マイコンのとっつきやすさを再認識した次第です。FPGAを良く知らない人がプロトタイピングで使うには少しハードル高いかなという印象です。
そうはいっても、衛星開発でFPGAが使えれば設計の自由度が段違いなので是非会社として伸ばしていきたい分野ではあります。
コメント