Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 11/27/2024
Public
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 335. 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.