3. SMBus协议接口定义

3.1. 说明

  • 请求和响应命令中所有字段都是小字节序优先(Least Significant Bit,LSB)。

  • 根据SMBus标准规范,PEC是可选项。

  • SMBus格式中,白色的框是Master发送的数据,阴影部分是Slave发送的数据。

  • Byte1…ByteN,对于BMC寄存器写,N≤32,对于BMC寄存器读,N≤28。

3.2. Read格式和Write格式

BMC从板卡获取信息有以下两种方式:

  • 直接寄存器读写

  • 中断读写

3.2.1. 直接寄存器读写

直接寄存器读写需要遵循的格式如图 3.1图 3.2图 3.3 所示:

../_images/image5.png

图 3.1 SMBus数据包协议关键元素

../_images/image6.png

图 3.2 Block Write with PEC

../_images/image7.png

图 3.3 Block Write - Block Read Process Call

BMC对板卡进行I2C detect和读写寄存器的时序格式说明,分别参见表 3.1表 3.2表 3.3

表 3.1 I2C Detect的时序格式说明

项目

取值

描述

Slave Address/Wr

SLV_ADDR<<1

Slave address

Command Code

0x3

BMC register read command=0x3

Byte Count

0x2

1 byte register offset

1 byte read data number

Data Byte1

0xC0

BMC register offset to read

Data Byte2

0x0

0 byte read data

表 3.2 BMC读寄存器的时序格式说明

项目

取值

描述

Slave Address/Wr

SLV_ADDR<<1

Slave address

Command Code

0x3

BMC register read command=0x3

Byte Count

0x2

1 byte register offset

1 byte read data number

Data Byte1

BMC_ADDR

BMC register offset to write (byte address).

Always DW aligned access. [1:0] always be 0.

Data Byte2

0x4

4 byte read data

Slave Address/Rd

SLV_ADDR<<1+1(Rd)

Slave address

Byte Count

0x4

Read data bytes

Data Byte1

RD_DATA[0]

Read data byte[0]

/

/

Data Byte4

RD_DATA[3]

Read data byte[3]

表 3.3 BMC写寄存器的时序格式说明

项目

取值

描述

Slave Address/Wr

SLV_ADDR<<1

Slave address

Command Code

0x1

BMC register write command=0x1

Byte Count

0x1

1 byte BMC_ADDR

Data Byte1

BMC_ADDR

BMC register offset to write (byte address).

Always DW aligned access. [1:0] always be 0.

Slave Address/Rd

SLV_ADDR<<1

Slave address

Command Code

0x2

BMC register write data command=0x2

Byte Count

0x4

Write data bytes

Data Byte1

WD_DATA[0]

Write data byte[0]

/

/

Data Byte4

WD_DATA[3]

Write data byte[3]

3.2.2. 中断读写

中断读写需要遵循以下的时序:

  1. 写message寄存器

    表 3.4 Message寄存器的Bit Fields

    Message

    Bit Fields

    Cmd

    [15:8]

    Type

    [7:0]

    Message寄存器的地址为0xE0。Message包括Cmd和Type两项内容。Type为固定值0x02,Cmd根据所读信息的内容而变化,详细定义参见 3.5 中断读写板卡和芯片信息

  2. 写argument寄存器。(可选,除非特别指定,否则不需要)

  3. 写触发bit

    触发bit地址为0xEC bit,往该地址写0x1代表触发步骤1的message执行。

  4. 查询ready flag寄存器

    Ready flag寄存器的地址为0xBC bit[31:16]。当该寄存器为0x5A5A时,则跳转到步骤5。

  5. 读相应的响应数据

    响应数据的地址为0xF0,0xF4,0xF8,0xFC。每个地址可以存放4个byte的信息。

    BMC接口可获取的信息参见表 3.5

    表 3.5 BMC接口可获取信息

    BMC_ADDR

    Byte3

    Byte2

    Byte1

    Byte0

    0x00

    Vendor ID

    Device ID

    0x04

    Revision ID

    0x08

    PKG_Type

    SOCKET_ID

    DIE_ID

    Topology_ID

    0x0C

    Serial number [31:0]

    0x10

    Serial number [63:32]

    0x14

    Base class ID

    Sub class ID

    0x18

    Subsystem Vendor ID

    Subsystem ID

    0x1C

    Maximum width of PCIe

    Maximum speed of PCIe

    0x20

    VF device ID

    0x3C

    Boot code Postcode

    0x40

    RAS Flag

    0x44

    RAS Flag

    0x48

    Error message

    0x4C

    Error address low

    0x50

    Error address high

    0x54

    MC interrupt status

    0x58

    Error misc

    0x7C

    VDD_Core1_Voltage

    VDD_Core1_Current

    0x80

    VDD_Core_Voltage

    VDD_SOC_Voltage

    0x84

    VDD_Core_Current

    VDD_SOC_Current

    0x88

    XCORE_Clk

    XCORE1_Clk

    0x8C

    MC_DFI_Clk

    DNOC_CLK

    0x90

    SOC_Clk

    GLB_REFCLK100

    0x94

    Thotspot_ID

    Board_Temp

    Thotspot

    0x98

    VPU_DECCLK

    VPU_ENCCLK

    0xA0

    HBM_Voltage

    HBM_Current

    0xA4

    Board_CH2_Voltage

    Board_CH1_Voltage

    0xA8

    VDD_Core_Power

    VDD_SOC_Power

    0xAC

    HBM_Power

    Others_Power

    0xB0

    Total_Power

    Board_CH0_Voltage

    0xB4

    Warning Sign

    Current width of PCIe

    Current speed of PCIe

    0xB8

    Error code

    0xBC

    Smp1 ready flag

    0xE0

    Smp1 message

    0xE4

    Smp1 argument0

    0xE8

    Smp1 argument1

    0xEC

    Write 1 to trigger smp1 interrupt

    0xF0

    Smp1 response0

    0xF4

    Smp1 response1

    0xF8

    Smp1 response2

    0xFC

    Smp1 response3

3.3. 直接寄存器读写芯片静态信息

静态信息是指板卡在上电期间,值不会发生改变的信息,因此上电后只需进行一次读取即可。静态信息参见表 3.6

表 3.6 直接寄存器读写的静态信息

BMC_ADDR

Byte3

Byte2

Byte1

Byte0

0x00

Vendor ID

Device ID

0x04

Revision ID

0x08

PKG_Type

SOCKET_ID

DIE_ID

Topology_ID

0x0C

Serial number [31:0]

0x10

Serial number [63:32]

0x14

Base class ID

Sub class ID

0x18

Subsystem Vendor ID

Subsystem ID

0x1C

Maximum width of PCIe

Maximum speed of PCIe

0x20

VF device ID

0x3C

Boot code Postcode

3.3.1. Vendor ID

表 3.7 Vendor ID

型号

Vendor ID

Register Address

Bit Fields

曦云C550

0x9999

0x0

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

3.3.2. Device ID

表 3.8 Device ID

型号

Device ID

Register Address

Bit Fields

曦云C550

0x4000

0x0

[15:0]

曦云C500

0x4001

曦云C500X

0x4040

曦云C290

0x4080

曦云C280

0x4081

曦云C500-P

0x4011

曦思N260

0x4083

曦思N450

0x4010

曦云C550-PL

0x4006

曦云C588

0x4020

3.3.3. Subsystem Vendor ID

表 3.9 Subsystem Vendor ID

型号

Subsystem Vendor ID

Register Address

Bit Fields

曦云C550

0x9999

0x18

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

3.3.4. Subsystem ID

表 3.10 Subsystem ID

型号

Subsystem ID

Register Address

Bit Fields

曦云C550

0x4000

0x18

[15:0]

曦云C500

0x4001

曦云C500X

0x4040

曦云C290

0x4080

曦云C280

0x4081

曦云C500-P

0x4011

曦思N260

0x4083

曦思N450

0x4010

曦云C550-PL

0x4006

曦云C588

0x4020

3.3.5. Revision ID

表 3.11 Revision ID

型号

Revision ID

Register Address

Bit Fields

曦云C550

0x00

0x04

[7:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

3.3.6. PKG ID

表 3.12 PKG ID

型号

PKG ID

Register Address

Bit Fields

曦云C550

0x00

0x08

[31:24]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

3.3.7. SOCKET ID

表 3.13 SOCKET ID

型号

SOCKET ID

Register Address

Bit Fields

曦云C550

16卡互联: 0x00-0x07

8卡互联: 0x00-0x07

4卡互联: 0x00-0x03

2卡互联: 0x00-0x01

单卡: 0x00

0x08

[23:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

3.3.8. DIE ID

表 3.14 DIE ID

型号

DIE ID

Register Address

Bit Fields

曦云C550

0x00

0x08

[15:8]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

3.3.9. TOPOLOGY ID

表 3.15 TOPOLOGY ID

型号

TOPOLOGY ID

Register Address

Bit Fields

曦云C550

16卡互联: 0x06

8卡互联: 0x06

4卡互联: 0x0C

2卡互联: 0x04

单卡: 0x02

0x08

[7:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

3.3.10. Serial Number

曦云系列的Serial Number存储方式为64-bit的二进制。

Register address为0x0C和0x10。拼接方式为:0x10的[31:0] + 0x0C的[31:0],构成1个64-bit二进制数。

64-bit二进制数的结构为: Lot ID-Wafer ID-Coordinate X-Coordinate Y

  • Lot ID: 由6位数字或字母组成,例如:T6K908,每一位数字或字母的存储方式是其对应的ASCII-48。例如: 0->48-48=0,1->49-48=1,…,A->65-48=17,…Z->90-48=42

  • Wafer ID: 取值范围是00~24。

  • Coordinate X/Y: 范围为-127 ~ +127。第一个bit用于区分正负,0代表正,1代表负。7bit代表实际取值,例如: -127->8'b11111111-126->8'b11111110,…, 126->8'b01111110127->8'b01111111

    [63:57]: Reserved;

    [56:49]: Coordinate Y;

    [48:41]: Coordinate X;

    [40:36]: Wafer ID;

    [35:30]: LOT ID5;

    [29:24]: LOT ID4;

    [23:18]: LOT ID3;

    [17:12]: LOT ID2;

    [11:6]: LOT ID1;

    [5:0]: LOT ID0.

解析方法:

例如: Offset 0x0C实际读取为0x66c9008;Offset 0x10实际读取为0x81a0839。

  1. 先将其拼接为8byte的十六进制数: 0x081a0839066c9008。

  2. 再将其转换为64bit的二进制数:

    64'b0000100000011010000010000011100100000110011011001001000000001000

  3. 根据上述serial number的结构可以解析成T6K908-3-4-13。

3.3.11. Base Class ID

表 3.16 Base Class ID

型号

Base Class ID

Register Address

Bit Fields

曦云C550

0x03

0x14

[31:24]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

3.3.12. Sub Class ID

表 3.17 Sub Class ID

型号

Sub Class ID

Register Address

Bit Fields

曦云C550

0x80

0x14

[23:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

3.3.13. VF Device ID

表 3.18 VF Device ID

型号

VF Device ID

Register Address

Bit Fields

曦云C550

0x4018

0x20

[31:16]

曦云C500

0x4019

曦云C500X

0x4058

曦云C290

0x4098

曦云C280

0x4099

曦云C500-P

0x4029

曦思N260

0x409B

曦思N450

0x4028

曦云C550-PL

0x401E

曦云C588

0x4038

3.3.14. Maximum Width of PCIe

表 3.19 Maximum Width of PCIe

型号

Maximum Width of PCIe

Register Address

Bit Fields

曦云C550

0x5(代表x16)

0x1C

[11:8]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

3.3.15. Maximum Speed of PCIe

表 3.20 Maximum Speed of PCIe

型号

Maximum Speed of PCIe

Register Address

Bit Fields

曦云C550

0x5(代表Gen5)

0x1C

[3:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

3.3.16. Boot Code Postcode

表 3.21 Boot Code Postcode

型号

Boot Code Postcode

Register Address

Bit Fields

曦云C550

0x1204

0x3C

[31:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

Boot Code Postcode是指板卡初始化状态阶段显示,正常开机状态下是0x1204。如果不是0x1204,请联系原厂进行诊断维修。

3.4. 直接寄存器读写芯片动态信息

动态信息是指板卡在上电期间,值会发生改变的信息,上电运行后需定期进行读取。动态信息参见表 3.22

曦云系列的动态信息刷新周期为100ms,BMC工程师可结合服务器实际情况确定读取周期。

表 3.22 直接寄存器读写的动态信息

BMC_ADDR

Byte3

Byte2

Byte1

Byte0

0x40

RAS Flag

0x44

Reserved

0x48

Error message

0x4C

Error address low

0x50

Error address high

0x54

MC interrupt status

0x58

Error misc

0x7C

VDD_Core1_Voltage

VDD_Core1_Current

0x80

VDD_Core_Voltage

VDD_SOC_Voltage

0x84

VDD_Core_Current

VDD_SOC_Current

0x88

XCORE_Clk

XCORE1_Clk

0x8C

MC_DFI_Clk

DNOC_CLK

0x90

SOC_Clk

GLB_REFCLK100

0x94

Thotspot_ID

Board_Temp

Thotspot

0x98

VPU_DECCLK

VPU_ENCCLK

0xA0

HBM_Voltage

HBM_Current

0xA4

Board_CH2_Voltage

Board_CH1_Voltage

0xA8

VDD_Core_Power

VDD_SOC_Power

0xAC

HBM_Power

Others_Power

0xB0

Total_Power

Board_CH0_Voltage

0xB4

Warning Sign

Current width of PCIe

Current speed of PCIe

0xB8

Error code

3.4.1. VDD_Core_Voltage

表 3.23 VDD_Core_Voltage

型号

Register Address

Bit Fields

曦云C550

0x80

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: mV

例如: 读取到0x34E,转换为十进制为846,代表0.846 V。

3.4.2. VDD_Core_Current

表 3.24 VDD_Core_Current

型号

Register Address

Bit Fields

曦云C550

0x84

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: 0.1A

例如: 读取到0x322,转换为十进制为802,代表80.2A。

3.4.3. VDD_Core1_Voltage

表 3.25 VDD_Core1_Voltage

型号

Register Address

Bit Fields

曦云C588

0x7C

[31:16]

单位: mV

例如: 读取到0x34E,转换为十进制为846,代表0.846 V。

3.4.4. VDD_Core1_Current

表 3.26 VDD_Core1_Current

型号

Register Address

Bit Fields

曦云C588

0x7C

[15:0]

单位: 0.1A

例如: 读取到0x322,转换为十进制为802,代表80.2A。

3.4.5. VDD_Core_Power

表 3.27 VDD_Core_Power

型号

Register Address

Bit Fields

曦云C550

0xA8

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: 0.1W

例如: 读取到0x229,转换为十进制为553,代表55.3W。

3.4.6. VDD_SOC_Voltage

表 3.28 VDD_SOC_Voltage

型号

Register Address

Bit Fields

曦云C550

0x80

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: mV

例如: 读取到0x352,转换为十进制为850,代表0.85V。

3.4.7. VDD_SOC_Current

表 3.29 VDD_SOC_Current

型号

Register Address

Bit Fields

曦云C550

0x84

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: 0.1A

例如: 读取到0x1C4,转换为十进制为452,代表45.2A。

3.4.8. VDD_SOC_Power

表 3.30 VDD_SOC_Power

型号

Register Address

Bit Fields

曦云C550

0xA8

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: 0.1W

例如: 读取到0x131,转换为十进制为305,代表30.5W。

3.4.9. HBM_Voltage

表 3.31 HBM_Voltage

型号

Register Address

Bit Fields

曦云C550

0xA0

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: mV

例如: 读取到0x4B0,转换为十进制为1200,代表1.2V。

3.4.10. HBM_Current

表 3.32 HBM_Current

型号

Register Address

Bit Fields

曦云C550

0xA0

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: 0.1A

例如: 读取到0x96,转换为十进制为150,代表15.0A。

3.4.11. HBM_Power

表 3.33 HBM_Power

型号

Register Address

Bit Fields

曦云C550

0xAC

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: 0.1W

例如: 读取到0x00A0,转换为十进制为160,代表16W。

3.4.12. Others_Power

表 3.34 Others_Power

型号

Register Address

Bit Fields

曦云C550

0xAC

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: 0.1W

例如: 读取到0xFC,转换为十进制为252,代表25.2W。

3.4.13. Total_Power

表 3.35 Total_Power

型号

Register Address

Bit Fields

曦云C550

0xB0

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: 0.1W

例如: 读取到0x07D0,转换为十进制为2000,代表200W。

3.4.14. Board_CH0_Voltage

对于PCIe板卡,Board_CH0_Voltage是指连接到Power Connector1的P12V供电的电压。

表 3.36 Board_CH0_Voltage

型号

Register Address

Bit Fields

曦云C550

0xB0

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: mV

例如: 读取到0x2EB8,转换为十进制为11960,代表11.96V。

3.4.15. Board_CH1_Voltage

对于PCIe板卡,Board_CH1_Voltage是指连接到Power Connector2的P12V供电的电压。

表 3.37 Board_CH1_Voltage

型号

Register Address

Bit Fields

曦云C550

0xA4

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: mV

例如: 读取到0x2EB8,转换为十进制为11960,代表11.96V。

3.4.16. Board_CH2_Voltage

对于PCIe板卡,Board_CH2_Voltage是指连接到PCIe金手指的P12V供电的电压。

表 3.38 Board_CH2_Voltage

型号

Register Address

Bit Fields

曦云C550

0xA4

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: mV

例如: 读取到0x2EB8,转换为十进制为11960,代表11.96V。

3.4.17. XCORE_CLK

表 3.39 XCORE_CLK

型号

Register Address

Bit Fields

曦云C550

0x88

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: MHz

例如: 读取到0x4B0,转换为十进制为1200,代表1200MHz。

3.4.18. XCORE1_CLK

表 3.40 XCORE1_CLK

型号

Register Address

Bit Fields

曦云C588

0x88

[15:0]

单位: MHz

例如: 读取到0x4B0,转换为十进制为1200,代表1200MHz。

3.4.19. SOC_CLK

表 3.41 SOC_CLK

型号

Register Address

Bit Fields

曦云C550

0x90

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: MHz

例如: 读取到0x41A,转换为十进制为1005,代表1005MHz。

3.4.20. MC_DFI_CLK

表 3.42 MC_DFI_CLK

型号

Register Address

Bit Fields

曦云C550

0x8C

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: MHz

例如: 读取到0x640,转换为十进制为1600,代表1600MHz。

3.4.21. GLB_REFCLK100

表 3.43 GLB_REFCLK100

型号

Register Address

Bit Fields

曦云C550

0x90

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: MHz

例如: 读取到0x64,转换为十进制为100,代表100MHz。

3.4.22. DNOC_CLK

表 3.44 DNOC_CLK

型号

Register Address

Bit Fields

曦云C550

0x8C

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: MHz

例如: 读取到0x41A,转换为十进制为1050,代表1050MHz。

3.4.23. VPU_ENCCLK

表 3.45 VPU_ENCCLK

型号

Register Address

Bit Fields

曦云C550

0x98

[15:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: MHz

例如: 读取到0x41A,转换为十进制为1005,代表1005MHz。

3.4.24. VPU_DECCLK

表 3.46 VPU_DECCLK

型号

Register Address

Bit Fields

曦云C550

0x98

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: MHz

例如: 读取到0x41A,转换为十进制为1005,代表1005MHz。

3.4.25. Thotspot

Thotspot代表主芯片最高温度,是一个动态变化的值,会随业务负载、 实际功耗、 温度等变化。

表 3.47 Thotspot

型号

Register Address

Bit Fields

曦云C550

0x94

[7:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: ℃

有符号整型: 最高位为1,表示负数,负数在计算机中是以补码的形式保存的,负数的补码生成规则为负数的原码取反后加1。

例如: 读取到0x2A,转换为十进制为42,代表42℃;如读取到0xEF,代表-17℃。

3.4.26. Thotspot_ID

Thotspot_ID代表主芯片最高温度对应的sensor ID。

表 3.48 Thotspot_ID

型号

Register Address

Bit Fields

曦云C550

0x94

[31:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

例如: 读取到0x1,转换为十进制为1,代表1号温度传感器。

3.4.27. Board_Temp

Board_Temp代表GPU板卡PCB实时温度。

表 3.49 Board_Temp

型号

Register Address

Bit Fields

曦云C550

0x94

[15:8]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

单位: ℃,最高位为符号位

有符号整型: 最高位为1,表示负数,负数在计算机中是以补码的形式保存的,负数的补码生成规则为负数的原码取反后加1。

例如: 读取到0x2A,转换为十进制为42,代表42℃;如读取到0xEF,代表-17℃。

3.4.28. Current PCIe Speed

Current PCIe Speed代表板卡的实时PCIe Speed。

表 3.50 Current PCIe Speed

型号

Register Address

Bit Fields

曦云C550

0xB4

[3:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

例如: 读取到0x4,转换为十进制为4,代表PCIe Gen4。

3.4.29. Current PCIe Width

Current PCIe Width代表板卡的实时PCIe Width。

表 3.51 Current PCIe Width

型号

Register Address

Bit Fields

曦云C550

0xB4

[11:8]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

解析方式: 0x1->x1;0x2->x2;0x3->x4;0x4->x8;0x5->x16。

3.4.30. Warning Sign

Warning Sign代表触发降频来源。

表 3.52 Warning Sign

型号

Register Address

Bit Fields

曦云C550

0xB4

[19:16]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

Bit16: 读取值为1时,表示当前HBM的温度超过95℃,已触发降频。

Bit17: 读取值为1时,表示当前PCB的温度超过75℃,已触发降频。

3.4.31. RAS Flag

表 3.53 RAS Flag

型号

Register Address

Bit Fields

曦云C550

0x40&0X44

[31:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

若RAS Flag不为0,则代表有RAS error的记录,需要进一步查看具体的RAS message。

RAS message address: 0x48,Bit fields: [19:31]。

Error address low address: 0x4C;Error address high address: 0x50。

MC interrupt status address: 0x54;Error misc address: 0x58。

RAS message的具体定义如下:

  • Bit[31:24]: ras error IP. RAS error IP的具体信息,参见表 3.54

    表 3.54 RAS Error IP

    十进制数

    IP

    0

    PCIE

    1

    MC0

    2

    MC1

    3

    MC2

    4

    MC3

    5

    SMP0

    6

    SMP1

    7

    INT

    8

    DMA0

    9

    DMA1

    10

    DMA2

    11

    DMA3

    12

    DMA4

    13

    HAG

    14

    FUSE

    15

    DHUB1

    16

    DHUB2

    17

    DHUB3

    18

    DHUB4

    19

    DHUB5

    20

    DHUB6

    21

    DHUB7

    22

    CCX0

    23

    CCX1

    24

    CCX2

    25

    VPUE0

    26

    VPUD0

    27

    VPUD1

    28

    VPUD2

    29

    VPUD3

    30

    VPUD4

    31

    VPUD5

    32

    VPUD6

    33

    VPUD7

    34

    ATUL20

    35

    ATUL21

    36

    ATH

    37

    XSC

    38

    CE

  • Bit[23:22]: ras error code。RAS error code的具体信息,参见表 3.55 :

    表 3.55 RAS Error Code

    RAS Error Code

    说明

    2'b00

    Fatal error

    2'b01

    Recover error

    2'b10

    Uncorrectable error

    2'b11

    Correctable error

  • Bit[21:19]: ras error address type。RAS error address type的具体信息,参见表 3.56 :

    表 3.56 RAS Error Address Type

    RAS Error Address Type

    说明

    3'b000

    VA

    3'b001

    PA

    3'b010

    TLB

    3'b011

    BUS

    3'b100

    SRAM

    3'b101

    REG

3.4.32. Error Code

Error Code代表板卡的故障码,具体故障码含义参见 4.1 故障码

表 3.57 Error Code

型号

Register Address

Bit Fields

曦云C550

0xB8

[31:0]

曦云C500

曦云C500X

曦云C290

曦云C280

曦云C500-P

曦思N260

曦思N450

曦云C550-PL

曦云C588

3.5. 中断读写板卡和芯片信息

3.5.1. PCBA Serial Number

Cmd=0x01,长度为14个byte。

需要使用到的响应数据的地址为0xF0,0xF4,0xF8,0xFC。

解析方法:

例如: 读取到的0xF0是0x414D4541;0xF4是0x38303332;0xF8是0x30303030;0xFC是0x3130。

拼接起来是: 0x31303030303038303332414D4541。每个byte代表一个字符,则上述拼接的结果代表14个字符。将十六进制byte转换为ASCII后,可以得到真实的PCBA Serial Number,转换过程参见表 3.58

表 3.58 PCBA Serial Number的转换过程

HEX (0x)

ASCII

31

1

30

0

30

0

30

0

30

0

30

0

38

8

30

0

33

3

32

2

41

A

4D

M

45

E

41

A

最终可以得到PCBA Serial Number为: AEMA2308000001

3.5.2. PCBA Part Number

Cmd=0x02,长度为10个byte。

需要使用到的响应数据的地址为0xF0,0xF4,0xF8。

解析方法:

例如: 读取到的0xF0是0x2D323037;0xF4是0x3331304D;0xF8是0x3130。

拼接起来是: 0x31303331304D2D323037。每个byte代表一个字符,则上述拼接的结果代表10个字符。将十六进制byte转换为ASCII后,可以得到真实的PCBA Part Number,转换过程参见表 3.59

表 3.59 PCBA Part Number的转换过程

HEX(0x)

ASCII

31

1

30

0

33

3

31

1

30

0

4D

M

2D

-

32

2

30

0

37

7

最终可以得到PCBA Part Number为: 702-M01301。

3.5.3. PCBA Version

Cmd=0x03,长度为2个byte。

需要使用到的响应数据的地址为0xF0。

解析方法:

例如:读取到的0xF0是: 0x3130。

每个byte代表一个字符,则上述拼接的结果代表2个字符。将十六进制byte转换为ASCII后,可以得到真实的PCBA Version,转换过程参见表 3.60

表 3.60 PCBA Version的转换过程

HEX(0x)

ASCII

31

1

30

0

最终可以得到PCBA Version为:01。

3.5.4. Deviation Number

Cmd=0x04,长度为6个byte.

需要使用到的响应数据的地址为0xF0,0xF4。

解析方法:

例如: 读出来0xF0是0x31323030;0xF4是0x3130。

拼接起来是: 0x313031323030。每个byte代表一个字符,则上述拼接的结果代表6个字符。将十六进制byte转换为ASCII后,可以得到真实的Deviation Number,转换过程参见表 3.61 :

表 3.61 Deviation Number的转换过程

HEX(0x)

ASCII

31

1

30

0

31

1

32

2

30

0

30

0

最终可以得到Deviation Number为: 002101。

3.5.5. Firmware Version

Firmware Version可获取多种Firmware版本,每一种Firmware Version长度为4个byte。Firmware Version需要使用argument0参数,参数说明参见表 3.62

表 3.62 Firmware Version参数

类型

Cmd

说明

argument0

说明

0x02

0x0b

Firmware Version

0x1

VBIOS version

0x2

SMP0 boot

0x3

SMP0 Firmware

0x4

SMP1 Firmware

0x5

SDMA Firmware

0x6

PCIe Firmware

0x7

Metalk Firmware

解析方法:

例如: VBIOS version读取值是0x1010000,则VBIOS version是01.01.00.00。