Article ID: 000086138 Content Type: Troubleshooting Last Reviewed: 08/16/2023

Why doesn't my shift register get inferred when targeting Intel® Stratix®10 FPGA or Intel Agilex® 7 devices?

Environment

  • Intel® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Description

    Due to the Intel® Hyperflex™ FPGA architecture in the Intel® Stratix® 10 FPGA and Intel Agilex® 7 series devices, the threshold for shift register inference is increased, meaning that RTL-based shift registers which may have been inferred as shift registers in previous technologies may not be inferred in Intel Stratix® 10 FPGA and Intel Agilex® 7 series devices.

    The reason for this threshold increase is to allow more registers to be retimed as hyper registers, which improves design performance.

    Resolution

    Intel® Stratix® 10 FPGA and Intel Agilex® 7 device series shift register inference criteria:

    Default requirement:

    The shift register must contain at least 69 registers in total (depth * width)

    -Note that an additional inference stage takes place after the early retimer stage to recover area for registers that have not been retimed into Hyper register locations.

     

    With the following assignment in place, the total number of required registers (depth * width) drops to 37:

    set_global_assignment -name ALLOW_ANY_SHIFT_REGISTER_SIZE_FOR_RECOGNITION ON

    -Note that an additional inference stage takes place after the early retimer stage to recover area for registers that have not been retimed into Hyper register locations.

     

    With both of the following assignments in place, the total number of required registers (depth * width) drops to 13:

    set_global_assignment -name ALLOW_ANY_SHIFT_REGISTER_SIZE_FOR_RECOGNITION ON

    set_global_assignment -name PHYSICAL_SHIFT_REGISTER_INFERENCE=OFF

    -Note that reducing the shift register inference threshold can negatively impact design performance by reducing the number of registers available for Hyper Retiming.

    Related Products

    This article applies to 2 products

    Intel Agilex® 7 FPGAs and SoC FPGAs
    Intel® Stratix® 10 FPGAs and SoC FPGAs