作为一名验证工程师,大家深知 “出口准则”(Exit Criteria) 或 “签收清单”(Sign-off Checklist) 是确保芯片质量、决定项目能否如期进入下一阶段(如流片Tape-out)的生命线。它是一份量化的、可执行的、必须达成的质量承诺。
以下是一份非常详细和实用的数字芯片验证出口Checklist。它分为多个维度,每个团队可以根据具体项目情况在此模板上进行调整和加权。
数字芯片验证出口Checklist
项目名称: [Project_Aries]
芯片/模块: [SoC / DDR Subsystem]
验证层次: [Block / Subsystem / Chip Level]
Checklist 版本: [v1.0]
日期: [YYYY-MM-DD]
一、 验证计划与测试点完备性 (Test Plan & Testpoint Completion)
| 类别 | 检查项 | 状态 (Pass/NA/Waived) | 证据/说明 |
|---|---|---|---|
| 1.1 功能特性 | 所有核心功能测试点(TP_FUNC_xxx)已由定向测试覆盖并通过。 | 测试列表、仿真日志 | |
| 所有复杂场景、模式切换测试点已通过约束随机测试覆盖(需提供随机种子多样性报告)。 | 回归测试报告、种子列表 | ||
| 1.2 接口协议 | 所有主/从接口协议测试点(TP_IF_xxx)已通过SVA、Protocol VIP或Scoreboard检查,无违例。 | SVA/覆盖率报告、VIP日志 | |
| 1.3 异常错误 | 所有错误注入和异常处理测试点(TP_ERR_xxx)已执行,DUT的错误处理、状态上报、恢复机制正确。 | 错误注入测试报告 | |
| 1.4 性能效能 | 性能、带宽、延迟测试点(TP_PERF_xxx)已执行,结果符合架构Spec要求(附性能数据报告)。 | 性能分析报告 | |
| 1.5 低功耗 | 功耗相关测试点(TP_PWR_xxx)已在Power-Aware仿真环境中验证,电源状态转换、隔离、复位行为正确。 | UPF仿真日志、功耗分析报告 | |
| 1.6 计划更新 | 验证计划是动态文档,已根据验证过程中发现的新场景和 corner case 进行了更新和补充。 | 最新版验证计划文档 |
二、 验证环境与基础架构质量 (Testbench Quality)
| 类别 | 检查项 | 状态 (Pass/NA/Waived) | 证据/说明 |
|---|---|---|---|
| 2.1 环境架构 | 验证环境组件化、可配置、可重用(例如基于UVM)。Agent可配置为Active/Passive模式。 | 代码结构Review记录 | |
| 2.2 激励质量 | 激励生成策略(Sequence Library)已Review。约束随机约束有效,能生成边界和 corner case。 | Sequence代码Review记录 | |
| 2.3 参考模型 | Reference Model准确性已Review。 其功能与时序行为与设计Spec一致,并独立于RTL实现。 | 模型代码Review记录、交叉对比报告 | |
| 2.4 检查器 | Checker完备性已Review。 包括:SVA(实时协议检查)、Scoreboard(数据一致性检查)、End-to-End检查器(数据完整性检查)。 | Checker代码Review记录 | |
| 2.5 可调试性 | 环境提供良好的日志、事务记录、波形触发功能和失败自动dump机制,能快速定位问题。 | 示例错误日志、波形 |
三、 覆盖率收敛 (Coverage Closure)
| 覆盖率类型 | 目标值 | achieved | 状态 | 分析与豁免记录 |
|---|---|---|---|---|
| 3.1 代码覆盖率 | ||||
| 行覆盖 (Line) | > 99% | |||
| 条件覆盖 (Condition) | > 95% | 逐条分析未覆盖条件,确认是否为dead code或无效场景。 | ||
| 翻转覆盖 (Toggle) | > 90% | 确认所有关键信号端口均已翻转。 | ||
| FSM覆盖 | 100% | 所有状态和转换均已覆盖。 | ||
| 3.2 功能覆盖率 | ||||
| 功能覆盖点 | 100% | 分析未覆盖点,确认是否为无法构造或无需覆盖的场景。 | ||
| 交叉覆盖 | 100% (或指定目标) | 分析未覆盖交叉,确认其合理性。 | ||
| 3.3 断言覆盖率 | 100% | 所有SVA和Formal断言已证明或仿真覆盖。 |
四、 静态验证与形式验证 (Static & Formal Verification)
| 类别 | 检查项 | 状态 (Pass/NA/Waived) | 证据/说明 |
|---|---|---|---|
| 4.1 CDC验证 | 已使用专业工具(SpyGlass/VC LP)完成CDC验证,所有CDC路径已同步,无高风险问题(如glitch, reconvergence)。 | CDC清零报告 | |
| 4.2 Lint检查 | RTL代码Lint检查通过,所有致命和严重警告已清理或合理豁免。 | Lint清零报告 | |
| 4.3 形式验证 | 对适用模块(仲裁器、FSM、FIFO、协议检查)已完成形式验证,断言已证明,无违例。 | Formal证明报告 |
五、 缺陷管理与遗留问题关闭 (Defect & Waiver Management)
| 类别 | 检查项 | 状态 (Pass/NA/Waived) | 证据/说明 |
|---|---|---|---|
| 5.1 缺陷跟踪 | 所有缺陷均已录入跟踪系统(如JIRA),状态清晰。 | 缺陷管理系统链接 | |
| 5.2 缺陷关闭 | 所有致命(Fatal)、严重(Critical)缺陷已修复并回归验证通过。 | 关闭的缺陷单列表 | |
| 5.3 遗留问题 | 所有未修复的缺陷和未覆盖的覆盖率 Hole 均已走正式豁免流程。 | 豁免报告索引 | |
| → 每个豁免项都已进行根本原因分析。 | |||
| → 每个豁免项都已进行影响评估(功能、性能、风险概率)。 | |||
| → 每个豁免项都已获得专家评审团(验证、设计、架构、项目经理)的签字批准。 | 豁免评审会议纪要 |
六、 验收与签批 (Sign-off)
| 检查项 | 状态 | 签署人 | 日期 |
|---|---|---|---|
| 验证负责人确认: 所有验证活动已完成,质量符合预期,同意验证出口。 | [姓名] | ||
| 设计负责人确认: 认可验证结果及所有缺陷和豁免项的处理方式。 | [姓名] | ||
| 架构师确认: 认可验证计划已全面覆盖架构规格,性能达标。 | [姓名] | ||
| 项目经理确认: 批准验证阶段结束,同意进入下一阶段(Tape-out/集成)。 | [姓名] | ||
| 最终签收邮件已发送并归档。 |
使用指南与核心思想
“状态”栏:这是团队的质量晴雨表。任何一项不是“Pass”或“N/A”的状态,都必须有对应的、经过审批的“豁免报告”作为支撑。“证据/说明”栏:这是清单的基石。每一个“Pass”都必须有可追溯、可重现的证据链接(URL或文档编号),杜绝口头承诺。动态文档:此Checklist应在项目早期创建,并随着项目进展不断更新和评审,最终在Sign-off评审会上由所有负责人共同确认。集体责任:签收不是验证工程师一个人的事,而是整个项目团队(设计、架构、系统、管理)对芯片质量的共同背书。这份清单就是这份背书的书面契约。
此Checklist旨在系统化地引导团队完成高质量的数字芯片验证工作。祝您项目流片成功!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...



