CSR配置字典之PCIeCard类
更新时间: 2025/07/22
在Gitcode上查看源码

📋 文档信息

项目内容
文档标题PCIeCard类配置字典
版本v1.0
创建日期2025-01-27
最后更新2025-01-27
维护状态✅ 活跃维护

📋 变更历史记录

文档变更记录

版本发布日期变更类型变更内容影响范围维护人员
v1.02025-01-27初始版本创建PCIeCard类配置字典全新文档系统管理员

🎯 类概览

PCIeCard 类

属性
类名称PCIeCard
功能描述PCIe卡管理,提供PCIe卡的信息展示、状态监控、版本管理和拓扑管理功能
所属SIG组hardware
所属组件pcie
责任人PCIe设备管理组
最后更新2025-01-27
状态🟢 正常运行

📊 属性定义详表

必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
NameString""--产品名称(SP580等)PCIe卡信息展示"GPU Card"CSR配置软件
ModelString""--PCIe卡的型号PCIe卡信息展示"Atlas_300I_Pro"CSR配置软件
NodeIDString""--通过PCIe卡所在容器和槽位得到的唯一标识符PCIe卡拓扑管理""组件更新软件
SlotIDU8---槽位号PCIe卡定位1组件更新软件
DeviceNameString""--设备资源名称PCIe卡信息展示"GPU0"CSR配置软件
FunctionClassU8-0-9-功能分类(0:未知、1:RAID、2:网卡、3:GPU卡、4:存储卡、5:SDI卡、6:加速卡、7:扩展卡、8:FPGA卡、9:NPU卡)PCIe卡分类3CSR配置软件
PositionString""--位置信息(容器信息)PCIe卡定位"Slot1"组件更新软件
RefChipU8[][]-bmc.kepler.Chip.BlockIO关联芯片引用PCIe卡芯片管理[]硬件提供硬件
ProtocolString""--协议PCIe卡协议配置"PCIe"CSR配置软件

可选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
DescriptionString""--描述PCIe卡信息展示"High Performance GPU"CSR配置软件
PcbVersionString""--PCB版本PCIe卡版本管理"V1.0"CSR配置软件
BoardIDU16655350-65535-单板ID(仅自研卡涉及)PCIe卡识别0x1234CSR配置软件
BoardNameString""--单板名称(仅自研卡涉及)PCIe卡信息展示"GPU Board"CSR配置软件
LinkWidthAbilityString"N/A"X1,X4,X8,X16-最大链路带宽PCIe卡能力展示"x16"CSR配置软件
LinkWidthString"N/A"X1,X4,X8,X16-链路带宽PCIe卡状态监控"x8"组件更新软件
LinkSpeedCapabilityString""Gen1,Gen2,Gen3,Gen4,Gen5,Gen6-最大链路速率PCIe卡最大速率"Gen4"CSR配置软件
LinkSpeedString""Gen1,Gen2,Gen3,Gen4,Gen5,Gen6-链路速率PCIe卡状态监控"Gen3"组件更新软件
VendorIDU1600x0000-0xFFFF-制造商IDPCIe卡识别0x10DECSR配置软件
DeviceIDU1600x0000-0xFFFF-设备IDPCIe卡识别0x20B0CSR配置软件
SubVendorIDU1600x0000-0xFFFF-子厂商IDPCIe卡识别0x10DECSR配置软件
SubDeviceIDU1600x0000-0xFFFF-子设备IDPCIe卡识别0x1234CSR配置软件
ManufacturerString""--厂商PCIe卡信息展示"NVIDIA"CSR配置软件
LaneOwnerU8---资源归属,起始值为1,表示当前卡挂在哪个CPU下PCIe卡拓扑管理1CSR配置软件
FirmwareVersionString""--固件版本PCIe卡版本管理"1.0.0"组件更新软件
PartNumberString""--部件编码PCIe卡识别"PN-12345"CSR配置软件
SerialNumberString""--序列号PCIe卡识别"SN-12345"CSR配置软件
HealthU8---健康状态PCIe卡状态监控0组件更新软件
CardModelString""--PCIe设备型号PCIe卡信息展示"A100"CSR配置软件
CardManufacturerString""--PCIe设备制造商PCIe卡信息展示"NVIDIA"CSR配置软件
CardForServersU8[][]--PCIe设备服务的系统Id列表PCIe卡信息展示[]CSR配置软件
UIDString""--唯一标识符PCIe卡识别""CSR配置软件
PcbIDU8---PCB IDPCIe卡版本管理0CSR配置软件
MaxFrameLenU320--最大帧长度PCIe卡参数配置1500CSR配置软件
DevBusU800x00-0xFF-设备总线号PCIe卡信息显示0组件更新软件
DevDeviceU800x00-0x1F-设备号PCIe卡信息显示0组件更新软件
DevFunctionU800x00-0x07-设备功能号PCIe卡信息显示0组件更新软件

🔗 动态关联机制

语法规范

使用变量替换语法和 #/xxx 格式实现动态配置:

yaml
# 语法格式
RefChip: "#/Chip.BlockIO"
SlotID: "${Slot}"
NodeID: "${NodeID}"

关联说明

  • RefChip: 关联PCIe卡对应的Chip对象
  • LaneOwner: 表示PCIe卡所在的CPU资源归属
  • CardForServers: 关联服务的Host系统列表

📂 分类标准

硬件属性

  • 定义:与PCIe卡硬件特性直接相关的参数
  • 特点:通常在CSR配置中定义,与硬件BOM表对应
  • 示例RefChip, VendorID, DeviceID, SubVendorID, SubDeviceID

软件属性

  • 定义:由系统动态更新和管理的参数
  • 特点:通过组件更新机制动态获取和维护
  • 示例LinkWidth, LinkSpeed, FirmwareVersion, Health, SerialNumber

📝 配置示例

GPU卡配置

json
{
  "PCIeCard_1": {
    "DeviceName": "<=/PCIeDevice_1.DeviceName",
    "SlotID": "<=/PCIeDevice_1.SlotID",
    "NodeID": "<=/PCIeDevice_1.SlotID |> string.format('PCIeCard%s',$1)",
    "Health": "<=/Component_PCIeCard.Health",
    "Name": "Atlas 300I Pro",
    "BoardName": "<=/FruData_NPUCard.BoardProductName |> expr($1 == '' ? 'IT21PDDA' : $1)",
    "Description": "Atlas 300I Pro Inference Card PCI-E 1*16x (HHHL)",
    "FunctionClass": 9,
    "VendorID": 6629,
    "DeviceID": 54528,
    "SubVendorID": 512,
    "SubDeviceID": 256,
    "Position": "<=/PCIeDevice_1.Position",
    "LaneOwner": "<=/PCIeDevice_1.SocketID",
    "FirmwareVersion": "#/NPUCard_1.FirmwareVersion",
    "Manufacturer": "Huawei",
    "PartNumber": "03028DFH",
    "MaxFrameLen": 64,
    "LinkSpeed": "N/A",
    "LinkSpeedCapability": "N/A",
    "PcbVersion": "#/NPUCard_1.PcbVersion",
    "BoardID": "#/NPUCard_1.BoardID",
    "Bus": "<=/PCIeDevice_1.Bus",
    "Device": "<=/PCIeDevice_1.Device",
    "Function": "<=/PCIeDevice_1.Function",
    "DevBus": "<=/PCIeDevice_1.DevBus",
    "DevDevice": "<=/PCIeDevice_1.DevDevice",
    "SerialNumber": "",
    "Model": "Atlas_300I_Pro",
    "DevFunction": "<=/PCIeDevice_1.DevFunction",
    "CardManufacturer": "Huawei",
    "CardModel": "IT21PDDA"
  }
}

NPU卡配置

json
{
  "NPUCard_1":{
      "Name": "Atlas 300I Pro Inference Card",
      "CardDescription": "Atlas 300I Pro Inference Card PCI-E 1*16x (HHHL)",
      "DeviceName": "<=/PCIeDevice_1.DeviceName",
      "RefChip":"#/Chip_Dmini",
      "LockChip":"#/Chip_Dmini",
      "RefEeprom":"#/Chip_Dmini_Elabel",
      "RefFrudata": "#/FruData_NPUCard",
      "Model": "Atlas_300I_Pro",
      "SlotNumber": "${Slot}",
      "PcbVersion": ".A",
      "BoardID": 171,
      "FirmwareVersion": "N/A",
      "CardPartNumber": "03028DFH"
  }
}

🔧 使用指南

配置步骤

  1. 确定设备类型:根据PCIe卡功能设置FunctionClass
  2. 设置基本信息:配置Name、Model、DeviceName等基本属性
  3. 配置槽位信息:设置SlotID和Position等位置信息
  4. 设置总线信息:配置DevBus、DevDevice、DevFunction等PCIe总线参数
  5. 关联CPU:设置LaneOwner关联对应的CPU
  6. 配置链路参数:设置LinkWidthAbility、LinkSpeedCapability等能力参数
  7. 关联Chip:配置RefChip关联硬件Chip对象

注意事项

  • 功能分类:FunctionClass需要根据实际设备功能正确设置
  • Chip关联:确保Chip对象已正确定义
  • 总线配置:DevBus、DevDevice、DevFunction需要与实际PCIe拓扑对应
  • LaneOwner:表示PCIe卡所属的CPU资源,起始值为1
  • 链路参数:LinkWidth和LinkSpeed由组件更新机制维护

FunctionClass分类说明

分类
0未知
1RAID
2网卡
3GPU卡
4存储卡
5SDI卡
6加速卡
7扩展卡
8FPGA卡
9NPU卡