System verilog 返回十六进制值的UVM_信息

System verilog 返回十六进制值的UVM_信息,system-verilog,modelsim,uvm,System Verilog,Modelsim,Uvm,我使用此命令打印Questasim中事务类的内容: `uvm_info("VALUES", tx.sprint(), UVM_LOW) 我的事务有一个变量ans。问题是它是以十六进制而不是十进制打印的 它表明: ans integral 8'h1c 如何使其显示为: ans integral 8 'd28 注册UVM类时,需要启用UVM_DEC标志: `uvm_object_utils_begin(your_class) `uvm_field_int(ans, UVM

我使用此命令打印Questasim中事务类的内容:

`uvm_info("VALUES", tx.sprint(), UVM_LOW)
我的事务有一个变量
ans
。问题是它是以十六进制而不是十进制打印的

它表明:

ans integral 8'h1c

如何使其显示为:

ans  integral        8     'd28

注册UVM类时,需要启用UVM_DEC标志:

`uvm_object_utils_begin(your_class)
`uvm_field_int(ans, UVM_ALL_ON | UVM_DEC)
`uvm_object_utils_end

由于uvm_field_宏的效率低下,最好覆盖convert2string()方法,并根据需要指定格式。

这是一个小问题。。有时它只显示12,而不是'd12'。像这样,大多数情况下,对于大于7的所有数字。