Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/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.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 332. 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.