Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

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

4.2.3. GIC System Integration

The GIC-600 is a generic interrupt controller that handles interrupts from peripherals to the cores and between cores. It manages all the interrupts coming in from the SoC and routes them to the proper core. It also handles all the core to core interrupts. The GIC-600 supports the GICv3 architecture. The AXI subordinate port on the GIC-600 distributor provides access to the entire register map. The GIC distributor (GICD) registers, GIC Interrupt Translation Service (GITS) registers, and GIC Redistributor (GICR) registers are programmed by using a single AXI subordinate port. The GICD uses the ACE-Lite manager interface to access LPI (locality-specific peripheral interrupts) Property and Pending tables. See the following figure for the GIC system integration diagram.

Figure 31. GIC System Integration

The GIC-600 in CPU subsystem consists of the following blocks:

  • Distributor - The Distributor is the hub of all the GIC communications and contains the functionality for all Shared Peripheral Interrupts (SPIs).
  • Redistributor - The Redistributor maintains the Private Peripheral Interrupts (PPIs) and Software Generated Interrupts (SGIs) for all four cores.
  • Interrupt Translation Service - The ITS translates message-based interrupts, MSI/MSIx from PCIe* or other sources.
  • SPI Collator - The GIC-600 supports 512 SPIs that are spread across subsystems for Agilex™ 5. The SPI Collator enables SPIs to be converted into messages remotely from the Distributor.
  • Wake Request - The Wake Request contains all the architecturally defined wake request signals for each core of the Arm* big.LITTLE cluster.
  • GIC Interconnect - The GIC uses AXI4-Stream interfaces to connect its set of different building blocks.