问题标签 [uvm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1556 浏览

verilog - SystemVerilog 宏不需要';' 在行尾

SystemVerilog中,不需要;在行尾添加 ' '。例如:

我想知道为什么编译器可以处理这个,但是没有''就不能处理常规行;

0 投票
3 回答
14315 浏览

verilog - 记分板和检查器之间的区别

我已经开始为我的 RTL DUT 开发一个测试平台。有了测试台的所有组件,我想实现自检机制来验证 DUT 的功能。

因此,我需要开发记分牌组件。但是在这里,我什至得到了检查器组件的概念。

ScoreboardChecker组件有什么区别?

还有它的应用?

什么时候需要使用记分板检查器两者兼而有之

谢谢。

0 投票
2 回答
1472 浏览

verilog - 在 uvm_sequence_item 中声明配置对象是个好主意吗

我需要uvm_sequence_item根据配置对信号宽度进行参数化。
在 uvm_sequence_item 中声明配置对象是个好主意吗?

或者是否可以uvm_sequence_item像下面这样参数化?:

class my_sequence#(int width) extends uvm_sequence_item;

0 投票
1 回答
2553 浏览

system-verilog - 如何拦截uvm_error并引发回调?

我有一个 UVM 记分牌,它有多个导致`uvm_error. 我想自动拦截 uvm_error 并转储我的记分牌的内容。其他工程师将向记分板(及其子级)添加检查,因此回调应尽可能透明。

我正在尝试做的简单示例:

您可以在 EDA Playground 上模拟和修改上述示例:http ://www.edaplayground.com/s/4/549

什么是 UVM 推荐的方法来做到这一点?有人可以分享工作代码吗?

0 投票
2 回答
338 浏览

verilog - UVM:在我调用 start_item(seq_item) 之前将值设置为 sequence_item 会导致任何问题吗?

我在调用 start_item(seq_item) 之前将值设置为 sequence_item,这与调用 start_item(seq_item) 之后的设置值有何不同?

0 投票
2 回答
8357 浏览

verilog - 从任务调用 $dumpvars()

有没有办法$dumpvars, $dumpon $dumpoff从序列的 body() 调用?可以从模块任务中获得。我需要控制 $dumpon $dumpoff 以便转储不会太大另一种方法是在序列中打开一个位 top.dump_on 并在测试台中等待这个位

编辑:

我添加了一个顶级模块:

但是当我尝试调用第二个转储时,我得到了这个错误:

有任何想法吗 ?谢谢

0 投票
3 回答
1038 浏览

command-line-arguments - UVM 可以标记错误的命令行参数吗?

我正在使用 UVM 命令行参数来设置 UVM 层次结构中的配置属性。

当我传入一个错误的配置选项时,我希望看到一个UVM_ERROR或另一个失败指示。实现这一目标的最简单方法是什么?

例如,如果我传入一个错误的选项,例如:

sim 完成,我没有从日志中看到选项错误的任何迹象:

完整代码可以在这里运行:http ://www.edaplayground.com/s/4/673

0 投票
2 回答
1888 浏览

system-verilog - 系统verilog - uvm - 依次等待pkt

我在uvm的system-verilog中运行。我想在我的序列中发送一个请求并等待响应 pkt。我该怎么做?

谢谢你的帮助。

0 投票
3 回答
5385 浏览

system-verilog - UVM RAL:在寄存器模型中随机化寄存器

我有一个用 RAL 建模的大型寄存器映射,我想随机化一些寄存器。如果我想单独约束寄存器,那么这很简单:

但是,如果我想要编写的两个值之间的关系,我认为我必须为整个寄存器模型添加一个约束:

这里的问题是模型中的其他 254 个寄存器也会随机化。我可以只更新我想要随机化的两个寄存器,但是镜像将与硬件不匹配。如果我有后门访问工作,我可以刷新镜像,但我没有,我当然不想通过前门读回 254 个寄存器。

有没有办法随机化这两个寄存器,但仍然让约束求解器保持它们之间的关系?

0 投票
1 回答
315 浏览

simulation - UVM Monitor 根据两个语句的顺序表现不同

在 UVM 监视器中,当添加以下两个语句时run_phase,采样的值tr.pkt是正确的data_in。但是如果语句的顺序颠倒了,tr.pktsampled 是不正确的('h0sampled)。有人以前见过吗?