Article ID: 000086138 Content Type: Troubleshooting Last Reviewed: 02/23/2021

Why doesn't my shift register get inferred when targeting Intel® Stratix® 10 or Intel® Agilex™ 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 and Intel® Agilex™ 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 and Intel Agilex 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 and Intel® Agilex™ series shift register inference criteria:

    Default requirement:

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

    -Note that an additional stage of inference takes place after the early retimer stage to recover area for registers which 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 stage of inference takes place after the early retimer stage to recover area for registers which 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 as it reduces 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

    Disclaimer

    1

    All postings and use of the content on this site are subject to Intel.com Terms of Use.