synth_* with -retime option now calls abc with -D 1 as well
authorEddie Hung <eddie@fpgeh.com>
Wed, 10 Apr 2019 15:32:53 +0000 (08:32 -0700)
committerEddie Hung <eddie@fpgeh.com>
Wed, 10 Apr 2019 15:32:53 +0000 (08:32 -0700)
techlibs/achronix/synth_achronix.cc
techlibs/anlogic/synth_anlogic.cc
techlibs/coolrunner2/synth_coolrunner2.cc
techlibs/easic/synth_easic.cc
techlibs/ecp5/synth_ecp5.cc
techlibs/gowin/synth_gowin.cc
techlibs/greenpak4/synth_greenpak4.cc
techlibs/ice40/synth_ice40.cc
techlibs/intel/synth_intel.cc
techlibs/sf2/synth_sf2.cc
techlibs/xilinx/synth_xilinx.cc

index 626860d9c1782697f4214288fe00292220c3a4ec..3dbf209115995f70deaa1bf8efcd33d40d6a7c0d 100755 (executable)
@@ -152,12 +152,12 @@ struct SynthAchronixPass : public ScriptPass {
         run("clean -purge");
         run("setundef -undriven -zero");
         if (retime || help_mode)
-          run("abc -markgroups -dff", "(only if -retime)");
+          run("abc -markgroups -dff -D 1", "(only if -retime)");
       }
 
     if (check_label("map_luts"))
       {
-        run("abc -lut 4" + string(retime ? " -dff" : ""));
+        run("abc -lut 4" + string(retime ? " -dff -D 1" : ""));
         run("clean");
       }
 
index 620bf39650f750d9cd42cfc8418ef3132bfa0888..258e3d72262fa20ce4a818046f63977b856d5112 100644 (file)
@@ -164,7 +164,7 @@ struct SynthAnlogicPass : public ScriptPass
                        run("opt -undriven -fine");
                        run("techmap -map +/techmap.v -map +/anlogic/arith_map.v");
                        if (retime || help_mode)
-                               run("abc -dff", "(only if -retime)");
+                               run("abc -dff -D 1", "(only if -retime)");
                }
 
                if (check_label("map_ffs"))
index 21bbcaef4cff3d600f1a3385aca9c25ee4d9f45f..fa4fe0f5b199e30a6b8ec98a14c4310b84911292 100644 (file)
@@ -161,7 +161,7 @@ struct SynthCoolrunner2Pass : public ScriptPass
 
                if (check_label("map_pla"))
                {
-                       run("abc -sop -I 40 -P 56");
+                       run("abc -sop -I 40 -P 56" + string(retime ? " -dff -D 1" : ""));
                        run("clean");
                }
 
index dd9e3dab7e3eeb9fb28f66902fc892f1871800ce..7bacc78905e3ea0413f04edff068f154fc6f6d6e 100644 (file)
@@ -158,7 +158,7 @@ struct SynthEasicPass : public ScriptPass
                        run("techmap");
                        run("opt -fast");
                        if (retime || help_mode) {
-                               run("abc -dff", " (only if -retime)");
+                               run("abc -dff -D 1", " (only if -retime)");
                                run("opt_clean", "(only if -retime)");
                        }
                }
index 4b889d672e8a6599c745608bc4f2a13c7c554fd7..45f101451773d0b0567ec2a578c76efe1878bc64 100644 (file)
@@ -242,7 +242,7 @@ struct SynthEcp5Pass : public ScriptPass
                        else
                                run("techmap -map +/techmap.v -map +/ecp5/arith_map.v");
                        if (retime || help_mode)
-                               run("abc -dff", "(only if -retime)");
+                               run("abc -dff -D 1", "(only if -retime)");
                }
 
                if (check_label("map_ffs"))
index 9a3fcdbb65d79fb1da06a60441c6494a812183e1..0ebd77d63691d3ea6b5289e97c3a1e4bc5aae38c 100644 (file)
@@ -163,7 +163,7 @@ struct SynthGowinPass : public ScriptPass
                        run("splitnets -ports");
                        run("setundef -undriven -zero");
                        if (retime || help_mode)
-                               run("abc -dff", "(only if -retime)");
+                               run("abc -dff -D 1", "(only if -retime)");
                }
 
                if (check_label("map_luts"))
index eeb001b4640740cfb05a22d9dcfe2f6953611886..3222be2e3de3864db7d0e40182fd56b768434b14 100644 (file)
@@ -165,7 +165,7 @@ struct SynthGreenPAK4Pass : public ScriptPass
                        run("dfflibmap -prepare -liberty +/greenpak4/gp_dff.lib");
                        run("opt -fast");
                        if (retime || help_mode)
-                               run("abc -dff", "(only if -retime)");
+                               run("abc -dff -D 1", "(only if -retime)");
                }
 
                if (check_label("map_luts"))
index 8899bfcc4aafdbaa168fb0a20efa2d3ad07fb884..d114b6269c911151ae066987b3ba4da5be5be2aa 100644 (file)
@@ -274,7 +274,7 @@ struct SynthIce40Pass : public ScriptPass
                        else
                                run("techmap -map +/techmap.v -map +/ice40/arith_map.v");
                        if (retime || help_mode)
-                               run("abc -dff", "(only if -retime)");
+                               run("abc -dff -D 1", "(only if -retime)");
                        run("ice40_opt");
                }
 
index 0f1d7a7b54d5b1d4625919c595cf61f81ab90ba2..290282bd990c73e669911b04288e1b30c8c30b9c 100644 (file)
@@ -210,15 +210,15 @@ struct SynthIntelPass : public ScriptPass {
         run("clean -purge");
         run("setundef -undriven -zero");
         if (retime || help_mode)
-          run("abc -markgroups -dff", "(only if -retime)");
+          run("abc -markgroups -dff -D 1", "(only if -retime)");
       }
 
     if (check_label("map_luts"))
       {
         if(family_opt=="a10gx" || family_opt=="cyclonev")
-          run("abc -luts 2:2,3,6:5" + string(retime ? " -dff" : ""));
+          run("abc -luts 2:2,3,6:5" + string(retime ? " -dff -D 1" : ""));
         else
-          run("abc -lut 4" + string(retime ? " -dff" : ""));
+          run("abc -lut 4" + string(retime ? " -dff -D 1" : ""));
         run("clean");
       }
 
index 0924df7a67780d78f1d96ec50319302a43df78c9..3c5a58b4c76c3f4c5f4f6d13f44f8ee69c11e502 100644 (file)
@@ -181,7 +181,7 @@ struct SynthSf2Pass : public ScriptPass
                        run("opt -undriven -fine");
                        run("techmap -map +/techmap.v -map +/sf2/arith_map.v");
                        if (retime || help_mode)
-                               run("abc -dff", "(only if -retime)");
+                               run("abc -dff -D 1", "(only if -retime)");
                }
 
                if (check_label("map_ffs"))
index 397c83ac6f8cc489b2b59bd35e327a0f1d8d4d03..a462b905245a21827ec610980b457aee543f5705 100644 (file)
@@ -115,7 +115,7 @@ struct SynthXilinxPass : public Pass
                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("        abc -luts 2:2,3,6:5,10,20 [-dff -D 1]\n");
                log("        clean\n");
                log("        techmap -map +/xilinx/lut_map.v -map +/xilinx/ff_map.v");
                log("\n");
@@ -269,7 +269,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, "abc -luts 2:2,3,6:5,10,20" + string(retime ? " -dff -D 1" : ""));
                        Pass::call(design, "clean");
                        Pass::call(design, "techmap -map +/xilinx/lut_map.v -map +/xilinx/ff_map.v");
                }