《UVM实战》学习笔记2

本文介绍了UVM验证平台的组成部分,包括transaction、env、monitor、reference model和scoreboard。transaction类定义了包的内容和随机化行为,env作为顶层容器包含所有部件,monitor负责收集DUT数据,reference model实现DUT类似功能,scoreboard则进行数据对比。
摘要由CSDN通过智能技术生成

UVM验证平台的总体架构如上图所示。上一节我们搭建了最简单的Driver和DUT,并加入了factory机制、objection机制和virtual interface中的config_db机制。这一节将加入其它部件。

1、transaction部件

transaction部件可以理解为网络传输中的“包”。这个类中我们需要定义这个“包”所含的内容。

   rand bit[47:0] dmac;
   rand bit[47:0] smac;
   rand bit[15:0] ether_type;
   rand byte      pload[];
   rand bit[31:0] crc;

如这个“包”中,定义了5个随机变量。rand修饰符是代表,每次实例化这个类——使用函数randomize()这个类时,这些变量都会随机赋予一个随机的值。这个“包”包含的pload[]是动态数组,需要的randomize()的时候规定其大小范围。同时在transaction类中,可以定义多个数据处理函数,如copy、compare、print等基本函数;也可以用field_automation机制

  `uvm_object_utils_begin(my_transaction)
      `uvm_field_int(dmac, UVM_ALL_ON)
      `uvm_field_int(smac, UVM_ALL_ON)
      `uvm_field_int(e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值