Power Management User Guide: Agilex™ 5 FPGAs and SoCs

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

5.1.2.2. PMBus Slave Mode

Agilex™ 5 devices can also be configured in the PMBus slave mode with an external power management controller acting as the PMBus master. The external power management controller that interact with Agilex™ 5 devices over PMBus must support clock stretching. The external power management controller is responsible for driving all PMBus transactions, querying the FPGA for its target voltage requirements and interacting with the voltage regulators to configure them to the FPGA's target voltage.

Figure 14. PMBus Slave Mode
Table 16.  Supported Commands for the PMBus Slave Mode
Command Name Command Code Default PMBus Transaction Type Number of Bytes
CLEAR_FAULTS 03h Write byte 0
VOUT_MODE 20h 40h Read byte 1
VOUT_COMMAND 21h Read word 2
STATUS_BYTE 78h 00h Read byte 1

For the PMBus slave mode with PWRMGT_ALERT, you must follow the guidelines in the following figures and tables for the external PMBus flow.

Figure 15. Handshake Flow between the External PMBus Master and FPGA in the PMBus Slave Mode with the PWRMGT_ALERT Signal
Table 17.  Stage Flow for the External PMBus Master when the PWRMGT_ALERT Signal is Asserted and STATUS_BYTE=0
Sequence SDM PMBus Master Notes
1 Asserts the PWRMGT_ALERT signal
2 Detects the PWRMGT_ALERT signal
3 Initiates the ARA flow
4 Responds to the ARA flow and provides its address Only the device which has asserted the PWRMGT_ALERT signal in step 1 responds to the ARA flow by providing its address.
5 Deasserts the PWRMGT_ALERT signal The PWRMGT_ALERT signal is only deasserted after the SDM responds with its address in the ARA flow.
6 Reads the STATUS_BYTE
7 Returns STATUS_BYTE=0 Indicates the FPGA voltage requires an update.
8 Sends CLEAR_FAULTS
9 Sends VOUT_COMMAND The VOUT_COMMAND must be received by the SDM within 200 ms after the PWRMGT_ALERT signal is asserted. Failure to meet this requirement causes configuration error. 10
10 Receives the VOUT_COMMAND, responds with the target voltage Calculated based on the temperature, the VID fuse and the coefficient for the direct format (you need to specify this input).
11 Sets the voltage regulator to the target voltage in step size not greater than 10 mV/10 ms step
Table 18.  Stage Flow for the External PMBus Master when the PWRMGT_ALERT Signal is Asserted and STATUS_BYTE is not equal to 0
Sequence SDM PMBus Master Notes
1 Asserts the PWRMGT_ALERT signal The SDM detects fault and asserts the PWRMGT_ALERT signal. 11
2 Detects the PWRMGT_ALERT signal
3 Initiates the ARA flow
4 Responds to the ARA flow and provides its address Only the device which has asserted the PWRMGT_ALERT signal in step 1 responds to the ARA flow by providing its address.
5 Deasserts the PWRMGT_ALERT signal The PWRMGT_ALERT signal is only deasserted after the SDM responds with its address in the ARA flow.
6 Reads the STATUS_BYTE
7 Returns the STATUS_BYTE when not equal to 0 Indicates that other fault has occurred
8 Sends CLEAR_FAULTS To reset the STATUS_BYTE.
9 Reads the STATUS_BYTE To confirm that STATUS_BYTE=0.
10 External master to handle the faults
Figure 16. Handshake between the External PMBus Master and FPGA in the PMBus Slave Mode Timing Diagram with PWRMGT_ALERT

The Agilex™ 5 devices in the PMBus slave mode sends the VOUT_COMMAND value in the direct format only. To read the actual voltage value, use the following equation to convert the VOUT_COMMAND value from the Agilex™ 5 devices.

Figure 17. Direct Format Equation

The equation shows how to convert the direct format value where:

  • X, is the calculated, real value in mV;
  • m, is the slope coefficient, a 2-byte two's complement integer;
  • Y, is the 2-byte two's complement integer received from the Agilex™ 5 devices;
  • b, is the offset, a 2-byte two's complement integer;
  • R, is the exponent, a 1-byte two's complement integer

The following example shows how an external power management controller retrieves values from the Agilex™ 5 devices. Coefficients used in the VOUT_COMMAND are as follows:

  • m = 1
  • b = 0
  • R = 0

If the external power management controller retrieved a value of 0384h, it is equivalent to the following:

X = (1/1) x (0384h x 10-0 - 0) = 900 mV = 0.90 V

10 The SDM triggers an error when it does not receive VOUT_COMMAND within a specified time. To avoid device configuration failure, you must power cycle the device to recover from the error.
11

The following faults can raise the PWRMGT_ALERT signal:

  • PMBUS_ERR_RD_TOO_MANY_BYTES (Error with the length of the PMBus/I2C message length)
  • PMBUS_ERR_WR_TOO_MANY_BYTES (Error with the length of the PMBus/I2C message length)
  • PMBUS_ERR_UNSUPPORTED_CMD (VOUT_COMMAND, VOUT_MODE, READ_STATUS, and CLEAR_FAULTS are the only supported commands in the PMBUS Slave Mode)
  • PMBUS_ERR_READ_FLAG (Received duplicate command before being able to respond to the first command)
  • PMBUS_ERR_INVALID_DATA (Invalid or malformed PMBus/I2C message)

If any of the above errors are detected, the PWRMGT_ALERT signal is raised and bit 1 of the status register is set.