[請益] verilog 雙向inout問題
有一個verilog code的問題想要問你,試了一天以上...
我想把pad_A當雙向pin ,
在EN = 1 時候,pad_A當輸出pin,把data傳出去,
反之,EN = 1,從外部收訊號,
我照下面的寫法,是會有Error的,
高手們可以給我一些指點嗎,感激不盡~
---------------------------------------------------------
module PAD( pad_A, EN );
inout pad_A ;
input EN ;
reg data=1;
assign pad_A = EN ? data : 1'bz ;
endmodule
module tb;
reg EN;
wire pad_A;
PAD I1 ( pad_A, EN );
initial fork
#0 pad_A=0;
#22 pad_A=1;
#35 pad_A=0;
#40 pad_A=1;
#62 pad_A=0;
#78 pad_A=1;
#90 pad_A=0;
join
initial EN=0;
always #25 EN = EN + 1 ;
initial begin
$fsdbDumpfile("DUT.fsdb");
#100 $finish;
end
endmodule
--------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.12.138
※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1482554066.A.844.html
→
12/26 13:50, , 1F
12/26 13:50, 1F
→
12/26 15:41, , 2F
12/26 15:41, 2F
→
12/26 16:22, , 3F
12/26 16:22, 3F
→
12/26 16:22, , 4F
12/26 16:22, 4F
※ 編輯: pat12345 (42.72.208.111), 12/26/2016 16:23:00
→
12/26 19:46, , 5F
12/26 19:46, 5F
→
12/26 19:46, , 6F
12/26 19:46, 6F
→
12/26 19:46, , 7F
12/26 19:46, 7F
→
12/27 02:01, , 8F
12/27 02:01, 8F