Clock Sources
The main PCIe Controller clock is derived directly from the PMA PLL; the clock frequency is configuration dependent. For example, the PCIe Gen4 configuration requires the PCIe Controller to run at 500 MHz.
The PCIe Controller clock domain is transparent to the user application.
| Clock | Direction | Frequency (MHz) | Descriptions |
|---|---|---|---|
| AXI_CLK | Input | 125 - 250 | AXI interface clock. |
| USER_APB_CLK | Input | 20 - 200 | APB interface clock. |
| PM_CLK | Output | 40 | Free-running clock used for low power state transitions. |
The AXI_CLK clock can be derived from a PLL output. However, you need to
ensure that the AXI_CLK frequency complies with the PCIe link total
bandwidth. For example, four lanes of Gen4 run at a 64 Gbps link bandwidth. To fully utilize
the link bandwidth, AXI_CLK must operate at 250 MHz in your application.
The USER_APB_CLK clock can also be derived from a PLL output.
The PM_CLK is used for power management. The PCIe Controller
outputs PM_CLK so you can utilize the same clock resource.
All clocks are asynchronous; the PCIe Controller handles the clock synchronization internally.
In the Efinity Interface Designer the PCIe block has an option Reference clock from on-board crystal. Efinix recommends that you turn this option off when using a reference clock slot from a PCIe slot to ensure that stable reference clock is present during PHY configuration. When this option is disabled, you need to create a PLL instance with a specific PLL resource and settings as the temporary PCIe reference clock while the PHY is configuring. When the PHY completes configuration, the reference clock reverts to the edge card connector.
If you turn this option off, use these settings:
- Create a PLL block with a resource of BR0 or BR1.
- Enable:
CLKOUT4signal if you are using QUAD 0.CLKOUT2signal if you are using QUAD 2.
- Configure the PLL in local feedback mode.
You can use the CLKOUT4 signal as a clock source for core logic after the
PHY completes configuration.