![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SystemVerilog
文章平均质量分 94
Zing冰
一只不爱说话的蜗牛
展开
-
SV 覆盖率验证
覆盖率验证代码覆盖率功能覆盖率覆盖组——covergroup覆盖点——coverpoint交叉覆盖率——cross代码覆盖率行覆盖率(line coverage):记录程序的各行代码被执行的情况。条件覆盖率(condition coverage):记录各个条件中的逻辑操作数被覆盖的情况。跳转覆盖率(toggle coverage):记录单bit信号变量的值为0/1跳转情况,如从0到1,或者从1到0的跳转。分支覆盖率(branch coverage):又称路径覆盖率(path coverage),转载 2021-01-07 17:11:41 · 3196 阅读 · 0 评论 -
SV接口-interface
interface接口概述接口的使用方式绿皮书代码采样和数据驱动总结接口概述1.接口可以用作设计,也可以用作验证2.与module的使用性质很像,可以定义端口,也可以定义双向信号;可以使用initial和always,也可以定义function和task。3.TB和DUT是相互独立的,通过interface连接,下图的红线。4.在interface的端口列表中只需要定义时钟、复位等公共信号,或者不定义任何端口信号。5.interface中可以包含多个modport, 定义interface的不同原创 2021-01-03 21:31:39 · 5550 阅读 · 0 评论 -
SystemVerilog 类和对象(三)
类和对象一、类的基本概念二、对象的创建和销毁三、对象句柄的深拷贝 与 浅拷贝四、类的特性4.1.封装4.2.继承4.3.多态包的使用一、类的基本概念类class:是一种用来进行数据抽象的工具,将数据和对数据的操作封装在一起,提供建立对象的模板,可以看做是一种数据结构。对象object:是所属类class的某一特定实体(也称实例)。句柄handle:指向对象的指针,即内存的基地址。属性property:类class的实体object中所包含的各种变量variable。方法method:操作变量的原创 2020-12-05 17:42:32 · 945 阅读 · 1 评论 -
SystemVerilog 数据类型(一)
变量类型四值变量: (0、1、x、z)四种状态四值逻辑类型:integer、reg、logic、reg、net-type(如wire、tri);SV并不太常用变量类型是wire(assign语句中)还是reg(initial和always语句中)。logic用的比较多。可以被连续赋值语句驱动,可用在assign、initial、always语句中。四值变量与二值变量的特性:四值变量的默认初始值为x,二值变量的默认初始值为0,在initial中可以直接使用~clk变成1,但是如果是logi原创 2020-12-05 17:20:05 · 5068 阅读 · 0 评论 -
SystemVerilog随机化(四)
随机化一、随机变量类型1.1.rand与randc随机变量1.2.constraint指定约束范围二、随机约束操作2.1.声明约束(>、<、=、>=、<=)2.2.范围约束(inside)2.3.权重分布约束(dist)2.4.条件约束(if-else; ->)2.5.双向约束2.6.内嵌约束randomize ( )with{ }2.7.solve…before约束三、 随机化函数3.1.关闭或打开随机变量与约束四、数组的约束4.1.动态数组的随机化4.2. 产生唯一元素的数原创 2020-12-05 16:39:13 · 2402 阅读 · 0 评论 -
SystemVerilog 线程与线程间的通讯(六)
线程与线程间的通讯一、并发线程1.1.并发线程1.2.wait fork 与 disable fork二、线程通信机制2.1.事件event2.2.旗语semaphore2.3.邮箱mailbox一、并发线程1.1.并发线程1.2.wait fork 与 disable forkwait fork:等待所有fork进程全部执行完。disable fork:停止fork…join_any中所有未来得及执行的并发子线程。在使用fork…jion_any或者fork…join_non原创 2020-12-05 16:21:58 · 868 阅读 · 0 评论