2017-02-11 16:59 — asano
カテゴリー:
GAL (Generic Array Logic)とCPLD (Complex Programmable Logic Device)も出てきました。
このLattice製のGAL16V8B-25LPは論理回路プログラムできるPLDのうちで、EEPROM構造(電気的に消去して再プログラム可能)の初期のものです。
GAL以前のPLDとしてはMMIのPALが有名ですが、以下のような理由で使おうと思ったことはありませんでした。
- ヒューズ式で一度書き込むと変更できないこと
- 書き込み方法が難しくライタの自作が困難なこと
- 品種が多く回路によって選ばなくてはならないこと
- 消費電流が多いこと
それがGALは上の欠点をほぼ解消しているので、試してみようと思って何個か買ったうちの1つです。結局ライタも製作せず、どこかで借りて試してみたはずですが、実際の製作には使用していません。
これはXilinxのXC9536-15PC44C、CPLDと呼ばれるものの一つです。
先ほどのPALやGALがせいぜい74シリーズ等の汎用ロジック数個分を置き換えるのに対し、もっと規模の大きな回路にも対応可能です。このXC9536ではマクロセル(フリップフロップ1個を含む)が36個あります。ちなみにGAL16V8にフリップフロップは8個あるので大雑把にその4.5倍です。
これはXC9572-15PC44Cです。型番から想像できる通りマクロセル72個と、XC9536の2倍の規模です。
最後はXC95108-15PC84C、XC9536の3倍の規模のものとなります。パッケージも84ピンに増えています(XC9572にも84ピンPLCCのものは存在します)。
さらに上にはXC95144, XC95216, XC95288などといった大規模なものもありますが、残念ながらPLCCパッケージのものは存在しません。BGAはおろかQFPでもユニバーサル基板では扱いづらいので買っていません。
ところでこのXC9500シリーズ、写真のマーキングと型番の対応がややこしいですよね。このXC95108を例にすると、まず「XC95108」は1行目からでXC9500シリーズであることと108マクロセルであることを表します。「-」はデリミタなので自分で補います。「15」は4行目から、スピード(ピンからピンの遅延時間が15ns)を表します。「PC84」は2行目から、PLCC84ピンのパッケージを表します。最後の「C」は4行目から、動作温度範囲が0°C~70°Cのものであることを表します。Xilinx自身もわかりにくいと思っているのか、データシートに読み方が詳しく書かれていました。
XC9500シリーズは5V I/Oに対応した(古いCPUなどと組み合わせるのに適した)貴重なデバイスだったのですが、何年か前にとうとうディスコンになってしまいました。残っている後継のXC9500XLシリーズはI/Oが2.5Vか3.3Vになってしまい、Vccio(I/O電源), Vccint(コア電源)用に3.3Vの供給が必要です。I/Oピンは5Vトレラントなので入力ピンは5V回路に直結できますし、出力ピンも(相手が古いデバイスなら大抵TTLレベルで2.4VでHと認識されるので)直結でもOKな場合が多いでしょう。でもZ80 CPUのCLKみたいな例外もあるので、落とし穴に嵌らないよう注意が必要です。
コメントを追加