diff --git a/techlibs/anlogic/synth_anlogic.cc b/techlibs/anlogic/synth_anlogic.cc index aaa6bda4a..96a231286 100644 --- a/techlibs/anlogic/synth_anlogic.cc +++ b/techlibs/anlogic/synth_anlogic.cc @@ -175,6 +175,7 @@ struct SynthAnlogicPass : public ScriptPass if (check_label("map_gates")) { run("techmap -map +/techmap.v -map +/anlogic/arith_map.v"); + run("opt -fast"); if (retime || help_mode) run("abc -dff -D 1", "(only if -retime)"); } diff --git a/techlibs/coolrunner2/synth_coolrunner2.cc b/techlibs/coolrunner2/synth_coolrunner2.cc index 388e2b792..3bac8623d 100644 --- a/techlibs/coolrunner2/synth_coolrunner2.cc +++ b/techlibs/coolrunner2/synth_coolrunner2.cc @@ -144,8 +144,8 @@ struct SynthCoolrunner2Pass : public ScriptPass if (check_label("fine")) { run("opt -fast -full"); - run("techmap"); - run("techmap -map +/coolrunner2/cells_latch.v"); + run("techmap -map +/techmap.v -map +/coolrunner2/cells_latch.v"); + run("opt -fast"); run("dfflibmap -prepare -liberty +/coolrunner2/xc2_dff.lib"); } diff --git a/techlibs/ecp5/synth_ecp5.cc b/techlibs/ecp5/synth_ecp5.cc index bce20f604..d47b2bed4 100644 --- a/techlibs/ecp5/synth_ecp5.cc +++ b/techlibs/ecp5/synth_ecp5.cc @@ -289,6 +289,7 @@ struct SynthEcp5Pass : public ScriptPass run("techmap"); else run("techmap -map +/techmap.v -map +/ecp5/arith_map.v"); + run("opt -fast"); if (retime || help_mode) run("abc -dff -D 1", "(only if -retime)"); } diff --git a/techlibs/efinix/synth_efinix.cc b/techlibs/efinix/synth_efinix.cc index 0efd91708..637d7c00d 100644 --- a/techlibs/efinix/synth_efinix.cc +++ b/techlibs/efinix/synth_efinix.cc @@ -175,6 +175,7 @@ struct SynthEfinixPass : public ScriptPass if (check_label("map_gates")) { run("techmap -map +/techmap.v -map +/efinix/arith_map.v"); + run("opt -fast"); if (retime || help_mode) run("abc -dff -D 1", "(only if -retime)"); } diff --git a/techlibs/gowin/synth_gowin.cc b/techlibs/gowin/synth_gowin.cc index 99dd3834b..d8d8397b6 100644 --- a/techlibs/gowin/synth_gowin.cc +++ b/techlibs/gowin/synth_gowin.cc @@ -211,7 +211,7 @@ struct SynthGowinPass : public ScriptPass if (check_label("map_gates")) { run("techmap -map +/techmap.v -map +/gowin/arith_map.v"); - run("techmap -map +/techmap.v"); + run("opt -fast"); if (retime || help_mode) run("abc -dff -D 1", "(only if -retime)"); run("splitnets"); diff --git a/techlibs/greenpak4/synth_greenpak4.cc b/techlibs/greenpak4/synth_greenpak4.cc index e1fbe6b69..bfbb56d15 100644 --- a/techlibs/greenpak4/synth_greenpak4.cc +++ b/techlibs/greenpak4/synth_greenpak4.cc @@ -160,8 +160,7 @@ struct SynthGreenPAK4Pass : public ScriptPass run("opt -fast -mux_undef -undriven -fine"); run("memory_map"); run("opt -undriven -fine"); - run("techmap"); - run("techmap -map +/greenpak4/cells_latch.v"); + run("techmap -map +/techmap.v -map +/greenpak4/cells_latch.v"); run("dfflibmap -prepare -liberty +/greenpak4/gp_dff.lib"); run("opt -fast"); if (retime || help_mode) diff --git a/techlibs/ice40/synth_ice40.cc b/techlibs/ice40/synth_ice40.cc index d92e40726..fdb203dcb 100644 --- a/techlibs/ice40/synth_ice40.cc +++ b/techlibs/ice40/synth_ice40.cc @@ -316,6 +316,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"); diff --git a/techlibs/sf2/synth_sf2.cc b/techlibs/sf2/synth_sf2.cc index 543dfdb9e..5efa005c8 100644 --- a/techlibs/sf2/synth_sf2.cc +++ b/techlibs/sf2/synth_sf2.cc @@ -180,6 +180,7 @@ struct SynthSf2Pass : public ScriptPass run("memory_map"); run("opt -undriven -fine"); run("techmap -map +/techmap.v -map +/sf2/arith_map.v"); + run("opt -fast"); if (retime || help_mode) run("abc -dff -D 1", "(only if -retime)"); }