systemverilog
数字验证相关
龙卷风席卷停车场
这个作者很懒,什么都没留下…
展开
-
systemverilog之interface
在芯片的验证过程中,实施验证通常需要经过以下几个步骤:生成输入激励、捕获输出响应、决定对错、衡量进度、反复迭代。Verilog模块互联对Verilog来说,主要通过模块的端口(例化)实现模块之间的互联。例如:Verilog模块的端提供了一种描述设计中模块之间连接关系的方式, 但不适用与芯片验证,在验证中有很多缺点:在多个模块中必须重复声明端口在不同模块中有声明不匹配的风险设计规范中的一个改动需要修改多个模块限制了抽象的自顶向下的设计SystemVerilog在Verilog语言基础上扩展原创 2020-06-17 22:41:04 · 8031 阅读 · 0 评论 -
systemverilog之断言
SystemVerilog Assertion(SVA)–断言断言概述一言以蔽之:断言是设计属性的描述。如果一个在模拟中被检查的属性(property)不像我们期望的那样表现,那么这个断言失败。如果一个被禁止在设计中出现的属性在模拟过程中发生,那么这个断言失败。一系列的属性可以从设计的功能描述中推知,并且被转换成断言。这些断言能在功能的模拟中不断地被监视,从而可以得知设计的功能是否正确。断言是一个“观测员”,它可以观测程序的状态,但它不会改变代码本身。SystemVerilog集成了断言并且能原创 2020-06-17 01:55:07 · 10469 阅读 · 0 评论 -
systemverilog之覆盖率
覆盖率概述随着设计变的越来越复杂,覆盖率驱动的验证(CDV, coverage driven verification)成为不可或缺的有效的验证手段,需要覆盖率来保证验证的完备性,以及覆盖的全面性。覆盖率是呈现的一-组信息,这组信息可以告诉我们,关于设计的代码、功能等的覆盖信息,是否覆盖全面,有没有漏掉的覆盖点等信息。所以,覆盖率收集的是信息。覆盖率分类:代码覆盖率功能覆盖率断言覆盖率代码覆盖率为仿真I具分析出来的代码执行情况的统计,哪句代码执行到了,哪句代码没有执行到等信息,断言覆盖率是针原创 2020-06-15 23:23:34 · 4836 阅读 · 2 评论 -
systemverilog之OOP
OOP的全称为Object Oriented Programming, 即面向对象编程。SystemVerilog引入了一个面向对象的数据类型,对象是类的实例,类是对象的模板。比如 人是一个类,是一个模板,里面有吃饭睡觉说话等特性,然后实例男人女人老人小孩。P a;//P是之前定义的一个类,属于一个数据类型,a属于P的一个实例int b;//与第一行是一个意思,int是一个数据类型,定义了一个int型变量b类是一种数据类型, 它包含了数据以及对数据进行操作的子程序(函数和任务)。类的数据被称为类属原创 2020-06-12 19:02:42 · 1825 阅读 · 0 评论 -
SystemVerilog logic、wire、reg数据类型详解
作者:民工袁师傅链接:https://zhuanlan.zhihu.com/p/38563777来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。在Verilog中,wire和reg是最常见的两种数据类型,也是初学者非常容易混淆的概念。SystemVerilog的一大改进是支持logic数据类型,它在多数时候可以不加区分地替代wire和reg。但如果不熟悉logic的限制随意使用,也容易遇到意想不到的错误。本文主要对比三种数据类型的区别,并总结它们的使用方法。Veril转载 2020-06-02 12:56:48 · 8595 阅读 · 0 评论