コントローラのPICからプログラムメモリにコードを書き込む場合、
①PICから12bit幅でアドレスを出力
②プログラムカウンタのPE(プリセット)端子をドライブしてアドレスをロード
③PICから16bit幅でインストラクション(4bit)+実効アドレス(12bit)を出力
④プログラムメモリの/WR端子をドライブしてメモリ書込み
の手順をとります
今回、プログラムカウンタをクロック同期プリセットにすると②のとき同時にCLK端子をドライブしなければならないのですが、現状回路を見るとどうみてもPICとCLK端子は直結されていません。
MC14500のリセットを解除してやるとX1にX2へ入力したクロックが現れますが、今度はそれと同時にプログラムメモリの/OEが開いてしまい、メモリへの書き込みができなくなってしまします。
ここは本来ベースの回路を修正すればいいのですが既存のボードには手を入れず動態保存しておきたいのでCPLDのロジックを一部変更。
非同期プリセットAPEと同期プリセットSPEを分けてしまい、プログラム書き込み時はAPE、プログラム実行時はSPEを使うようにします