shutdown_phase(); post_shutdown_phase(); end join UVM提供了如此多的phase,在一般的应用中,无论是function phase还是task phase都不会将它们全部用上。使用频率最高的是build_phase、connect_phase和main_phase。 这么多phase除了方便验证人员将不同的代码写在不同的phase外,还有利于其他验证方法学向UVM迁移。
build_phase在new函数之后main_phase之前执行。 c.加入super.build_phase语句, 因为在其父类的build_phase中执行了一些必要的操作, 这里必须显式地调用并执行它。 d. build_phase与main_phase不同的一点在于, build_phase是一个函数phase, 而main_phase是一个任务phase, build_phase是不消耗仿真时间的。 e.uvm_...
extract phase用于从scoreboard和functional coverage monitor中检索和处理信息。包括计算report phase所使用的统计信息。通常会在analysis组件中使用这个phase。 check check phase用来检查DUT的行为是否正确,并检查在testbench运行期间可能发生的任何错误。这个phase通常在analysis组件中使用。 report report phase用于打印仿真结果...
uvm_phase类中核心方法 phase同步 synchronization phase objection机制 uvm平台至少有一个objection机制,存在raise_objection和drop_objection testbench中写forever是不会形成死循环的,使用objection机制跳出执行的phase sequence-->driver-->dut-->monitor-->scoreboard,会有延时,数据从数据产生到进行比较会有延时,如果发送...
在scoreboard中定义的端口,跟monitor相连监测数据,还有一端和out数据相连。在build_phase中,端口也要做例化。 uvm_env 从验证环境的结构而言,uvm_env可能包含多个uvm_agent和其它component。这些不同的组件共同构成一个完整的验证环境,而这个环境在将来复用中可以作为子环境被进一步集成到更高的环境中。
extract phase用于从scoreboard和functional coverage monitor中检索和处理信息。包括计算report phase所使用的统计信息。通常会在analysis组件中使用这个phase。 check check phase用来检查DUT的行为是否正确,并检查在testbench运行期间可能发生的任何错误。这个phase通常在analysis组件中使用。
在reset_phase对DUT进行复位、初始化等操作, 在configure_phase则进行DUT的配置, DUT的运行主要在main_phase完成, shutdown_phase则是做一些与DUT断电相关的操作。 通过细分实现对DUT更加精确的控制。假设要在运行过程中对DUT进行一次复位(reset)操作,在没有这些细分的phase之前,这种操作要在scoreboard、reference model...
41 endfunction: report_info_hook 42 43 function wb_conmax_scoreboard::new(string name = "wb_conmax_scoreboard", 44 uvm_component parent); 45 super.new(name,parent); 46 endfunction: new 47 48 function void wb_conmax_scoreboard::build_phase(uvm_phase phase); ...
uvm_env没有定义新的函数,使用时一般是在build_phase配置自身以及其下的uvm_agent uvm_driveruvm_monitor的相关参数 uvm_scoreboard没有定义新的函数,使用时一般是在build_phase配置相关参数,run_phase或者main_phase对不同端口数据进行比较检查,报告错误状态,另外在check_phase也可以对最终仿真结束后的状态进行检查,报...
但是,有种场景可能比较使用于使用phase跳转,比如DUT的复位测试(Reset Testing)。复位测试是任何一个芯片功能验证合格的一个关键要素。整个验证环境的架构组件都需要能够正确同步,以了解复位条件。Scoreboard、driver和monitor需要被恢复至初始化状态,复杂刺激的生成也需要正确的停止,防止出现不必要的数据占用资源等情况。