スパイス  組み込み制御装置の受注製作

小規模組み込み装置に向いたCPLD
平成26年 8月 30日

 CPLDの内部構成
 CPLDの内部構成は大きく2つに分かれます。特に名前がある訳ではないのですが、ここでは従来型とFPGA類似型と呼ぶことにします。

    従来型CPLD
 従来型CPLDはその前身であるPLD回路の基本構成を踏襲しています。基本的にはAND・OR・INVERTの組み合わせ+D FFで全ての論理回路を構成します。現行製品ではザイリンクス社のXC9500XLおよびCool Runner、アルテラ社のMAX3000Aが該当します。
このタイプはマクロセルと呼ばれる多入力・多出力の機能ブロックを複数個実装しています。
以下に従来型CPLDの機能ブロック図を引用します。(MAX 3000A プログラマブル・ロジック・デバイス・ファミリ・データシートより引用


 この図の見方は難しいのですが、一つのマクロセルには合計で(36+16)52本の入力を持ち、16本の出力を持っています。これ以上の入力が必要なときは隣のマクロセルから信号の一部を借用できる(上記の16本がそれ)ようになっています。この機能によって実際には非常に多くの入力を処理できる事になってはいます。ここまでの数字はアルテラ社のMAX3000Aでのものです。ザイリンクス社の製品では多少違っています(が大きな違いではありません)。

    FPGA類似型
 こちらは旧来の分類方法ではCPLDには分類できないタイプです。内部回路の基本はFPGAで使用されるロジックエレメントと呼ばれる機能ブロックを多数実装することで実現しています。アルテラ社のMAXU以降のデバイスが該当します。
こちらは4入力を基本に何通りかの出力が可能なようです。下記にアルテラ社のMAXUのロジックエレメントの機能ブロック図を引用します(MAXUデバイスハンドブックより引用)。


 マクロセルとの大きな違いは機能ブロックが非常に小さな単位となっており、デバイス内部のレイアウトに対する自由度が高い点です。その分デバイスのフィッテイング(デバイス内部のレイアウトの決定)に大きな負担が掛かります。当初のPLDが従来型CPLDのような構成をとったのも回路の実装段階でのソフトウェアの負担を軽く出来ることも要因であったろうと思います。

目次へ  前へ  次へ