mx42d1.v
759 Bytes
module mx42d1 (z, zn, i0, i1, i2, i3, s0, s1);
input i0, i1, i2, i3, s0, s1;
output z, zn;
`ifdef SYNTH
reg iz;
buf (z, iz);
not (zn, 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 G2(N2, N13, N11, i0);
buf E0(z, J$z);
and G4(N4, N13, s0, i1);
or G7(J$z, N2, N4, N8, N14);
and G8(N8, s1, N11, i2);
not G11(N11, s0),
G12(zn, J$z),
G13(N13, s1);
and G14(N14, s1, s0, i3);
`endif
endmodule