一类是function phase,如build_phase、connect_phase等,这些phase都不耗费仿真时间,通过函数来实现; 另外一类是task phase,如run_phase等,它们耗费仿真时间,通过任务来实现。 给DUT施加激励、监测DUT的输出都是在这些phase中完成的。在图5-1中,灰色背景所示的是task phase,其他为function phase。 上述所有的phase都会...
5. run_phase:仿真执行的主要阶段,其中包含了其他众多可选的子阶段(pre/post sub-phases),如pre_driver_run_phase、driver_run_phase、post_driver_run_phase等等,具体取决于验证环境的需求。 6. extract_phase:用于收集模拟过程中的数据和结果,比如从监控器(monitors)提取事务数据。 7. check_phase:在此阶段执...
包含build_phase()、connect_phase()、end_of_elaboartion_phase()、start_of_simulation_phase()、extract_phase()、check_phase()、report_phase()、final_phase(); 不耗时的几个 phase 在 uvm_tree 中是从上往下执行的,比如说 build_phase,这个 phase 主要用来实例化各个组件环境,理论上为了 uvm_tree 的...
uvm_report_info(get_full_name(),"Extract", UVM_LOW);endfunctionfunctionvoidcheck_phase(uvm_phase phase); uvm_report_info(get_full_name(),"Check", UVM_LOW);endfunctionfunctionvoidreport_phase(uvm_phase phase); uvm_report_info(get_full_name(),"Report", UVM_LOW);endfunctionfunctionvoidfina...
,它们是 new phase(对一个合格的 tb 来说,new phase 是被 ovm root component 在执行 run_test()的时候通过 factory 机制调用的,也就是通过静态函数 create 调用的)、build phase、connect phase、end_of_elaboration phase、 start_of_simulation phase、run phase、extract phase、check phase、report phase。
• 接下来在开始仿真之前,会分别执行硬件的always/initial语句,以及UVM的调用测试方法run_test和几个phase,分别是build、 connect、end_of_elaboratio和start_of_simulation。 • 在开始仿真后,将会执行run_phase或者对应的12个细分phase。 • 在仿真结束后, 将会执行剩余的phase,分别是extract,check,report和fi...
1 task phase与function phase UVM中的phase,按照其是否消耗仿真时间($time打印出的时间)的特性,可以分成两大类, 一类是function phase,如build_phase、connect_phase等,这些phase都不耗费仿真时间,通过函数来实现; 另外一类是task phase,如run_phase等,它们耗费仿真时间,通过任务来实现。
可以在component组件的每个phase加上一个使能信号决定该组件是否跳过该phase的执行。比如某个component的check_phase有一些比较操作,但是在一些...
自上而下(top-down) function phase:build和final phase。 自下而上(bottom-up)f unction phase: connect, end_of_elaboration,start_of_simulation, extract, check, report。 task phase: run_phase以及其他12个小phase: pre_reset, reset_phase, post_reset, pre_configure, configure, post_configure, ...
check check phase用来检查DUT的行为是否正确,并检查在testbench运行期间可能发生的任何错误。这个phase通常在analysis组件中使用。 report report phase用于打印仿真结果或是将结果写入文件中。这个phase通常在analysis组件中使用。 final final phase可以用于完成testbench尚未完成的任何未完成的操作。