のVHDL inoutの入力ピン

A

alexz

Guest
ときに
、 ピンはinoutタイプとして、どのように実装するために知っている入力として宣言されてときに出力?

 
あなたは
、 常にピンのusege指示するいくつかの制御ピンが必要です。
かどうか
、 その方向を選択制御信号、または出力またはread/write-信号を有効にします。

 
通常inoutのポートを処理するためのトライステートバッファを使用します。あなたがそれを制御するための信号を有効にする必要があります。

 
これは両方の方向では動作しません。
私がトライステートバッファをシミュレートしようとしており、それのみを出力として動作します

 
私dont非常によく、Ü方法イッツ川のverilogで行わ与えるのVHDL話す。

これと言うことができますinout_sigですウルinoutの信号があると、少ししてウルデザインの上のファイルにあります:

=(out_en inout_sig)を割り当てること?out_sig:1'bZ;

上記のステートメントはトライステート場所out_sig、その入力とout_enされている有効です推測します。時out_en = 1、out_sig inout_sigには、それ以外のときにout_en = 0、高インピーダンスになります駆動されます。次に
、 任意の値を入力ウルテストベンチ()からのinouot_sigに駆動され
、 撮影することができます。の取得入力、Ŭはinout_sigに接続する必要があります入力ワイヤが必要です。

ここout_sig線しなければならない出力として宣言した。たびŬ inoutのポートウルにデータをドライブするには、1 out_enをアサートし、out_sig線にデータをドライブ。
今までの文を割り当てると、ドライブの値を持ってinout_sigいる。

同じ概念をVHDLで行うことができます。ホープは
、 この..ことができます

<img src=¥"http://www.edaboard.com/images/smiles/icon_biggrin.gif¥" alt=¥"とてもハッピー¥" border=¥"0¥" />

[/スペース]

 
それALOSのいるかに依存する方法をいくつかのケースstimulで強制的に固定された値を見るにはピンがテストベンチでした。ここでは、VHDLの例impliment方法biderectionalピンpin_io"=ときに他の東京;----出力データ= '1'を有効にする
-入力データ

プロセス(CLK)の
開始する
場合clk = '1'とclk'event以上追加1分後:それALOSのいるかに依存する方法をいくつかのケースstimulで強制的に固定された値を見るにはピンがテストベンチでした。ここでは、VHDLの例impliment方法biderectionalピンpin_io"=ときに他の東京;----出力データ= '1'を有効にする
-入力データ

プロセス(CLK)の
開始する
場合clk = '1'とclk'event以上
の場合よりも= '1'ラッチ
質問"= pin_io;
終了の場合;
終了の場合;
工程;不足グッド

 
[OK]をまず最初に説明する必要があるのチップまたはエンティティのポートは
、 このピンですか?

もし
、 それがチップの場合のIOセルになりますピンをクリックして、VHDLでトップレベルのエンティティのこのポートを持つインターフェースと仮定します。今は
、 この入出力セルを1つの入力とフィードバックをトライステートバッファがあります。また
、 トライステートするときにしかdriving.Basicallyトライステート信号one.InときPin1が外の信号は2つから供給されている直接その値が代入される他の事件に制御されるのを有効にされ信号をアクティブにします。

Pin1が-------------- <|----信号の1つ(出力)
Pin1が--------------""信号2(入力)

 
alexz書き込み:

これは両方の方向では動作しません。

私がトライステートバッファをシミュレートしようとしており、それのみを出力として動作します
 
さて私はuこの例で理解できると思う... ...

時までŬは再びそれから一般的にinoutのピン..を使用し
、 入力側ウルフィードをいくつかの出力端子を使用する

例えば


使用するライブラリ;使用ieee.std_logic_1164.all;エンティティsr_latchですポート(研究std_logic:sの;qをQbの:inoutのstd_logic);エンドsr_latch;
sr_latchアーキテクチャbehvです開始する質問"= QDのnandさんの掲載;Qbの"=研究nandさんの質問;エンドbehv;(上記の例SRの場合は
、 ラッチ)..私たちが再びNANDゲートの入力では入力端子として... ...これが我々一般的に使用するピンinoutのですQbの出力ピンを外す...

 
tkbits書き込み:を得る有効なdbusの信号を、1)すべての出力がトライステートバッファから、2)正確に1つの出力(非- Z)をアクティブにする必要があります。。
 
上記のルールがVALID(非- X)の信号です。これはトライステート出力がアクティブで、その場合
、 信号を未知の値を持ってすることも可能¥です。これは
、 複数のトライステート出力をアクティブにすることが可能¥です-がある場合'0時'を出力します(1つに反対して
、 別の'1'で)、信号にも未知の値を持ちます。

あなたは1つの出力を確保することによってその時点でアクティブになって(と)すべての入力がそれに関連付けられてのセットアップ時間を満たす特定の瞬間に有効な信号を保証します。

場合は
、 外部ロジックからの分離にはinoutポートで見ることができない。外部ロジック出力もinoutのポートにトライステート出力を介して、信号は
、 モジュール内から出力されるように接続する必要があります。

 
だから、私は3州を右する必要がありますデフォルトuotput撮影か?

 

Welcome to EDABoard.com

Sponsor

Back
Top