uvm启动过程及phase机制实现原理介绍

我们通常会在top写下类似下面的代码

module top();
    import uvm_pkg::*;
 
    ......
    initial begin
         run_test();
    end
    ......
endmoudle

我们写的这个run_test()就是整个UVM验证平台最顶层的入口。这里的run_test()不是任何一个类的成员,而是一个global task,位于uvm_globals.svh中。如下:

Caption

在这个global的run_test task中,通过cs.get_root创建了uvm_root单例,然后调用了uvm_root的的run_test task。在uvm_root的run_test task中,根据plus args UVM_TESTNAME创建了uvm_test_top对象,如下:

Caption

然后,还是在uvm_root的run_test task中,调用了uvm_phase的一个static task m_run_phases, 开始了uvm phases的启动,如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值