1、指定测试用例(一般一个用例就是一个类派生于uvm_test_base) +UVM_TESTNAME=例如+UVM_TESTNAME=my_case0 2、设置打印(`uvm_info)在命令行中设置冗余度阈值 +UVM_VERBOSITY=例如:+UVM_VERBOSITY=UVM_HIGH UVM预先定义了六个详细程度; UVM_NONE到UVM_DEBUG。这些级别只不过是整数枚举值 如果我们不指定任何冗...
这个函数第一个参数是uvm_sequencer_base类型的参数,将tar_sqr作为实参传递进去,其实是一个父类句柄指向子类的对象的过程。注意函数体里直接调用了set_item_context,这个函数其实是uvm_sequence_base的基类uvm_sequence_item的函数: 这个函数有两个参数,第二个参数为设置传递的实参tar_sqr,注意这里会调用set_sequencer...
uvm_info是一个带参数的宏,包含3个部分:ID(标示信息)、MSG(调试信息)、啰嗦程度。ID并非唯一,可为多条语句指定相同ID。MSG为打印信息,可直接指定或通过$sformat产生格式化字符串。啰嗦程度通过枚举类型指定,决定信息是否被屏蔽。通过uvm_report_enabled函数计算信息的啰嗦程度与系统容忍等级进行比较...
UVM_ERROR代表出现严重错误,需要立即暂停仿真并进行处理。而UVM_FATAL则表示仿真已经无法继续进行,需要立即终止。这四个信息严重性等级可以通过`uvm_info`语句重载,并可以使用`$sformatf()`系统函数打印带参数的字符串。不同的等级可以在仿真过程中设置不同的冗余度级别,当达到一定数量时,仿真会结束。
driver中还出现了uvm_info宏(除此之外还有uvm_error宏和uvm_warning宏),它有三个参数,第一个参数是字符串,用于打印的信息归类;第二个参数也是字符串,是具体需要打印的信息;第三个参数是冗余级别,表示这个命令的紧急程度。针对第三点,在验证平台中,某些信息是非常关键的,这样的信息可以设置为UVM_LOW,而有些信息...
目录 一、代码常用缩写: 二、简单的UVM平台 验证平台四大部件: driver: scoreboard记分板: monitor: reference model参考模型: ·所有派生自uvm_driver的类的new函数有两个参数: main_phase: uvm_info宏: 工厂机制: run_test: objection机制: config_db机制: build_phas... ...
上述代码中还出现了uvm_info宏。这个宏的功能与Verilog中display语句的功能类似,但是它比display语句更加强大。它有三个参数: 第一个参数是字符串,用于把打印的信息归类; 第二个参数也是字符串,是具体需要打印的信息; 第三个参数则是冗余级别。 在验证平台中,某些信息是非常关键的,这样的信息可以设置为UVM_LOW,而...
uvm_info(get_type_name(), $sformatf("Building agent with name: %0s", agent_name), UVM_LOW); endfunction endclass 注意:在实际UVM环境中,你可能不会直接将agent_name作为一个单独的字段,因为UVM组件已经有一个名字。这里只是为了演示如何传递参数。 2、实例化带参数的UVM组件 在测试类或环境中,你可...
UVM默认有四种信息的严重性:UVM_INFO,UVM_WARNING,UVM_ERROR,UVM_FATAL。这四种严重性可以互相重载,即可以把一个component里的UVM_WARNING 显示为UVM_ERROR。 19:UVM_FATAL会自动结束仿真,也可以设置当UVM_ERROR达到一定数量后结束仿真,而且还可以设置计数目标,即也可以把UVM_WARNING当作计数目标。 20: UVM的断点...