systemverilog课件_第1页
systemverilog课件_第2页
systemverilog课件_第3页
systemverilog课件_第4页
systemverilog课件_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、uSystem verilog简介u验证方法学u为什么要学习SV?u相关知识的了解u主要应用uSV与verilog的区别u重点语法简单介绍2022-2-23HUST2/16SystemVerilog简称为SV语言,是一种相当新的语言,它建立在Verilog语言的基础上发展出来的。SystemVerilog结合了来自 Verilog、C/C+的概念,还有验证平台语言和断言语言,也就是说,它将硬件描述语言(HDL)与现代的高层级验证语言(HVL)结合了起来。使其对于进行当今高度复杂的设计验证的验证工程师具有相当大的吸引力。 2022-2-232022-2-233 3/16/16HUSTHUSTSy

2、stemverilog除了作为一种高层次,能进行抽象建模的语言被应用外,它的另一个显著特点是能够和芯片验证方法学结合在一起,即作为实现方法学的一种语言工具。使用验证方法学可以大大增强模块复用性、提高芯片开发效率,缩短开发周期。芯片验证方法学中比较著名的有:VMM、OVM、AVM和UVM等。2022-2-232022-2-234 4/16/16HUSTHUST有如下优点:)同时支持设计和验证的标准语言。)支持约束随机的产生。)支持覆盖率统计分析。)支持断言验证。)面向对象的编程结构,有助于采用事务级的验证和提高验证的重用性。6 ) 有多种验证方法学的支持2022-2-23HUST5/162022

3、-2-23HUST6/16 新增接口(新增接口(interface) 类似类似C语言中的数据类型,如语言中的数据类型,如int 用户自定义类型(用户自定义类型(typedef) 枚举类型、结构体和联合体枚举类型、结构体和联合体 类型转换类型转换($cast、强制类型转换、强制类型转换) package +、-、+=等类等类C赋值操作赋值操作通过引用通过引用(ref)传送到任务、函数和模块传送到任务、函数和模块2022-2-232022-2-23HUSTHUST7 7/16/16SystemVerilog与Verilog语言相比,新增了的许多用于FPGA设计功能,具有比verilog更清晰、准确

4、、简洁的硬件描述能力,FPGA供应商和EDA工具供应商的综合工具使SystemVerilog的设计拥有比在Verilog更容易理解的风格和较高的抽象层次的描述,加快了编码进程和可重用性。(参考文档:Using SystemVerilog for FPGA Design 中文.docx)2022-2-232022-2-23HUSTHUST8 8/16/161、编写受控随机的、分层的、可重用的测试平台的能力Test。Verilog编写测试平台的能力就相当于采用最基本的C语言结构编程,而采用SystemVerilog编写测试平台则相当于采用C+按照面向对象的思想编程。 2、在设计描述和测试平台中添加

5、断言的能力Assertion。断言这个工具,在软件开发中早就广泛应用了。在单元测试、集成测试和功能覆盖率评估中,断言都是一个很强大的工具。3、更高抽象层次的系统描述能力Architectural modeling。OOP、Dynamic Threads、Interprocess Communication、行为级和事物级的描述能力,从名称上看来确实高级。2022-2-232022-2-23HUSTHUST9 9/16/16数据类型 除了 已提供的硬件设计所需要的网线和变量等数据类型外, 增加了很多新的数据类型来帮助描述更抽象的硬件行为,如图所示,这些新增加的数据类型主要是与 语言的数据类型类似

6、,这里介绍验证中主要使用到的部分。新增的主要数据类型主要有下面几种:两态 ()数据类型枚举类型和用户自定义类型动态数组、关联数组和队列联合体和结构体字符串类2022-2-232022-2-23HUSTHUST1010/16/16SystemVerilog断言(简称SVA)是verilog引入的新的验证方法中的一种,它是对设计属性(行为)的描述,它是用描述性语言来描述设计的属性。在仿真过程中,如果一个被描述的属性不是我们期望的那样,那么断言就会失败;或者在仿真过程中,如果出现了一个不应该出现的属性,那么断言也会失败。 SVA是一种描述性语言,可以完美地描述和控制时序相关的问题,而且语言本身简洁易

7、读,容易维护。SVA还提供了许多内嵌的函数用于测试特定的时序关系和自动收集功能覆盖率数据。并且当断言失败时,仿真系统会根据失败断言的严重程度来决定是打印一条错误提示信息还是退出仿真过程,便于定位出错的位置。2022-2-232022-2-23HUSTHUST1111/16/16SVA可以在以下地方监视信号间的各种时序关系:(1)设计模块的内部;(2)模块与模块间的连接信号;好处:(1)和 RTL 代码放在一起进行综合,用于调试;(2)进行设计的功能覆盖。2022-2-232022-2-23HUSTHUST1212/16/16SystemVerilog在Verilog语言基础上扩展了“接口”(i

8、nterface)结构,接口给模型提供了一种新的方式,通过使用接口可以简化大型复杂设计的建模和验证。接口反映的是模块与模块之间的互连,对Verilog来说,主要通过模块的端口表现。2022-2-232022-2-23HUSTHUST1313/16/16Verilog模块的端口提供了一种描述设计模块的端口提供了一种描述设计中模块之间连接关系的方式,这种方中模块之间连接关系的方式,这种方式直观明了,但在大型复杂设计中,式直观明了,但在大型复杂设计中,有很多缺点:有很多缺点:在多个模块中必须重复声明端口在多个模块中必须重复声明端口在不同模块中有声明不匹配的风险在不同模块中有声明不匹配的风险设计规范中

9、的一个改动需要修改多个设计规范中的一个改动需要修改多个模块模块在多个模块中通信协议也必须重复在多个模块中通信协议也必须重复 例如有三个模块对一个共享存储器例如有三个模块对一个共享存储器进行读写操作,那么在这三个模块中,进行读写操作,那么在这三个模块中,读写操作的控制逻辑必须重复描述读写操作的控制逻辑必须重复描述5. 限制了抽象的自顶向下的设计限制了抽象的自顶向下的设计 用模块端口连接时,设计的具体互用模块端口连接时,设计的具体互连必须在设计周期的早期确定,而不连必须在设计周期的早期确定,而不能在一个不需要考虑设计细节的抽象能在一个不需要考虑设计细节的抽象层面上描述。层面上描述。2022-2-232022-2-23HUSTHUST1414/16/16SystemVerilog增加了新增加了新的端口类型的端口类型接口,接口接口,接口允许许多信号合成一组由允许许多信号合成一组由一个端口表示,只需在一一个端口表示,只需在一个地方对组成接口的信号个地方对组成接口的信号进行声明,使用这些信号进行声明,使用这些信号的模块只需一个接口类型的模块只需一个接口类型的端口。的端口。2022-2-232

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论