
systemverilog功能与验证学习笔记
文章平均质量分 81
systemveri;og功能与验证.钟文枫
carrotbanana
这个作者很懒,什么都没留下…
展开
-
【System Verilog】赋值、复制(浅拷贝)、深拷贝、克隆
复制行为属于浅复制,因为它只能复制源对象内部的属性,源对象内部的嵌套的对象属性并不会被复制。深度复制就是不仅要复制源对象的属性,其内部嵌套的对象属性也一并复制进来,这需要自己写copy函数。原创 2022-08-21 19:46:23 · 2151 阅读 · 0 评论 -
第八章:覆盖率
覆盖率覆盖率有三种:验证计划目标覆盖率、代码覆盖率、功能覆盖率基于覆盖率驱动的验证方法学主要包括:代码覆盖率和功能覆盖率1.验证计划目标覆盖率验证列出的项目要一一的测试:哪些功能点需要检查?这个功能点的哪些数据需要检查?如何对这个数据进行采样?2.代码覆盖率通过在仿真器运行过程中自动统计数据生成报告,就是代码覆盖率,该报告只表明哪些部分被测试过,而不能指出设计行为是否正确。3.功能覆盖率功能覆盖率在随即激励测试中十分重要,一个测试用例可能会测试到不同的功能点。Systemve原创 2022-05-25 21:13:09 · 1963 阅读 · 1 评论 -
第七章:继承与多态
验证过程中经常会有新的测试用例(DUT)被加进来,原有的验证平台就需要做对应的修改,可能会引入意外错误。为此,SV提供类的继承和多态操作,使得被调用的方法能够动态的选择实现方式。类的继承①类的拓展与类成员的重写一个类可以被拓展,产生一个派生类。派生类(子类)也就继承了基类(父类)所有的属性。一些修改就可以在子类中完成。也就是类的重写。子类可以通过super操作符来引用父类中的方法和成员,以区分重写的属性或方法。使用extends关键字来扩展类:class PACKET; //基类原创 2022-05-25 21:01:49 · 941 阅读 · 2 评论 -
第六章:随机方法
激励产生有三种办法:直接测试(directed test,DT)、随机测试(random test,RT)、直接随机测试(direct random test,DRT)随机测试的验证平台通常更加复杂,需要激励产生器、监控器、检查器等验证组件。随机生成机制共有四种:内置系统函数、randcase、randsequence结构、基于对象的随机生成 、标准随机函数std::randomize()随机系统函数$random: random_function::=$random [(see...原创 2022-05-16 14:55:48 · 2406 阅读 · 0 评论 -
第五章:虚接口
虚接口接口定义了验证平台与被测设计进行通信的信号,虚接口和对应的通用方法可以将验证平台与设计分隔开:定义接口类型:interfacevariable_if; ... endinterface例化实体接口:variable_ifvariable_if()例化虚接口:virtualvariable_ifvariable_vf; 接口类型的定义是一个过程块虚接口通常是类的一个成员,该成员通过构造函数参数初始化或者过程初始化。可以将虚接口看作对应接口类型的一个句柄一般来说...原创 2022-05-16 14:49:34 · 1276 阅读 · 0 评论 -
第四章:面向对象的编程
方法:包括任务或者函数,对对象内的数据进行操作。对象:包括数据成员和方法。过程编程语言:数据和方法都是独立的,没有任何联系,一个方法可以对多个数据操作,多个函数可以对同一个数据操作。面向对象的编程语言:数据和方法被封装到一个对象中,对象和外部的接口通过方法来实现,是一个层次化的实现结构,可以例化复用。在SV中采用的是面对对象的编程语言,一旦抽象层次被确定,就可以映射到用户自定义类型,这种用户自定义类型就是类(class),类可以将数据和方法封装到一起。类一个对象通过类来定义,类相当于原创 2022-05-16 14:45:20 · 167 阅读 · 0 评论 -
第三章:并发进程&进程同步
硬件设计可以看成是由很多并发或者并行的进程组成,在验证平台中,每一个逻辑独立的并行操作都是采用独立的进程来实现的。SV提供了如下处理并发进程的能力:fork...join并发结构 通过mailbox实现进程间的通信 通过semaphore实现进程互斥或仲裁 通过event实现进程间的同步fork...join:fork...join代码称为父进程,fork...join内的语句块称为子进程,子进程并行执行①并发方式:在fork...join中,父进程会被阻塞,知道所有子进..原创 2022-05-15 13:00:16 · 1934 阅读 · 0 评论 -
第二章:数据类型与编程结构
SV新增了二值逻辑:byte bit int shortint longint而四值逻辑:integer logic reg net有符号数:byte integer int shortint longing无符号数:bit logic reg netlogic可以代替reg,但不能用在双向总线和多驱动的情况下,而只能用wire枚举类型:enumenum [date_type] {name1=value1,name2=value2,...nameN=valueN} var_na..原创 2022-05-14 12:58:21 · 674 阅读 · 0 评论 -
第一章:功能验证技术与方法学概要
SV学习笔记1原创 2022-05-13 13:59:02 · 975 阅读 · 0 评论