dc24d1.v
768 Bytes
module dc24d1 (z0n, z1n, z2n, z3n, a0, a1);
input a0, a1;
output z0n, z1n, z2n, z3n;
`ifdef SYNTH
reg z0nt, z1nt, z2nt, z3nt;
buf b1(z3n, z3nt),
b2(z2n, z2nt),
b3(z1n, z1nt),
b4(z0n, z0nt);
always @(a0 or a1 )
case({a0, a1})
2'b00: {z0nt, z1nt, z2nt, z3nt} = 4'b0111;
2'b10: {z0nt, z1nt, z2nt, z3nt} = 4'b1011;
2'b01: {z0nt, z1nt, z2nt, z3nt} = 4'b1101;
2'b11: {z0nt, z1nt, z2nt, z3nt} = 4'b1110;
endcase
`else
or G2(z0n, a1, a0),
G5(z1n, a1, N9),
G6(z2n, N11, a0),
G7(z3n, N11, N9);
not G9(N9, a0),
G11(N11, a1);
`endif
endmodule