UVM+verdi的一些小问题

1、uvm_top.print_topology()函数
在test_base class的end_of_elaboration_phase中利用uvm_top.print_topology()函数打印uvm拓扑结构。
其中uvm_verbosity表明uvm打印冗余度。

2、波形文件
uvm work中生成的波形文件module_name.fsdb和利用脚本更换名字和路径后的波形文件$ {TESTCASE}_ $SEED.fsdb并不相同,前者未dump完成。
top顶层中:
initial
begin
$fsdbAutoSwitchDumpfile(1000,“module_name.fsdb”,20);
$fsdbDumpvars(0,tb_top);
$fsdbDumpflush;
end
scripts:
$RUN +fsdbfile+…/…/wave/ ${TESTCASE}_* $SEED.fsdb +fsdb+autoflush

3、将duv内部信号拉出来同输入输出比较
在记分板中可以直接将duv内部信号拉出来进行比较,此处必须要核对信号所在的完整层次,tb_top…CLK/VALID/READY/DATA。
此时记分板中的规范写法是,设置多个空的队列存储数据,并将数据的收集与比对进行分开。禁止在一个while (1) begin end内先收集数据再进行比对,防止产生时序问题。

4、打开verdi关联代码问题
直接打开verdi,载入波形后,inport design导入filelist后经常出现关联问题,可以使用脚本来实现打开verdi后自动关联代码。
将编译log文件命名为runverdi.csh,并

  • 4
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
UVM验证是一种基于SystemVerilog的硬件验证方法,广泛应用于半导体行业。它提供了一套强大的验证框架,可以帮助工程师有效地进行验证工作。 异步FIFO验证是UVM验证中的一个重要部分,用于验证异步First-In-First-Out(FIFO)电路。异步FIFO电路在大多数存储器系统中被广泛使用,因此验证其功能和性能非常重要。 在异步FIFO验证中,需要编写UVM验证环境和测试用例,以验证FIFO电路的功能和时序。首先,可以使用UVM的类来建立一个FIFO模型,包括读写指针、写入和读出逻辑等。然后,可以编写Constrained Random测试用例,以测试FIFO的各种情况,例如空FIFO、满FIFO和部分写入/读出的情况。验证环境会控制测试用例的生成和执行,同时收集和分析验证结果。 在异步FIFO验证中,还需处理时序相关的问题。由于读写指针的异步性质,可能会出现读指针追赶写指针或写指针追赶读指针的情况。为了验证这些情况,可以引入时序检查和约束,以确保FIFO电路在各种时序条件下都能正常工作。 总结来说,UVM验证是一种基于SystemVerilog的硬件验证方法,可以帮助工程师进行有效的验证工作。在异步FIFO验证中,需要建立UVM验证环境和编写测试用例,以验证异步FIFO电路的功能和时序。该验证过程涉及到建模、生成测试用例和进行时序验证等步骤,以确保FIFO电路能够正常工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值