module tristate(en, i, o); input en; input i; output reg o; always @(en or i) o <= (en)? i : 1'bZ; endmodule