CPLDのオーバーマクロセル原因判明

| | コメント(0) | トラックバック(0)

設計変更をいろいろしていくうち、どうせ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ができるようになるので(現在はデータバス直結なので無理)、悪いことばかりでもないかもしれません。 でも、この場合はプログラムフラッシュの自己プログラミングをサポートするほうが有効かな。


トラックバック(0)

このブログ記事を参照しているブログ一覧: CPLDのオーバーマクロセル原因判明

このブログ記事に対するトラックバックURL: http://www.markn.org/cgi-bin/mt/mt-tb.cgi/139

コメントする