マイクロコントローラーの人気が高まるにつれ、エンジニアはFPGAよりもマイクロコントローラーを使用しています。マイクロコントローラが支配的になってきたFPGAため、その安いコスト、良いサポート、入手の容易さ、大規模なコミュニティ、汎用性、プログラミングなどのしかし、それマイクロプロセッサ以外は、このような設定の指示などいくつかの制限があり、プログラムの順次実行(逐次処理)、柔軟性や再利用性の欠如など。ただし、FPGAにはプログラムの並列実行があり、柔軟性と再利用性があるため、FPGAはこれらの制限を克服できます。つまり、さまざまなタスクに対して何度も再プログラムできます。
FPGAとは何ですか?マイクロコントローラーとの違い
Aフィールドプログラマブルゲートアレイは、論理ゲートのアレイを有しており、ユーザは、その新しい定義された構成を有する既存の設定を上書きすることができ、フィールドに自分のデジタル回路を作成することができ、すなわち、この配列は、フィールドでプログラムすることができ、集積回路のシリコンチップです。FPGAは白紙の状態と見なすことができます。FPGAはそれ自体では何もしませんが、FPGAのビットファイルと呼ばれることが多い構成ファイルを作成するのは設計者の責任です。FPGAは、ビットファイルがロードされると、デジタル回路のように動作します。
一方、マイクロコントローラでは、マイクロコントローラを現場でプログラムまたは再構築できないため、これは当てはまりません。ユーザーは、既存の構成を上書きしたり、フィールドでデジタル回路を作成したりすることはできません。マイクロコントローラーはプログラミングが簡単で、コミュニティも広いです。マイクロコントローラーはカスタムビルドのミニコンピューターで、IC形式で提供されますが、FPGAには、電気的に再配線できるロジックブロックのみが含まれています。また、マイクロコントローラーに関しては、FPGAよりも消費電力が少なくなります。FPGAはコストがかかることが知られており、デバイスの構築に関してはマイクロコントローラーよりも多くのコストが必要です。FPGAはセットアップにかなり長い時間がかかりますが、マイクロコントローラーは特定のアプリケーション向けに簡単に構築できます。
FPGAアーキテクチャ
FPGAは、開発者と設計者が完全に制御できるロジックセルまたはモジュールとインターリンクの規則的な構造を持っています。FPGAは、構成可能ロジックブロック(CLB)、I / Oブロックまたはパッド、スイッチマトリックス/相互接続ワイヤなど、主に3つの主要なブロックで構成されています。各ブロックについて、以下で簡単に説明します。
- CLB(構成可能ロジックブロック):これらはFPGAの基本セルです。これは、1つの8ビット関数発生器、2つの16ビット関数発生器、2つのレジスタ(フリップフロップまたはラッチ)、および再プログラム可能なルーティング制御(マルチプレクサ)で構成されています。CLBは、他の設計された関数およびマクロを実装するために適用されます。各CLBには両側に入力があり、ロジックのマッピングとパーティション化に柔軟に対応できます。
- I / Oパッドまたはブロック:入力/出力パッドは、FPGAの機能にアクセスするための外部周辺機器に使用されます。I/ Oパッドを使用すると、さまざまな周辺機器を使用するさまざまなアプリケーションのFPGAと通信することもできます。
- スイッチマトリックス/相互接続ワイヤ:スイッチマトリックスはFPGAで使用され、長い相互接続ワイヤと短い相互接続ワイヤを柔軟に組み合わせて接続します。また、異なるライン間の接続をオン/オフするトランジスタも含まれています。
FPGAが必要な場合
上記のように、マイクロコントローラーにはいくつかの制限があり、マイクロコントローラーとマイクロプロセッサーはプログラムの順次実行で実行されるため、タスクを並行して実行するために使用できません。これにより、一部のアプリケーションでは少し遅くなります。このシナリオでは、FPGAには利点があり、効果的に使用できます。 。また、マイクロコントローラーには命令とその回路が付属しているため、限られたタスクを実行できます。プログラマーは、コードを開発する際に制限を遵守する必要があります。したがって、このシナリオでも、FPGAには利点があります。
ただし、マイクロコントローラの場合、プロセッサはあるレベルの並列処理を実現するために、あるコードから別のコードに切り替えます。FPGAよりもマイクロコントローラーでコードを書く方が簡単です。FPGAの並列処理機能により、有限状態マシン(FSM)を使用して割り込みを効果的に制御できます。
マイクロコントローラの場合、中断を解決するためにISRにかかる時間を考慮する必要があります。FPGAを再プログラミングするだけで、FPGAを簡単に再配線できます。FPGAのコンフィギュレーションは、電源がオンになるとコンフィギュレーション可能なロジックセルにロードされます。
FPGAを再プログラムするためにハードウェアに変更を加える必要はありません。FPGAは、パラレルデータの高速処理に適しており、高度なカスタマイズ性を備えています。ただし、プロトタイプの操作と構成の複雑さという欠点もあります。したがって、FPGAは、マイクロコントローラーに比べてこれらの利点を備えたものを選択できます。FPGAプログラミングを開始して強調しましょう