Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/2024
Public
Document Table of Contents

2.3.6. Clock Manager Features

The fundamental goal of the clocking architecture is to utilize the minimum number of clock sources to provide maximum flexibility and guaranteed clock behavior for the various device use cases. These use cases include optimizing performance against power as well as providing specific clock frequencies required for specific peripherals.

The HPS clocks include:

  • Free-running clocks
    • Clock references that are free running can be used as a PLL input reference. These include the HPS_OSC_CLK external oscillator, the FPGA clock references, and the internal oscillator.
  • PLL clocks
    • Clocks which are generated from a common PLL VCO.
  • Clock groups like MPU, debug, interconnect, and so on
    • Can be from the PLL or the external bypass mux.
    • Synchronous clock groups consist of clocks requiring a synchronous relationship among them.
    • Clock enables are generated for pseudo-synchronous clocks, to indicate which clock edge of a fast clock is to be used to generate a slower clock.
    • Clocks that are not in a synchronous clock group are treated as asynchronous.
  • HPS-to-FPGA clocks
    • These clocks are sourced in the HPS and provided to the FPGA.
    • These clocks are connected into FPGA QCLK and GCLK resources allowing Quartus to flexibly route these clocks to and from FPGA end points.
    • For more flexibility, the HPS provides a layer of clock muxes that can be configured by Quartus. This allows Quartus to determine the best clock routing for the FPGA logic, then sets the HPS clock muxes to supply the required clocks.
  • FPGA-to-HPS clocks
    • These clocks are sourced in the FPGA and provided to HPS.
    • These clocks are routed to the FPGA/HPS interface using the same mechanism as a LAB. This gives Quartus flexibility in the clock routing decisions.