Move mul2dsp before wreduce
authorEddie Hung <eddie@fpgeh.com>
Fri, 20 Sep 2019 15:41:40 +0000 (08:41 -0700)
committerEddie Hung <eddie@fpgeh.com>
Fri, 20 Sep 2019 15:41:40 +0000 (08:41 -0700)
techlibs/ice40/synth_ice40.cc

index 284bc90d08afa587f7546c1812b7d848f1adae45..225603475c10e25fc681f8a020b0a7b67d090043 100644 (file)
@@ -265,6 +265,10 @@ struct SynthIce40Pass : public ScriptPass
                        run("opt_clean");
                        run("check");
                        run("opt");
+                       if (help_mode || dsp)
+                               run("techmap -map +/mul2dsp.v -map +/ice40/dsp_map.v -D DSP_A_MAXWIDTH=16 -D DSP_B_MAXWIDTH=16 "
+                                               "-D DSP_A_MINWIDTH=2 -D DSP_Y_MINWIDTH=11 "
+                                               "-D DSP_NAME=$__MUL16X16", "(if -dsp)");
                        run("wreduce");
                        run("peepopt");
                        run("opt_clean");
@@ -273,11 +277,6 @@ struct SynthIce40Pass : public ScriptPass
                        run("opt_expr");
                        run("opt_clean");
                        if (help_mode || dsp) {
-                               run("techmap -map +/mul2dsp.v -map +/ice40/dsp_map.v -D DSP_A_MAXWIDTH=16 -D DSP_B_MAXWIDTH=16 "
-                                               "-D DSP_A_MINWIDTH=2 -D DSP_Y_MINWIDTH=11 "
-                                               "-D DSP_NAME=$__MUL16X16", "(if -dsp)");
-                               run("opt_expr -fine", "               (if -dsp)");
-                               run("wreduce", "                      (if -dsp)");
                                run("ice40_dsp", "                    (if -dsp)");
                                run("chtype -set $mul t:$__soft_mul","(if -dsp)");
                        }