アダルト・ヴァイオリン May the force be with you..

2009年8月21日

3state端子の扱い

Filed under: Weblog — い~ぐる @ 9:26 AM

一般にLSI内部でハイインピーダンス状態を作成すると、あまり良い結果を生まないので、束線を3stateとして扱うケースは、バスなどで限定的に用いるため、用意している。出力バッハの最終段だけ双方向扱いにするのが通常の使い方で、途中の生成式は通常論理として計算する。
ところが、束線内のビット単位でハイインピーダンスを制御したいという要望が来て、ディスティネーションが双方向の場合の式の生成を少し変更した。問題となったのは、VHDL側で、こちらは、最適化をかける場合には、アサート文を複数段に分割せざるを得ないので、最終段だけの対応では無理だ。そこで、最適化の論理分割式において、ディスティネーションが双方向かどうかを判断し、その場合には、途中式であってもバス形式で出力させることにする。(気持ち悪いが。。)

この仕組みを少し改造すれば、busとselの使い分けができるが、基本的にデータ確定時間が不安定なbusは、高速論理では、使えないと思っているので、採用するつもりは、今のところない。
どうしてもという要望があれば考えるが。。。

Powered by WordPress