diff options
Diffstat (limited to 'passes/pmgen')
| -rw-r--r-- | passes/pmgen/ice40_dsp.pmg | 8 | ||||
| -rw-r--r-- | passes/pmgen/xilinx_dsp.pmg | 2 | 
2 files changed, 6 insertions, 4 deletions
| diff --git a/passes/pmgen/ice40_dsp.pmg b/passes/pmgen/ice40_dsp.pmg index fca307453..9d649cb98 100644 --- a/passes/pmgen/ice40_dsp.pmg +++ b/passes/pmgen/ice40_dsp.pmg @@ -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 diff --git a/passes/pmgen/xilinx_dsp.pmg b/passes/pmgen/xilinx_dsp.pmg index b9a4b0864..20925c0dc 100644 --- a/passes/pmgen/xilinx_dsp.pmg +++ b/passes/pmgen/xilinx_dsp.pmg @@ -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 | 
