phase

返回知识网络总入口 · 运行与激励

核心结论

phase 统一组织创建、连接、运行和检查。function phase 不耗时,task phase 可耗时,结束由阶段控制与 objection 决定。

关键机制

  • 常见顺序:build → connect → end_of_elaboration → start_of_simulation → 运行 → extract → check → report → final。
  • build 自顶向下,其他常见 function phase 自底向上,不依赖兄弟组件先后。
  • run_phase 与 reset/configure/main/shutdown 等12个运行阶段组成的 schedule 并行,不是 run 完才 main。
  • 同一 task phase 的组件任务并发,结束时未完成任务可能被终止。
  • +UVM_PHASE_TRACE 与 timeout 用于定位阶段停滞。

小例子或流程

build:配置与建树
connect:端口连接
run与run-time schedule:驱动、观测、场景并发
extract/check/report:收集、检查遗漏、报告

易错点

  • forever 或延时不保证 phase 保持运行。
  • 保留用户父类必要逻辑,不机械假定所有 super.phase 实现相同。
  • 原文5.1.5标注“未理解,待复习,先跳过”,此卡保留待复习状态,不将内部细节视为已确认。

关联知识

原文出处与已有面试题