Add yosys mux mapping.
diff --git a/sky130/Makefile.in b/sky130/Makefile.in index b47cbcb..334d040 100644 --- a/sky130/Makefile.in +++ b/sky130/Makefile.in
@@ -447,31 +447,42 @@ ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hd/no_synth.cells > ${OPENLANE_STAGING_A}/sky130_fd_sc_hd/no_synth.cells ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hd/tribuff_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_hd/tribuff_map.v ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hd/latch_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_hd/latch_map.v + ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hd/mux2_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_hd/mux2_map.v + ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hd/mux4_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_hd/mux4_map.v ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hs/config.tcl > ${OPENLANE_STAGING_A}/sky130_fd_sc_hs/config.tcl ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hs/tracks.info > ${OPENLANE_STAGING_A}/sky130_fd_sc_hs/tracks.info ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hs/no_synth.cells > ${OPENLANE_STAGING_A}/sky130_fd_sc_hs/no_synth.cells ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hs/tribuff_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_hs/tribuff_map.v ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hs/latch_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_hs/latch_map.v + ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hs/mux2_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_hs/mux2_map.v + ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hs/mux4_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_hs/mux4_map.v ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ms/config.tcl > ${OPENLANE_STAGING_A}/sky130_fd_sc_ms/config.tcl ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ms/tracks.info > ${OPENLANE_STAGING_A}/sky130_fd_sc_ms/tracks.info ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ms/no_synth.cells > ${OPENLANE_STAGING_A}/sky130_fd_sc_ms/no_synth.cells ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ms/tribuff_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_ms/tribuff_map.v ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ms/latch_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_ms/latch_map.v + ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ms/mux2_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_ms/mux2_map.v + ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ms/mux4_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_ms/mux4_map.v ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ls/config.tcl > ${OPENLANE_STAGING_A}/sky130_fd_sc_ls/config.tcl ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ls/tracks.info > ${OPENLANE_STAGING_A}/sky130_fd_sc_ls/tracks.info ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ls/no_synth.cells > ${OPENLANE_STAGING_A}/sky130_fd_sc_ls/no_synth.cells ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ls/tribuff_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_ls/tribuff_map.v ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ls/latch_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_ls/latch_map.v + ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ls/mux2_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_ls/mux2_map.v + ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_ls/mux4_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_ls/mux4_map.v ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hdll/config.tcl > ${OPENLANE_STAGING_A}/sky130_fd_sc_hdll/config.tcl ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hdll/tracks.info > ${OPENLANE_STAGING_A}/sky130_fd_sc_hdll/tracks.info ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hdll/no_synth.cells > ${OPENLANE_STAGING_A}/sky130_fd_sc_hdll/no_synth.cells ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hdll/tribuff_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_hdll/tribuff_map.v ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hdll/latch_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_hdll/latch_map.v + ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hdll/mux2_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_hdll/mux2_map.v ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hvl/config.tcl > ${OPENLANE_STAGING_A}/sky130_fd_sc_hvl/config.tcl ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hvl/tracks.info > ${OPENLANE_STAGING_A}/sky130_fd_sc_hvl/tracks.info ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hvl/no_synth.cells > ${OPENLANE_STAGING_A}/sky130_fd_sc_hvl/no_synth.cells ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hvl/tribuff_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_hvl/tribuff_map.v ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hvl/latch_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_hvl/latch_map.v + ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hvl/mux2_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_hvl/mux2_map.v + ${CPP} ${SKY130A_DEFS} openlane/sky130_fd_sc_hvl/mux4_map.v > ${OPENLANE_STAGING_A}/sky130_fd_sc_hvl/mux4_map.v ${CPP} ${SKY130A_DEFS} openlane/sky130_osu_sc_t18/config.tcl > ${OPENLANE_STAGING_A}/sky130_osu_sc_t18/config.tcl ${CPP} ${SKY130A_DEFS} openlane/sky130_osu_sc_t18/tracks.info > ${OPENLANE_STAGING_A}/sky130_osu_sc_t18/tracks.info
diff --git a/sky130/openlane/sky130_fd_sc_hd/config.tcl b/sky130/openlane/sky130_fd_sc_hd/config.tcl index 5dd15e8..c78bb07 100755 --- a/sky130/openlane/sky130_fd_sc_hd/config.tcl +++ b/sky130/openlane/sky130_fd_sc_hd/config.tcl
@@ -16,6 +16,12 @@ # Default No Synth List set ::env(NO_SYNTH_LIST) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/no_synth.cells" +# MUX4 mapping +set ::env(SYNTH_MUX4_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux4_map.v" + +# MUX2 mapping +set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux2_map.v" + # Placement site for core cells # This can be found in the technology lef set ::env(PLACE_SITE) "unithd"
diff --git a/sky130/openlane/sky130_fd_sc_hd/mux2_map.v b/sky130/openlane/sky130_fd_sc_hd/mux2_map.v new file mode 100644 index 0000000..c9bb257 --- /dev/null +++ b/sky130/openlane/sky130_fd_sc_hd/mux2_map.v
@@ -0,0 +1,13 @@ +module \$_MUX_ ( + output Y, + input A, + input B, + input S + ); + sky130_fd_sc_hd__mux2_4 _TECHMAP_MUX ( + .X(Y), + .A0(A), + .A1(B), + .S(S) + ); +endmodule \ No newline at end of file
diff --git a/sky130/openlane/sky130_fd_sc_hd/mux4_map.v b/sky130/openlane/sky130_fd_sc_hd/mux4_map.v new file mode 100644 index 0000000..633fc65 --- /dev/null +++ b/sky130/openlane/sky130_fd_sc_hd/mux4_map.v
@@ -0,0 +1,19 @@ +module \$_MUX4_ ( + output Y, + input A, + input B, + input C, + input D, + input S, + input T + ); + sky130_fd_sc_hd__mux4_4 _TECHMAP_MUX4 ( + .X(Y), + .A0(A), + .A1(B), + .A2(C), + .A3(D), + .S0(S), + .S1(T) + ); +endmodule \ No newline at end of file
diff --git a/sky130/openlane/sky130_fd_sc_hd/no_synth.cells b/sky130/openlane/sky130_fd_sc_hd/no_synth.cells index 9ff479c..b59a93e 100644 --- a/sky130/openlane/sky130_fd_sc_hd/no_synth.cells +++ b/sky130/openlane/sky130_fd_sc_hd/no_synth.cells
@@ -212,14 +212,12 @@ sky130_fd_sc_hd__maj3_4 sky130_fd_sc_hd__mux2_1 sky130_fd_sc_hd__mux2_2 -sky130_fd_sc_hd__mux2_4 sky130_fd_sc_hd__mux2_8 sky130_fd_sc_hd__mux2i_1 sky130_fd_sc_hd__mux2i_2 sky130_fd_sc_hd__mux2i_4 sky130_fd_sc_hd__mux4_1 sky130_fd_sc_hd__mux4_2 -sky130_fd_sc_hd__mux4_4 sky130_fd_sc_hd__nand2_1 sky130_fd_sc_hd__nand2_2 sky130_fd_sc_hd__nand2_8
diff --git a/sky130/openlane/sky130_fd_sc_hdll/config.tcl b/sky130/openlane/sky130_fd_sc_hdll/config.tcl index 4d9d8a0..a2fc1e9 100755 --- a/sky130/openlane/sky130_fd_sc_hdll/config.tcl +++ b/sky130/openlane/sky130_fd_sc_hdll/config.tcl
@@ -16,6 +16,9 @@ # Default No Synth List set ::env(NO_SYNTH_LIST) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/no_synth.cells" +# MUX2 mapping +set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux2_map.v" + # Placement site for core cells # This can be found in the technology lef set ::env(PLACE_SITE) "unithd"
diff --git a/sky130/openlane/sky130_fd_sc_hdll/mux2_map.v b/sky130/openlane/sky130_fd_sc_hdll/mux2_map.v new file mode 100644 index 0000000..51f8d8b --- /dev/null +++ b/sky130/openlane/sky130_fd_sc_hdll/mux2_map.v
@@ -0,0 +1,13 @@ +module \$_MUX_ ( + output Y, + input A, + input B, + input S + ); + sky130_fd_sc_hdll__mux2_4 _TECHMAP_MUX ( + .X(Y), + .A0(A), + .A1(B), + .S(S) + ); +endmodule \ No newline at end of file
diff --git a/sky130/openlane/sky130_fd_sc_hdll/no_synth.cells b/sky130/openlane/sky130_fd_sc_hdll/no_synth.cells index 169b533..8014154 100644 --- a/sky130/openlane/sky130_fd_sc_hdll/no_synth.cells +++ b/sky130/openlane/sky130_fd_sc_hdll/no_synth.cells
@@ -209,7 +209,6 @@ sky130_fd_sc_hdll__maj3_2 sky130_fd_sc_hdll__mux2_1 sky130_fd_sc_hdll__mux2_2 -sky130_fd_sc_hdll__mux2_4 sky130_fd_sc_hdll__mux2_8 sky130_fd_sc_hdll__mux2i_1 sky130_fd_sc_hdll__mux2i_2
diff --git a/sky130/openlane/sky130_fd_sc_hs/config.tcl b/sky130/openlane/sky130_fd_sc_hs/config.tcl index 7f39025..0a26d27 100755 --- a/sky130/openlane/sky130_fd_sc_hs/config.tcl +++ b/sky130/openlane/sky130_fd_sc_hs/config.tcl
@@ -16,6 +16,12 @@ # Default No Synth List set ::env(NO_SYNTH_LIST) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/no_synth.cells" +# MUX4 mapping +set ::env(SYNTH_MUX4_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux4_map.v" + +# MUX2 mapping +set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux2_map.v" + # Placement site for core cells # This can be found in the technology lef set ::env(PLACE_SITE) "unit"
diff --git a/sky130/openlane/sky130_fd_sc_hs/mux2_map.v b/sky130/openlane/sky130_fd_sc_hs/mux2_map.v new file mode 100644 index 0000000..7f2fd61 --- /dev/null +++ b/sky130/openlane/sky130_fd_sc_hs/mux2_map.v
@@ -0,0 +1,13 @@ +module \$_MUX_ ( + output Y, + input A, + input B, + input S + ); + sky130_fd_sc_hs__mux2_4 _TECHMAP_MUX ( + .X(Y), + .A0(A), + .A1(B), + .S(S) + ); +endmodule \ No newline at end of file
diff --git a/sky130/openlane/sky130_fd_sc_hs/mux4_map.v b/sky130/openlane/sky130_fd_sc_hs/mux4_map.v new file mode 100644 index 0000000..5084c7f --- /dev/null +++ b/sky130/openlane/sky130_fd_sc_hs/mux4_map.v
@@ -0,0 +1,19 @@ +module \$_MUX4_ ( + output Y, + input A, + input B, + input C, + input D, + input S, + input T + ); + sky130_fd_sc_hs__mux4_4 _TECHMAP_MUX4 ( + .X(Y), + .A0(A), + .A1(B), + .A2(C), + .A3(D), + .S0(S), + .S1(T) + ); +endmodule \ No newline at end of file
diff --git a/sky130/openlane/sky130_fd_sc_hs/no_synth.cells b/sky130/openlane/sky130_fd_sc_hs/no_synth.cells index 9865b02..35a5e4c 100644 --- a/sky130/openlane/sky130_fd_sc_hs/no_synth.cells +++ b/sky130/openlane/sky130_fd_sc_hs/no_synth.cells
@@ -207,7 +207,6 @@ sky130_fd_sc_hs__maj3_2 sky130_fd_sc_hs__mux2_1 sky130_fd_sc_hs__mux2_2 -sky130_fd_sc_hs__mux2_4 sky130_fd_sc_hs__mux2_8 sky130_fd_sc_hs__mux2i_1 sky130_fd_sc_hs__mux2i_2
diff --git a/sky130/openlane/sky130_fd_sc_hvl/config.tcl b/sky130/openlane/sky130_fd_sc_hvl/config.tcl index f9870a5..211a102 100644 --- a/sky130/openlane/sky130_fd_sc_hvl/config.tcl +++ b/sky130/openlane/sky130_fd_sc_hvl/config.tcl
@@ -22,6 +22,12 @@ # Default No Synth List set ::env(NO_SYNTH_LIST) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/no_synth.cells" +# MUX4 mapping +set ::env(SYNTH_MUX4_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux4_map.v" + +# MUX2 mapping +set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux2_map.v" + # Placement site for core cells # This can be found in the technology lef set ::env(PLACE_SITE) "unithv"
diff --git a/sky130/openlane/sky130_fd_sc_hvl/mux2_map.v b/sky130/openlane/sky130_fd_sc_hvl/mux2_map.v new file mode 100644 index 0000000..25edcc1 --- /dev/null +++ b/sky130/openlane/sky130_fd_sc_hvl/mux2_map.v
@@ -0,0 +1,13 @@ +module \$_MUX_ ( + output Y, + input A, + input B, + input S + ); + sky130_fd_sc_hvl__mux2_1 _TECHMAP_MUX ( + .X(Y), + .A0(A), + .A1(B), + .S(S) + ); +endmodule \ No newline at end of file
diff --git a/sky130/openlane/sky130_fd_sc_hvl/mux4_map.v b/sky130/openlane/sky130_fd_sc_hvl/mux4_map.v new file mode 100644 index 0000000..224f0ba --- /dev/null +++ b/sky130/openlane/sky130_fd_sc_hvl/mux4_map.v
@@ -0,0 +1,19 @@ +module \$_MUX4_ ( + output Y, + input A, + input B, + input C, + input D, + input S, + input T + ); + sky130_fd_sc_hvl__mux4_1 _TECHMAP_MUX4 ( + .X(Y), + .A0(A), + .A1(B), + .A2(C), + .A3(D), + .S0(S), + .S1(T) + ); +endmodule \ No newline at end of file
diff --git a/sky130/openlane/sky130_fd_sc_ls/config.tcl b/sky130/openlane/sky130_fd_sc_ls/config.tcl index a35808d..2edb61f 100755 --- a/sky130/openlane/sky130_fd_sc_ls/config.tcl +++ b/sky130/openlane/sky130_fd_sc_ls/config.tcl
@@ -16,6 +16,12 @@ # Default No Synth List set ::env(NO_SYNTH_LIST) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/no_synth.cells" +# MUX4 mapping +set ::env(SYNTH_MUX4_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux4_map.v" + +# MUX2 mapping +set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux2_map.v" + # Placement site for core cells # This can be found in the technology lef set ::env(PLACE_SITE) "unit"
diff --git a/sky130/openlane/sky130_fd_sc_ls/mux2_map.v b/sky130/openlane/sky130_fd_sc_ls/mux2_map.v new file mode 100644 index 0000000..5d49c5e --- /dev/null +++ b/sky130/openlane/sky130_fd_sc_ls/mux2_map.v
@@ -0,0 +1,13 @@ +module \$_MUX_ ( + output Y, + input A, + input B, + input S + ); + sky130_fd_sc_ls__mux2_4 _TECHMAP_MUX ( + .X(Y), + .A0(A), + .A1(B), + .S(S) + ); +endmodule \ No newline at end of file
diff --git a/sky130/openlane/sky130_fd_sc_ls/mux4_map.v b/sky130/openlane/sky130_fd_sc_ls/mux4_map.v new file mode 100644 index 0000000..bb3e33f --- /dev/null +++ b/sky130/openlane/sky130_fd_sc_ls/mux4_map.v
@@ -0,0 +1,19 @@ +module \$_MUX4_ ( + output Y, + input A, + input B, + input C, + input D, + input S, + input T + ); + sky130_fd_sc_ls__mux4_4 _TECHMAP_MUX4 ( + .X(Y), + .A0(A), + .A1(B), + .A2(C), + .A3(D), + .S0(S), + .S1(T) + ); +endmodule \ No newline at end of file
diff --git a/sky130/openlane/sky130_fd_sc_ls/no_synth.cells b/sky130/openlane/sky130_fd_sc_ls/no_synth.cells index 74a94a3..24d3ad1 100644 --- a/sky130/openlane/sky130_fd_sc_ls/no_synth.cells +++ b/sky130/openlane/sky130_fd_sc_ls/no_synth.cells
@@ -212,7 +212,6 @@ sky130_fd_sc_ls__maj3_2 sky130_fd_sc_ls__mux2_1 sky130_fd_sc_ls__mux2_2 -sky130_fd_sc_ls__mux2_4 sky130_fd_sc_ls__mux2_8 sky130_fd_sc_ls__mux2i_1 sky130_fd_sc_ls__mux2i_2
diff --git a/sky130/openlane/sky130_fd_sc_ms/config.tcl b/sky130/openlane/sky130_fd_sc_ms/config.tcl index b32d358..1794639 100755 --- a/sky130/openlane/sky130_fd_sc_ms/config.tcl +++ b/sky130/openlane/sky130_fd_sc_ms/config.tcl
@@ -16,6 +16,11 @@ # Default No Synth List set ::env(NO_SYNTH_LIST) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/no_synth.cells" +# MUX4 mapping +set ::env(SYNTH_MUX4_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux4_map.v" + +# MUX2 mapping +set ::env(SYNTH_MUX_MAP) "$::env(PDK_ROOT)/$::env(PDK)/libs.tech/openlane/$::env(STD_CELL_LIBRARY)/mux2_map.v" # Placement site for core cells # This can be found in the technology lef
diff --git a/sky130/openlane/sky130_fd_sc_ms/mux2_map.v b/sky130/openlane/sky130_fd_sc_ms/mux2_map.v new file mode 100644 index 0000000..e3bc623 --- /dev/null +++ b/sky130/openlane/sky130_fd_sc_ms/mux2_map.v
@@ -0,0 +1,13 @@ +module \$_MUX_ ( + output Y, + input A, + input B, + input S + ); + sky130_fd_sc_ms__mux2_4 _TECHMAP_MUX ( + .X(Y), + .A0(A), + .A1(B), + .S(S) + ); +endmodule \ No newline at end of file
diff --git a/sky130/openlane/sky130_fd_sc_ms/mux4_map.v b/sky130/openlane/sky130_fd_sc_ms/mux4_map.v new file mode 100644 index 0000000..952cab8 --- /dev/null +++ b/sky130/openlane/sky130_fd_sc_ms/mux4_map.v
@@ -0,0 +1,19 @@ +module \$_MUX4_ ( + output Y, + input A, + input B, + input C, + input D, + input S, + input T + ); + sky130_fd_sc_ms__mux4_4 _TECHMAP_MUX4 ( + .X(Y), + .A0(A), + .A1(B), + .A2(C), + .A3(D), + .S0(S), + .S1(T) + ); +endmodule \ No newline at end of file
diff --git a/sky130/openlane/sky130_fd_sc_ms/no_synth.cells b/sky130/openlane/sky130_fd_sc_ms/no_synth.cells index eaca2f5..8030886 100644 --- a/sky130/openlane/sky130_fd_sc_ms/no_synth.cells +++ b/sky130/openlane/sky130_fd_sc_ms/no_synth.cells
@@ -207,7 +207,6 @@ sky130_fd_sc_ms__maj3_2 sky130_fd_sc_ms__mux2_1 sky130_fd_sc_ms__mux2_2 -sky130_fd_sc_ms__mux2_4 sky130_fd_sc_ms__mux2_8 sky130_fd_sc_ms__mux2i_1 sky130_fd_sc_ms__mux2i_2