- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于使用 `uvm_field_queue_int
实用程序宏的 UVM 对象,调用 my_object.print()
时,UVM 不会打印出整个队列
# -----------------------------------------
# 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
最佳答案
全部归功于此论坛帖子:http://forums.accellera.org/topic/1002-uvm-print-with-array-objects/
UVM print()
接受一个 uvm_printer
参数。创建一个新的 uvm_table_printer
对象(uvm_printer
的子对象),更改它的旋钮值,并将其传递给 print()
方法。
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);
当您想要影响特定 uvm_object
中的 with 时,这很有用,可以通过重写 do_print()
方法使其具有可扩展性。
或者,如果要进行全局更改,则在根目录下会自动创建一个名为 uvm_default_printer
的默认打印机。更改此打印机的旋钮值将使用默认值更改所有打印件的打印行为。
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
关于printing - 如何使用 UVM 实用函数打印整个队列/数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21710214/
在我的 Testbench 中,我有一个需要驱动的接口(interface)。该接口(interface)可以在 2 种不同的模式下驱动,每种模式都有自己的驱动程序协议(protocol)和事务类型。
您能否帮助理解以下功能和之间的明显区别: uvm_analysis_export uvm_analysis_port uvm_analysis_imp 我在网上查了一下,有一些解释,比如: https
我对UVM有疑问。假设我有一个带有两个接口(interface)的 DUT,每个接口(interface)都有它的代理,用相同的时钟生成事务。这些事务由记分板上的分析导入(和写入函数)处理。我的问题是
我的芯片中有一个小块的 UVM 测试台。其中有一个带有驱动程序的代理,该驱动程序在虚拟接口(interface)上驱动数据,如下所示: interface my_if (input bit clk);
我对 SystemVerilog 中的竞争条件有疑问,尤其是在 UVM 中。在标准情况下,我们拥有多个驱动程序,它们在时钟的同一前端驱动我们的任务,在记分板中生成一些函数调用。这些调用是同时发生的,它
我有以下代码块,其中触发了语法错误: virtual task body(); forever begin my_transaction m_req; // Blockin
是否有一种简单的方法可以在不操作 UVM 库的情况下将自定义函数搭载到 UVM_ERROR 宏中?(即,每当在环境中的任何位置调用 UVM 错误时,我希望我的函数一起被调用与它。) 最佳答案 我自己还
我在 uvm_agent 中实现了一个从模型。 “奴隶”是指它不能自己发起交易。事务始终由另一方(主 DUT)发起。所以它是一种被动代理(尽管它仍然能够传输回复数据包)。 当从设备检测到来自 DUT
对于使用 `uvm_field_queue_int 实用程序宏的 UVM 对象,调用 my_object.print() 时,UVM 不会打印出整个队列 # ---------------------
对于使用 `uvm_field_queue_int 实用程序宏的 UVM 对象,调用 my_object.print() 时,UVM 不会打印出整个队列 # ---------------------
我在 uvm-systemc-1.0-alpha1 库的 objdir 中的 make check 中遇到以下错误。 ../configure make make install 命令工作正常。另外,
我需要调用哪些函数才能在 Systemverilog/UVM 中使用正则表达式? 注意:我不是问如何使用正则表达式,只是问方法名。 最佳答案 首先,如果您想使用正则表达式,您需要确保您使用的是与其 D
我正在阅读以下指南: https://colorlesscube.com/uvm-guide-for-beginners/chapter-3-top-block/ 代码 3.2 第 24 行- run
我正在阅读以下指南: https://colorlesscube.com/uvm-guide-for-beginners/chapter-3-top-block/ 代码 3.2 第 24 行- run
我有一个用 RAL 建模的大寄存器映射,我想随机化一些寄存器。如果我想单独限制寄存器,那么这很简单: reg_model.register_a.randomize() with {value > 5;
我对 UVM 中的虚拟音序器有疑问。假设我有 N 个由 N 个相等的驱动程序驱动的接口(interface),每个接口(interface)都连接到自己的音序器。我想要做的是进行如下交易: c
我在 DUT 中有 5 个 SRAM 实例(== 5 个不同的二维数组)(全部在 verilog 中)。我想从 UVM 测试平台对这些阵列进行后门加载。 SRAM 阵列上有多个驱动程序,来自 DUT
我正在为 e 使用 vr_ad 包。我在 vr_ad_reg_file my_reg_file 中定义了一个寄存器 my_reg: reg_def MY_REG MY_REG_FILE 20'h000
我正在寻找方法来禁用 side uvm 组件中的断言以进行某些测试。下面的简单代码代表我的环境,并附有要求注释。我以为我可以使用 $assertoff。如果需要额外的仪器来实现这一点,我可以修改 uv
我从 Intel 下载了 Modelsim,免费版(Modelsim-Intel FPGA 版)。免费版本是 Ubuntu 64 位 LTS 上的 32 位 Modelsim 版本。我通过安装 apt
我是一名优秀的程序员,十分优秀!