diff options
author | Clifford Wolf <clifford@clifford.at> | 2015-04-17 11:54:25 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2015-04-17 11:54:25 +0200 |
commit | 661b64755915c6393fc56a8a543171e3722c91e1 (patch) | |
tree | a93f4cb6d45f906679ccac5e7e85ab66d4899045 /techlibs/ice40/synth_ice40.cc | |
parent | e050467b89ea5594089aeb4b5f44b7b20159062b (diff) | |
download | yosys-661b64755915c6393fc56a8a543171e3722c91e1.tar.gz yosys-661b64755915c6393fc56a8a543171e3722c91e1.tar.bz2 yosys-661b64755915c6393fc56a8a543171e3722c91e1.zip |
Added mapping of synchronous set/reset to iCE40 flow
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"); } |