RapidIO Intel FPGA IP User Guide

ID 683884
Date 9/15/2021
Public
Document Table of Contents

2.7. Specifying Timing Constraints

For variations other than Intel® Arria® 10 and Intel® Cyclone® 10 GX, Intel® provides constraint files in Tcl format that you must apply to ensure that the RapidIO IP core meets design timing requirements.
Note: Constraints are not set automatically. You must run the Tcl constraint script to apply the constraints.

To use the generated constraint files, follow these steps:

  1. Open your project in the Intel® Quartus® Prime software.
  2. On the View menu, point to Utility Windows and then click Tcl Console.
  3. Source the generated constraint file by typing the following command at the Tcl console command prompt:

    source <variation_name>/synthesis/submodules/<instance_name >_constraints.tcl

  4. Add the Rapid IO constraints to your project by typing the following command at the Tcl console command prompt:

    add_rio_constraints

    This command adds the necessary logic constraints to your Intel® Quartus® Prime project.

    If you rename any clocks in Platform Designer (Standard), you require the -ref_clk_name, -sys_clk_name, -phy_mgmt_clk, and -patch_sdc command-line options specified.

The script automatically constrains the system clocks and the reference clock based on the data rate chosen. For supported transceivers, Intel® recommends that you adjust the reference clock frequency in the Physical Layer tab of the RapidIO parameter editor only. However, you can adjust the system clock frequency in the Tcl constraints script or the generated Synopsys Design Constraint File (.sdc).

The Tcl script assumes that virtual pins and I/O standards are connected to Intel® -provided pin names. For user-defined pin names, you must edit the script after generation to ensure that the assignments are made properly.

The add_rio_constraints command has the following additional options that you can use:

add_rio_constraints [-no_compile] 
[-ref_clk_name <name>] [-sys_clk_name <name>] [-phy_mgmt_clk_name <name>] 
[-patch_sdc] [-help]

Table 14.  add_rio_constraints Options
Constraint Use
-no_compile Use the -no_compile option to prevent analysis and synthesis. Use this option only if you performed analysis and synthesis or fully compiled your project prior to using this script. Using this option decreases turnaround time during development.
-ref_clk_name The Rapid IO IP core has a top-level reference clock name clk. If, in Platform Designer (Standard), you rename this clock or you connect the reference clock port of the IP core to a clock named something other than clk, you must run the add_rio_constraints command with this option followed by the name of the clock connected to the reference clock port of the RapidIO IP core. The following example command illustrates the syntax:


add_rio_constraints -ref_clk_name CLK125

-sys_clk_name By default, the Avalon® system clock name used for the RapidIO IP core is named sysclk. If, in Platform Designer (Standard), you rename this clock or connect it to a clock named something other than sysclk, you must run the add_rio_constraints command with this option followed by the updated clock name. The following example command illustrates the syntax:


add_rio_constraints -sys_clk_name CLK50

-phy_mgmt_clk_name This option is available only for RapidIO variations that target an Arria® V, Cyclone® V, or Stratix® V device. By default, the PHY IP core management clock, which is present only in RapidIO variations that target an Arria® V, Cyclone® V, or Stratix® V device, is named phy_mgmt_clk. If, in Platform Designer (Standard), you rename this clock or you connect it to a clock named something other than <variation>_phy_mgmt_clk, you must run the add_rio_constraints command with this option followed by the updated clock name. The following example command illustrates the syntax:


add_rio_constraints -phy_mgmt_clk_name CLK_PHY_MGMT

-patch_sdc This option is only valid when used with the -ref_clk_name, -sys_clk_name, or -phy_mgmt_clk option. The -patch_sdc option patches the generated SDC script with the new clock names. A back-up copy of the SDC script is created before the patch is made, and any edits that were previously made to the SDC script are preserved.
-help Use the -help option for information about the options used with the add_rio_constraints command.