1-uvm_root,uvm_top,uvm_test_top
上高速免费下高速过了免费时间
1-uvm_root,uvm_top,uvm_test_top简述组织结构层级化的优点
参考资料
(1)
1.UVM的根-uvm_root or uvm_test_top?
(1) uvm_test_top实例化时的名字是uvm_test_top,这个名字是由UVM在run_test时⾃动指定的;
(2) uvm_top的名字是_top_,但是在显⽰路径时,并不会显⽰这个名字,⽽只显⽰从uvm_test_top开始的路径;
2. uvm_root(类)
(1) uvm_root本质是uvm_component;
(2) uvm_root的存在是为了保证验证平台只有⼀棵树(uvm_root是单实例类,整个UVM验证平台中,有且只有uvm_root的⼀个实例存在),并且发挥着phase controller的作⽤,管理所有component的phase.
(3) 任何没有指定parent的component,默认其parent是uvm_top(全局变量, uvm_root的⼀个实例).
(4) uvm_component的两⼤机制(树形组织结构和phase机制)都离不开uvm_root;
3. uvm_top(uvm_root类的句柄)及常⽤函数
(1) UVM中真正的树根,任何组件实例都在它之下(如果组件的parent为null,那么该组件为uvm_top的⼦组件);
(2) uvm_top是⼀个全局变量,是uvm_root的⼀个实例,也是uvm_root唯⼀的实例.
(3) uvm_top的名字是_top_,但是在显⽰路径时,并不会显⽰这个名字,⽽只显⽰从uvm_test_top开始的路径.
(4) uvm_top.find及⽰例;
uvm_component comp;
comp=uvm_top.find(“*.axi_agt”);
校园恋爱动漫注1:其中*表⽰匹配任意字符;?表⽰匹配⼀个字符;+表⽰匹配⼀个或多个字符;
(5) uvm_top.find_all及⽰例;
uvm_component comps[$];
犯罪片
uvm_top.find_all("*.axi_?",comps);
foreach(comps[i]) begin
  comps[i].print();
end
4. uvm_test_top
(1) 通过run_test语句创建的实例的名字为uvm_test_top.⽆论传递给run_test的参数是什么,创建的实例的名字都为uvm_test_top.
(2) uvm_test_top的parent是uvm_top,⽽uvm_top的parent是null.
(3) UVM中,⽀持uvm_top下有多个叶⼦节点,但是,多个叶⼦节点不能都叫uvm_test_top,如下所⽰.
5.uvm双顶层
馔怎么读
dnf召唤详见;
问题:双顶层中的另外⼀个顶层是怎么跑起来的?

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。