Get rid of dffsr2dff.
[yosys.git] / techlibs / ice40 / synth_ice40.cc
index 80bd05a8437444194e9b43b0f2ba9b6b19f1c8fb..9724b7dd57ffe56f28c0d0ebf45a2ac23f6bc9eb 100644 (file)
@@ -96,9 +96,9 @@ struct SynthIce40Pass : public ScriptPass
                log("    -abc9\n");
                log("        use new ABC9 flow (EXPERIMENTAL)\n");
                log("\n");
-        log("    -flowmap\n");
-        log("        use FlowMap LUT techmapping instead of abc (EXPERIMENTAL)\n");
-        log("\n");
+               log("    -flowmap\n");
+               log("        use FlowMap LUT techmapping instead of abc (EXPERIMENTAL)\n");
+               log("\n");
                log("\n");
                log("The following commands are executed by this synthesis command:\n");
                help_script();
@@ -126,7 +126,7 @@ struct SynthIce40Pass : public ScriptPass
                abc2 = false;
                vpr = false;
                abc9 = false;
-        flowmap = false;
+               flowmap = false;
                device_opt = "hx";
        }
 
@@ -319,7 +319,9 @@ struct SynthIce40Pass : public ScriptPass
                if (check_label("map_ffram"))
                {
                        run("opt -fast -mux_undef -undriven -fine");
-                       run("memory_map");
+                       run("memory_map -iattr -attr !ram_block -attr !rom_block -attr logic_block "
+                           "-attr syn_ramstyle=auto -attr syn_ramstyle=registers "
+                           "-attr syn_romstyle=auto -attr syn_romstyle=logic");
                        run("opt -undriven -fine");
                }
 
@@ -339,12 +341,12 @@ struct SynthIce40Pass : public ScriptPass
 
                if (check_label("map_ffs"))
                {
-                       run("dffsr2dff");
                        if (!nodffe)
                                run("dff2dffe -direct-match $_DFF_*");
                        if (min_ce_use >= 0) {
                                run("opt_merge");
                                run(stringf("dff2dffe -unmap-mince %d", min_ce_use));
+                               run("simplemap t:$dff");
                        }
                        run("techmap -D NO_LUT -D NO_ADDER -map +/ice40/cells_map.v");
                        run("opt_expr -mux_undef");