首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用UVM实用函数打印整个队列/数组?

如何使用UVM实用函数打印整个队列/数组?
EN

Stack Overflow用户
提问于 2014-02-12 02:34:03
回答 1查看 10.7K关注 0票数 2

对于使用`uvm_field_queue_int实用程序宏的UVM对象,在调用my_object.print()时,UVM不会打印出整个队列

代码语言:javascript
运行
复制
# -----------------------------------------
# Name Type Size Value
# -----------------------------------------
# my_object my_object - @443
# data_q da(integral) 16 -
# [0] integral 32 'h203f922b
# [1] integral 32 'he4b3cd56
# [2] integral 32 'hd7477801
# [3] integral 32 'h3a55c481
# [4] integral 32 'h2abf98c4
# ... ... ... ...
# [11] integral 32 'hac0d672b
# [12] integral 32 'h3ba2cb5d
# [13] integral 32 'hbe924197
# [14] integral 32 'h3cc6d490
# [15] integral 32 'h69ae79da
# -----------------------------------------

让UVM打印整个队列的最好方法是什么?

EDA Playground上的示例代码:http://www.edaplayground.com/x/rS

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-12 04:45:51

完全归功于这个论坛帖子:http://forums.accellera.org/topic/1002-uvm-print-with-array-objects/

UVM print()接受uvm_printer参数。创建一个新的uvm_table_printer对象(uvm_printer的子对象),更改它的knobs值,然后将其传递给print()方法。

代码语言:javascript
运行
复制
uvm_table_printer printer;
my_uvm_object m;

// ...

printer = new();
m = my_uvm_object::type_id::create("my_uvm_object");

printer.knobs.begin_elements = -1; // this indicates to print all
m.print(printer);

//Optionally you can specify numbers for begin/end
printer.knobs.begin_elements = 10; // prints the first 10; default: 5
printer.knobs.end_elements = 2; // also print the last 2; default: 5
m.print(printer);

当您希望通过重写do_print()方法来使特定uvm_object中的可伸缩性可扩展时,这很有用。

或者,如果更改是全局的,则会在根目录下自动创建一个名为uvm_default_printer的默认打印机。更改此打印机的旋钮值将使用默认设置更改所有打印机的打印行为。

代码语言:javascript
运行
复制
uvm_default_printer.knobs.begin_elements=-1; // this indicates to print all
m.print(); // will print all elements

//Optionally you can specify numbers for begin/end
uvm_default_printer.knobs.begin_elements = 2; // prints the first 2; default: 5
uvm_default_printer.knobs.end_elements = 3; // also print the last 3; default: 5
m.print(); // will print the first 2 and last 3 elements

工作示例:http://www.edaplayground.com/x/Ze

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21710214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档