CPLD
CPLD (Complex Programmable Logic Device)とは、プログラマブルロジックデバイスの一種で、PALとFPGAの中間の集積度を持ち、これら両方のアーキテクチャの特徴を持っている。CPLD で作られるブロックはマクロセルであり、これには加法標準形での表現とより特殊な論理的操作が実装されている。
PALと共通する特徴は以下のようである。
不揮発性であるコンフィギュレーションメモリである。多くのFPGAと違い、コンフィギュレーションROMは必要ない。CPLDはシステムが立ち上がるとすぐに機能する。
多くの古いCPLDデバイスでは、ほとんどの論理ブロックは外部ピンに接続され信号を入力あるいは出力しており、内部情報の記憶や深くレイヤ化された論理に使用されることは少なくなっていた。
これは、一般には、より大きなCPLDやより新しいCPLD製品ファミリーには当てはまらない。
FPGAと共通する特徴は以下のようである。
多数のゲートが利用可能である。CPLDは典型的には数千から数万の論理ゲートに相当するものを持ち、中程度に複雑なデータ処理デバイスを実装することができる。PALは典型的には数百の論理ゲートに相当するものを持ち、FPGAは典型的には数万から数百万の範囲の論理ゲートを持つ。