- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OVM学习笔记
OVM学习笔记
一、OVM概述
OVM是基于CDV的验证,由OVC组成。
OVC基本成员:
Data Item(Transaction);
BFM(Driver);
Sequencer;
Monitor;
Agent;
Enviroment;
1.1 Transaction:
DUT时序信号抽象成的数据包,如:因特网的数据包,总线事务(读/写、地址、数据)、CPU指令等。
1.2 BFM:
将抽象的数据包转换成DUT的驱动时序。
1.3 Sequencer:
高级激励生成器,按需求产生Transaction给BFM。
其内建功能:
可根据DUT当前状态产生Transaction;
可根据用户需求按特定顺序产生Transaction,从而构建特定意义的向量;
Enables time modeling in reusable scenarios.
Supports declarative and procedural constraints for the same scenario.
可系统级同步,控制多个接口(multipe interface)。
1.4 Monitor:
将时序信号抽象成Transaction;
将Transaction抽象成EVENT发生给其他组件;
执行时序或数据检查;
覆盖率收集;
打印仿真进度;
1.5 Agent:
Sequencer、BFM、Monitor的顶层,用于配置连接三者。
一个ENV中可有多个Agent,如Master/Transmit Agent驱动DUT,Slave/Receive Agent接收DUT的输出。
Agent应可设置为主动或被动,主动Agent可驱动DUT,而被动Agent只能监控DUT。
1.6 Enviroment:
Env为多个Agent和Bus Monitor的顶层,用于连接这些组件,组成验证环境的拓扑结构。可以在Env对组件进行设置,如主动Agent在系统级环境中被设置成被动Agent来监控DUT(如xbus_agent在UT级时驱动DUT,在系统级时因为模块由CPU驱动,故xbus_agent转为监控)。下图阐述了一个典型的OVC验证环境,验证环境可以包含一个Bus Monitor,Bus Monitor用来检测覆盖率和结果检查,Agent中的Monitor可从Global Monitor(Bus Monitor就是一个典型)中获取相应的数据和事件。
图 OVC验证环境结构
1.7 OVM 库
OVM库由基类、宏和Utilities组成,三者又可细分为Base、Reporting、Factory、Sychronization、Policies、TLM、Components、Sequencer、Sequence、Macros、Globals。
图 OVM库继承结构
OVM两大核心:TLM和OVM Factory。
二、TLM(事务级模型)
2.1 Transcation:
OVM中的Transaction是个class对象从ovm_transaction继承而来,类似于一个数据结构,将一个事务具体化成相应变量或约束。如一个总线Transaction,其包含了总线的动作(读/写)、数据、地址、相应的约束和相关的Methods:
Transaction可被继承,添加或重写相应变量或约束。
2.2 面向对象的接口
在面向对象的程序中有两种Object Interface,一种是Class中的Task和Function,两者作为外界操作Class的接口;另一种是基类(可以只是个虚的基类,也就是个模板),它定义了Task和Function的集合(可以仅仅只是定义并没有实际的内容),它的所有扩展类都继承或改写(或实体化)了这些Methods,也就是说基类是个规则(也就是个对外界的接口),外界只要调用基类的Methods就可以对其扩展类进行操作(2.3.1中的Producer-Consumer可有助于理解)。
2.3 TLM之间的通讯
TLM之间通过TLM Interface连接,TLM Interface中有几个基本概念:port、export、put、get和传输的主体Transaction。五者组成了TLM通讯的三个要素:控制流、数据流和Tansaction类型。
控制流的方向永远是Port指向Export,也就是说Port执行某个通讯动作(如put和get),Export被动进行回应。
Interface的类型决定了数据流的方向,Put Interface的方向是从执行Put的一方(Port)至Put的目标(Export);Get Interface的方向是从目标方(Export)至执行Get的一方(Port);Transport和Request-Respons
您可能关注的文档
最近下载
- 2025年河南经贸职业学院单招职业倾向性测试题库审定版.docx VIP
- 2024年深圳市福田外国语学校小升初入学分班考试数学模拟试卷附答案解析.pdf VIP
- 在初中三年级学生英语单词教学的应用研究.docx VIP
- 浙江省G5联盟2024-2025学年高一上学期期中联考物理试题.docx VIP
- 2025春《亮点给力大试卷》数学苏教版四年级下册(含答案).docx VIP
- 2025上海市工业技术学校招聘2人(第一批)笔试备考题库及答案解析.docx
- 熔化焊与热切割第一章安全生产法律法规与安全管理.ppt VIP
- 六盘水市基础教育教学立项课题研究.DOC
- 树枝上的鹦鹉少儿创意美术PPT课件.pptx VIP
- 亚龙 YL-18C型 工业机器人应用编程实训考核装置(ABB) 实训大纲.docx VIP
文档评论(0)