| // This techmap splits mux8x0 into 7x mux2x0 |
| |
| module mux8x0 (A, B, C, D, E, F, G, H, S0, S1, S2, Q); |
| input A, B, C, D; |
| input E, F, G, H; |
| input S0, S1, S2; |
| output Q; |
| |
| wire q0; |
| wire q1; |
| wire q2; |
| wire q3; |
| |
| wire w0; |
| wire w1; |
| |
| mux2x0 mux00 (.A(A), .B(B), .S(S0), .Q(q0)); |
| mux2x0 mux01 (.A(C), .B(D), .S(S0), .Q(q1)); |
| |
| mux2x0 mux02 (.A(E), .B(F), .S(S0), .Q(q2)); |
| mux2x0 mux03 (.A(G), .B(H), .S(S0), .Q(q3)); |
| |
| mux2x0 mux10 (.A(q0), .B(q1), .S(S1), .Q(w0)); |
| mux2x0 mux11 (.A(q2), .B(q3), .S(S1), .Q(w1)); |
| |
| mux2x0 mux2 (.A(w0), .B(w1), .S(S2), .Q(Q)); |
| |
| endmodule |