To successfully reset UltraScale GTH for PCIe® applications, the recommended PCIe reset scheme should be used.
- It is recommended that the MAC or upper layer reset the PHY after power-on and fatal error conditions.
- The reference clock must be stable during reset.
- Once system reset is detected and synchronized, the PHY must assert
phystatus
.
The following is an example of a x1 PCIe reset procedure:
- Stay in IDLE state until system reset is released.
- Assert [CPLL/QPLL]
reset
, [TX/RX]progdivreset
and GT[TX/RX]reset
until GTpowergood
is active-High. - Release [CPLL/QPLL]
reset
and wait for [CPLL/QPLL]lock
to go active-High. - Release [TX/RX]
progdivreset
and wait for [TX/RX]progdivresetdone
to go active-High. - Release GT[TX/RX]
reset
, assert [TX/RX]userrdy
and wait for [TX/RX]resetdone
to go active-High. - Start TX SYNC alignment. Extend
txsync_start
to fourrefclk
cycles. - Wait for TXSYNC alignment to be done.
- Wait for
phystatus
to get deasserted. - Connect the
phystatus_rst
output (communicates the completion of reset sequence) from the PHY to the PCIe MAC. - PCIe MAC reset is complete.