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)