設計変更をいろいろしていくうち、どうせAVR-SRAM間のDMAをしないのならSRAMのデータバスをCPLDに入出力させなくてよいことに気づきました。 SRAMはCSさえきちんとコントロールできれば、データバスは常にHi-Zなので、そのまま本体のバスに直結でも問題ないのです。 WEやOEでさえも。
ということで、SRAMのデータバスをCPLDの入出力から外したところ、CPLDの使用マクロセル数が激減(-16)しました。 それでわかったのですが、今までやたらマクロセルを消費していた犯人は、MUXのようなのです。 おそらく3-state bufferが8ビットx2、かつMUXが8ビットx2で、32マクロセル消費していたようです。 これではほとんどロジックは入れ込めませんね。 Xilinxの論理合成がヘボなのかもしれませんが。
というわけで、いま実験中のtiny2313の簡易ROM化がうまくいけば、あとはデコード等はXC9536(XL)が一つですべて賄えることがわかりました。
こちらはいざとなったら244を一つ挿入することになるかもしれませんが、そうすると副作用でISPができるようになるので(現在はデータバス直結なので無理)、悪いことばかりでもないかもしれません。 でも、この場合はプログラムフラッシュの自己プログラミングをサポートするほうが有効かな。
匿名
画面が真っ暗、でもカーソルは出てる状況。
探して、ここにたどり着きました。
パスワード入力で、復活!
修理に出す寸前でした。ホントにありがとう!