今天记录下uvm tree的源码分析,以及uvm tree是如何组织出来的。
首先来看下uvm_component的new函数。
uvm_root是uvm tree的顶点,而通过这段代码,uvm_root在被create时,就被配置为uvm tree的顶点了。具体实现过程稍后分析。
这段代码具体作用尚不清楚,从注释上看,似乎是在uvm_component被create时,check当前的phase不是处于end_of_elaboration phase中。
1740~1745行代码,由于UVM平台构建的uvm tree中,仅希望uvm_root有一个子节点,所以要加上这里的check语句,当check到当前的component期望uvm_root为父节点且uvm_root已经有一个子节点时,则报出uvm_fatal。
1747~1750行代码,当前的compont与parent的子节点中某一handle重名时,则报出uvm_fatal。
1754行代