Visible to Intel only — GUID: loo1551083312723
Ixiasoft
Visible to Intel only — GUID: loo1551083312723
Ixiasoft
5.1.2.2. PMBus Slave Mode
Intel Agilex® 7 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 Intel Agilex® 7 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.
For the PMBus slave mode with PWRMGT_ALERT, you must follow the guidelines listed below for the external PMBus flow:
- Figure: Handshake Flow between the External PMBus Master and FPGA in the PMBus Slave Mode with the PWRMGT_ALERT Signal
- Figure: Handshake between the External PMBus Master and FPGA in the PMBus Slave Mode Timing Diagram with PWRMGT_ALERT
- Table: Stage Flow for the External PMBus Master when the PWRMGT_ALERT Signal is Asserted and STATUS_BYTE = 0
- Table: Stage Flow for the External PMBus Master when the PWRMGT_ALERT Signal is Asserted and STATUS_BYTE is not Equal to 0
Command Name | Command Code | Default | PMBus Transaction Type | Number of Bytes |
---|---|---|---|---|
CLEAR_FAULTS | 03h | — | Send byte | 0 |
VOUT_MODE | 20h | 40h | Read byte | 1 |
VOUT_COMMAND | 21h | — | Read word | 2 |
STATUS_BYTE | 78h | 00h | Read byte | 1 |
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 | De-asserts the PWRMGT_ALERT signal | — | The PWRMGT_ALERT signal is only de-asserted 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 200ms after the PWRMGT_ALERT signal is asserted. Failure to meet this requirement causes configuration error. 14 |
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 10mV/10ms step | — |
Sequence | SDM | PMBus Master | Notes |
---|---|---|---|
1 | Asserts the PWRMGT_ALERT signal | — | The SDM detects fault and asserts the PWRMGT_ALERT signal. 15 |
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 | De-asserts the PWRMGT_ALERT signal | — | The PWRMGT_ALERT signal is only de-asserted 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 | — |
The Intel Agilex® 7 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 Intel Agilex® 7 devices.
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 Intel Agilex® 7 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 Intel Agilex® 7 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
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.