Clocking and PLL User Guide: Agilex™ 5 FPGAs and SoCs

ID 813671
Date 9/17/2025
Public
Document Table of Contents

6.2.2.1. Read and Write Operations via Avalon® Memory-Mapped Interface

The HVIO I/O PLL reconfiguration interface employs a fixed-cycle transaction protocol layered on the Avalon® Memory-Mapped signal set. While the standard Avalon® -MM specification supports variable latencies, this implementation enforces a strict and deterministic cycle timing for all transactions. This design choice ensures simplified timing closure and delivers reliable, predictable operation. Due to the 32-bit data width of the registers, read and write operations to core_avl_readdata[7:0] and core_avl_writedata[7:0] must be split into four separate 8-bit transfers. Each 8-bit segment is transferred sequentially from the least significant to the most significant byte, with each transfer spaced by one clock period.

These timing requirements are unique to the Agilex™ PLL reconfiguration interface and extend beyond the generic Memory-Mapped protocol. They guarantee accurate addressing of internal PLL configuration registers, prevent transaction overlaps by allowing the reconfiguration finite state machine (FSM) to complete cleanly, and maintain a stable, glitch-free PLL output clock throughout the reconfiguration process.

Figure 28. Write Operation Timing Requirements
  1. Start with a 5-Cycle Preamble: After asserting Core_Avl_Write, the Write Data bus must output five consecutive clock cycles of 0x00. These preamble cycles serve as a mandatory initialization phase, allowing the system to align internal buffers and sampling logic. The preamble is not counted as valid payload data.
  2. Transmit Valid Data for the Next 5 Cycles: Immediately following the preamble, place the actual write payload on the bus for five consecutive clock cycles while keeping Core_Avl_Write asserted. The final byte should remain on the bus for an additional cycle to ensure the data is captured within a well-defined and stable timing window.
  3. Observe a 5-Cycle Idle Period After Deassertion: When Core_Avl_Write is deasserted, a minimum of five idle clock cycles must pass before starting another write or read operation. This enforced gap allows internal pipelines to flush and prevents bus contention.
Read transactions also follow a strict timing pattern to account for bus turnaround delays and ensure data stability.
Figure 29. Read Operation Timing Requirements
  1. Ignore the First 5 Cycles of Read Data: Upon asserting Core_Avl_Read, the first five clock cycles of data returned are invalid or undefined and must be discarded. This delay accounts for internal memory access latency and guarantees proper synchronization.
  2. Capture Valid Data Over the Next 5 Cycles: After the initial delay, five consecutive clock cycles of valid read data presents on the bus. The first valid word is always 0x00, followed by the actual requested contents.
  3. Enforce a 5-Cycle Idle Period After Deassertion: Once Core_Avl_Read is deasserted, maintain at least five idle cycles before initiating any new read or write. This prevents overlapping between transactions and avoids data corruption
Note: The PLL may lose lock and cause reliability problems for your device if you configure it with the wrong PLL setting, configure the wrong bit, or overwrite the whole byte for settings that make up just part of one byte.