flowmap: don't break if that creates a k+2 (and larger) LUT either.
authorwhitequark <whitequark@whitequark.org>
Mon, 11 Nov 2019 23:13:00 +0000 (23:13 +0000)
committerwhitequark <whitequark@whitequark.org>
Mon, 11 Nov 2019 23:13:00 +0000 (23:13 +0000)
Fixes #1405.

passes/techmap/flowmap.cc

index 5807178dd9580454868107615fdd26cf7094cffa..96eee45db49177d2bd7199d5593627a31462f56b 100644 (file)
@@ -1050,7 +1050,7 @@ struct FlowmapWorker
 
                                auto cut_inputs = cut_lut_at_gate(lut, lut_gate);
                                pool<RTLIL::SigBit> gate_inputs = cut_inputs.first, other_inputs = cut_inputs.second;
-                               if (gate_inputs.empty() && (int)other_inputs.size() == order)
+                               if (gate_inputs.empty() && (int)other_inputs.size() >= order)
                                {
                                        if (debug_relax)
                                                log("      Breaking would result in a (k+1)-LUT.\n");