请教高手关于uvm验证方法学的学习入门

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教高手关于uvm验证方法学的学习入门相关的知识,希望对你有一定的参考价值。

参考技术A UVM会自带一些比较简单而又非常很能体现某些重要组件用法的例子,这个可以先运行下,看看输出结果,这个比较直观。另外里面还有个比较综合的例子,名字好像是xbus(具体记不清楚了),这个虽然小,但是五脏俱全,可以看出基于UVM搭建的TB大体的结构是什么样的。
学习UVM开始就是模仿,看别人是怎么写的,先照着写,慢慢就好了。
如果周围有OVM/UVM的专家,还是多向他们讨教下,你现在遇到的问题,他们可能之前也遇到过,你想了半天的问题,有可能他们一句话就能搞定,所以身边如果有资源,也要充分利用起来,这样会事半功倍。本回答被提问者和网友采纳

UVM学习记录1:验证平台的各个组件

  首先,UVM的验证平台的各个组件的使用与否完全取决于工程师本人,验证工程师本人出于对项目的大小,RTL设计的spec以及可复用性等其他因素对项目的验证平台的整体flow有了大体的思路之后,撰写相应的文档并且搭建UVM环境。

  通常来说,一个相对简单完整的验证平台包括了sequence、sequencer、reference model、agent、driver、monitor、scoreboard等组件。下面来说说各个组件的作用。

  sequence:sequence不是验证env下面的组件,其主要作用是产生transaction的数据并且与sequencer进行交互,从而向sequencer发送相应的transaction数据。

  sequencer:作为sequence和driver的数据中转站,通过对这两个部分的发/接受请求,从而向driver提供相应的transaction数据。

  reference model:一般情况下,验证平台要去检测RTL的行为对错,会做一个与RTL要实现功能一致的model,这个model的输入与driver送至RTL的激励一致,并且通过model的行为后,产生一些信息送至scoreboard进行相应的判定。

  agent:agent是用来将属于同一层的组件封装在一起的组件。通常情况下,将sequencer、driver、monitor封装在一起作为agent,封装后的组件对上对下的交互需经过agent。

  driver:激励RTL。

  monitor:与driver的行为基本一致,或者完成一致,作为向reference产生输入的组件,或者是接收RTL返回的数据信息。

  scoreboard:对RTL行为和reference model进行比较,进行结果的比对,发出相应的信息。

 

以上是关于请教高手关于uvm验证方法学的学习入门的主要内容,如果未能解决你的问题,请参考以下文章

路科验证UVM入门与进阶详解实验1

UVM学习记录1:验证平台的各个组件

Java零基础入门路径学习

python小白入门可以参看下

[方法总结] 如何入门一个新领域/新技术?——「以用促学知识树学习法」

深度学习入门比赛——街景字符识别