Lenovo ThinkSystem FPGA Log Analysis and Fault Localization

This document is intended for Level 2 server hardware support engineers and on-site technical experts. It systematically explains how to deeply analyze onboard FPGA registers via FFDC logs in Lenovo ThinkSystem servers (Purley / Whitley platforms, such as SR650, SR550, SN550, etc.) to precisely locate Motherboard voltage faults (SysBrd Vol Fault / FQXSPPW0063M), Abnormal power loss (Power Fault) and CPU/memory power supply faults.


1. Why is FPGA log analysis required?

In the Lenovo ThinkSystem server architecture, XCC (BMC) is responsible for macro-level out-of-band monitoring and upper-layer alarms, while low-level hardware power-on sequence control, microsecond-level power protection, and hardware fault latching are fully managed by the onboard FPGA / CPLD exclusively.

  • XCC Alarm Limitations: When a power supply abnormality occurs, the XCC System Event Log (SEL/CXL) typically reports only one generalized error:

    Sensor SysBrd Vol Fault has transitioned to critical from a less severe state. (FQXSPPW0063M) This error merely indicates "motherboard voltage fault" and cannot specify whether the issue lies with 12V, 5V, 3.3V, or which specific CPU power rail is abnormal. Blindly replacing the motherboard often leads to repair failure.

  • FPGA Register Advantages: In the event of power drop, undervoltage, overcurrent, or short circuit on a power rail, microsecond instant, the FPGA will permanently latch the First Capture into hardware registers before forcibly shutting down system power (Power Fault Trip). This data persists until the next AC power cycle reset.

2. Distribution Path of FPGA Logs within FFDC

After extracting the exported FFDC service package from the server (extension name .tzz, actually in tar.gz format), the core FPGA logs are located at the following path:

2.1 Preferred File: Automatically Decoded Log

  • File Path: tmp/ffdc_live_dbg/fpga_on_demand.log
  • Description: The FFDC collection script (firetool) automatically invokes the register decoding tool to generate a report containing highly readable bit parsing (e.g., directly indicating PVCCIO CPU1 fault).

2.2 Alternative File: Raw Register Dump

When fpga_on_demand.log is not generated or the decoding tool version does not match, the following raw data must be examined:

  • File Path: var/volatile/log/fpga_powerfault.log or var/volatile/log/fpga.log
  • Description: Records hexadecimal raw bytes (Hex Dump) for each register block (Block 00 ~ Block 63).

2.3 Signal Mapping Database (Cross-Reference)

  • File Path: tmp/dm.log
  • Description: XCC Data Manager signal pin mapping table, including PWRGD_PVCCIO_CPU0, THERMAL_CPU1_VR_PVCCIN and the physical binding of signals to hardware components.

3. Comprehensive Overview of FPGA Register Architecture (Block Structure)

Inside the FPGA, Blocks (each block typically 16 bytes) as units:

Block IDName / FunctionKey Troubleshooting Focus
Block 00Basic Information and Firmware VersionChip ID (Platform), FPGA Major/Minor Version, Compilation Date
Block 01Motherboard and Platform IdentificationBoard ID, Platform ID
Block 02FPGA Flash Firmware AreaMain Firmware / Recovery Firmware Status
Block 04Power Management and Fault Latch AreaCore Troubleshooting Area! All voltage faults, power-on sources, and power-off sources are located here
Block 14RAS / CATERR Processor Fatal ErrorsCPU Internal Fatal Errors (CATERR / IERR), PCIe Fatal Errors
Block 16Memory and UEFI Boot PhaseMemory Device Status, UEFI POST Progress Codes
Block 28Onboard Device and CPU Presence DetectionCPU0/CPU1 Presence (SKTOCC), Boot CPU Identification
Block 40Power Management Throttling and PSU StatusPSU1/PSU2 Presence and Power Supply Status, PMBus Communication
Block 60Debug RegistersGTL CPU Reset, PROCHOT Signal, PCIe Reset Status

4. Block 04 Core Decoding and Lookup Table Quick Reference (Most Critical Section)

When the system reports SysBrd Vol Fault or powers off immediately upon boot, focus must be on Block 04.

4.1 Raw Data Format Identification

A typical Block 04 data line is as follows:

Block 04 - 7F 00 00 00 02 00 00 00 - 00 01 07 10 80 00 20 00

Offset and function for each byte:

Byte IndexRegister NameNormal Healthy ValueTypical Abnormal ValueFunctional Meaning
Byte 0 (0x040)POWER_CAPABILITY7F7FPower Management Capability Set Support Bit
Byte 1 (0x041)POWER_FAULT700Non-00Standby/Auxiliary Rail Faults (5V_AUX, 1V8_PCH, Efuse, etc.)
Byte 2 (0x042)POWER_FAULT600Non-00Motherboard 5V/3.3V and Memory VPP/VDDQ Power Supply Faults
Byte 3 (0x043)POWER_FAULT500Non-00Memory VDDQ/VTT and some platform CPU VCCIO power supply faults
Byte 4 (0x044)POWER_FAULT400Non-00CPU core power supply fault (PVCCIN / PVCCIO / VCCSA, etc.)
Byte 5-8POWER_FAULT3~000Non-00Peripheral power supply fault for PCIe expansion cards, M.2 adapter boards, etc.
Byte 9 (0x049)BOOT_HISTORY-01FPGA power-on boot history record
Byte 11 (0x04B)POWER_ON_SRC-10Power-on source: 0x10 Front panel button, 0x20 XCC remote power-on
Byte 12 (0x04C)POWER_OFF_SRC-80Power-off source: 0x80 Clearly indicates hardware power supply fault protection shutdown!
Byte 14 (0x04E)RESET_SRC-20Reset trigger source: 0x20 Chipset reset request

[!TIP] > Under normal conditions, POWER_FAULT0 to POWER_FAULT7(i.e., Byte 1 to Byte 8)Must all be 00. If any single byte is non- 00, it indicates that the power rail corresponding to that byte triggered a protection action.


4.2 POWER_FAULT Detailed Bit Definition Table

Depending on the FPGA firmware version, register definitions have minor adjustments (using SN550_FPGA_PowerFaults1.0 and the SR650 Cyborg platform general definition as examples):

(1) POWER_FAULT4 (Offset 0x044 / Offset 4h) —— CPU core voltage rails

This is the byte where faults most frequently occur; the hexadecimal number must be converted to an 8-bit binary (Bit 7 ~ Bit 0):

Binary BitHexadecimal WeightSignal Definition (FPGA < 4.7)Signal Definition (FPGA ≥ 4.7)Fault Meaning and Localization
Bit 00x01VCCIN_CPU1_PGVCCIN_CPU2_PGCPU1 (or CPU2) FIVR input main power abnormality (1.8V)
Bit 10x02VCCIN_CPU2_PG / PVCCIO_CPU1VCCSA_CPU1_PGCPU I/O or System Agent power abnormality
Bit 20x04VCCSA_CPU1_PGVCCSA_CPU2_PGCPU System Agent power abnormality
Bit 30x08VCCSA_CPU2_PGPCH_CPU_PWRGD_3VPCH / CPU power ready signal abnormality
Bit 40x10PVCCIN_CPU1MEZZCARD1_AUX_PWRGDCPU FIVR main power rail fault (1.8V)
Bit 50x20MEZZCARD1_AUX_PWRGDMEZZCARD2_AUX_PWRGDExpansion card / mezzanine card auxiliary power abnormality
Bit 60x40MEZZCARD2_AUX_PWRGDMEZZCARD1_PWRGDExpansion card main power abnormality
Bit 70x80MEZZCARD1_PWRGDMEZZCARD2_PWRGDExpansion card main power abnormality
  • Practical Case Correspondence:
  • If the register value is 0x10(binary 0001 0000): Bit 4 set to 1, corresponding to PVCCIN CPU1 fault.
  • If the register value is 0x02(binary 0000 0010): Bit 1 set to 1, corresponding to PVCCIO CPU1 fault.

(2) POWER_FAULT5 (Offset 0x043 / Offset 3h) —— Memory and VCCIO

Binary bitHexadecimal weightTypical definitionFault meaning and location
Bit 50x20CPU1_VCCIO_PGCPU 1 I/O power rail ready signal lost
Bit 60x40CPU2_VCCIO_PGCPU 2 I/O power rail ready signal lost
Bit 0~40x01~0x10VDDQ / VTTCPU corresponding channel DDR4 memory supply (1.2V / 0.6V) abnormality

(3) POWER_FAULT6 (Offset 0x042 / Offset 2h) —— Motherboard main voltage and VPP

Binary bitHexadecimal weightTypical definitionFault meaning and location
Bit 00x015V_PG / 3v3_PGMotherboard 5V or 3.3V basic supply abnormality
Bit 1~40x02~0x10VPP_CPU1/2_ABC/DEFMemory active supply (2.5V VPP) abnormality
Bit 5~70x20~0x80VDDQ_CPU1/2Memory main supply (1.2V) abnormality

(4) POWER_FAULT7 (Offset 0x041 / Offset 1h) —— Standby auxiliary and input supply

Binary bitHexadecimal weightTypical definitionFault meaning and location
Bit 00x015V_AUX_PG5V auxiliary standby voltage fault
Bit 40x101V8_PCH_AUX_PGPCH standby supply fault
Bit 70x80PGD_MAIN_EFUSE (P_12V)Motherboard 12V electronic fuse (eFuse) blown/protected (usually external short)

5. Core determination rule: Is it a motherboard fault or a CPU fault?

This is the most typical dispute scenario faced by second-line technical support. The troubleshooting criteria are as follows:

flowchart TD
    A["SysBrd Vol Fault (FQXSPPW0063M) occurs"] --> B["Extract the FFDC logs and open Block 04"]
    B --> C{"Which byte reports the fault?"}
    
    C -->|"POWER_FAULT7 (0x041)<br>or 12V EFUSE"| D["Likely system-board power fault or peripheral short circuit<br>(backplane, Riser, fan, power backplane)"]
    C -->|"POWER_FAULT6 (0x042)<br>3.3V / 5V"| E["System-board power chip or onboard component short circuit<br>(replace the system board)"]
    C -->|"POWER_FAULT4 / 5<br>(PVCCIN / PVCCIO / VCCSA)"| F["CPU core power rail fault"]
    
    F --> G{"Does the same CPU fault persist after replacing the system board?"}
    G -->|"Yes (same CPU identified before and after replacement)"| H["100% points to CPU damage or poor socket contact<br>(request CPU replacement)"]
    G -->|"No (first service request)"| I["Onsite cross-testing plan"]
    
    I --> J["Minimal boot test with one CPU"]
    I --> K["Swap CPU 1 and CPU 2"]
    
    K --> L{"Does the fault register move?"}
    L -->|"Yes (fault follows the CPU to the other socket)"| M["CPU internal breakdown short circuit confirmed<br>(replace CPU)"]
    L -->|"No (fault stays in the same physical socket)"| N["System-board VRM circuit damage or damaged socket pins<br>(replace the system board)"]

Key heuristic rule

  1. Power generation and consumption relationship:
  • Motherboard VRM is Power generator;
  • CPU internal transistors are Power consumption load.
  • When an avalanche breakdown short circuit occurs in the CPU internal core or I/O plane, the VRM attempting to output voltage will immediately trigger overcurrent (OCP) or undervoltage (UVP), resulting in Power Good unable to output.
  1. Law of persistent fault after board replacement:
  • If a brand new motherboard is replaced but the FPGA fault remains reported on the same CPU (e.g., reporting CPU1 PVCCIN before replacement and CPU1 PVCCIO after replacement), and the power-off source is both 0x80, Motherboard issues can be absolutely ruled out.. Since the probability of two motherboards sharing the same power circuit failing simultaneously is extremely low, the only constant variable is the reused legacy CPU.
  1. Precautions for Physical CPU Number Mapping:
  • At the FPGA low level: CPU0 Corresponds to physical slot CPU 1 (Boot CPU / Socket 0); CPU1 Corresponds to physical slot CPU 2 (Socket 1).
  • When on-site personnel cannot confirm 100% the tool's decoding correspondence, the fastest and most secure operation is Remove the second CPU to boot with a single-CPU minimum configuration or Swap the two CPUs to verify.

6. Appendix: Lenovo ThinkSystem Platform Code Name Quick Reference Table

In Block 00 's 0x000 register, the platform Chip ID can be read to confirm the model:

Chip IDInternal R&D CodenameCorresponding Official Product Model
0x44CyborgThinkSystem SR650 / SR550 / Halo 7100 OEM
0x41TaichiThinkSystem SR630 / SR530
0x56VenturaThinkSystem SN550 (Blade Server)
0x49PestoThinkSystem SD530 (High-Density High-Efficiency Server)
0x48KirinThinkSystem SR850 (Four-socket Server)
0x4AMarlonThinkSystem SR950 (Eight-socket Mission-Critical Server)
14 views Updated 2026-11-07

More in this groupServer Log & Alert Analysis

View all 15 in this group

Can't find an answer?

Upload a log for AI diagnosis, or ask the AI assistant directly in the console.