我有嵌套结构定义如下:
struct some_struct {
some_field : uint;
some_struct_field : some_other_struct;
some_other_field : uint;
};
struct some_other_struct {
some_field : uint;
some_other_field : uint;
};
当我使用以下方法打印some_struct的实例时:
extend sys {
run() is also {
var some_struct : some_struct;
gen some_struct;
print some_struct;
};
};
我得到以下信息:
some_struct = some_struct-@1: some_struct of unit: sys
---------------------------------------------- @test
0 some_field: 3435783455
1 some_struct_field: some_other_struct-@2
2 some_other_field: 2907638895
我想查看some_struct_field的详细显示,这将显示其子字段。就像是:
some_struct = some_struct-@1: some_struct of unit: sys
---------------------------------------------- @test
0 some_field: 3435783455
1 some_struct_field: some_other_struct-@2
0 some_field: 1753518447
1 some_other_field: 1744092907
2 some_other_field: 2907638895
我试过使用print ... full=TRUE,但这也无济于事。我找不到此行为的任何配置旋钮。
字段是否具有任何类型的属性来自定义它们的打印方式(例如在 UVM/SV 字段宏中)?
我知道有一个do_print()方法在打印时被调用,我可以使用它来自定义显示的文本,但我不知道如何在不重新实现整个打印例程的情况下使用它。如果有一种方法可以捕获构建的文本,我可以使用它。
有人可以帮我吗?