IC 验证周报|2026 年第 40 周

信息覆盖范围

  • 时间范围:2026-09-28 00:00 至 2026-10-04 23:59(北京时间,ISO 2026 年第 40 周)。
  • 收录原则:仅收录覆盖期内合入官方上游主线、能从原始页面核对时间且与数字 IC 验证直接相关的内容。
  • 事实边界:本期条目均为开发主线提交,不等同于稳定版本发布;工程落地建议均为编辑判断。

本周速览

本周没有值得单独收录的标准发布,开源验证工具与项目主线则出现了几项贴近日常回归的问题修复。Verilator 修复了可挂起进程中的 nonblocking event trigger 不触发,以及命令行覆盖率报告与运行时查询结果不一致的问题;cocotb 修正 @bridge / @resume 跨线程协程在测试结束时的取消传播;Caliptra SS 增加 UART 环回冒烟测试,并大批量整合 USB 验证资产。共同信号是:验证基础设施的可靠性不仅取决于激励和 checker,也取决于调度语义、覆盖率口径、测试退出清理和回归清单的可维护性。

标准与方法学

本周暂无值得单独收录的更新。

工具与开源项目

Verilator 修复可挂起进程中的 NBA 事件触发

已确认事实(合入时间:2026-09-30,北京时间):Verilator 官方仓库提交 68439fb 修复了可挂起进程中 nonblocking event trigger 不触发的问题,并同时加入 timing 与 no-timing 回归用例。该修改已进入 master,但本期未发现包含它的稳定版发布。

编辑判断:依赖 ->>、事件等待、协程挂起与同一时间槽调度的环境,应把最小复现纳入跨仿真器语义回归。检查点应包含事件是否唤醒、唤醒所在时间槽以及后续 NBA 更新顺序,而不只是测试最终是否通过。

Verilator 对齐两种覆盖率观察口径

已确认事实(合入时间:2026-09-30,北京时间):Verilator 官方仓库提交 21bae44 修复 verilator_coverage 报告与 get_coverage() 结果不一致的问题;变更涉及 covergroup 数据结构、命令行报告以及多项覆盖率回归测试。

编辑判断:自动化覆盖率门禁应固定统计入口和分母定义。若流水线一边读取命令行报告、一边在仿真中调用运行时 API,升级后应在同一数据库上并排比对总点数、命中点数和百分比,避免“工具修复后门禁数字跳变”被误判为设计覆盖率退化。

cocotb 修正桥接线程的取消传播

已确认事实(合入时间:2026-10-01,北京时间):cocotb 官方仓库提交 58bff2f 对 @resume 包装任务显式处理并重新抛出 CancelledError。项目说明指出,旧行为会在测试结束而 @bridge 线程仍等待时,把取消异常吞掉,继而以“任务已取消但正常退出”导致测试失败;提交同时增加了对应回归测试。

编辑判断:混用仿真调度线程、Python 后台线程与长生命周期协程的 cocotb 环境,应该专门测试“正常结束时仍有等待任务”的清理路径。升级主线前可先记录当前假失败特征;正式版本包含该修复后,再确认真实异常没有被取消清理逻辑掩盖。

工程实践

Caliptra SS 将 UART 环回纳入分层回归

已确认事实(合入时间:2026-10-01,北京时间):CHIPS Alliance 的 Caliptra SS 官方仓库提交 df8b20b 新增 MCU UART loopback smoketest,并把该定向测试加入 L0 Promote、L1 Nightly Directed 与 L1 Nightly Directed Strict 回归列表。

编辑判断:这是一种值得复用的外设验收结构:用短小的环回用例覆盖寄存器配置、发送、接收与数据一致性,再把同一测试逐层加入提交门禁和夜间严格回归。团队还应明确每层的超时、重试和失败归属,防止同一用例仅被重复执行而没有形成不同强度的门禁。

USB 验证资产批量迁移暴露“可编译”与“已收录”的差异

已确认事实(合入时间:2026-10-02,北京时间):Caliptra SS 官方仓库提交 0e54cdd 批量整合 NXP USB DV 资产,包括测试套件、UVM sequences/tests、checker、驱动与回归列表。提交说明也明确记录了仍待协调的 C API、地址映射和部分测试编译问题;因此,这不是“全部 USB 回归已验证通过”的声明。

编辑判断:迁移大型验证环境时,应分别追踪“文件已进入主线”“能编译”“能运行”“结果可信”“已进入门禁”五种状态。把尚未完成 API 与地址映射协调的测试提前加入列表,若没有显式 waiver 和负责人,会放大夜间回归噪声;Caliptra SS 提交中保留的 RECONCILE 记录可作为迁移清单写法的参考,同时也提醒团队不要把资产数量等同于验证成熟度。

行业与岗位动态

本周暂无值得单独收录的更新。

本周推荐

推荐阅读 cocotb 的 取消传播修复提交。它把一个容易被当作随机回归失败的问题,拆成明确的线程唤醒、异常传递和任务终态,并用三组回归场景锁定行为。即使团队不使用 cocotb,这种为“测试结束时仍有后台活动”设计负向清理用例的方法,也适用于 UVM objection、DPI 工作线程和外部协同仿真进程。

来源与说明

本期采用 5 个一手来源页面,均为覆盖期内合入官方仓库主线的提交:

  1. Verilator:修复可挂起进程中的 nonblocking event trigger(合入时间:2026-09-30,北京时间;开发主线)。
  2. Verilator:对齐 verilator_coverage 与 get_coverage()(合入时间:2026-09-30,北京时间;开发主线)。
  3. cocotb:重新抛出 @resume 包装任务的 CancelledError(合入时间:2026-10-01,北京时间;开发主线)。
  4. Caliptra SS:新增 UART loopback smoketest(合入时间:2026-10-01,北京时间;开发主线)。
  5. Caliptra SS:批量整合 USB DV 资产(合入时间:2026-10-02,北京时间;开发主线)。

本期没有发现覆盖期内值得单独收录的标准发布、稳定工具版本或可靠岗位动态。上述变更均可能在后续稳定版本前继续调整;生产环境采用前应锁定提交、阅读后续 release notes,并在隔离回归中验证。