sequence生命周期与宏

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

核心结论

显式 start 常见顺序为 pre_start → pre_body → body → post_body → post_start;宏封装创建、随机化与发送,要区分 item 与子 sequence。

关键机制

  • call_pre_post 控制 pre_body/post_body,pre_start/post_start 仍为启动包装。
  • 宏启动子 sequence 可能跳过 pre_body/post_body,不把全局必要收尾只放其中。
  • pre_do/mid_do/post_do 是父 sequence 的发送钩子,与 pre_body 不同。
  • uvm_create 创建,uvm_send 不重新随机化,uvm_rand_send 加随机化,uvm_do_with 加约束。

小例子或流程

item:uvm_do ≈ create → start_item → randomize → finish_item
子sequence:创建/随机化 → start(带父sequence上下文)

卡住时展开宏,区分授权等待、item完成等待和子场景执行。

易错点

  • 不能把所有宏都解释成同一套四行代码。
  • pre_body 不是父 sequence 的 pre_do。
  • starting_phase 直接访问方式有教材版本背景。

关联知识

原文出处与已有面试题