diff options
Diffstat (limited to 'techlibs/ice40/synth_ice40.cc')
-rw-r--r-- | techlibs/ice40/synth_ice40.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/techlibs/ice40/synth_ice40.cc b/techlibs/ice40/synth_ice40.cc index c5d8f5edb..1d23cd954 100644 --- a/techlibs/ice40/synth_ice40.cc +++ b/techlibs/ice40/synth_ice40.cc @@ -63,9 +63,9 @@ struct SynthIce40Pass : public Pass { log(" synth -run coarse\n"); log("\n"); log(" fine:\n"); - log(" opt -fast -full\n"); + log(" opt -fast -mux_undef -undriven -fine\n"); log(" memory_map\n"); - log(" opt -full\n"); + log(" opt -undriven -fine\n"); log(" techmap\n"); log(" opt -fast\n"); log("\n"); @@ -74,6 +74,7 @@ struct SynthIce40Pass : public Pass { log(" techmap -map +/ice40/cells_map.v\n"); log(" opt_const -mux_undef\n"); log(" simplemap\n"); + log(" ice40_ffssr\n"); log(" clean\n"); log("\n"); log(" map_luts:\n"); @@ -135,9 +136,9 @@ struct SynthIce40Pass : public Pass { if (check_label(active, run_from, run_to, "fine")) { - Pass::call(design, "opt -fast -full"); + Pass::call(design, "opt -fast -mux_undef -undriven -fine"); Pass::call(design, "memory_map"); - Pass::call(design, "opt -full"); + Pass::call(design, "opt -undriven -fine"); Pass::call(design, "techmap"); Pass::call(design, "opt -fast"); } @@ -148,6 +149,7 @@ struct SynthIce40Pass : public Pass { Pass::call(design, "techmap -map +/ice40/cells_map.v"); Pass::call(design, "opt_const -mux_undef"); Pass::call(design, "simplemap"); + Pass::call(design, "ice40_ffssr"); Pass::call(design, "clean"); } |