1.3 phase的理解
对于UVM中的component , phase的理解 才能正确使用各个组件。
build phase 主要 完成 组件内各个子组件的创建 ;
connect phase 主要完成 该组件与外部组件的连接;
无时钟消耗的phase: build phase , connect phase , before simulation
在 sequence raise_objection 某一个 sequencer 后, 在各个组件的main_phase 产生时钟消耗。
关于 main_phase 的流水线设计 :
这里 需要知道 UVM各个组件是长久活动的, 在各个组件main_phase 中也需要 设计成 RTL流水线形式:
在main_phase 采用 fork 。。。jion 来 保证先进行具体活动的实行 ; 采用 forever @posedge(clk) 来进行流水线设计 (等同于 RTL 设计的 always@(posedge clk ))
在 sequence drop objection 来关闭 。