2019.4.3
前へ
次へ
ホームページトップへ戻る

[新連載]CPLD入門!
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
いつか使うことになるだろうと思ってはいたのですが。
何を今頃になって、というようなものですが。
ようやく本気で、CPLDと四つに取り組みます。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜



[第30回]


●RAMを外付けする

前回はEPM7128SLC84用に作成した、7セグメント表示回路のVHDLプログラムをコンパイルしたところぎりぎりセーフになつたので、最後の仕上げということでPin Plannerを起動して入出力信号をEPM7128SLC84の端子に割り当ててから再コンパイルしたところ、大量のエラーメッセージが出てしまいびっくり仰天しました、というところまで書きました。
今回はその続きです。

端子の割り当てをしたことでエラーメッセージが出たことからすると、そのこと(端子の割り当て)がエラーメッセージが大量に出された原因らしいということは推測できました。
それで必要な全部の端子を割り当てるのではなくてごく一部の端子を割り当ててみたのですが結果は同じでした。
なんと結局たった1本の端子を割り当てただけでも大量のエラーメッセージが出されてしまいました。
どうやら最初のコンパイルでエラーが発生しなくても、それは端子の割り当て前のいわば「仮コンパイル」に過ぎないようです。
その時点でI/Oピンについても消費割合が表示されるのですが、どうやらそれは「仮」の数値に過ぎないようです。
実際に端子を割り当てる前の時点で98%のMacrocellを消費してしまっているということは、結局はアウトだということのようです。
このことについては[第20回]に書きましたが、おそらくはそういうことのようです。

そういうことになりますと。
バッファの数を減らすしかありません。
CPLDの外にレジスタを置けば、その分ラッチの数を減らせます。
うーん。
余り面白くない方法ではありますが、コストから考えていっそのこと、外部にRAMを置いてしまうのがよいのかもしれません。
「秋月」で62256タイプの面実装のRAMを安価で入手できます。
たった8バイトしか使わないのに、32KBのSRAMを使うというのは、なんだかなあ、という思いではありますが、背に腹は代えられません。
そのように試作基板に改造を加えました。


それに合わせて再コンパイルしたところ、Macrocellの消費は55%に減りました。

これは全ての端子を割り当て後に再コンパイルして表示された数値です。
やっとクリアできました。

が。
この後また別の問題が発生してしまいました。

CPLD入門![第30回]
2019.4.3upload

前へ
次へ
ホームページトップへ戻る