Intel® Quartus® Prime Pro Edition User Guide: Design Compilation

ID 683236
Date 10/02/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents
Give Feedback

2.11.6.1. Enabling or Disabling Fractal Synthesis

For Intel® Stratix® 10 and Intel Agilex® 7 devices, fractal synthesis optimization runs automatically for small multipliers (any A*B statement in Verilog HDL or VHDL where bit-width of the operands is 7 or less). You can also disable automatic fractal synthesis for small multipliers for these devices using either of the following methods:

  • In RTL, set the DSP multstyle, as "Multstyle Verilog HDL Synthesis Attribute" describes. For example:
    (* multstyle = "dsp" *) module foo(...);
    module foo(..) /* synthesis multstyle = "dsp" */;
  • In the .qsf file, add as an assignment as follows:
    set_instance_assignment -name DSP_BLOCK_BALANCING_IMPLEMENTATION \
         DSP_BLOCKS -to r

In addition, for Intel® Stratix® 10, Intel Agilex® 7, Intel® Arria® 10, and Intel® Cyclone® 10 GX devices, you can enable fractal synthesis globally or for specific multipliers with the Fractal Synthesis GUI option or the corresponding FRACTAL_SYNTHESIS .qsf assignment:

  • In RTL, use altera_attribute as follows:
    (* altera_attribute = "-name FRACTAL_SYNTHESIS ON" *)
  • In the .qsf file, add as an assignment as follows:
    set_global_assignment -name FRACTAL_SYNTHESIS ON -entity <module name>

In the user interface, follow these steps:

  1. Click Assignments > Assignment Editor.
  2. Select Fractal Synthesis for Assignment Name, On for the Value, the arithmetic-intensive entity name for Entity, and an instance name in the To column. You can enter a wildcard (*) for To to assign all instances of the entity.
    Figure 135. Fractal Synthesis Assignment in Assignment Editor