CPU実験室

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

ロジック変更

コントローラのPICからプログラムメモリにコードを書き込む場合、

①PICから12bit幅でアドレスを出力

②プログラムカウンタのPE(プリセット)端子をドライブしてアドレスをロード

③PICから16bit幅でインストラクション(4bit)+実効アドレス(12bit)を出力

④プログラムメモリの/WR端子をドライブしてメモリ書込み

の手順をとります

今回、プログラムカウンタをクロック同期プリセットにすると②のとき同時にCLK端子をドライブしなければならないのですが、現状回路を見るとどうみてもPICとCLK端子は直結されていません。

f:id:O3I:20210322141043j:plain

MC14500のリセットを解除してやるとX1X2へ入力したクロックが現れますが、今度はそれと同時にプログラムメモリの/OEが開いてしまい、メモリへの書き込みができなくなってしまします。

ここは本来ベースの回路を修正すればいいのですが既存のボードには手を入れず動態保存しておきたいのでCPLDのロジックを一部変更。

非同期プリセットAPEと同期プリセットSPEを分けてしまい、プログラム書き込み時はAPE、プログラム実行時はSPEを使うようにします

f:id:O3I:20210322141059j:plain