TMC-20215: Buses with Incoming Paths Failing Setup Analysis with Multipliers Implemented in Logic

Description

Violations of this rule indicate buses that are endpoints of setup-failing timing paths that contain multipliers implemented in soft logic.

The Compiler implements multipliers in soft logic if, for example, the DSP blocks in the device are highly used. Multipliers in soft logic usually run slower than multipliers in hardened DSP blocks.

Parameters

Name Description Type Default Value Min Value Max Value
maximum_setup_slack Reports a violation for timing paths that have a setup slack below the value of this parameter. double 0.0    
to_clock_filter Reports a violation for timing paths that end at a register in a clock domain that matches the value of this parameter. string *    
minimum_number_of_adders Reports a violation for timing endpoints that are preceded by a number of independent adder chains greater than or equal to this value. integer 3    
minimum_number_of_soft_mult_chains Reports a violation for timing endpoints that are preceded by a number of independent adder chains that are implementing multiplier logic greater than or equal to this value. integer 2    

Recommendation

Convert the multipliers into DSP blocks or select a device with more DSP blocks. Apply the 'multstyle' RTL pragma with the value of 'dsp' to force a multiplier to be implemented in DSP blocks.

Severity

Medium

Tags

Tag Description
logic-levels Design rule checks which flag potentially problematic amounts of logic on a timing path.
dsp Design rule checks related to DSP blocks inside the FPGA fabric.

Device Family

  • Intel®Stratix® 10
  • Intel Agilex®
  • Intel®Arria® 10
  • Intel®Cyclone® 10 GX