Consistency
authorEddie Hung <eddie@fpgeh.com>
Sat, 18 Jan 2020 00:06:20 +0000 (16:06 -0800)
committerEddie Hung <eddie@fpgeh.com>
Sat, 18 Jan 2020 00:06:20 +0000 (16:06 -0800)
passes/pmgen/ice40_dsp.pmg
passes/pmgen/xilinx_dsp.pmg

index fca30745384ba5bafc9abae0833dbe8e5705937d..9d649cb98a2b0b3950a389fa0305b2a771af3867 100644 (file)
@@ -56,10 +56,12 @@ code sigA sigB sigH
                        break;
                sigH.append(O[i]);
        }
-       log_assert(nusers(O.extract_end(i)) <= 1);
-
-       if (sigH.empty())
+       // This sigM could have no users if downstream sinks (e.g. $add) is
+       //   narrower than $mul result, for example
+       if (i == 0)
                reject;
+
+       log_assert(nusers(O.extract_end(i)) <= 1);
 endcode
 
 code argQ ffA ffAholdmux ffArstmux ffAholdpol ffArstpol sigA clock clock_pol
index b9a4b08646541dfe0a5a51a0a3c1f082e36b809f..20925c0dc8d6c15203cab033b81fbe73c07dbfd0 100644 (file)
@@ -460,7 +460,7 @@ arg argD argQ clock
 
 code
        dff = nullptr;
-       if (GetSize(argQ) == 0)
+       if (argQ.empty() == 0)
                reject;
        for (const auto &c : argQ.chunks()) {
                // Abandon matches when 'Q' is a constant