歡迎您光臨本站 登入註冊首頁

用Verilog語言描述一個雙向埠

admin @ 2014-03-26 , reply:0

概述

對雙向埠,我們可以將其理解為2個分量:一個輸入分量,一個輸出分量。另外還需要一個控制信號控制輸出分量何時輸出。此時,我們就可以很容易地對雙向埠建模。例子:CODE:moduledual_port(..……

對雙向埠,我們可以將其理解為2個分量:一個輸入分量,一個輸出分量。另外還需要一個控制信號控制輸出分量何時輸出。此時,我們就可以很容易地對雙向埠建模。

例子:
CODE:
module dual_port (
....
inout_pin,
....
);

inout inout_pin;

wire inout_pin;

wire input_of_inout;
wire output_of_inout;
wire out_en;

assign input_of_inout = inout_pin;

assign inout_pin = out_en ? output_of_inout : 高阻;

endmodule

可見,此時input_of_inout和output_of_inout就可以當作普通信號使用了。

在模擬的時候,需要注意雙向口的處理。如果是直接與另外一個模塊的雙向口連接,那麼只要保證一個模塊在輸出的時候,另外一個模塊沒有輸出(處於高阻態)就可以了。
如果是在ModelSim中作為單獨的模塊模擬,那麼在模塊輸出的時候,不能使用force命令將其設為高阻態,而是使用release命令將匯流排釋放掉。


[admin via 研發互助社區 ] 用Verilog語言描述一個雙向埠已經有4112次圍觀

http://cocdig.com/docs/show-post-43006.html