本記事では、FPGAの基本から、設計者がどのようにして様々な電子機器プロジェクト向けに独自のハードウェアを開発するのかを詳しく解説します。競合他社が同じアプリケーション固有標準製品(ASSP)に縛られることなく、独自のハードウェアを開発する方法についてもご紹介します。

FPGAとは何か
FPGA(Field-Programmable Gate Arrayの略称)は、設計者や開発者が現場(フィールド)でカスタマイズされたデジタルロジックをプログラミングできる集積回路です—詳細については後述します。FPGAは1980年代から存在しており、当初はすべての開発者や設計者が高コストをかけずにカスタムロジックを作成できるようにすることを目的としていました。FPGAは半導体ICであり、デバイス内部の電気機能の大部分を製造後にも変更できます。設計エンジニアによって変更され、PCB組立プロセス中に改良されたり、機器が顧客に現場に納品された後でも変更されたりします。言い換えれば、FPGAは製造後でも機能を定義および変更できる半導体デバイスなのです。この特性により、FPGAを使用すると、製品が現場に設置された後でも、製品の機能を向上させ、新しい標準に適応し、特定のアプリケーションやプロジェクト向けにハードウェアを再構成できます—これが「フィールドプログラマブル」という用語の由来です。そして、ゲートアレイ(GA)—二次元配列—は、ほとんどのコンポーネントが特定の機能を持たない事前製造されたシリコンチップであり、金属層によって接続されて、よく知られたNANDまたはNORロジックゲートを形成します。これらのロジックゲートは、電子機器プロジェクトの要件に応じて、完全な回路にさらに相互接続され、複雑な構造を構築できます。コンピュータサイエンスには、NANDゲートが普遍的であるという注目すべき定理があります。つまり、NANDゲートを適切に接続するだけで、任意の機能を実装できるということです。したがって、十分な数のNANDゲートがあれば、何でも計算できるデバイスを構築できるのです。少し話が逸れましたが、産業用の言葉で言えば、FPGAは設計に適応性を提供し、設計スケジュールに多大なコストと遅延のリスクを導入することなく、システムの一部が機能する方法を変更する手段なのです。
FPGAの応用分野
FPGAは、多くの種類の電子機器の設計者にさまざまな利点を提供します:カメラのタイミング調整、航空機のナビゲーションシステム、自動車の運転支援システム、医療用超音波装置、データセンターの検索エンジンなどがその例です。例えば、FPGAの機能により、設計者は製造後でも製品の機能や特徴を変更できます。このため、FPGAに調整や変更を加えることができ、高価なPCBの変更を行う必要はありません—他の設計オプション(ASSPやASIC)では、多大なコストと時間をかけずに変更することは不可能です。この柔軟性により、設計者はより迅速かつ安価に強化された機能を持つ製品を市場に投入できます。さらに、FPGAには、オンダイプロセッサ、28 Gbps(またはそれ以上)のトランシーバI/O、RAMブロック、DSPエンジンなどが統合されています。FPGA内に多くの機能が集約されていることは、回路基板上のデバイス数が少ないことを意味し、デバイス故障の可能性を減らすことで信頼性が向上し、コストも削減されます。
上記で説明したように、FPGAには多くの利点がありますが、プログラミングは簡単なのでしょうか?FPGAのプログラミングは、ほとんどの設計者が考えるよりもはるかに簡単です。FPGAをプログラミングする手順には、設計者が作成したい設計のセグメントを特定し、高レベルまたはハードウェア記述言語(HDL)を選択し、テキストエディタでコードを記述し、設計を合成し、設計を配置および配線し、次に設計をFPGA自体にロードすることが含まれます。設計がFPGAにロードされた後、機能の欠陥や不具合を修正するために、デバッグのサイクルが必要になるでしょう。それでも、HDL(高レベルまたはハードウェア記述言語)を使用しなくても、ソフトウェア設計者は現在、OpenCLのような高レベルのソフトウェアプログラミングツールを使用して、コードをコンパイルし、FPGA設計に必要なハードウェア記述ファイルを生成できます。より詳細な設計の場合、設計者は依然として、FPGA用の設計を作成するために広く使用されているHDLであるVerilogのような言語を使用する必要があります。都合の良いことに、Verilogは、よく知られている汎用プログラミング言語であるCと非常によく似た構文を持っています。FPGAプログラミングでは、合成ツールがHDLで記述された製品設計を、HDLが記述する機能を実装するように構成されたゲート、レジスタ、および配線のネットワークに変換します。その後、追加のプロセスで、FPGAで使用する特定のゲート、レジスタ、および配線を選択し、FPGAが電源を入れたときにFPGAを構成するプログラミングファイルを作成します。HDL設計をコンパイルした後、設計者はシミュレーション環境で設計をテストすることにより、FPGAに適用する前にコードをデバッグします。
設計者や開発者がFPGAを活用して、基本的な構造から複雑な構造まで、高品質の最終製品を作成する応用分野や分野は数多くあります:進化する市場や標準に迅速かつ費用対効果高く適応し、ますます高まる性能要件を満たし、その柔軟性を通じてシステム開発および部品表コストを削減します。
• マイクロコントローラ用開発ボードおよびシールド
• オートメーション
• 組み込みビジョン
• 太陽エネルギー
• 産業用IoT
• 暗号技術
• コンピュータハードウェアエミュレーション
• 航空宇宙および防衛
• 科学機器
• ビデオおよび画像処理
• 無線通信
• 放送
• データマイニング
言い換えれば、上記の分野や応用分野、そしてさらに多くの分野で、新たな標準や変化する業界の要件に適応するようにカスタマイズおよび強化できる最先端のデバイスを作成できます。電子機器プロジェクト用の注目すべき開発ボードなど、FPGAで構成されるデバイスの設計初心者であれば、FPGAでシステムを構築することは、プロジェクト設計を達成するために数百万のロジックゲートと大量の接続を操作する必要があると思うかもしれません。しかし、ご安心ください。FPGA設計者は、クロックジェネレータ、ダイナミックランダムアクセスメモリ(DRAM)コントローラ、周辺コンポーネント相互接続エクスプレスコントローラ(PCI)、さらにはマルチコアマイクロプロセッサ全体など、一般的に必要とされるコンポーネントを追加する作業の大部分をすでに行っています:したがって、あなたがする必要があるのは、プロジェクトに固有の機能をカスタマイズすることに集中するだけです。
結論として、FPGAは、将来のイノベーションを開発する設計者に対し、製造後に電気機能を変更できない一般的な回路設計を使用することを強制されることなく、柔軟で安価かつ適応性のあるハードウェアを作成する能力を提供しています。
Seeed Fusionについて
Seeed Fusionは、あらゆる予算に合わせた手頃な価格でありながら専門的なPCB製造および完全なターンキーPCB組立サービスを専門としています。大規模な設計から製品製造まで、世界中の調達およびサプライチェーン管理に関する10年以上の経験を持つSeeed Fusionは、設計を実現する面倒な作業を取り除きます。Seeed Fusion PCBAサービスは、DigiKeyやMouserなどからリアルタイム価格を取得する比類のない即時オンライン見積もりプラットフォームを提供し、フォーマットされたBOMファイルをアップロードするだけで数秒で完全な見積もりを取得できます。さらに、15万点以上のローカル部品を網羅したカタログであるオープンパーツライブラリ(OPL)からすべての部品を選択することで、PCBA生産時間をわずか7営業日に短縮できます。このサービスには、Seeedの専門電子エンジニアが提供する知識に基づいた組立向け設計(DFA)レビューなど、プロジェクトの成否を左右する可能性のある高価な落とし穴を避けるのに役立つ付加価値サービスやオプションも充実しています。今すぐ即時オンライン見積もりを取得してください。


