久しぶりにispLEVER Classicを起動したところ、ライセンス切れでLatticeのサイトを見たところispLEVER Classicはすべて5万円くらいの有料のサブスクリプションになってしまっていました。おそらく2020年の後半くらいからで、たしかLatticeは買収されていて、方針が変わってしまったようです。
DIAMONDはまだfreeでも使えるが同じように1年ごとのライセンスの発行が必要でいつ有料にされてもおかしくない。
個人開発ではライセンスの更新が必要なツールは使わないほうが良いのかもしれない。
しかたが無いので他の方法を探してみました。
GALBlastの人のページに以下があります。
Latticeの1996 ISP Encyclopediaには以下のようなツールが記載されています。
- Synario/ABEL from Data I/JEDECO
- CUPL from Logical Devices
- PLDesigner from Minc
- PLD 386+ from OrCAD
おそらくSynarioがLatticeに買収されてisp LEVERになってCUPLはAtmelに買収されたのではないかと思います。
Win CURLはfreeで使えますが、Atmelのデバイスしかサポートされてません。
GALAsmというオープンソースもありましたが、対応しているGALが4種類しかありません。GALAsmはいろいろ派生がありましたが、チップの設定がハードコードされていて、チップの追加が難しいように見えました。
1990年代のDOS上のPLANIIやOPALjrというツールもありました。これらはナショナルセミコンダクターが作っていたものようです。
PLANIIやOPALjrはEQNという文法を使っていて以下のような原始的な規則になっています。
- ;以降はコメント
- {}でくくられたところもコメント
- chipが出てくるまではヘッダー
- @uesはユーザーエレクトリックシグネチャーでほかにも@で始まるいくつかの記述子がある
- equations以下が定義
- =が無い行はピンリスト
- =があるところは定義
- オペレーターは以下のとおり
OPERATOR EXAMPLE OPERATION PRECEDENCE
/ /signal invert 4 (highest)
! ! signal invert 4
* A * B and 3
& A & B and 3
| A | B or 2
+ A + B or 2
^ A ^ B xor 1
$ A $ B xor 1
:+: A:+:B xor 1
= A = B assignment 0
:= A:=B registered
assignment 0 (lowest)
とりあえずFreeDOSでPLANIIのEQN2JEDを使ってEXAMPLE5.INCをJEDEC作ってgalprogで焼いてみました。
FreeDOS環境があったので、これで使いましたが、DosBoxなどもエミュレーターで使うのが良さそうです。
Windows7でDosBoxを実行してみました。キーボードがJIS配列をサポートしてないので、辛いです。
せっかくVerilogをちょっと覚えたのに、また別の文法を覚えなければいけません。:(