UVM(八)之transaction及field_automation

UVM(八)之transaction及field_automation

uvm_sequence_item派生自uvm_transaction,而uvm_transaction派生自uvm_objection。TLM是Transaction Level Modeling的缩写,所谓的transaction level是相对DUT中各个module之间pin级别的通信来说的。通俗点说,DUT中各个module之间通信是以bit为单位的,而transaction level则是以包为单位的。

每个transaction包含了我们关心的一些数据。如对于一个my_transaction,里面包含了一个mac帧,这个帧里面包含premble,sfd,目的地址,源地址,帧类型,帧的数据内容及fcs校验和等。sequence产生出transaction,通过sequencer把此transaction转交给driver,driver根据此transaction的形式之后传递给reference model或者scoreboard,由他们进行相应的处理。transaction就是这样在真个验证平台中流动的信息单元。

field_automation机制

通常会有如下定义的transaction:

这里需要注意的是每个成员变量前都有rand修饰符。transaction是流动在验证平台中的信息单元,reference model的行为与其接收到的信息单元是有直接关系的,相对应的就是DUT接收到了不同的激励。因此能够随机产生信息单元可以最大程度上验证DUT的功能。在定义transaction时,在成员变量前加上rand修饰符,这样在调用此类的randomize函数时,行营的字段就可以随机的取得一个值。

对于这样的一个transaction,经常会用到打印,这就需要自己写print函数:

如在scoreboard中要比较reference model和monitor收集过来的两个transaction是否一致,这个就需要自己写compare函数:

可以看出,这样写起来将会相当费时间的,而且对于这些常用给的操作,如果transaction的定义换一下,那么这些所有的函数或者任务就需要重新写,这种代价是相当大的,自己考虑一下,这些事情的通性就是简单,重复,那么有没有什么办法简化一下呢?那么这就是field_automation机制。

原文发布于微信公众号 - 瓜大三哥(xiguazai_tortoise)

原文发表时间:2017-10-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏C语言及其他语言

【每日一题】1452:[蓝桥杯][历届试题]网络寻路

题目描述 X 国的一个网络使用若干条线路连接若干个节点。节点间的通信是双向的。某重要数据包,为了安全起见,必须恰好被转发两次到达目的地。该包可能在任意一个节点...

2868
来自专栏偏前端工程师的驿站

JS魔法堂:Data URI Scheme介绍

一、前言                                   上周五公司内部的Any Topic Conf.上我和同事们分享了这个主题,有同事说...

2257
来自专栏草根专栏

使用 Moq 测试.NET Core 应用 -- Mock 属性

第一篇文章, 关于Mock的概念介绍: https://www.cnblogs.com/cgzl/p/9294431.html

1174
来自专栏用户2442861的专栏

CSS基础(七):z-index详解

z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。

891
来自专栏从零开始学自动化测试

pytest文档9-参数化parametrize

这将运行测试,参数设置为x=0/y=2,x=1/y=2,x=0/y=3,x=1/y=3组合参数。

1902
来自专栏Java架构沉思录

伪共享和缓存行填充,Java并发编程还能这么优化!

关于伪共享的文章已经很多了,对于多线程编程来说,特别是多线程处理列表和数组的时候,要非常注意伪共享的问题。否则不仅无法发挥多线程的优势,还可能比单线程性能还差。...

1322
来自专栏用户2442861的专栏

2014网易实习生招聘面试题

http://blog.csdn.net/silangquan/article/details/18969875

2001
来自专栏生信技能树

linux命令行文本操作一文就够

主要是 awk/grep/sed这三驾马车,加上vi这个神器,最后辅助一些小工具,包括 wc,cat,diff,join,paste,cut,uniq 这里 简...

4839
来自专栏LinXunFeng的专栏

打造Moya便捷解析库,提供RxSwift拓展

1323
来自专栏数据结构与算法

P1216 [USACO1.5]数字三角形 Number Triangles

题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 ...

39412

扫码关注云+社区

领取腾讯云代金券