Move techamp t:$_DFF_?N? to before abc call
authorEddie Hung <eddieh@ece.ubc.ca>
Fri, 5 Apr 2019 22:39:05 +0000 (15:39 -0700)
committerEddie Hung <eddieh@ece.ubc.ca>
Fri, 5 Apr 2019 22:39:05 +0000 (15:39 -0700)
techlibs/xilinx/synth_xilinx.cc

index abc164533ac66e78832e263d1ff6611e2e5f16e9..397c83ac6f8cc489b2b59bd35e327a0f1d8d4d03 100644 (file)
@@ -111,10 +111,10 @@ struct SynthXilinxPass : public Pass
                log("        dff2dffe\n");
                log("        opt -full\n");
                log("        techmap -map +/techmap.v -map +/xilinx/arith_map.v\n");
-               log("        techmap -map +/techmap.v -map +/xilinx/ff_map.v t:$_DFF_?N?\n");
                log("        opt -fast\n");
                log("\n");
                log("    map_luts:\n");
+               log("        techmap -map +/techmap.v -map +/xilinx/ff_map.v t:$_DFF_?N?\n");
                log("        abc -luts 2:2,3,6:5,10,20 [-dff]\n");
                log("        clean\n");
                log("        techmap -map +/xilinx/lut_map.v -map +/xilinx/ff_map.v");
@@ -261,7 +261,6 @@ struct SynthXilinxPass : public Pass
                        } else {
                                Pass::call(design, "techmap -map +/techmap.v -map +/xilinx/arith_map.v");
                        }
-                       Pass::call(design, "techmap -map +/techmap.v -map +/xilinx/ff_map.v t:$_DFF_?N?");
 
                        Pass::call(design, "hierarchy -check");
                        Pass::call(design, "opt -fast");
@@ -269,6 +268,7 @@ struct SynthXilinxPass : public Pass
 
                if (check_label(active, run_from, run_to, "map_luts"))
                {
+                       Pass::call(design, "techmap -map +/techmap.v -map +/xilinx/ff_map.v t:$_DFF_?N?");
                        Pass::call(design, "abc -luts 2:2,3,6:5,10,20" + string(retime ? " -dff" : ""));
                        Pass::call(design, "clean");
                        Pass::call(design, "techmap -map +/xilinx/lut_map.v -map +/xilinx/ff_map.v");