Move xilinx_dsp to before alumacc
authorEddie Hung <eddie@fpgeh.com>
Thu, 8 Aug 2019 17:45:56 +0000 (10:45 -0700)
committerEddie Hung <eddie@fpgeh.com>
Thu, 8 Aug 2019 17:45:56 +0000 (10:45 -0700)
techlibs/xilinx/synth_xilinx.cc

index a787c7c4cad36c1504c51a260cc89c60c92a436a..49beaa565a073ea59032ec45d32451353822bd30 100644 (file)
@@ -286,7 +286,10 @@ struct SynthXilinxPass : public ScriptPass
 
                        if (!nodsp || help_mode) {
                                // NB: Xilinx multipliers are signed only
-                               run("techmap -map +/mul2dsp.v -D DSP_A_MAXWIDTH=25 -D DSP_B_MAXWIDTH=18 -D DSP_SIGNEDONLY=1 -D DSP_NAME=$__MUL25X18");
+                               run("techmap -map +/mul2dsp.v -D DSP_A_MAXWIDTH=25 -D DSP_B_MAXWIDTH=18 -D DSP_SIGNEDONLY=1 -D DSP_NAME=$__MUL25X18", "(skip if '-nodsp')");
+                               run("techmap -map +/xilinx/dsp_map.v", "(skip if '-nodsp')"); // TODO: fold into xilinx_dsp
+                               run("xilinx_dsp", "                     (skip if '-nodsp')");
+                               run("chtype -set $mul t:$__soft_mul","  (skip if '-nodsp')");
                        }
 
                        run("alumacc");
@@ -331,11 +334,6 @@ struct SynthXilinxPass : public ScriptPass
                        run("memory_map");
                        run("dffsr2dff");
                        run("dff2dffe");
-                       if (help_mode || !nodsp) {
-                               run("techmap -map +/xilinx/dsp_map.v", "(skip if '-nodsp')");
-                               run("xilinx_dsp", "                     (skip if '-nodsp')");
-                               run("chtype -set $mul t:$__soft_mul","  (skip if '-nodsp')");
-                       }
                        if (help_mode) {
                                run("simplemap t:$mux", "         ('-widemux' only)");
                                run("muxcover <internal options>, ('-widemux' only)");