Reset Handshake

When a warm or hot reset occurs, the PCIe Controller sends a reset request by driving the RESET_REQ output high. When RESET_REQ goes high, the user application can delay the assertion of RESET_ACK, for example, to provide sufficient time to power down the application. However, the user application must indicate its readiness for reset by asserting RESET_REQ, which tells the PCIe Controller to proceed with the warm or hot reset.

Once the reset event is served, the PCIe Controller de-asserts RESET_REQ, at which point the user application must deassert RESET_ACK.

De-asserting PERST_N triggers the PCIe Controller's internal sequence to exit from reset and subsequently perform PCIe training and link up.

Figure 1. Reset Handshake

When RESET_REQ is asserted, the reset request is sent to all affected IP cores (including soft IP) and the core fabric.
  • When the soft IP receives the reset request, it should evaluate its readiness and assert RESET_ACK.
  • The user appliication should hold RESET_ACK asserted until the PCIe Controller de-asserts RESET_REQ.
  • When RESET_REQ deasserts, the user application should deassert RESET_ACK.

When all affected soft IP cores assert RESET_ACK, the actual reset event occurs and the affected reset domains are reset.