| module tristate (en, i, o); | |
| input en; | |
| input i; | |
| output reg o; | |
| `ifndef BUG | |
| always @(en or i) | |
| o <= (en)? i : 1'bZ; | |
| `else | |
| always @(en or i) | |
| o <= (en)? ~i : 1'bZ; | |
| `endif | |
| endmodule | |
| module top ( | |
| input en, | |
| input a, | |
| output b | |
| ); | |
| tristate u_tri ( | |
| .en (en ), | |
| .i (a ), | |
| .o (b ) | |
| ); | |
| endmodule |