跳到主要内容

ISSUE-021: G5-CDMA spec v1.6.2 对齐 SG2262 原始硬件 spec v2.2 (24 偏差修订)

发现日期:2026-05-13 状态:spec 修订 + P1/P2 实施已闭环 (D1/D2/D4/D5/D7/D8/D9/D15/D16 + #1/#2/#3/#4 对齐);P3/P4 待实施 类型:spec 契约修订 (Critical 级) 关联ISSUE-020 (Phase 1 实施基于的 spec 有 9 个偏差需修订)


背景

ISSUE-020 Phase 1 实施完成后 review 发现 G5-CDMA spec v1.6.2 与原始硬件 spec (2262 CDMA spec v2.2.docx) 存在 24 个设计层面偏差,涵盖 msg 体系、硬件参数、仲裁机制、指令族 4 个维度。

为避免 Phase 2 实施时偏差累积 (例如 msg_id 命名空间扩容、TPS186 baseline 数值校验),必须先系统性更新 G5 spec 对齐硬件,再走 plan + 实施。


24 偏差清单 (按严重程度分类)

Critical (功能错误) — 3 个

ID偏差点原始 specG5 spec 当前
D1sendq/rcvq 双队列并行P35/P37/P74/P89 — CDMA Thread 含 sendq+rcvq 两队列,msg/Send/Receive 并行单 FIFO 串行队列
D2msg 双通道控制P126 — 每线程一组 msg_send+msg_wait 控制 tx&rx 双通道MsgWait 只阻塞所属 thread,无 tx/rx 维度
D3WRR 仲裁切换三条件P489 — weight 耗尽 / msg a4s 发出 / fence (rcvq 空)仅 RR,无 weight + msg-trigger-switch

Major (数值/路径偏差) — 6 个

ID偏差点原始 specG5 spec 当前
D4OST 上限128 rd / 1024 wr (512B) / 512 wr (256B)MAX_OUTSTANDING=16
D5tcredit 深度32 per CDMA + CAM 结构HashMap 无上限
D6datapath 带宽默认值32 GB/s (Freq 1GHz)64 GB/s (G5 默认)
D7线程数17 (16+1 for 对端发起)8
D8receive 2-OST 提前发 tcredit第一条 receive 未退休时可执行第二条无显式限制
D9sys_tx/sys_rx 两独立线程P74/P89 — CDMA_sys_tx 和 CDMA_sys_rx 两线程互不干扰单 msg 维度

Critical (路径建模错位) — 已重分类到 B1

ID偏差点原始 specG5 spec 当前
D15msg 走 A4S 32-bit 独立接口P37/P56 — msg 走 c2c_sys AXItoA4S,不走数据 PAXImsg packet 走 PAXI VC_MUL

Minor (字段定义/遗漏) — 11 个

ID偏差点原始 specG5 spec 当前
D10scatter / scatter2 / gather 指令族P64-65/P330-396 完整指令含 mask/群发/reduce/CPS完全缺失
D11CDMA_remote_atomic 群发原子加P410-419 start_pe/pe_step/pe_num+atomic_idx完全缺失
D12ARE Reduce / CPS Compress 集成P261-264/P285/P302-303 reduce_en/compress_enTransfer/Send 无 reduce/compress
D13write_done sideband + last beatP83/P132/P193 last 标志 + 第二次跨 chip 写DataArrived 合并 ACK
D14inst_fifo depth 4 / disp_fifo depth 1P490/P506 流水化单笔 busy_until
D16msg 字段宽度P437 msg_id 11-bit relative / send_cnt 7-bit / wait_cnt 7-bit; P663 WCNT/SCNT 511 上限u32 msg_cnt
D17cmd_queue depth 64 / 4-bankP466-468无队列深度概念
D18base_addr_region 32 组 + region 31 保留P91/P118/P672无概念
D19receive tcredit key (chipid+cdmaid)P130(chip, thread)
D20cdma 多余线程仅 des 模式P144无 PIO/DES 区分

Critical (已知 #1-#4, ISSUE-020 Phase 1 引入) — 与 D15/D16 部分重叠

已知 #偏差点
#1§947 msg_id slot 容量:硬件 1024 vs G5 spec 262144
#2msg_send/wait msg_id:硬件 11-bit relative + base_id 偏移 vs G5 16-bit absolute
#3send_cnt/wait_cnt 位宽:硬件 7-bit (msg_send/wait), 16-bit (remote_msgsend) vs G5 u32
#4CDMA_write 集成 msg_en 字段 (P304/P317-320) vs G5 Transfer+RemoteMsgSend 分离

修订计划 (4 批迭代)

每批一个独立 spec 修订 commit,不阻塞其他批。

B1: G9 msg 体系契约修订 (9 偏差) — 当前批次

涉及 §G9 章节。偏差:D1, D2, D9, D15, D16 + 已知 #1, #2, #3, #4.

关键概念修订

  1. §G9 §硬件结构:加入 sendq/rcvq 双队列模型 (D1)
  2. §G9 §msg 同步语义:msg_send 双通道控制 (D2), sys_tx/sys_rx 两独立线程 (D9)
  3. §G9 §msg packet 传输路径:改为 A4S 32-bit 独立接口 (D15)
  4. §msg_id 命名空间分配规则:容量改为 1024 (256×4) (#1),加入 relative msg_id + base_id 偏移机制 (#2)
  5. §msg 字段位宽:send_cnt/wait_cnt 7-bit (msg_send/wait), 16-bit (remote_msgsend) (#3, D16)
  6. §write + 显式 msg 章节:加入 write+msg_en 集成路径 (#4)

B2:硬件参数与默认值 (5 偏差)

涉及 §硬件结构 + chip YAML. 偏差:D4, D5, D6, D7, D8.

关键修订

  • chip YAML 默认 bandwidth_per_cdma_gb_per_s 改为 32 (硬件实际),不再 64
  • spec §硬件参数表:OST 上限 128/1024 (区分 rd/wr/数据宽),线程数 17, tcredit 深度 32
  • receive 2-OST 限制 (G5 加 receive_max_outstanding=2 参数)

B3: WRR 仲裁与流水化 (3 偏差)

涉及 §仲裁机制 + §datapath. 偏差:D3, D14, D17.

关键修订

  • WRR 三切换条件
  • inst_fifo 深度 4 流水化模型
  • cmd_queue 4-bank depth 64

B4:指令族扩展 (7 偏差)

涉及 §指令类型 表 + 多个新增子节。偏差:D10, D11, D12, D13, D18, D19, D20.

关键修订

  • 新增 §scatter / §gather / §atomic 子节 (D10, D11)
  • 新增 §reduce / §compress 集成 (D12)
  • 修订 §send §write_done sideband 模型 (D13)
  • 字段细节 D18, D19, D20

后续工作 (B1 完成后)

每批 spec 修订完后:

  1. 评估现有 Phase 1 代码与新 spec 的差距 (生成 diff 报告)
  2. 写 plan 实施 spec 对齐改动
  3. cargo test 全量 + 反馈环验证不变量仍成立

预计每批 spec 修订 + 实施 = 1-2 周工作量。


优先级

Critical. spec 偏差会导致后续所有 Phase 2 实施基于错误前提:

  • B1 不修则 Phase 2 多 channel 扩容方案错误 (msg_id 命名空间容量错算)
  • B2 不修则 TPS186 baseline 数值校验失败 (带宽默认值 2× 偏差)

必须先冻结 spec 再实施。