CPLD (Complex Programmable Logic Device)

CPLD

概要と特徴

CPLD (Complex Programmable Logic Device) は、ユーザーがプログラム可能なロジックデバイス(PLD: Programmable Logic Device)の一種です。

  • 構造: 複数の単純な論理ブロック(SPLD: Simple PLD のような構造)と、それらを接続するプログラマブル・インターコネクト (Programmable Interconnect) から構成されます。
  • 非揮発性: 一般に、設定情報を保持するための不揮発性メモリ (Non-Volatile Memory) を内蔵しています。このため、電源投入後すぐに動作を開始でき、外部設定メモリが不要です。
  • 高速性: ロジックブロック間の遅延が比較的予測しやすく、高速な動作が可能です。

分類

CPLDは、集積度に基づいたPLDの分類において、SPLD (Simple PLD)FPGA (Field-Programmable Gate Array) の中間に位置します。

  • SPLD (例: PAL, GAL): 集積度が最も低い。
  • CPLD: SPLDよりも集積度が高く、FPGAよりも低い。
  • FPGA: 集積度が最も高く、複雑な回路設計に用いられる。

上位概念・下位概念

分類 概念 説明
上位概念 PLD (Programmable Logic Device) ユーザーがロジックを書き換えられる半導体デバイス全般。
下位概念 論理ブロック (Logic Block) CPLDを構成する基本的なロジック要素(例:AND-ORアレイ、マクロセル)。
関連概念 HDL (Hardware Description Language) ハードウェアの動作を記述するための言語(例:VHDL, Verilog)。

メリット

設計の柔軟性 (Design Flexibility) * プロトタイピング: 試作段階で回路変更が容易であり、開発期間を短縮できます。 * 機能追加・修正: 製品出荷後でも機能の変更やバグ修正が可能です。

動作特性 (Operational Characteristics) * 非揮発性: 電源投入後、即座に設定内容で動作します(インスタント・オン: Instant-on)。 * 予測可能なタイミング: 配線遅延が比較的予測しやすいため、安定した高速動作に適しています。

コスト効率 (Cost-Effectiveness) * 中規模回路: 中程度の複雑さのロジックを実装するのに、ASIC (Application-Specific Integrated Circuit) よりも低コストで実現できます。


デメリット

集積度の限界 (Integration Limit) * 複雑なロジック: FPGAと比較して集積度が低く、非常に大規模で複雑な回路の実装には適していません。 * ロジック密度: 内部の配線資源が限られているため、リソースを使い切ってしまうことがあります。

消費電力 (Power Consumption) * 動作時: 一般的に、同じ集積度のASICや一部のFPGA技術と比較して、消費電力が大きくなる傾向があります。


既存との比較

比較対象 CPLD FPGA ASIC
集積度 中程度 高い 非常に高い
メモリ 非揮発性(内蔵) 揮発性(外部メモリが必要) なし(回路固定)
起動時間 非常に速い(Instant-on) 遅い(設定読み込みが必要) 非常に速い
タイミング予測 容易 難しい(配線が複雑) 非常に容易
用途 I/O制御、バス制御、 Glue Logic DSP、ビデオ処理、複雑なプロセッサ 大量生産、最高の性能

競合

  • FPGA (Field-Programmable Gate Array): 大規模ロジックが必要な場合の直接的な競合。
  • マイクロコントローラ (Microcontroller) / マイクロプロセッサ (Microprocessor): ロジックではなくソフトウェアで機能を実現する場合の競合。
  • ASIC (Application-Specific Integrated Circuit): 大量生産する場合の、最高の性能と低コストを実現するための競合。

導入ポイント

用途の選定 * Glue Logic (接着ロジック): システム内の複数のIC間を接続・調整する単純ロジックの統合に最適です。 * I/O制御: バスインターフェースや周辺機器のタイミング制御に利用されます。 * シンプルなステートマシン: 複雑すぎない状態遷移ロジックの実装。

開発環境 * ベンダーツール: デバイスを提供するメーカー(例:Xilinx, Altera/Intel)が提供する開発ツールを使用します。


注意点

  • ピン数と集積度のバランス: 実装したいロジックの規模と、デバイスが持つマクロセル (Macrocell)ロジック・アレイ (Logic Array) の数、および必要なI/Oピン数を事前に評価する必要があります。
  • ベンダーロックイン: 開発ツールやデバイスが特定のベンダーに依存する傾向があります。

今後

  • 低消費電力化: モバイル機器やIoTデバイスの需要に応えるため、より低消費電力のCPLDが開発されています。
  • セキュリティ機能の強化: 知的財産(IP: Intellectual Property)保護のためのセキュリティ機能が強化される傾向にあります。

関連キーワード

  • SPLD (Simple Programmable Logic Device)
  • FPGA (Field-Programmable Gate Array)
  • ASIC (Application-Specific Integrated Circuit)
  • HDL (Hardware Description Language)
  • VHDL
  • Verilog
  • マクロセル (Macrocell)
  • Glue Logic
  • EEPROM (Electrically Erasable Programmable Read-Only Memory)