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 | 偏差点 | 原始 spec | G5 spec 当前 |
|---|---|---|---|
| D1 | sendq/rcvq 双队列并行 | P35/P37/P74/P89 — CDMA Thread 含 sendq+rcvq 两队列,msg/Send/Receive 并行 | 单 FIFO 串行队列 |
| D2 | msg 双通道控制 | P126 — 每线程一组 msg_send+msg_wait 控制 tx&rx 双通道 | MsgWait 只阻塞所属 thread,无 tx/rx 维度 |
| D3 | WRR 仲裁切换三条件 | P489 — weight 耗尽 / msg a4s 发出 / fence (rcvq 空) | 仅 RR,无 weight + msg-trigger-switch |
Major (数值/路径偏差) — 6 个
| ID | 偏差点 | 原始 spec | G5 spec 当前 |
|---|---|---|---|
| D4 | OST 上限 | 128 rd / 1024 wr (512B) / 512 wr (256B) | MAX_OUTSTANDING=16 |
| D5 | tcredit 深度 | 32 per CDMA + CAM 结构 | HashMap 无上限 |
| D6 | datapath 带宽默认值 | 32 GB/s (Freq 1GHz) | 64 GB/s (G5 默认) |
| D7 | 线程数 | 17 (16+1 for 对端发起) | 8 |
| D8 | receive 2-OST 提前发 tcredit | 第一条 receive 未退休时可执行第二条 | 无显式限制 |
| D9 | sys_tx/sys_rx 两独立线程 | P74/P89 — CDMA_sys_tx 和 CDMA_sys_rx 两线程互不干扰 | 单 msg 维度 |
Critical (路径建模错位) — 已重分类到 B1
| ID | 偏差点 | 原始 spec | G5 spec 当前 |
|---|---|---|---|
| D15 | msg 走 A4S 32-bit 独立接口 | P37/P56 — msg 走 c2c_sys AXItoA4S,不走数据 PAXI | msg packet 走 PAXI VC_MUL |
Minor (字段定义/遗漏) — 11 个
| ID | 偏差点 | 原始 spec | G5 spec 当前 |
|---|---|---|---|
| D10 | scatter / scatter2 / gather 指令族 | P64-65/P330-396 完整指令含 mask/群发/reduce/CPS | 完全缺失 |
| D11 | CDMA_remote_atomic 群发原子加 | P410-419 start_pe/pe_step/pe_num+atomic_idx | 完全缺失 |
| D12 | ARE Reduce / CPS Compress 集成 | P261-264/P285/P302-303 reduce_en/compress_en | Transfer/Send 无 reduce/compress |
| D13 | write_done sideband + last beat | P83/P132/P193 last 标志 + 第二次跨 chip 写 | DataArrived 合并 ACK |
| D14 | inst_fifo depth 4 / disp_fifo depth 1 | P490/P506 流水化 | 单笔 busy_until |
| D16 | msg 字段宽度 | P437 msg_id 11-bit relative / send_cnt 7-bit / wait_cnt 7-bit; P663 WCNT/SCNT 511 上限 | u32 msg_cnt |
| D17 | cmd_queue depth 64 / 4-bank | P466-468 | 无队列深度概念 |
| D18 | base_addr_region 32 组 + region 31 保留 | P91/P118/P672 | 无概念 |
| D19 | receive tcredit key (chipid+cdmaid) | P130 | (chip, thread) |
| D20 | cdma 多余线程仅 des 模式 | P144 | 无 PIO/DES 区分 |
Critical (已知 #1-#4, ISSUE-020 Phase 1 引入) — 与 D15/D16 部分重叠
| 已知 # | 偏差点 |
|---|---|
| #1 | §947 msg_id slot 容量:硬件 1024 vs G5 spec 262144 |
| #2 | msg_send/wait msg_id:硬件 11-bit relative + base_id 偏移 vs G5 16-bit absolute |
| #3 | send_cnt/wait_cnt 位宽:硬件 7-bit (msg_send/wait), 16-bit (remote_msgsend) vs G5 u32 |
| #4 | CDMA_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.
关键概念修订:
- §G9 §硬件结构:加入 sendq/rcvq 双队列模型 (D1)
- §G9 §msg 同步语义:msg_send 双通道控制 (D2), sys_tx/sys_rx 两独立线程 (D9)
- §G9 §msg packet 传输路径:改为 A4S 32-bit 独立接口 (D15)
- §msg_id 命名空间分配规则:容量改为 1024 (256×4) (#1),加入 relative msg_id + base_id 偏移机制 (#2)
- §msg 字段位宽:send_cnt/wait_cnt 7-bit (msg_send/wait), 16-bit (remote_msgsend) (#3, D16)
- §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 修订完后:
- 评估现有 Phase 1 代码与新 spec 的差距 (生成 diff 报告)
- 写 plan 实施 spec 对齐改动
- cargo test 全量 + 反馈环验证不变量仍成立
预计每批 spec 修订 + 实施 = 1-2 周工作量。
优先级
Critical. spec 偏差会导致后续所有 Phase 2 实施基于错误前提:
- B1 不修则 Phase 2 多 channel 扩容方案错误 (msg_id 命名空间容量错算)
- B2 不修则 TPS186 baseline 数值校验失败 (带宽默认值 2× 偏差)
必须先冻结 spec 再实施。