CPLD

JTAG制御
 CPLDにはJTAGと呼ばれるプロトコルで値を書き込むことができます。これは、システムの試験に利用さてていた信号で、TMS(modeSelect)、TCK(Clock)、TDI(Datain)、TDO(DataOut)から構成されます。
開発ツールの結果をCPLDに書き込むには、PCのプリンタifをJTAGに変換する接続回路が必要です(USB化が遅れています)。JTAG端子があれば、オンボードでのプログラム変更も可能です。

CPLDとは
CLPDは、Complex Programable Logic の略で、指定した論理回路を実現できる可変構造のディジタルICです。ここではXiLinx社のXC9500シリーズを紹介します。

構造
 CPLDは、複数の機能ブロックから構成され、各機能ブロックは複数のマクロセルから構成されます。マクロセルは1bitに記憶が可能で、その論理はスイッチマトリックスで決定されます。スイッチマトリックスは、外部から書き換えが可能で、指定した論理を実現できます。

PLCCソケット
CPLDはPLCCソケットが利用できます。これは斜めの角を左上としたとき、左上中央が1ピンになります。ピン間は0.1インチです。

入出力ブロック
 出力する/停止の選択、スルーレート(変化の速度)、制御ができます。出力は24mAまで可能です。マクロセルの一部と外部入出力端子が、入出力ブロックに接続されます。

機能ブロック
 外部信号とマクロセル(自分の記憶)を組み合わせて36本に信号から論理を合成し、18個のマクロセルの状態を決定できます。セルの値はGCK(クロック)に同期して変化します。

開発ツール
 XiLinx社から webPack が提供されています。これは、VHDLで記述された論理機能から配線情報を作成し、JTAGプロトコルで書き込む機能があります。
 使用する端子も自動割り付けられます。

xx-yy 機能B数 価格 ゲート数
36-44 504 800
72-44 630 1600
72-84 777 1600
108-84 2047 2400

XC9500シリーズ
 型番は XC95xx-15PCyyCです。xxが機能ブロック数、yyがピン数になります。動作電圧は5V、動作速度は15nSです。
(価格は共立エレショップ)