Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 7/19/2024
Public
Document Table of Contents

A.4.3.3. HPS Cold Reset Event

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

Figure 334. HPS Cold Reset Event
The following list shows the sequence of events:
  1. h2f_user0_clock stops running.
  2. HPS is reset, indicated by h2f_reset is asserted high and h2f_cold_reset is asserted high.
  3. CPU is reset, becomes non-operational.
  4. h2f_gp_out[1] is reset to low, due to the HPS reset.
  5. h2f_user0_clock begins running at boot clock frequency.
  6. h2f_reset is de-asserted low and h2f_cold_reset is de-asserted low.
  7. h2f_reset is asserted high again and h2f_cold_reset is asserted high again.
  8. h2f_reset is de-asserted low again and h2f_cold_reset is de-asserted low again.
  9. CPU is released from reset, becomes operational and begins running FSBL.
  10. FSBL software configures PLLs, h2f_user0_clock is tuned to configured frequency.
  11. 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 Cold Reset Event. This may be desirable if you want to place your specific logic into reset before the h2f_user<1:0>_clock stops.