1. 引言:EDA 运维中的“问题闭环”
在复杂的集成电路设计流程中,EDA 工具的稳定性与功能演进是项目成功的基石。无论是模拟设计工程师遇到的仿真收敛问题,还是数字后端团队面临的绕线器异常,如何高效地将这些反馈转化为 R&D 的代码修复,是每个 CAD/IT 经理关注的核心。
很多用户对 Cadence 的支持术语经常感到困惑:什么是 SR?为什么 SR 变成了 CCR?以前的 PCR 去哪了?本文将基于 Cadence 官方文档,深入解析其产品变更请求(CCR)的管理流程。
2. 核心术语辨析:PCR, CCR 与 SR
在与 Cadence 支持团队互动的过程中,理清以下概念至关重要:
2.1 Service Request (SR) - 服务请求
这是用户与 Cadence 支持体系的第一触点。
- 定义:当用户遇到问题、有疑问或需要增强功能时,在 Cadence Online Support (COS) 门户提交的 Case。
- 所有者:由 Cadence 应用工程师(AE)负责跟进。
- 生命周期:从用户提交开始,直到 AE 提供解决方案或确认问题已转交开发团队为止。
2.2 Cadence Change Request (CCR) - 变更请求
这是连接支持团队与研发团队(R&D)的桥梁。
- 定义:全称为 Cadence Change Request。当 AE 确认用户的 SR 是一个软件缺陷(Bug)或合理的功能增强(Enhancement)时,会在 Cadence 内部变更管理系统(CCMS)中创建一个 CCR。
- 旧称:PCR (Product Change Request)。虽然很多资深工程师仍习惯称之为 PCR,但 Cadence 官方现已统一术语为 CCR。两者在本质上是同一个东西。
- 所有者:由 Cadence R&D 团队负责。
关键区别:SR 是面向客户的沟通窗口,而 CCR 是面向研发的执行工单。一个 CCR 可能关联多个来自不同客户的 SR。
3. 问题解决全流程 (Workflow)
从发现问题到最终修复,一个标准的 Cadence 支持工单通常经历以下流转:
-
自助排查 (Self-Service): 用户访问 Cadence Online Support 搜索知识库。Cadence 拥有庞大的 Article 和 Rapid Adoption Kit (RAK) 库,约 70% 的常见问题可确实在此找到答案。
-
提交 Case (Case Submission): 若自助服务未解决,用户提交 SR。此时应提供详尽的复现步骤、日志文件(log file)和环境描述(OS version, Tool version)。
-
AE 分析 (AE Analysis): AE 接手 Case,尝试复现问题。这一步至关重要,无法复现通常意味着无法修复。AE 可能会要求 Testcase 或通过远程会议(WebEx)进行调试。
-
CCR 创建 (CCR Initiation): 一旦确认为产品 Bug 或增强需求,AE 创建 CCR #id 并将其连接到用户的 SR。此时,用户可以在 COS 门户中看到该 CCR 的状态。
-
R&D 修复 (Resolution): R&D 根据优先级安排修复。修复代码合入主分支后,会随着下一个 Hotfix 或 Base Release 发布。
4. 优先级与紧急程度清单
并非所有的 CCR 都会被立即修复。Cadence 采用严重等级(Severity)和紧急程度(Urgency)的双维矩阵来管理研发资源。
4.1 严重等级 (Severity)
| 等级 | 定义 | 典型处理方式 |
|---|---|---|
| S0 (Fatal) | 致命错误,且无变通方案(Workaround)。生产流程完全中断。 | R&D 立即响应,Case 保持开启直到修复。 |
| S1 (Major) | 严重错误,通过变通方案可勉强继续。生产受限。 | Case 保持开启直到修复发布。 |
| S2 (Minor) | 次要错误或功能增强建议。 | Case 通常在 CCR 建立后关闭,作为积压需求(Backlog)管理。 |
4.2 紧急程度 (Urgency)
- U - Urgent (紧急):用于“Tape-out blocking”的关键问题。当系统宕机导致流片停滞,或现有 Workaround 极度耗时且容易出错时使用。
- D - Default (默认):适用于常规维护和非阻塞性问题。
最佳实践:如果你的项目正处于 Tape-out 的关键节点,务必在 SR 中明确告知 AE 项目的时间表和该 BUG 造成的具体商业影响(如“导致流片延迟 1 周”),这有助于 AE 向 R&D 申请更高的 Urgency。
5. 为什么关注 CCR?
对于 IC 设计 CAD 团队,建立基于 CCR 的追踪机制非常有益:
- 环境稳定性:通过定期 Review 核心工具(如 Virtuoso, Innovus)的已解决 CCR 列表,决定是否进行版本升级(Roll out new hotfix)。
- 自动化流程:很多 CCR 实际上是用户请求的 API 增强。关注这些变更可以优化内部的自动化脚本(SKILL/Tcl)。
- 预期管理:知晓某个 Bug 已被立项(CCR Created)和计划修复版本(Planned Release),可以帮助设计团队合理安排项目进度,避免无谓的调试等待。