Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 7/19/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

A.4.3.2. HPS Warm Reset Event

In the following diagram, the h2f_gp_out[1] goes low when h2f_reset is asserted high and remains low until the HPS software drives it high.

Figure 333. HPS Warm Reset Event
The following list shows the sequence of events:
  1. CPU is reset, becomes non-operational.
  2. CPU is released from reset, becomes operational and begins running FSBL.
  3. h2f_warm_reset_handshake_n is asserted low.
  4. h2f_user0_clock stops running.
  5. h2f_reset is asserted high and h2f_warm_reset_handshake_n is de-asserted high.
  6. h2f_gp_out[1] is reset to low, due to the HPS reset.
  7. CPU is reset, becomes non-operational.
  8. h2f_user0_clock begins running at boot clock frequency.
  9. h2f_reset is de-asserted low.
  10. CPU is released from reset, becomes operational and begins running FSBL.
  11. FSBL software configures PLLs, h2f_user0_clock is tuned to configured frequency.
  12. Software asserts h2f_gp_out[1] to high.
Note: Make sure your FPGA logic can handle the h2f_user0_clock stopping above. that is, you must implement asynchronous reset using h2f_gp_out[1].
Note: Software can set h2f_gp_out[1] = 0 before entering an HPS Warm Reset Event. This may be desirable if you want to place your specific logic into reset before the h2f_user<1:0>_clock stops.