CSR配置字典之NPUFirmware类
更新时间: 2026/06/22
在Gitcode上查看源码

📋 文档信息

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

📋 变更历史记录

文档变更记录

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

🎯 类概览

NPUFirmware 类

属性
类名称NPUFirmware
功能描述NPU固件配置对象
所属SIG组system
所属组件NPU固件管理
权限ConfigureSelf
责任人系统架构组
最后更新2026-06-22
状态🟢 正常运行

📊 属性定义详表

必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
RefChipU8[]-refInterface: bmc.kepler.Chip.BlockIO引用的芯片NPU固件升级引用目标芯片[1, 2]CSR配置软件
LockChipU8[]-refInterface: bmc.kepler.Chip锁定芯片NPU固件升级锁定目标芯片[1]CSR配置软件
AddressU32--地址NPU固件访问地址0x1000CSR配置软件
SlotU8--槽位NPU固件所在槽位1CSR配置软件
BusTypeU80--总线类型NPU固件通信总线类型0CSR配置软件

可选属性


🔗 动态关联机制

语法规范

使用 #/xxx<=/xxx 格式实现属性间的动态关联:

yaml
# RefChip关联
RefChip: refInterface "bmc.kepler.Chip.BlockIO"   # 引用Chip的BlockIO接口

# LockChip关联
LockChip: refInterface "bmc.kepler.Chip"           # 引用Chip接口进行锁定

关联说明

  • RefChip关联: 通过refInterface引用bmc.kepler.Chip.BlockIO接口,用于固件升级时访问芯片的BlockIO通道
  • LockChip关联: 通过refInterface引用bmc.kepler.Chip接口,用于固件升级时锁定目标芯片防止并发操作
  • 数组引用: RefChip和LockChip均为U8数组类型,支持同时引用多个芯片

📂 分类标准

软件属性

  • 定义:用于软件层面的NPU固件管理和配置
  • 特点:包含芯片引用、地址配置、总线类型等功能
  • 示例RefChip, LockChip, Address, Slot, BusType

📝 配置示例

标准单NPU固件配置

json
{
  "NPUFirmware": {
    "RefChip": [1],
    "LockChip": [1],
    "Address": 4096,
    "Slot": 1,
    "BusType": 0
  }
}

多芯片固件升级配置

json
{
  "NPUFirmware_MultiChip": {
    "RefChip": [1, 2],
    "LockChip": [1, 2],
    "Address": 4096,
    "Slot": 1,
    "BusType": 0
  }
}

不同总线类型配置

json
{
  "NPUFirmware_I2C": {
    "RefChip": [1],
    "LockChip": [1],
    "Address": 4096,
    "Slot": 2,
    "BusType": 1
  }
}

🔧 使用指南

配置步骤

  1. 设置芯片引用:配置RefChip,指定固件升级目标芯片的BlockIO接口
  2. 设置锁定芯片:配置LockChip,指定固件升级时需要锁定的芯片
  3. 设置访问地址:配置Address,指定NPU固件的访问地址
  4. 设置槽位:配置Slot,指定NPU固件所在槽位
  5. 设置总线类型:配置BusType,默认值为0

注意事项

  • 芯片引用一致性:RefChip和LockChip的芯片引用应保持逻辑一致性
  • 地址配置:Address为U32类型,确保地址值在有效范围内
  • 总线类型:BusType默认值为0,表示默认总线类型
  • 并发控制:固件升级期间通过LockChip锁定芯片,防止并发操作

性能建议

  • 芯片引用优化:合理设置RefChip和LockChip数组,避免不必要的芯片锁定
  • 总线类型选择:根据实际硬件架构选择合适的BusType

引用接口说明

  • bmc.kepler.Chip.BlockIO: 用于固件升级时通过BlockIO通道访问芯片
  • bmc.kepler.Chip: 用于固件升级时锁定芯片,防止并发操作

常见问题

  • Q: RefChip和LockChip的区别是什么?
    • A: RefChip引用Chip的BlockIO接口用于固件数据传输,LockChip引用Chip接口用于升级期间锁定芯片
  • Q: BusType默认值为0代表什么?
    • A: BusType默认值为0表示默认总线类型,具体含义由组件实现定义
  • Q: RefChip为什么是数组类型?
    • A: 支持同时引用多个芯片,便于批量固件升级场景