1樓:匿名使用者
//用if語句描述的三態門
module tris8
(input [7:0] in,input en,output reg [7:0] out);
always @*
begin
if (en) out<=in;
else out<=1'bz;
endendmodule
2樓:
module three_t(in, en, out);
input [7:0] in;
input en;
output [7:0] out;
assign out = (en == 1) ? in : 8'bz;
endmodule
3樓:
你是南大計科男嗎? 明天做實驗 囧
xilinx中用verilog寫的三態門問題
4樓:匿名使用者
用的是xinlinx fpga的板子吧,絕大多數 xilinx的內部邏輯,(也就是不是真正i/o埠的所有邏輯)都是不支援tristate的,你如果瞭解fpga單元的原理就知道為什麼了,所以編譯綜合的程式沒辦法,只能把你的tristate 用邏輯1替換掉了。
你想實現tristate,就只能在i/o埠上做,沒其他選擇。
5樓:匿名使用者
三態門只有輸出埠才能用!
問一下verilog中三態門的實現問題。
6樓:匿名使用者
一般對於雙向的資料匯流排來說,在系統中會有多個裝置來驅動它的現象。
如果一個裝置不用總路線時,不把它驅動為高阻態,在另一個裝置要使用資料線時,就會出現多驅動的現象,在電路上會出現半高的電平,從而不知道這資料到底是1還是0了。
所以你註釋掉的那一句其實是非常有必要的。
所以這一句af_data <= qout; 是不能這樣寫的。
還是得用這種,匯流排使能加中間變數的方法。
assign af_data = (!data_dir)?qout:8'bzzzzzzzz;
7樓:匿名使用者
inout [7:0] af_data;
改為 inout reg [7:0] af_data; 就可以了
已測試過,望及時採納
verilog高手請教個問題!下面這個程式描述的是個三態門。執行有錯。望高手指點。謝謝!!
8樓:匿名使用者
檢測了,除少個分號,沒錯啊。。。module tr (cont,d,dp);
input cont;
input d;
output dp;
assign dp=cont ?d:1'bz ;
endmodule
9樓:匿名使用者
「output dp」 的後面丟了一個分號 !
請大神幫忙解釋,VerilogHDL語言
用普通語音的方式解釋一下程式執行的順序和規則 首先定義了一個字串指標陣列,最後一個指向的字串是 end 主函式呼叫displaynames顯示這個陣列指向的所有字串 不包括最後的那個end displaynames函式 判斷當前提供的字串指標指向的字串是否逗end地,如果是,直接返回,什麼也不做 否...
VHDL和Verilog HDL兩種語言的具體不同
這個問題不是兩三句就能解釋清楚的。verilog在工業界通用些,vhdl在大學較多。個人覺得vhdl比較嚴謹,veriloghdl格式要求鬆一些。hdl特別是verilog hdl得到在第一線工作的設計工程師的特別青睞,不僅因為hdl與c語言很相似,學習和掌握它並不困難,更重要的是它在複雜的soc的...
組合邏輯電路設計(使用Verilog HDL設計) 分別採用行為描述和結構描述設計一位全加器
行為描述 moudle a,b,ci,sum,c input a,b,ci output sum,c assign a b ci endmodle 結構描述 moudle a,b,ci,sum,c0 input a,b,ci output sum,co wire x,y,z xor 10 u1 x,...