ice40: do not map FFRAM if explicitly requested otherwise.
[yosys.git] / techlibs / ice40 / synth_ice40.cc
index d92e407262e76c1eba194b78ee8d80ec697bf25e..22cac7d7d12b76d74b11437139886cf8722cb746 100644 (file)
@@ -304,7 +304,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");
                }
 
@@ -316,6 +318,7 @@ struct SynthIce40Pass : public ScriptPass
                                run("ice40_wrapcarry");
                                run("techmap -map +/techmap.v -map +/ice40/arith_map.v");
                        }
+                       run("opt -fast");
                        if (retime || help_mode)
                                run("abc -dff -D 1", "(only if -retime)");
                        run("ice40_opt");