3.6.1 RTL Inference
(Ask a Question)Synplify Pro ME infers Math blocks and configures the appropriate modes automatically if the RTL contains any specific multiply, multiply-accumulate, multiply-add, or multiply-subtract, pre-adder multiply functions. Synthesis handles all the signal connections of the Math block to the rest of the design and sets the correct values for the static signals needed to configure the appropriate operational mode. Synplify Pro ME ties unused dynamic input signals to ground and provides default values to unused static signals.
Synplify Pro ME automatically maps any multiplication functions with input widths of three or more to Math blocks. For input widths less than three, Math blocks can be inferred by using synthesis attribute (Syn_multstyle= “dsp”), the mapping of multiplication functions with input widths less than three, (which are implemented in fabric logic by default), can be controlled by the synthesis attribute (Syn_multstyle = “dsp”) if using Math blocks is preferred. The tool is also capable of cascading multiple Math blocks if the function crosses the limits of a single Math block. For example, if the RTL contains a 35 x 35 multiplication, synthesis implements this block using four Math blocks cascaded in a chain.
Synplify Pro ME also has the capability to utilize the input and output registers inside the Math block boundary, provided they are in the same clock domain. If the registers are in different clock domains, the clock that drives the output register has priority, and all registers driven by that clock are placed in the Math block. If the outputs are unregistered and the inputs are registered but not all on the same clock domain, the input registers with the larger input have priority and are placed in the Math block. The synthesis tool supports inferencing of Math block components across hierarchical boundaries. In this case even if the multipliers, input registers, output registers, and adders/subtractors are present at different levels of a design's hierarchy, they can be placed into the same Math block. For more information about Math block inference by Synplify Pro ME, see Inferring PolarFire MACC Blocks Application Note.
