CPU実験室

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

バス制御ロジック(3)

せめて引き込んでいるアドレスバスA31/A30/A29を、A19/A18/A17/A16に差し換えることができればFPUを含むCPU空間のデコードとメモリ、I/O空間のデコードを共用することができ、こんなにエレガント且つコンパクトなメモリマップになったのです

このマップの大きさは1Mbyteで32bitフルデコード4Gbyteの実に1/4096のサイズに収まるのですが、現状のCPLDEPM7064のピン割付けはこのような状態。

フィッティングレポートでもマクロセル消費は40%程度ですがピン消費は94%でほぼ使い切っていてもはや信号線の追加はできません

 Top-level Entity Name    68030
 Family    MAX7000S
 Device    EPM7064SLC44-5
 Timing Models    Final
 Total macrocells    26 / 64 ( 41 % )
 Total pins    34 / 36 ( 94 % )

では要らない引込み信号を割愛して空きピンを作る、というのもほとんどの信号線が4層基板の内層を通っていて切断も不可能です。これは4層にチャレンジした時点で危惧してたのですが。

さらにFPUのDSACK0/1信号をCPLDで生成したDSACKと直結してMPUに返送している(もし両者がオープンドレインならワイヤードORでそれも可なんですが)という別のミスも見つかり、この基板へのFPUの搭載はどうにも無理みたいです。またCPU空間をデコードしてないので割込みアクノリッジIACKもフックできずオートベクタ割込みも使えません

・・ということで今までの基板の凡ミスはパタンカット・ジャンパでなんとか修復できましたが今回はそれも不能な大失敗基板になってしまいました。とりあえずFPU無し、割込み無しで動かせる範囲でこれ以外のハードバグを洗い出し、基板リファイン前提で進めます