Chpater 19 UVM Reporting
19.1 UVM Report Macro
测试平台在运行过程中,会产生大量数据和信息。这些信息需要筛选之后,才能呈献给我们,否则我们无法处理海量的信息。UVM提供Report来解决这个问题,通过uvm_report的宏,将需要打印的信息分级,并且我们可以在end_of_elaboration_phase()中控制输出。
- UVM提供四种不同打印等级的report macro:
- `uvm_info(<message ID string>,<message string>,<verbosity>)
- `uvm_warning(<message ID string>,<message string>)
- `uvm_error(<message ID string>,<message string>)
- `uvm_fatal(<message ID string>,<message string>)
在介绍各个宏之前,我们先看一个scoreboard中的例子:
data_str = $sformatf(" %2h %0s %2h = %4h (%4h predicted)",
cmd.A, cmd.op.name() ,cmd.B, t, predicted_result);
if (predicted_result != t)
`uvm_error