FPGA は主にデジタル回路で構成された集積チップであり、プログラマブル ロジック デバイス (PLD) の一種であり、FPGA は特定用途向け集積回路 (ASIC) の分野の一種です。カスタマイズされた回路の出現は、カスタマイズされた回路の欠点を解決するだけでなく、元のプログラマブル デバイスのゲート数が限られているという欠点も克服します。
このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。
FPGA (Field Programmable Gate Array) は、PAL (Programmable Array Logic) や GAL (General Array Logic) 製品などのプログラマブル デバイスの基礎です。更なる発展の為に。これは、特定用途向け集積回路 (ASIC) の分野におけるセミカスタム回路として登場し、カスタム回路の欠点を解決するだけでなく、元のプログラマブル デバイスのゲート数が限られているという欠点も克服します。
FPGA は本質的にチップの一種であり、主にデジタル回路で構成される集積チップです。
FPGA は、ザイリンクスの創設者の 1 人であるロス フリーマンによって 1985 年に発明され、プログラマブル ロジック デバイス (PLD) の一種です。有名なムーアの法則の出現より約20年遅い時代ですが、FPGAが発明されると、その後の開発スピードは多くの人が想像していたよりも速かったのです。
図 1 は、FPGA チップの物理的な画像を示します。
図 1 FPGA チップの物理的な画像
PLD が発明される前、エンジニアは回路システムを構築するために複数の論理ゲートを含む個別の論理チップを使用していましたが、複雑な論理機能を実装することは困難でした。
この問題を解決するために、1970 年代にプログラマブル ロジック アレイ (PLA) が登場しました。PLA には、それぞれ「AND プレーン」を形成する一定数の AND ゲートと NOT ゲートが含まれています。そして「or プレーン」、つまり「AND 接続マトリックス」と「OR 接続マトリックス」、および一度だけプログラムできる接続マトリックス (ここでのプログラミングはヒューズ技術に基づいているため)、比較的複雑な AND、または複数の式の論理関数である PLA の内部構造を図 2 に示します。
これも同時に発表されました。 PLA はプログラム可能な Programmable Read-Only Memory (PROM) であり、その内部構造を図 3 に示します。 PLAと同様にPROMも内部に「AND接続行列」と「OR接続行列」を持っていますが、ANDゲートの接続行列はハードウェアで固定されており、ORゲートの接続行列のみプログラム可能です。
AND ゲートの接続行列のみがプログラム可能で、OR ゲートの接続行列がハードウェアによって固定されている場合このチップはプログラマブル アレイ ロジック (PAL) と呼ばれます。出力回路のさまざまな動作モードに応じて、PAL はスリーステート出力、レジスタ出力、相補出力に分けられます。ただし、PAL は依然としてヒューズ プロセスを使用します。プログラムできるのは 1 回だけです。 PALの構造図を図4に示します。
PAL に基づいて、一般的なアレイ ロジック デバイス (Generic Array Logic、GAL) が開発されています。 PAL と比較して、GAL には 2 つの改善点があります:
科学技術の発展と社会の進歩に伴い、チップの統合に対する人々の要求はますます高まっています。初期の PLD 製品では人々のニーズを満たすことができず、Complex Programmable Logic Device (CPLD) が誕生しました。 CPLD は PLA デバイス構造の継続として見ることができ、CPLD デバイスはいくつかの PLA とプログラム可能な接続マトリックスの集合として見ることもできます。 CPLDの内部構造図を図6に示します。
FPGAはCPLDよりも数年早く登場し、CPLDとともに高密度プログラマブルロジックデバイスと呼ばれていますが、本質的には異なります。 FPGA チップの内部アーキテクチャは PLA のような構造には従わず、代わりにロジック セル アレイ (LCA) の概念を採用しており、PLD デバイスで多数の AND ゲートと NOT ゲートを使用するという概念を変えています。以前は主にルックアップ テーブルとレジスタを使用していました。
さらに、FPGA と CPLD には、次の表に示すように、リソースの種類、速度などの違いもあります。
デバイスの種類/特性 | FPGA | CPLD |
---|---|---|
ルックアップテーブル | 製品用語 | |
内部 SRAM 構造、外部 EEPROM またはフラッシュ ストレージ プログラム | 内部 EEPROM またはフラッシュ | |
豊富なトリガー リソース | 豊富な組み合わせロジック リソース | ##統合度 |
##使用シーン | より複雑なアルゴリズムを完成させる | 完全な制御ロジック |
##スピード | 高速 | 低速 |
その他のリソース | RAM、PLL、DSP など | —— |
一般に秘密にすることはできません(暗号化コア使用可能) | 暗号化可能 | |
以上がfpgaとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。