導入

プログラマブル論理回路、またはプログラマブル論理アレイ は、製造後に再プログラムできる論理集積回路です。
自由に組み立てることができる多数の基本的な論理セルで構成されています。
このタイプの電子コンポーネントは、通常、次の英語の頭字語で呼ばれます。
- FPGA (フィールドプログラマブルゲートアレイ) 、
- PLD (プログラマブルロジックデバイス)、プログラマブルロジック回路、
- EPLD (消去可能なプログラマブル ロジック デバイス)、 プログラマブルおよび消去可能な論理回路、
- CPLD (コンプレックスプログラマブルロジックデバイス)、
- PAL (プログラマブル アレイ ロジック)、
- PLA (プログラマブルロジックアレイ)、
- 等
基本的に同義ではありますが、これらの用語は通常、メーカーの商業用語では互換性がありません。FPGA はむしろ RAMテクノロジを備えたコンポーネントを指し、EPLD は FLASH テクノロジを備えたコンポーネントを指し、PAL はヒューズテクノロジを備えたコンポーネントを指します (§ 技術プロセスを参照)。
ハードウェアアーキテクチャ
プログラマブル論理ネットワークは、自由に組み立てることができる多数の基本論理セルで構成される回路です。
これらは、必要なデジタル機能を実行するために、プログラムによって永久的または可逆的に接続されます。利点は、同じチップを多くの異なる電子システムで使用できることです。
一部のモデルには、汎用メモリ、有線「DSP」ブロック、クロック生成用のフェーズロック ループも含まれる場合があります。
FPGA
最新の大規模 FPGA のほとんどは、回路配線と相互接続される論理ブロックの両方において SRAM セルに基づいています。
論理ブロックは通常、ルックアップテーブル (LUT またはLook-Up-Table ) とフリップフロップ(英語ではFlip-Flop ) で構成されます。 LUT は、一般に 4 ~ 6 つの入力と 1 つの出力を持つ論理方程式を実装するために使用されます。ただし、これは小さなメモリ、マルチプレクサ、またはシフト レジスタと考えることができます。レジスタを使用すると、状態を保存したり (シーケンシャル マシン)、信号を同期したり (パイプライン) することができます。
チップ上に多数(2007 年時点では数千から数百万) 存在する論理ブロックは、構成可能なルーティング マトリックスによって相互に接続されています。これにより、コンポーネントを自由に再構成できますが、シリコン上のかなりのスペースが占有され、FPGA コンポーネントの高コストが正当化されます。このトポロジーは、ニューヨークのこの地区の直角の通りにちなんで「マンハッタン」と呼ばれています。
現在の密度では手動配線が不可能になっているため、設計者が望む論理図とチップのハードウェア リソースを一致させる自動配置配線ツールです。伝播時間は論理セル間のリンクの長さに依存し、配置ルーターの最適化アルゴリズムは決定的ではないため、FPGA で得られる性能 (最大周波数) は設計ごとに異なります。ただし、リソースの使用率は非常に良好で、論理ブロックの占有率が 90% を超える可能性があります。
コンフィギュレーション (ルーティングと LUT) は揮発性メモリ ポイントによって行われるため、FPGA デザインを外部不揮発性メモリ(通常は「JTAG」互換のシリアルフラッシュ メモリ) に保存する必要があります。ただし、一部のメーカーは、コンフィギュレーションに EEPROM セルを使用して外部メモリの必要性を排除したり、アンチヒューズによるコンフィギュレーション (高電圧を使用したプログラミングにより誘電体が「スナップ」して接点が形成される) によって自社を区別しています。ただし、この後者のテクノロジーは再構成できません。
特定のコンポーネントで利用できるいくつかの特別な機能:
- 追加のメモリ ブロック (LUT の外部)、多くの場合デュアル ポート、場合によっては FIFO メカニズムを備えたもの、
- 有線乗算器 (LUT に実装するには高価)、または DSP 処理用の乗算器/アキュムレータ ブロックさえも、
- 埋め込まれたマイクロプロセッサコア (ハード コアと呼ばれる)、
- クロックを合成または再同期するための PLL ブロック、
- 運用中でも部分的な再構成が可能
- 設定データの暗号化、
- 入出力のシリアライザー/デシリアライザーにより、高速シリアル リンクが可能になります。
- 入出力のインピーダンスをデジタル制御し、ボード上の多くの受動部品を回避します。
CPLD
古い設計の PAL、 GAL 、CPLD、および EPLD は、論理方程式を実装するために AND ゲートと OR ゲートの組み合わせネットワークで構成される論理「マクロセル」を使用します。フリップフロップは入出力ブロックでのみ使用できます。コンポーネントには、数十から数百のマクロセルが含まれています。
配線が固定されているため、伝播時間が制限され、設計に関係なく高い動作周波数が可能になります。一方、リソースの使用は最適ではなく (論理方程式で使用されていない項はゲートの損失と同等です)、使用率は約 25% です。
CPLD は、相互接続マトリックスによって接続された複数の PLD コンポーネントと同等の要素を含むため、他の PLD とは区別されます。
