|

楼主 |
发表于 2014-7-17 17:23:46
|
显示全部楼层
回复 8# 2ki
(一)方式一
是不是这样例化一个三态输出,作为I2C的sda输出?
IOBUF IOBUF_inst (
.O(1'b0), // Buffer output
.IO(sda), // Buffer inout port (connect directly to top-level port)
.I(sda_in), // Buffer input
.T(~en) // 3-state enable input, high=input, low=output
);
(二)方式二
assign sda = (~en) ? 1'b0 : 1'bz ;
assign sda_in = sda ;
请教两种实现有什么区别,是不是等效的?而且是否需要原语pullup。
PULLUP PULLUP_INST(
.O(sda)
);
谢谢 |
|