前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数字IC笔试题(7)——UVM验证平台【System Verilog面向对象】【OOP封装继承多态】

数字IC笔试题(7)——UVM验证平台【System Verilog面向对象】【OOP封装继承多态】

作者头像
FPGA探索者
发布于 2021-10-25 08:29:33
发布于 2021-10-25 08:29:33
1.3K0
举报
文章被收录于专栏:FPGA探索者FPGA探索者

以下关于验证的描述,正确的是()

A.验证平台使用checker检测DUT的行为,只有知道DUT的输入输出信号变化之后,才能根据这些信号变化来判定DUT的行为是否正确;

B.System Verilog区别于verilog的一个重要特征是其具有面向对象语言的特性:封装、继承和多态;

C.UVM是Synopsys、Cadence、Mentor等EDA厂商联合发布的验证平台;

D.Verilog,System Verilog,System C, UVM都是验证常用的硬件语言;

答案:B

解析:

A. monitor 负责监测 DUT 的行为,checker 缓存每个 monitor 收集到的数据,和参考模型的输出去比较;

B. System Verilog 有 C++ 高级语言特性,面向对象编程OOP(Object Oriented Programming),封装、继承、多态

C. 通用验证方法学(Universal Verification Methodology, UVM)是一个以System Verilog类库为主体的验证平台开发框架,是一种方法学,不是一个EDA验证平台工具;

D. UVM不是一种语言,是一种验证方法学;

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA探索者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python学习笔记(11)python面向对象(二)面向对象的三大特点:封装,继承,多态
例子1: 1.TOM体重76.0公斤 2.TOM每次跑步会减肥0.5公斤 3.TOM每次吃东西会增重1攻击
大数据小禅
2021/08/16
4860
SystemVerilog和UVM到底是啥关系?
UVM提供了丰富的基类库和验证方法学,并且被主流的EDA工具、IP供应商和设计公司采用。现在,使用SystemVerilog基本上等同于使用UVM验证。
AsicWonder
2020/06/11
1.6K0
Java面向对象三大特性(封装、继承、多态)
OOP 语言:也就是面向对象编程。 面向对象的语言有三大特性:封装、继承、多态。三大特性是面向对象编程的核心。下面就来介绍一下面向对象的三大特性。 如果想了解面向对象可以看一下这一篇博客类和对象
全栈程序员站长
2022/09/17
3470
Java面向对象三大特性(封装、继承、多态)
JAVA编程基础(三) 面向对象的编程思想与原则
Java语言是面向对象的。本节扼要介绍面向对象(OOP)的的概念与原则,与结构式编程形成鲜明的对比。
青山师
2023/05/04
2210
Java面向对象基础(封装继承多态)【1】
面向对象的三大特征:继承、封装、多态进行详细的讲解。另外还包括抽象类、接口、内部类等概念。很多概念对于初学者来说,更多的是先进行语法性质的了解,然后进行大量的练习,编程才算是刚刚开始。
徐建国
2021/08/03
7010
Java面向对象基础(封装继承多态)【1】
【python入门到精通】python面向对象三大特点:封装,继承,多态
例子1: 1.TOM体重76.0公斤 2.TOM每次跑步会减肥0.5公斤 3.TOM每次吃东西会增重1攻击
大数据小禅
2021/12/21
3240
「MoreThanJava」Day 4:面向对象基础
面向对象程序设计 (Object-Oriented Programming, OOP) 是当今主流的程序设计范型,它取代了 20 世纪 70 年代的 "结构化" 或过程式编程技术。由于 Java 是面向对象的,所以必须熟悉 OOP 才能够很好地使用 Java。
我没有三颗心脏
2020/08/11
4420
「MoreThanJava」Day 4:面向对象基础
《IC真题之吾见 》 华为实习笔试
吾见:B 理由: A:recovery时间,即恢复时间,字面上理解,就是异步控制信号撤离后,电路恢复正常的时间检查。 所以,恢复时间的定义是:异步控制信号撤离时刻与下一个有效时钟边沿的时间间隔。原文如下:
数字芯片社区
2022/09/19
1.4K0
《IC真题之吾见 》 华为实习笔试
VMM与OVM_vvm是什么意思
大家好,又见面了,我是你们的朋友全栈君。 验证方法学主要有vmm和ovm两种。 摘录一些言论,供参考: 个人感觉Synopsys 的口碑好一些,Cadence 的FAE 比较能忽悠,但有时候不是很能解决问题。偶绝对不是Synopsys 的托了; synopsys的VMM更成熟; 前端设计还是喜欢synopsys多一点; VMM的用户可能多一些,特别在国内(个人感受),不过Synopsys的东西,质量上不如Cadence,技术支持上也许更贴近用户一些; 本质都差不多,看你怎么用.但OVM是Cadence和Mentor都support的.这个比较好. 从适用性来说,还是OVM强.从功能上来说,由于OVM兼具e language的一些特性,比如factory/sequence,这个比VMM要好.至于FAE的支持,这个是利益驱动的.如果你们公司是global的,软件也是在国外买的,那国内的EDA公司来support你,对于local的EDA公司,他没有如何利益,当然support就一般了. 自学自用,推荐OVM,因为论坛的支持好,VMM没有正版,基本上没有什么支持。 我已经在我得项目里面从类VMM转为 OVM 了,从验证分层来看.两种方法学本质差不多,在 OVM 里面,我觉得最爽的地方是sequence/sequencer/virtual sequencer,这几个东西是VMM没有的 只是两个死对头synopsys和cadence分别搞的两套系统验证库而已,差别不大 VMM: 1 架构简单,容易学习及掌握 2 验证实现也比较容易,容易使用 3 工具非常稳定,出现问题的概率不大 OVM : 1 架构灵活,显得有点复杂(比较建议从VMM入手,对 OVM 的理解会更加快速) 2 验证实现也比较容易,使用者需要掌握一定的 OVM 知识才能做相应小修改,这一点VMM不一样,VMM的使用都只要知道constraint怎么下就好 3 IRUN工具不是很稳定,出现问题的概率较大,我使用过程中发现不少问题,不过最后都直接反应给cadence AE,得到解决(现在已经稳定很多) 4  OVM 以agent为基础的建立方式,方便实现reuse性,这一点VMM做不到(VMM只要DUT小改driver和packet必改), OVM  agent是基于某种protocol建立的,protocol不改,agent就不需要修改,这样就可以达到非常强大的reuse性 5 VMM 没有sequence(正在开发), OVM 的virtual sequence可以造出各agent工作的任意组合,并行,串行,等等,不修改任何原来的code,只需要加一个virtual sequence即可。VMM做不到,VMM想做这个只能改driver和packet 只说了一些技术上的东西,还有VMM是要钱的, OVM 是免费的! VMM和OVM都是基于SV的硬件验证的方法学,也是当今验证方法的两个趋势。 从本质上来讲,VMM和OVM的方法学是一致的,目的都是实现可重用性(reusable)以提高验证的效率。 VMM是由ARM和Synopsys提出的,OVM则是由Mentor和Candence共同提出的。因此使用Synopsys VCS进行仿真也就选择了VMM的验证方法,支持OVM的仿真工具自然就是Mentor和Candence的工具了。 使用OVM最大的好处就是完全open的,使用OVM将不受Mentor和Candence的任何限制;至于VMM,之前是收费的,现在网上有人说是免费的(VMM 顶不住压力,也开源了,嘎嘎),但是我还没有找到官方的说明,不清楚现在的状况,知情的人麻烦透漏一下。 VMM和OVM都是基于SystemVerilog(SV)的验证方法,而SV相对于传统的HDL语言来说,其最大的好处就是引入了OOP(Object Oriented Programming),OOP的概念基本上是可以跟{封装(Encapsulation)+继承(Inheritance)+多态(Polymorphism)}相等同的,至于封装、继承和多态,如果学过C++的人自然会明白。引入了OOP之后,SV便可以在更高的抽象层次进行仿真和验证。 由于引入了OOP,基于SV的验证方法学也就自然而然的出来了,就像是如今有很多的C++库一样,SV也需要相应的库才能够实现其面向对象的高效性,开发人员只需要在SV的标准库上进行开发就可以了,这样就避免了重复的二次开发,提高了验证的效率和灵活性。
全栈程序员站长
2022/09/30
8700
数模混合 | SOC设计与验证[续]
“工欲善其事必先利其器”,做好数模混合验证必须了解EDA工具的工作原理。EDA仿真器是在干两件事情(时间和数值),即在什么样的时间,该出什么样的数值(表现);数字和模拟的差别在要解的方程组是完全不同的。
数字芯片社区
2021/12/15
3K0
数模混合 | SOC设计与验证[续]
C#面向对象实现原理:深入理解封装、继承和多态
面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它使用“对象”来设计软件和结构化数据。在C#中,面向对象编程是核心的一部分,它通过封装、继承和多态这三个基本概念来实现。
码事漫谈
2024/12/25
5410
C#面向对象实现原理:深入理解封装、继承和多态
浅谈数字IC验证中的面向对象编程(抽象基类和继承)
在软件工程的早期,人们与项目的复杂性增长和大型开发团队的管理挑战进行了艰巨的斗争,面向对象编程(OOP)为解决这些问题带来了革命性的解决方案。
AsicWonder
2020/06/24
1K0
浅谈数字IC验证中的面向对象编程(抽象基类和继承)
Java 基础教学:面向对象编程基础-封装、继承与多态
面向对象编程(OOP)是现代编程的重要范式,Java 语言提供了丰富的 OOP 特性,主要包括封装、继承和多态。本文将详细讲解这三个概念及其实现方式,并提供相应的代码示例。
世间万物皆对象
2024/11/01
1550
面向对象三要素:封装继承多态的阐述及示例
  面向对象的三个基本特征是:封装、继承、多态。 一 封装   封装就是将数据与操作数据的源代码进行有机的结合,形成类,其中数据和函数都是类的成员。隐藏了类的实现,类的使用者只需知道公共的接口,就可以
码科智能
2018/01/03
9890
Java面试题总结--(1)面向对象的三大特征:封装/继承/多态
所谓封装,就是将客观事物封装成抽象的类,并且类可以把数据和方法让可信的类或者对象进行操作,对不可信的类或者对象进行隐藏。类就是封装数据和操作这些数据代码的逻辑实体。在一个类的内部,某些属性和方法是私有的,不能被外界所访问。通过这种方式,对象对内部数据进行了不同级别的访问控制,就避免了程序中的无关部分的意外改变或错误改变了对象的私有部分。
浩Coding
2019/07/02
3.2K0
Java面试题总结--(1)面向对象的三大特征:封装/继承/多态
详解Java面向对象编程
面向对象(OOP)指的是一种基于对象的编程方法论,而不仅仅是方法和函数编程。对象包含数据和方法(也叫行为)。
小诸葛
2020/11/25
4300
详解Java面向对象编程
Python面向对象编程:深入理解类、对象、继承和多态
面向对象编程(Object-Oriented Programming,OOP)是一种强大的编程范式,它将数据和操作数据的方法组织成对象。Python是一门多范式的编程语言,支持面向对象编程,本文将深入探讨Python中的OOP概念,包括类、对象、继承、多态等,以帮助你更好地理解和应用面向对象编程。
海拥
2023/09/19
4460
Python面向对象编程:深入理解类、对象、继承和多态
【UVM COOKBOOK】Testbench Architecture【一】
UVM testbench 是使用SystemVerilog(动态)类对象与SystemVerilog(静态)接口和结构化层次结构中的模块交互构建的。层次结构由功能层组成,testbench 的中心是被测设计(DUT)。
空白的贝塔
2021/09/08
1.6K0
【UVM COOKBOOK】Testbench Architecture【一】
java学习笔记(基础篇)—面向对象编程之封装、继承、多态
Java的编程语言是面向对象的,采用这种语言进行编程称为面向对象编程(Object-Oriented Programming, OOP), 它允许设计者将面向对象设计实现为一个可运行的系统。Java的编程单位是类,对象最后要通过类进行实例化(即“创建”)。面向对象编程有三个特性:封装,继承,多态
chlinlearn
2019/07/24
8900
《Kotin 极简教程》第7章 面向对象编程(OOP)(1)第7章 面向对象编程(OOP)《Kotlin极简教程》正式上架:
在前面的章节中,我们学习了Kotlin的语言基础知识、类型系统、集合类以及泛型相关的知识。在本章节以及下一章中,我们将一起来学习Kotlin对面向对象编程以及函数式编程的支持。
一个会写诗的程序员
2018/08/17
1.1K0
推荐阅读
相关推荐
python学习笔记(11)python面向对象(二)面向对象的三大特点:封装,继承,多态
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档