The core requires a 100, 125, or 250 MHz reference clock input. For more information, see the Answer Records at the Solution Center for PCI Express.
The following applies:
- The reference clock can be synchronous or asynchronous with up to ±300 PPM or 600 PPM worst case. (If spread spectrum clock (SSC) is enabled, the link must be synchronous.)
- The
PCLKis the primary clock for the PIPE interface. - In addition to
PCLK, two other clocks (CORECLKandUSERCLK) are required to support the core. -
BUFG_GTs are used to generate the core clocks. These clocks are all driven from theTXOUTCLKpin which is a derived clock fromGTREFCLK0through a CPLL. In an application where QPLL is used, QPLL is only provided to the GT PCS/PMA block whileTXOUTCLKcontinues to be derived from a CPLL. - The source of the AMD UltraScale+™
GTH reference clock must come directly from
IBUFDS_GTE4. - To use the reference clock for FPGA
general interconnect, another
BUFG_GTmust be used.
All PCIe clocks (pipe_clk, core_clk, and user_clk) are all driven by BUFG_GT sourced from the TXOUTCLK pin.
These clocks are derived clock from GTREFCLK0 through a CPLL. In an application where QPLL
is used, QPLL is only provided to the GT PCS/PMA block while TXOUTCLK continues to be derived from a CPLL. All user interface
signals of the core are timed with respect to the same clock (user_clk) which can have a frequency of 62.5, 125, or 250 MHz depending on
the link speed and width configured (see the previous figure).
In a typical PCI Express® solution, the PCI Express reference clock is a spread spectrum clock (SSC), provided at 100 MHz. In most commercial PCI Express systems, SSC cannot be disabled. For more information regarding SSC and PCI Express, see Section 4.3.7.1.1 of the PCI Express Base Specification, rev. 3.0 .
Each link partner device shares the same clock source. The following figures show a system using a 100 MHz reference clock. Even if the device is part of an embedded system, if the system uses commercial PCI Express root complexes or switches along with typical motherboard clocking schemes, synchronous clocking should still be used.
The PCIe core checks for GT power to be stable before the clock is enabled.
- This results in a logic driven CE (rather than VCC) for the
BUFG_GTthat is driven byIBUFDS_GTE4(PCIe ref clock). - Before this change in CE, if you had another (parallel)
BUFG_GTconnected to theIBUFDS_GTE4with CE driven by VCC, theBUFG_GT_SYNCinserted by opt_design/MLO could drive bothBUFG_GTs. - If there is a parallel
BUFG_GTthat does not share the same CE as the PCIeBUFG_GTclock, then twoBUFG_GT_SYNCare inserted by opt_design/MLO. - Because you can only have one
BUFG_GT_SYNCforIBUFDS_GTE4drivenBUFG_GTs, the router does not know how to handle the secondBUFG_GT_SYNCand does not route theIBUFDS_GTE4/ODIV2driven clock net. - You must ensure that the
BUFG_GTs driven by theIBUFDS_GTE4have the same CE/CLR pins.