三态buffer是具有高阻输出能力的buffer,在总线结构中,为了解决竞争问题,必须采用三态的输出buf;
module TRISTATE(E, A, Y);//三态总线
input E, A;
output Y;
assign Y = E?A:1'bz;
endmodule
module TRISTATE(E, A, Y)//三态总线
input E, A;
output reg Y;
always @(E , A)
begin
if(E)
Y = A;
else
Y = 1'bz;
end
endmodule
双向三态总线可以输入输出,输出带高阻
module BIDIR (E,A, Y, B);//双向总线buffer
input E, A;
inout Y;
output B;
tri Y;
assign B = Y;
assign Y = E?A:1'bz;
endmodule