CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

デコーダ設計

GALのピン配置はあらかじめ特定してパタンができていて、今回メモリマップが決まったのでこれはもう機械的にPLD設計ツールに入力するだけです。いつものようにロジック図を書いていきます

f:id:O3I:20191104185110j:plain

基本的にCPUから出力されるバスイネーブル/BE0~/BE3をROMとSRAMの領域ごとにゲートして各メモリのチップイネーブルを生成しますが、AND項だけで合成でき、GALに入りきらない心配はありません。

ちょっと注意がいるのはCPUが出力するADS(アドレスストローブ)で、これは負論理ですがアドレスラッチ(74HC573)はラッチ入力がHでトランスペアレントとなるので極性が逆です。8085や80x86、uPD7810のALE(アドレスラッチイネーブル)は573のラッチ入力と直結できましたが今回はインバータで反転させます。これはほんとGALを通しておいて良かったとほっと胸を撫で下ろしました。

 

コンパイルは一瞬で通り、JEDファイルができました。

f:id:O3I:20191104191129j:plain