FPGAの話

FPGAの話

 デジタル回路を扱うにあたり、FPGA(エフピージーエー)を避けては通れません。FPGAは Field-Programmable Gate Arrayの意味で、市場で書き換えが可能なデジタル素子です。ゲーム機とかスマートフォンで「更新」を経験した事がないでしょうか。プログラムのバージョンアップのように、ハードウェアもバージョンアップすることができるデバイスです。FPGAは購入した時には、何も入っていない状態ですが、そこにエンジニアが設計したハードウェアを転送して使います。

 FPGAは数社から購入する事ができます。有名なところでは、Xilinx(ザイリンクス)、Inte(インテル)、MicroSemi(マイクロセミ)、Lattice(ラティス)などです。IntelはパソコンのCPUでも有名ですが、IntelのFPGAはAltera(アルテラ)というメーカーを買収しました。MicroSemiはもともとActelでしたが、それも最近はMicroChipに買収されました。半導体業界は吸収合併が非常に盛んな業界です。

 これらの各社FPGAは各々特徴があります。選ぶのに困ってしまいます。たとえば、自動車なら今までトヨタに乗っていたから、今回は日産を買おう。というように、別のメーカーに乗り換えてもディーラーサポートが変わる程度ですが、FPGAは一旦メーカーを決めると、なかなか別のメーカーには移りにくい特徴を持っています。

 おそらく仕事でFPGAを扱う方は会社で決められたメーカーがあるでしょう。私はほとんどのメーカーのFPGAを扱った事がありますが、基本は会社が決めたメーカーです。稀にお客様の要望でメーカー指定される事があったほか、宇宙用のモジュールを設計する時には選択肢がありませんでした。

 ここまでの話は矛盾してます。別のメーカーには移りにくい。でも、ほとんどのメーカーのFPGAを使った事がある。これは、エンジニアにとってFPGAのメーカーを変える。というのは、実はそう難しくないのです。FPGAのメーカーを変えたくないのは会社の都合なのです。

 FPGAのメーカーを変更できない一番の理由は開発環境です。開発環境にメーカー間の互換性がないのです。なので、Xilinxの開発環境を購入してしまったら、それを使い続けるしかなくなるのです。しかも、開発環境は年単位でライセンス料金がかかります。また、開発環境に付随する「ライター」とか「デバッガー」と言われているFPGAに設計したハードウェアを転送するアダプターも互換性がありません。

 ※開発環境が高いのはわかりますが、ライターは高すぎます! 業界で統一して安くして欲しいものです。

 開発環境が高いと書きましたが、小規模な開発であれば、無償で使える開発環境が各社からリリースされています。初心者は会社が決めたメーカーの無償版からスタートするのが良いでしょう。

 そして、開発環境を整える際に必要なのがシミュレーターです。シミュレーターを選ぶ事ができるメーカーもありますが、一般的にはModelSim(モデルシム)を選んでおけば間違いありません。本ブログでもModelSimで解説します。

  本当は、各社の開発環境を各々インストール方法から解説したいのですが、バージョンアップが頻繁で、解説はすぐに陳腐化してしまいます。ほとんどのメーカーで初心者用のセミナーが開催されていますし、最近はYouTube動画でも解説されています。それを参考にして、開発環境をインストールしてください。

 残念ながら、これらの開発環境はWindows環境です。一部Linuxも出てきましたが、Macintoshはありません。

 もし、ご自身でFPGAのメーカーを選定する事になったなら、それは一番入手しやすいメーカーにすべきでしょう。

 残念ながらFPGAは国産ではありません。したがって、すべて輸入品になります。継続的に入手するには、輸入代理店との付き合いが必要になります。そして、大きな輸入代理店ではFPGAのセミナーを定期的に開催していますので、それらを利用したりサポートを受ける事ができるようなルートが必要になってきます。