关于宏`uvm_info和$display的区别
1、$display
$display可以直接打印一条文本信息,并在每一次$display执行后会自动换行,比如:
`timescale 1ns/1ns
module test_tb();
initial begin
$display("I am display1");
$display("I am display2");
end
endmodule
打印结果:
I am display1
I am display2
2、`uvm_info
`uvm_info的功能与$display语句的功能相似,但比display更加灵活,以下是`uvm_info的格式:
`uvm_info("A","I am uvm_info",UVM_LOW)
`uvm_info有以下三种格式:
- `uvm_info("TRACE",$sformatf("%m"),UVM_HIGH)
- `uvm_info("TRACE",$sformatf("port_id value of %0d",port_id),UVM_HIGH)
- `uvm_info("TRACE",{"\n",req.sprint()},UVM_HIGH)
第一个参数是字符串,用于把打印的信息归类。第二个参数也是字符串,是具体需要打印的信息,第三个参数则是冗余级别。冗余级别为UVM_LOW,表示信息非常关键,冗余级别为UVM_HIGH,表示信息可有可无,UVM_MEDIUM介于这两者之间。