Device Configuration User Guide: Agilex™ 5 FPGAs and SoCs

ID 813773
Date 11/04/2024
Public
Document Table of Contents

2.2. Configuration Flow Diagram

This topic describes the configuration flow for Agilex™ 5 devices.

Figure 7.  Agilex™ 5 FPGA Configuration Flow
Note: You can perform JTAG configuration anytime from any state if the device is powered up and the power is intact. The Agilex™ 5 device cancels the previous configuration and accepts the reconfiguration data from the JTAG interface. The nCONFIG signal must be held in a stable state during JTAG configuration. A falling edge on the nCONFIG signal cancels the JTAG configuration.

Power-On

  • The Agilex™ 5 power supplies follow the guidelines in the Power-Up Sequence Requirements for Agilex™ 5 Devices section of the Agilex™ 5 Power Management User Guide.
  • A device-wide power-on reset (POR) asserts after the power supplies reach the correct operating voltages. The external power supply ramp must not be slower than the minimum ramping rate until the supplies reach the operating voltage.
  • During power-on stage, internal circuitry pulls the SDM_IO0, SDM_IO8, and SDM_IO16 low internally. Internal circuitry pulls the remaining SDM_IO pins to a weak high.
  • After POR, internal circuitry also pulls all GPIO pins to a weak high until the device enters user mode.
  • All I/O pins in SDM and HPS bank except the VSIGP_0, VSIGN_0, VSIGP_1, VSIGN_1, and RREF_SDM pins are in undetermined state during device power-up and power-down.
  • Input signals of all HSIO, HPS, and SDM I/O pins at any point during power-up and power-down should not exceed the I/O buffer power supply rail of the bank where the I/O pin resides in. If you use a pin in a GPIO bank with 1.3-V VCCIO_PIO, the pin voltage must not exceed the VCCIO_PIO rail or 1.2 V, whichever is lower.

SDM Startup

  • The SDM samples the MSEL pins during power-on.
  • If MSEL is set to JTAG, the SDM remains in the Startup state.
  • The SDM runs firmware stored in the on-chip boot ROM and enters the Idle state until the host drives nCONFIG high. The host should not drive nCONFIG high before all clocks are stable.

Idle

  • The SDM remains in IDLE state until the external host initiates configuration by driving the nCONFIG pin from low to high. Alternatively, the SDM enters the idle state after it exits the error state.

FPGA Configuration

  • After the SDM receives a configuration initiation request (nCONFIG = HIGH), the SDM signals the beginning of configuration by driving the nSTATUS pin high.
  • Upon receiving configuration data, the SDM performs authentication, decryption, and decompression.
  • In the reconfiguration flow:
    • If the power-on reset (POR) was triggered after reconfiguration, the boot ROM loads the firmware after exiting POR.
    • For reconfiguration triggered by a pulse of nCONFIG low, the SDM checks the updated firmware and compares with existing firmware.
      • If both firmware are the same, the SDM continues with configuration flow.
      • If firmwares are different, the SDM transitions to the firmware that comes together with the bitstream.
  • The nCONFIG pin remains high during configuration and in user mode. The host monitors the nSTATUS pin continuously for configuration errors.
  • The power management activity is ongoing during the device configuration. For more information, refer to the Agilex™ 5 Power Management User Guide.
  • The SDM drives the CONF_DONE pin high after successfully receiving full bitstream.
  • The CONF_DONE pin signals an external host that bitstream transfer is successful.

Failed FPGA Configuration

  • A low pulse on the nSTATUS pin indicates a configuration error.
  • An internal device wipe occurs followed by errors requiring reconfiguration.
  • After a low pulse indicating an error, configuration stops. The nSTATUS pin remains high.
  • Following an error, the SDM drives nSTATUS low after the external host drives nCONFIG low.
  • The device enters Idle state after the nSTATUS pin recovers to initial pre-configuration low state.

User Mode

  • The SDM drives the INIT_DONE pin high after initializing internal registers and releases GPIO pins from the high impedance state. The device enters user mode. After CONF_DONE asserts and before INIT_DONE asserts, parts of the device start to enter user mode. The assertion of INIT_DONE indicates that the entire device entered user mode. Intel requires you to include the Reset Release in your design. Use the nINIT_DONE output of the Reset Release Intel® FPGA IP to hold your application logic in the reset state until the entire FPGA fabric is in user mode. Failure to include this IP in your design may result in intermittent application logic failures.
  • The nCONFIG pin should remain high in user mode.
  • You may re-configure the device by driving nCONFIG pin from low to high.

Device Clean

  • In the Device Clean state the design stops functioning.
  • Device cleaning zeros out all configuration data.
  • The Agilex™ 5 device drives CONF_DONE and INIT_DONE low.
  • The SDM drives the nSTATUS pin low when device cleaning completes.