SBCZ8002のGALがほぼ完成

SBCZ8002の周辺回路はTTLで組むとプリント基板がサービスサイズ(10cm四方)に収まらないからGALに押し込んだ。GALは未経験なので幾多の困難が予想されたが意外とうまくいってしまった。WinCUPLで論理を書き、WinSimでシミュレーション。下の例はメモリセレクトの動作。ほかにSCCのセレクトや割り込み応答、RD、WRなどの動作もOK。

z8002_sim_cs

PLDファイルの記述はこんな感じ。GALはシンプルモード、論理はAND、OR、NOTだけ。この上なくシンプルだから未経験でも何とかなった。もしかしたら記述のスタイルに野暮ったいところがあるかもしれないが、こういうのは動かしたもん勝ちってことで。

Name            SBCZ8002;
Partno          Z8K2CTRL;
Revision        01;
Date            20/3/19;
Designer        Tetsuya Suzuki;
Company         Office TETSU;
Device          g16v8as;

/* Inputs */
Pin 1 = a15;
Pin 2 = bw;
Pin 3 = rw;
Pin 4 = !mreq;
Pin 5 = !ds;
Pin [6..9] = [st3..0];
Pin 11 = a0;

/* Outputs */
Pin 12 = !intack;
Pin 13 = !scc;
Pin 14 = !wr;
Pin 15 = !ram_evn;
Pin 16 = !rom_evn;
Pin 17 = !rd;
Pin 18 = !rom_odd;
Pin 19 = !ram_odd;

$DEFINE IOREQ (!st0 & st1 & !st2 & !st3)

/* Logic */
intack = st0 & st1 & st2 & !st3; /* VI acknowledge */
scc = IOREQ & a0 & !a15; /* SCC select */
rd =  rw & ds; /* Read pulse */
wr = !rw & ds; /* Write pulse */
rom_odd = mreq & !a15 & ((!a0 & bw) # !bw); /* odd  ROM select */
rom_evn = mreq & !a15 & (( a0 & bw) # !bw); /* even ROM select */
ram_odd = mreq &  a15 & ((!a0 & bw) # !bw); /* odd  RAM select */
ram_evn = mreq &  a15 & (( a0 & bw) # !bw); /* even RAM select */

[2019/3/16]論理の誤りを修正しました。動作はシミュレーションの画像と一致しません。

シミュレーションでOKだから実物もOKとまでは思えないのが未経験の率直な気持ち。実物をテストするためにArduinoでGALテスターを作った。これでLEDがうまいこと光ってくれたらようやくGALが完成したといえる。だっせーだろ、でも、動かしたもん勝ちだ。

z8002_galtester

はい注目、回路図のGALがATF16V8BなのにGALテスターに乗っているのはATF16V8CZ。似たようなもんだろと思ったら書き込み方法が違うみたいで、うちのTL866CSだと書き込めない。TL866 II Plusなら大丈夫という情報があるが、5600円の書き込み装置を買い直すよりは145円のGALを買い直す。現在、マルツに注文したATF16V8Bの到着待ち。

z8002_atf16v8cz

というわけで、厳密にいうとGALはまだ完成していないが、あらかた完成の見込みが立った。この段階で経過を報告しておけば、万が一、大間違いをしていたときにご指摘をいただけるものと期待している。

カテゴリー: Z8000, 書き込み装置 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中