"、VHDLで、問題のコンポーネントの1つのピンに割り当てられる信号

A

ahmadagha23

Guest
こんにちは。
私は最上位のモジュール内のコンポーネントの1つのピンに信号を割り当てられます。そのコンポーネントの私は初期化の定義では
、 ピンに'0'。
デフォルトでは
、 ピン"inoutの"型として定義されます。一方
、 最上位モジュールのシミュレーション時の信号の値が"1"に変更するとすれば、Xの"する"に変更します。私が"を"タイプのそれは本当の作品は
、 ピンのタイプを変更します。私もうちとしては
、 ピンを使用するので、"inoutの"としてそれを使用する必要がありますします。実際これは
、 双方向のバッファの側です。
あなたは私のガイドていただけませんか?私のコードをVHDLでいます。

よろしく

 
一方のHDLは
、 常にあなたのコードを合成収率はどうなる視覚化しようとすると書く。


、 ドライブすることができます駆動することができますが存在する時は
、 入力として
、 ときとしてあなたdont output.if行為を指定するいくつかの他の制御信号の場合'として何が表¥示されますこのような信号が必要双方向性のシグナルはX'のための2つのドライバになります同じ信号の(1つを設計し
、 外部からの内側から。)
ここに典型的なトライステートバッファの良い例です。

引用:例library ieee;

ieee.std_logic_1164.ALL使用;エンティティの双方向か

ポート(

双方向:INOUTのSTD_LOGIC_VECTOR(7 '1、0);

oeのは、Clk:STD_LOGICで;

InP系:でSTD_LOGIC_VECTOR(7 '1、0);

outp:切れSTD_LOGIC_VECTOR(7 '1 0));

エンド双方向;建築双方向のmaxpldです

信号:STD_LOGIC_VECTOR(7 '1、0); - DFFを格納する

入力から - 値を返します。

B信号:STD_LOGIC_VECTOR(7 '1、0); - DFFを格納する

のBEGIN - フィードバック値を返します。

プロセス(CLK)の

のBEGIN

のIF clk = '1'とclk'EVENTそれから - フリップフロップを作成する

"= InP系;

outp"= bの;

endが;

プロセスの終了;

プロセス(oeの、双方向) - 行動の表¥現

一BEGIN - トリの状態。

のIF(oeの= '0')し

双方向"="ZZZZZZZZ";

Bの"=双方向;

その他の

双方向"=;

Bの"=双方向;

endが;

プロセスの終了;

エンドmaxpld;

 
私は理由を解釈:inoutのポートは、そこにあるとは独立して仕事外付けドライバの内部。だから
、 それぞれの内部および外部の状態のため
、 その値と
、 これらの値が競合してはならないdetermin必要があります。たとえば
、 私が'のassignement状態は、inoutのピンは本当に仕事外の値によってdrivedする必要がありますのための内部コードでZ'を値に追加しました。
プロセス(clk_DIRn、aclk、BCLKの)
開始する
場合(clk_DIRn = '1')し
aclk"Tbuff後= BCLKの Tcable Tbuff;
BCLKの"='Z'を;
elsif(clk_DIRn = '0')し
BCLKの"Tbkp後= aclk;
aclk"='Z'を;
終了の場合;
工程;

よろしく

 
はあなたの問題を解決?

、 あなたの双方向の信号ですか?

 
はい
、 それを解決。両方のaclkとBCLKの双方向ている。Ŭ 1つだけを考慮することができます。

 

Welcome to EDABoard.com

Sponsor

Back
Top