小ネタ 199X-003
GAL/ispGAL/ispLSI
GALとは何か
Lattice製のプログラマブル・ロジック・デバイス。論理回路をプログラムすることのできるICってことです。
マイコンに周辺回路を外付けする際には、アドレス・デコーダー回路を作らなければならない場合が多いです。この回路は74シリーズを組み合わせて作る方法もありますが、1チップで済ますためにGALを用いると便利です。また、ちょっと複雑な順序回路なども作ることができます。
上の写真は、ispGAL22V10とGAL16V8とGAL22V10です。
ispGALというのは、基板に実装しちゃった後でシリアル通信でプログラム(ヒューズマップ)を転送して書き込むことのできるGALです。もうちょっと規模の大きいCPLDのispLSIというシリーズもあります。GALほどポピュラーではないデバイスです。
ispGALの使い方
「ispStartrt Kit」というのがLatticeから出ておりました。中身は、ソフト(FD) + マニュアル(英語) + 書き込み用ケーブル + サンプルのデバイスが入っていて、値段は1.2万円程度だったと思います。これをつい買ってしまったので、いちおう使ってみた結果を書きます。
このキットに付属のソフトは貧弱で、画面上にANDやORなどのシンボルをマウスで配置して回路作成するCAD風のソフトが入っていまして、単純なものはこのキットでも組めますが、ハードウェア記述言語を使ったカウンタ等を記述するような複雑なものは容易には組めませんし、単純なものでも、記述言語で書くほど楽にはできません。ispLSI-1016とispLSI-2032にのみ対応。これだけではちょっと使えないという感じです。
そのかわりLatticeのホームページで配布しているSYNARIOデモ版の「isp SYNARIO Starter Software」というのを使えばABELというよく知られた言語を使って複雑なものも組むことができます。CD-ROMでもこれを配布しておりまして、これを入手しました。
旧版 新版
旧版のソフトは、Win3.1でしか動作しないので困っています。そのかわり、ispGAL22V10やispLSI-1016,ispLSI-2032は勿論のことGALについてもプログラム作成できます。こんないいもんを無料で配布していいのか?という ありがたいソフトでした。
ところが、現在配布されている新版は、Win95で動くようになったものの、ispLSI-1016とispLSI-2032にのみ対応と制限がキツくなってしまってispGALのプログラム作成できませんでした。残念!
あきらめて、ウチのマシンにはWin3.1も入れて、旧版のSynarioStarterを使い続けています。英語版Win3.1でも日本語版Win3.1でも動きます。デバイスを記述したあとはJEDECファイルができるので、これを「isp Daisy Chain Download」というソフトとダウンロード・ケーブルを使ってデバイスにシリアル転送してプログラムを書き込んでやります。
本来は、実際に作成する基板上にispGALを実装してそのシステム上で書き込むのであるが、どうせPLCCのソケットを使うのだから、書き込みは別途で行ってもそんなに手間がかかるものでもないので、書き込みのために専用の基板を作成しました。回路は非常に単純なので紹介するほどでもないと思う。
あと、このダウンロードケーブルについては回路図がマニュアルにも載っていますし、これを自作することも容易です。そうするとソフトは無料だし、ケーブルも自作してしまえば非常に安価です(こんど試してみます)。そうするとほとんど投資なしでispGALのプログラム環境ができることになります。ispGAL22V10が高価で入手性もGALほど良くないのが難点。
GALの使い方
普通のGALについては、勤めている会社にGALを焼く機械はあるのだが、こういうのはちょっと個人でポケットマネーでは買えないです。なんとか安価な方法がないか探しています。自作という最後の手段はありますが、いまのところ手を付けていません。
自作関係の情報へのリンクをここに書いておきます。