mx41d2.v
652 Bytes
module mx41d2 (z, i0, i1, i2, i3, s0, s1);
input i0, i1, i2, i3, s0, s1;
output z;
`ifdef SYNTH
reg iz;
buf (z,iz);
always @(s0 or s1 or i0 or i1 or i2 or i3)
case ({s1,s0})
2'b00: iz = i0;
2'b01: iz = i1;
2'b10: iz = i2;
2'b11: iz = i3;
endcase
`else
and G3(N3, N12, N10, i0);
or G4(z, N3, N5, N9, N8);
and G5(N5, N12, s0, i1),
G8(N8, s1, s0, i3),
G9(N9, s1, N10, i2);
not G10(N10, s0),
G12(N12, s1);
`endif
endmodule