【笔记】SystemVerilog断言学习笔记.docx

精品word 可编辑资料 - - - - - - - - - - - - - 一、前言 SystemVerilog 断言学习笔记 1 随着数字电路规模越来越大、设计越来越复杂,使得对设计的功能验证越来越重要;第一,我们要明白为什么要对设计进行验证?验证有什么 作用?例如,在用 FPGA 进行设计时,我们并不能确保设计出来的东西没有功能上的漏洞,因此在设计后我们都会对其进行验证仿真;换句话说, 验证的目的是完全地验证被测设计以确保设计没有功能上的缺陷;而即将介绍的 SystemVerilog 断言便是一门重要的验证技术,它可以尽早发觉设计的缺陷以及提高验证的效率; 二、基本概念 1 、什么是断言 断言是设计属性的描述;而断言可以从设计的功能描述中推知,然后转换成断言;那么断言是如何表现的呢?当一个被检查的属性不像我们期望的那样表现时,就该断言失败;当一个禁止在设计中显现的属性发生时,就该断言失败; 2 、为什么要使用 SystemVerilog 断言 Verilog HDL 也能实现断言,但其存在不足之处: . Verilog HDL 是一种过程语言,不能很好地把握时序; . Verilog HDL 是一种冗长的语言,随着断言数量的增加,爱护代码将变得很困难; . 语言的过程性使得测试同一时间段内发生的并行大事相当困难; . Verilog HDL 没有供应内嵌的机制来供应功能掩盖的数据;而 SystemVerilog 断言具有如下特点: . 它是一种描述性语言,可以完善描述时序的状况; . 语言本身特殊精确且易于爱护; . 语言的描述性供应了对时间杰出的把握; . 它供应了如干个内嵌函数来测试特定的设计情形,并且供应了一些构造来自动收集功能掩盖数据;可见,使用 SystemVerilog 断言具有特殊大的优势; 三、验证平台 一个包含 SystemVerilog 断言的验证环境如下图所示: 第 1 页,共 24 页 - - - - - - - - - - 精品word 可编辑资料 - - - - - - - - - - - - - 注:约束随机测试平台可以用来产生更多真实的验证情形;代码掩盖就是验证完整性的基本衡量标准;一般情形下,测试平台需要做三件事: . 产生勉励; . 自检机制; . 衡量功能掩盖; 产生勉励通俗来讲就是为被测设计供应输入信号; 自检机制就是使每个测试都能自动和动态地检验期望的结果; 自检过程主要着眼于协议检验和数据检验; 协议检验的目的是检验把握信号的正确性;数据检验就是检验正在处理的数据的完整性; 功能掩盖用于衡量验证完整性,它包含协议掩盖和测试方案掩盖两项衡量标准;协议掩盖是用来衡量一个设计的功能说明书中确定的全部功能是否都测试过;测试方案就是衡量测试平台的穷尽性; 而 SystemVerilog 断言主要着重处理协议检验和协议掩盖两大类问题; 【SystemVerilog 断言学习笔记 2 】断言的类型 SystemVerilog 中包含并发断言和即时断言两种类型的断言;所谓并发断言就是在时钟边沿对变量进行采样并完成测试表达式的运算,它可以在模块、接口、过程块或程序中定义;这里有一点是需要声明的,对于变量的采样值是时钟边沿前一时刻相应变量的值;而即时断言只能在过程块中定 义的,测试表达式的运算跟 Verilog HDL 过程块中的行为一样,即一旦大事发生变化就表达式立刻被求值;接下来通过 modelsim 对这两类的断言进行仿真测试,给大家一个直观的懂得; 1 、并发断言 1 打开 modelsim 仿真软件,然后点击 “ File N—ew — Project ,出“现如下对话框,为对话框填上工程名以及路径,其他默认,点击 ” OK“后会弹出 询问是否创建工程路径的对话框,选择 ”是“; 第 2 页,共 24 页 - - - - - - - - - - 精品word 可编辑资料 - - - - - - - - - - - - - 2 在下面的对话框中点击 “ Create New File 以新建”源文件; 3 为对话框填上新建文件名以及文件类型选为 “ SystemVerilog ,然”后点击 “ OK,” “ Close;”;; 4 为新建的 sv 文件编写 SystemVerilog 代码,如下所示: 第 3 页,共 24 页 - - - - - - - - - - 精品word 可编辑资料 - - - - - - - - - - - - - /******************************************************* 作者 : CrazyBird 文件 日期 : 2021-5-1 功

文档评论(0)

1亿VIP精品文档

相关文档