FPGA

フィールドプログラマブル・ゲート・アレイFPGAと略されることが多い)は、再構成可能なデジタル回路を構築するために使用される電子部品です。つまり、FPGAはロジック ゲートとは異なり、ロジック ゲートは固定機能を持っているということです。これに対し、FPGAは製造時には未定義の機能を持っています。FPGAを回路に使用するには、プログラムを作成する必要があります。

FPGA は、プログラマブル・ロジック・デバイスまたは PLD のカテゴリに属する集積回路です。FPGAはPLDの中で最も高性能で、最も柔軟性が高く、最も高価なタイプのPLDです。他のPLDと比較してFPGAの欠点は、電源を切ってもデザインを記憶しないことです。そのため、FPGAにはFPGAデザインを保持するコンフィギュレーション・メモリ・チップが必要です。電源をFPGAに戻すと、FPGAの固定部分がコンフィギュレーショ ン メモリ チップからコンフィギュレーションを読み込みます。コンフィギュレーショ ン後、FPGA はデザインで与えられた機能を実行できるようになります。

FPGA はマイクロプロセッサやマイクロコントローラとは異なります。基本的な形式のFPGAは、ソフトウェアを実行できません。FPGA にプロセッサ アーキテクチャを含むコンフィギュレーションが与えられた場合にのみ、ソフトウェアを実行する能力があります。

FPGA メーカーは、FPGA のデザインを開発するために、Windows 用のエンジニアリング ソフトウェアを提供しています。デザインは一般的に、ハードウェア記述言語(HDL)と呼ばれる人間が読めるコンピュータファイルで書かれています。最も一般的なのはVHDLとVerilogです。ハードウェア記述言語はプログラミング言語に強く匹敵します。しかし、プログラミング言語がソフトウェアを設計するのに対し、HDLの意図はデジタル論理回路を設計することにあります。

FPGA エンジニアリング ソフトウェアは、抽象的な HDL コードを選択した FPGA で利用可能なロジック エレメントに変換する必要があります。これをロジック合成と呼びます。その後、配置配線のプロセスが行われ、FPGA内のロジック エレメントが配置されます。その結果、FPGA またはコンフィギュレーショ ン メモリにプログラム可能なビット ファイルが作成されます。これは通常、FPGA のJTAG ポートに接続されたUSB プログラマを使用して行われます。

FPGAは集積回路であるため、FPGAメーカーは、他の一般的に使用されている集積回路部品を追加することを決定することができます。これらの固定部品はコアと呼ばれます。たとえば、イーサネット コントローラーや完全なプロセッサ アーキテ クチャなどがこれにあたります。防衛、医療、通信、ロボティクスなどのさまざまな市場セグメントでは、FPGA メーカーはこれらの追加コアの中で最も価値のあるセットを追加しようとします。

Zoom


内部構造

FPGA は一般的に、プログラマブル ロジック エレメントとプログラマブル インターコネクトで構成されています。ロジック エレメントの構成要素の1 つに、プログラマブル ルックアップ テーブル(LUT) があります。LUT は、入力値を指定して任意の値を出力するようにプログラムできます。このようにして、LUT は、同じ数の入力と出力を持つ任意のタイプのロジックになるようにプログラムすることができます。例えば、2入力1出力のLUTは、2入力AND、OR、NAND、NOR、XORなどの論理をエミュレートするようにプログラムすることができる。このLUTの出力は、レジスタを使用して保存するか、他のLUTの入力に接続することができます。プ ロ グ ラ マブル マ ッ ク ス を使用 し て、FPGA をプ ロ グ ラ ム し て登録済みの出力 と 非登録の出力を選択で き ます。このようにLUT、レジスタ、およびMux の組み合わせがロジック エレメントの一般的な構造です。

こ れ ら の ロ ジ ッ ク エレ メ ン ト を接続す る には、 パス ト ラ ン ジ ス タ を使用 し ます。トランジスタは、信号を接続するかしないかをプログラムできるため、FPGA はロジック エレ メ ン ト を非常に具体的に接続することができます。た と えば、1 つの ロ ジ ッ ク エレ メ ン ト の出力が別の ロ ジ ッ ク エレ メ ン ト の入力に接続 さ れ る 場合、 パス ト ラ ン ジ ス タ をプ ロ グ ラ ム し て こ れ ら の2 つの配線を接続 し 、 指定 さ れた ロ ジ ッ ク を一致 さ せます。ロジック エレメントとパス トランジスタの間で、コンパイラはHDL からハードウェア記述を取得し、ロジック エレメントのロジックを作成し、パス トランジスタを使用してロジック エレメントを接続できます。

質問と回答

Q:FPGA(フィールドプログラマブルゲートアレイ)とは何ですか?


A: FPGA(Field-programmable Gate Array)は、再構成可能なデジタル回路を構築するために使用される電子部品です。製造時の機能は未定義であり、回路に使用する前にプログラミング(再設定)する必要があります。

Q: FPGA とロジック・ゲートはどう違うのですか?


A: FPGA はロジックゲートと異なり、ロジックゲートは機能が固定されているのに対し、FPGA は製造時に機能が未定義である。

Q: FPGA はどのような集積回路ですか?


A: FPGA はプログラマブル・ロジック・デバイス (PLD) に分類される集積回路です。

Q: 他の PLD と比較して、FPGA を使用することの欠点は何ですか?


A: FPGAは他のPLDと比較して、電源を切ってもデザインを記憶しないため、デザインを保持するコンフィギュレーション・メモリ・チップが別途必要であるという欠点があります。また、他のPLDと比較して高価です。

Q:FPGAのプログラミングはどのように行うのですか?


A: FPGAのプログラミングには、WindowsやLinuxのエンジニアリング・ソフトウェアを使用し、VHDLやVerilogなどのハードウェア記述言語で書かれた設計を作成します。そして、このコードを選択したFGPAで利用可能な論理素子に変換し、配置配線処理によってビットファイルを作成します。このビットファイルは、FGPAのJTAGポートに接続したUSBプログラマを使用して、コンフィギュレーション・メモリまたは直接FGPA本体にプログラムすることが可能です。

Q:マイクロプロセッサやマイコンもFGPAと同じようなものですか?


A:いいえ、マイクロプロセッサやマイクロコントローラは、基本的な形態ではソフトウェアを実行できないため、FGPAとは異なります。プロセッサアーキテクチャを含むコンフィギュレーションが与えられた場合にのみ、この能力を発揮します。

AlegsaOnline.com - 2020 / 2023 - License CC3