EPLDとは?仕組み・歴史・設計フロー・CPLD/FPGAとの違いを徹底解説
はじめに — EPLDの定義と用語
EPLDは「Electrically Programmable Logic Device」あるいは「Erasable Programmable Logic Device」の略として用いられることがあり、PLD(Programmable Logic Device:プログラマブルロジックデバイス)の一種を指す総称的な呼び方です。狭義には、EPROM/EEPROM/Flashなどの不揮発性メモリセルを用いて論理を繰り返し書き換え可能な小規模〜中規模のプログラマブルロジックを指すことが多く、PAL/GAL 系列や初期の CPLD と対比して語られてきました。
本コラムでは、EPLDの歴史的背景、内部アーキテクチャ、設計・開発フロー、代表的な用途、CPLD/FPGAとの違い、現状の位置づけと移行戦略などを技術的に深掘りして解説します。
歴史的背景と位置づけ
1970年代後半から1980年代にかけて、TTL(74シリーズ)などのディスクリート論理ICを多数使った回路を1〜数個のICで置き換えるためにPAL(Programmable Array Logic)やPLAなどのPLDが登場しました。初期のPLDは一度だけ書き込む「ワンタイムプログラマブル(OTP、ヒューズ方式)」が主流でしたが、その後、EPROM/EEPROM/フラッシュなどの不揮発性メモリを使い、消去と再書き込みができる製品群が増え、これらを指してEPLDと呼ぶことが多くなりました。
その後、集積度の向上により複数のマクロセルを持つ「CPLD(Complex PLD)」が現れ、さらに高密度化したものがFPGAへと発展しました。EPLDは歴史的には小〜中規模の「グルーロジック(glue logic)」や状態機械に適したデバイスとして定着しました。
EPLDの基本アーキテクチャ
EPLDの内部構成は概ね以下の要素で構成されます。
- 入力バッファとデマルチプレクサ
- 論理配列(AND/ORの積和表現:product-term array)
- マクロセル:フリップフロップ、出力制御、反転/三状態などを含む
- 配線ルーティング/プログラマブル接続マトリクス
- 不揮発性メモリセル:EEPROM/Flash/EPROM等(デバイスにより異なる)
従来のPALは固定アーキテクチャのANDアレイとプログラム可能なORゲートで構成され、「積和(sum-of-products)」の論理実装に最適化されていました。EPLDではこれを拡張し、マクロセル内にフリップフロップを内蔵して同期回路(状態機械)を直接実現できるようにしています。
設計フロー(開発工程)
一般的なEPLDの設計フローは以下の通りです。
- 要件定義:I/O数、速度、電源、動作温度などを決定
- ハードウェア仕様策定:ピン配置、タイミング要件、消費電力
- 論理設計:スケッチ回路、ステートマシン、バスインターフェースなどをHDL(VHDL/Verilog)、あるいは古典的にはABELやPALASMで記述
- シミュレーション:機能シミュレーション、タイミングシミュレーション(静的タイミング解析)
- 合成・最適化:論理合成ツールでマクロセルにマップ
- 配置・配線:IO割り当て、配線制約の確認
- プログラミングイメージ出力:JEDECやメーカー独自のバイナリ/HEXファイルを生成
- 書き込み:専用プログラマ、もしくはJTAG経由でデバイスに書き込み
- ボードレベル検証:電気的評価、温度試験、EMCなど
ツールは古典的なものだとPALASM/ABEL、近年はベンダー標準のIDE(Lattice、Microchip/Atmel、Intel/Altera、Xilinxのツール)でHDL設計から書き込みまで行います。
書き込み・プログラミング方式
EPLDはデバイスの種類によって書き込み方式が異なります。代表的な方式は以下です。
- パラレル/シリアルプログラマによる外部書き込み(古典的)
- JTAG(IEEE 1149.1)経由のインシステムプログラミング(ISP)
- ボード上でのEEPROM/フラッシュの書き換え機構を利用したアップデート
JTAGは現在の主流で、製造時だけでなくフィールドでのリプログラミングやデバッグに広く使われます。生成されるファイル形式ではJEDECが一般的ですが、各社独自フォーマットを持つこともあります。
CPLD/FPGAとの違い(比較)
設計者がEPLDを選定する際、CPLDやFPGAと比較されます。主要な違いを示します。
- 構造:EPLD/CPLDはマクロセルやPLA型の構造が多く、FPGAはLUT(Look-Up Table)ベースの構造。
- 不揮発性:EPLD/CPLDはEEPROM/Flashなど不揮発で電源投入時に即動作する製品が多い。一方、従来のFPGAはSRAMベースで起動時に外部からコンフィグを読み込む必要がある(最近のFPGAはフラッシュベースも登場)。
- 規模・密度:EPLDは小〜中規模のロジック向け。CPLDはより大規模な固定ロジック向け。FPGAは高密度な並列演算やDSP処理、メモリブロックが必要な場合に強い。
- 性能:高クロック数や大量の並列処理はFPGAが得意。EPLDはレイテンシが予測しやすく低〜中速の制御ロジックに向く。
- 電力とコスト:小規模用途ではEPLD/CPLDが低消費電力で安価になり得る。FPGAは高密度でコストが上がる傾向。
まとめると、EPLDは「即時起動する非揮発の小〜中規模制御ロジック」を実現するのに適しており、FPGAは高機能・高密度演算に向いています。
代表的な用途・事例
EPLDがよく使われる場面は次の通りです。
- 複数TTLロジックの置換(glue logic)
- シリアル/パラレルインターフェースの変換
- 状態機械(ステートマシン)の実装
- 電源やリセットの分配、ボードの初期化シーケンス制御
- 小規模なセキュリティ/プロテクト機能
産業機器や家電、計測機器など、起動即時性や信頼性(不揮発性)が重視される組み込みシステムで根強く使われてきました。
設計上の注意点とベストプラクティス
EPLDを用いる際の設計上のポイントを列挙します。
- IOの電圧レンジと互換性を確認する(3.3V/2.5V/1.8V系など)
- パワーシーケンスとリセット設計:不揮発性とはいえ、電源立ち上がり時の挙動を回路全体で想定する
- タイミングとクロック設計:静的タイミング解析を行い、セットアップ/ホールドを満たす
- ESD保護、過渡保護:I/Oが外部と接続される場合の保護回路設計
- マージン設計:温度・電源変動に対するマージンを確保する
- プログラミング手順とファームウェア管理:JTAG/ISPでのバージョン管理運用を確立する
最近の動向とマイグレーション戦略
近年、フラッシュベースやMRAMベースの不揮発メモリを取り入れたCPLDや、フラッシュコンフィギュレーションを持つFPGAが登場し、EPLDの立ち位置は変化しています。低コスト・低消費電力で十分な機能ならEPLD/CPLDで良いですが、以下の点で移行を検討する価値があります。
- 将来的な機能追加や柔軟性が必要ならFPGAやSoC(FPGA+ARMなど)への移行
- 部品調達リスク(EOL)を避けるための代替部品検討
- セキュリティ機能(暗号化やセキュアブート)が必要なら、セキュリティ機能を持つCPLD/SoCの検討
移行する場合は、論理のHDL化、テストベンチ整備、ボードレイアウトの変更(電源やI/Oバンク)などを事前に計画することが重要です。
まとめ — EPLDをいつ選ぶか
EPLDは長年にわたり、即時起動する不揮発性の小〜中規模ロジック実装に向くデバイスとして活用されてきました。設計の容易さ、低消費電力、そして製品寿命中の安定性が求められる組み込み用途では今なお有効です。一方で、高密度・高性能処理や将来的な機能拡張を見込む場合はCPLDやFPGA、さらにはマイクロコントローラ/SoCの検討が適切です。
最終的には、要件(I/O数、タイミング、電力、起動特性、コスト、供給の安定性)を洗い出し、開発/量産フェーズでの運用(プログラミングやバージョン管理)も含めて総合的に選択してください。
参考文献
Programmable logic device - Wikipedia
Complex programmable logic device (CPLD) - Wikipedia
Field-programmable gate array (FPGA) - Wikipedia
Programmable Array Logic (PAL) - Wikipedia
Lattice Semiconductor - 公式サイト(CPLD/EPLD製品ライン)
Intel (旧Altera) - 公式サイト(CPLD/FPGA)
投稿者プロフィール
最新の投稿
ビジネス2025.12.29版権料とは何か|種類・算定・契約の実務と税務リスクまで徹底解説
ビジネス2025.12.29使用料(ロイヤリティ)完全ガイド:種類・算定・契約・税務まで実務で使えるポイント
ビジネス2025.12.29事業者が知っておくべき「著作権利用料」の全体像と実務対応法
ビジネス2025.12.29ビジネスで押さえるべき「著作権使用料」の全知識――種類、算定、契約、税務、リスク対策まで

