aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/ice40/synth_ice40.cc
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2015-04-17 11:54:25 +0200
committerClifford Wolf <clifford@clifford.at>2015-04-17 11:54:25 +0200
commit661b64755915c6393fc56a8a543171e3722c91e1 (patch)
treea93f4cb6d45f906679ccac5e7e85ab66d4899045 /techlibs/ice40/synth_ice40.cc
parente050467b89ea5594089aeb4b5f44b7b20159062b (diff)
downloadyosys-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.cc10
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");
}