[转帖]inout的使用

来源:http://bbs.ednchina.com/BLOG_ARTICLE_146161.HTM

来源:http://www.cnblogs.com/whut-xxxy/archive/2011/05/07/2039661.html

inout口在testbench中要定义为wire型变量。

 对双向口,我们可以将其理解为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就可以当作普通信号使用了。

I2C参考程序来自:http://wenku.baidu.com/view/d715b00cba1aa8114431d9c4.html 写得很好。
原文地址:https://www.cnblogs.com/zlh840/p/2605572.html