目录 收起 phase相关概念 +UVM_PHASE_TRACE 仿真选项 uvm环境通过uvm_phase机制控制仿真过程中各个阶段的执行和调度。默认的phase满足用户的基本使用需求,如果需要对phase进行扩展,可以借助uvm提供的仿真选项来调试该操作遇到的问题。 phase相关概念 uvm_phase是phase机制的基础,包含phase相关的状态、执行、调度、同步...
一类是function phase,如build_phase、connect_phase等,这些phase都不耗费仿真时间,通过函数来实现; 另外一类是task phase,如run_phase等,它们耗费仿真时间,通过任务来实现。 给DUT施加激励、监测DUT的输出都是在这些phase中完成的。在图5-1中,灰色背景所示的是task phase,其他为function phase。 上述所有的phase都会...
文件:src/ch5/section5.1/5.1.1/my_case0.sv4 class my_case0 extends base_test;5 string tID = get_type_name();…11 virtual function void build_phase(uvm_phase phase);12 super.build_phase(phase);13 uvm_info(tID, "build_phase is executed", UVM_LOW)14 endfunction15 …26 virtual funct...
不能跳转到build到start_of_function的function phase, 也不能跳转到run_phase. 从pre_reset_phase后的所有phase都可以作为jump()的参数。 除了向前跳转,也可向后跳转。除了向run-time phase跳转,甚至可以向final_phase等function phase跳转。 phase的调试 在命令行加UVM_PHASE_TRACE,可以将进入和退出个phase的信息...
+UVM_PHASE_TRACE:打开Phase执行的追踪功能,可以看到不同phase的执行顺序。 +UVM_OBJECTION_TRACE:打开Objection相关活动的追踪功能,可以清晰地呈现出objection在运行中的状态。 +UVM_VERBOSITY:设置打印信息的冗余程度,有效地控制不同重要性信息的打印和屏蔽。
+UVM_PHASE_TRACE:打开Phase执行的追踪功能,可以看到不同phase的执行顺序。 +UVM_OBJECTION_TRACE:打开Objection相关活动的追踪功能,可以清晰地呈现出objection在运行中的状态。 +UVM_VERBOSITY:设置打印信息的冗余程度,有效地控制不同重要性信息的...
UVM会根据 objection 机制来安排所有组件phase执行顺序,UVM会检查是否有objection被提起(raise_objection),如果有,那么会继续这个objection run_phase 直到仿真结束;如果没有,则马上结束当前phase。 2.3. phase的调试 <sim command> +UVM_PHASE_TRACE 2.4. demo -- 平台的运行 ...
(10)<sim command> +UVM_PHASE_TRACE:对phase进行调制。 (11)uvm_top.set_timeout(500ns, 0):设置超时时间,第二个参数表示此设置是否可以被其后的其他set_timeout语句覆盖。 默认的超时退出时间: `define UVM_DEFAULT_TIMEOUT 9200s <sim command> +UVM_TIMEOUT="300ns, YES" ...
当发现所有已经撤销后,那么就会关闭此phase,开始进入下一个phase。 一个phase对应一个drain_time,并不是所有的phase共享一个drain_time。在没有设置的情况下,drain_time的默认值为0。 6、phase、objection的调试 1、simv参数UVM命令行参数UVM_PHASE_TRACE ...
UVM:5.1.9 phase的调试 1.每次用uvm_info太麻烦,使用命令行调试: <sim command> +UVM_PHASE_TRACE 2.输出: