V0 第4节 SV及UVM概述

2023-12-10 19:38
文章标签 sv 概述 uvm v0

本文主要是介绍V0 第4节 SV及UVM概述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. SystemVerilog发展历史

  • SV 是IEEE 1364-2005 Verilog标准的扩展
  • 此扩展包含了用来实现可综合设计的设计语言特性,也包含了用来对大型设计做验证的验证语言特性
  • SV是用来建议一种新的硬件描述和验证语言(HDVL,Hardware Description and Verification Language)
  • SV通过一种统一的语言来帮助工程师对大型复杂硬件系统进行建模,并且对其功能进行验证

2. SV标准的诞生

  • SV标准由Accellera标准组织牵头发民
  • Accellera是一家非盈利性的指在于支持EDA语言发展的组织
  • SV 3.0 于2002年6月由Accellera发布,该版本目的在于扩展Verilog的可综合语言特性,以及如何在更高层次上构建硬件模型
  • SV 3.0 的版本是在Verilog-1995和Verilog-2001基础上的第三个版本
  • SV 3.1 版本扩展了若干有关验证的特性,并且于2003年5月发布
  • 2004年5月,SV 3.1a的版本作为IEEE标准的基础版本,并且在2005年由IEEE正式纳入标准,即IEEE 1800-2005,最新的标准目前是IEEE 1800-2017

3. SV的语言继承历史

  • SUPERLOG的扩展综合语言子集(Co-Design Automation 公司)
  • OpenVERA验证语言(Synopsys公司)
  • PSL断言(IBM公司)
  • OpenVERA断言(OVA,Synopsys公司)
  • DirectC和覆盖率应用编程接口(API,Synopsys公司)
  • 独立编译和$readme扩展(Mentor公司)
  • 高层次语言特性(BlueSpec公司)
  • SV语言对于Verilog语言是完全向后兼容的

4. SV语言的核心特性

  • 接口 interface
  • 面向对象特性 class & package
  • 约束随机 constrained random
  • 线程控制和通信 process control and communication
  • 功能覆盖率 function coverage
  • 外部语言编程接口 Direct Programming Interface
  • 断言 assertion

5. UVM简介

  • SV经历了十多年的更新和完善,已经全面雄起为IC验证领域的霸主
  • 除了底层语言的统一以外,上层的高级验证方法学也在2011年2月份得到了融合,即UVM(Universal Verification Methodology) 1.0发布

5. UVM的优势

所有的验证方法学服务目的都在于提供一些可以重用的类,来减轻在项目之间水平复用和垂直复用的工作量,而同时对于验证新人又能提供一套可靠的框架,帮助他们摆脱搭建房子构思图纸的苦恼

6. UVM的应用

UVM的框架构建类和测试类能够帮助验证工程师减轻环境构建的负担,进而将更多的精力集中在如何制定验证计划和创建测试场景

7. UVM学习路线

  • 认识UVM世界的版图(类库)和核心机制
  • 学习核心的UVM组件和层次构建方式
  • 了解常见的UVM组件间的通信方式
  • 深入UVM测试场景的构成
  • UVM的寄存器模型应用

8. UVM类库地图

  • 核心基类
  • 工厂factory类
  • 事务transaction和序列sequence类
  • 结构创建structure creation类
  • 环境组件environment component类
  • 通信管道channel类
  • 信息报告message report类
  • 寄存器模型 register model 类
  • 线程同步 thread synchronization类
  • 事务接口 transaction interface类

这篇关于V0 第4节 SV及UVM概述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/478141

相关文章

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

v0.dev快速开发

探索v0.dev:次世代开发者之利器 今之技艺日新月异,开发者之工具亦随之进步不辍。v0.dev者,新兴之开发者利器也,迅速引起众多开发者之瞩目。本文将引汝探究v0.dev之基本功能与优势,助汝速速上手,提升开发之效率。 何谓v0.dev? v0.dev者,现代化之开发者工具也,旨在简化并加速软件开发之过程。其集多种功能于一体,助开发者高效编写、测试及部署代码。无论汝为前端开发者、后端开发者

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

Java 多线程概述

多线程技术概述   1.线程与进程 进程:内存中运行的应用程序,每个进程都拥有一个独立的内存空间。线程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换、并发执行,一个进程最少有一个线程,线程实际数是在进程基础之上的进一步划分,一个进程启动之后,进程之中的若干执行路径又可以划分成若干个线程 2.线程的调度 分时调度:所有线程轮流使用CPU的使用权,平均分配时间抢占式调度

UVM:callback机制的意义和用法

1. 作用         Callback机制在UVM验证平台,最大用处就是为了提高验证平台的可重用性。在不创建复杂的OOP层次结构前提下,针对组件中的某些行为,在其之前后之后,内置一些函数,增加或者修改UVM组件的操作,增加新的功能,从而实现一个环境多个用例。此外还可以通过Callback机制构建异常的测试用例。 2. 使用步骤         (1)在UVM组件中内嵌callback函

java集合的概述

集合就是一个容器,我们可以把多个对象放入的容器中。就像水杯(假设容量可以不断扩大)一样,你可以往水杯中不断地添加水,既然是水杯,你就不能往里添加沙子,也就是说集合中添加的对象必须是同一个类型的(引用类型,而不能是基本类型)。 看到集合的介绍会让我们的想起数组,那么集合和数组有什么区别呢? 首先,数组的大小是固定的,而集合理论上大小是不限的。 其次,数组既可以存储基本数据类型的数据,也可以存储

【CSS in Depth 2 精译_023】第四章概述 + 4.1 Flexbox 布局的基本原理

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对单位的威力2.2 em 与 rem2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 第三章 文档流与盒模型(已

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

sv之svlib2

接上篇博客 systemverilog 的svlib的用法1-CSDN博客 已经介绍了关于解析固定格式文件到class里面,但是如果数据比较复杂,不规范,就需要用到一些特殊处理方法。 forexample 1: 获取如下txt的数据 2 #0;0 #2;1 #29;0 #1;0 #3;1 #40;0 #51;1 可以使用如下code去解析: int file_handle;