8 UVM testbench Top

本文介绍了UVMTestbenchTop在设计中的应用,包括如何创建具有DUT和接口实例的静态容器,设置时钟和重置,以及通过`run_test()`执行测试。同时讨论了如何处理多个代理的配置和波形记录。
摘要由CSDN通过智能技术生成

testbench top是一个具有DUT和接口实例的静态容器(static container)。接口实例在TB top和DUT信号相连。生成时钟,并将初始重置适用于DUT。它/clock也被传递给接口句柄。接口使用set方法存储在uvm_config_db中,可以使用get方法沿层次结构向下检索。UVM testbench top还用于通过调用run_test()来触发测试。

Example of UVM Testbench Top for Adder design

 

`include "uvm_macros.svh"
import uvm_pkg::*;

module tb_top;
  bit clk;
  bit reset;
  always #5 clk = ~clk;
  
  initial begin
    clk = 0;
    reset = 1;
    #5; 
    reset = 0;
  end
  add_if vif(clk, reset);
  
  // Instantiate design top
  adder DUT(.clk(vif.clk),
            .reset(vif.reset),
            .in1(vif.ip1),
            .in2(vif.ip2),
            .out(vif.out)
           );
  
  initial begin
    // set interface in config_db
    uvm_config_db#(virtual add_if)::set(uvm_root::get(), "*", "vif", vif);
    // Dump waves
    $dumpfile("dump.vcd");
    $dumpvars;
  end
  initial begin
    run_test("base_test");
  end
endmodule

UVM Testbench Top with multiple agents

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值