可以添加定向测试,来填补那些覆盖率漏洞, 代码覆盖率 代码覆盖率在编译仿真的时候设置,即可自动收集信息, 功能覆盖率
基本验证单元agent ,或称为代理
监测接口数据的组件monitor 两种monitor, channel monitor依靠对应的channel interface,从接口上面获取写入每个通道 从端的数据,并...
驱动激励的组件 chl initiator 从channal generator获取chnl_trans数据,并且将其中的数据 驱动到channal interface上面,...
硬件部分既是我们的待测设计MCDT,软件部分既是我们的验证环境,他包括 激励发生器,监测器,比较器等,之所以称为软部分是因为他们都是由类的 实例构成的,软硬件交互的部分既接口,
信箱的存储类似于FIFO,
在类中具有随机化的变量,只有在调用随机化函数随机化后才会具有随机值。
成员变量都具有随机化属性, 发生冲突时,应该首先遵循硬约束
randomize 随机化成功返回1, rand类似于扑克牌,抽一张,放回再继续抽取, randc类似于扑克牌,抽一张,不放回,继续抽,直到抽完54次后重新洗牌继续抽
包与库的概念类似,包最终会被编译进某个库中, 通配符 * 下面代码将ADD,SUB MUL等导入后再进行使用 下面的mcdf_tb的模块中通过包来调用同名的内容就不会出现冲突
通过父类的例化对象访问的都是父类范围的,如果使用子类例化的对象访问,访问的都是、 子类范围的, 空间分为父类空间,子类空间,
下面的P2拷贝了P1的指向对象的内容 以下的代码,操作都是对同一个句柄操作,都是指向的同一个对象实例,应该将对象 的例化放到循环当中,
class 是定义类的关键字 Packet是类名,可使用其成员方法对变量做初始化 静态方法访问的是静态变量
组合型的数组是连续存放的,非组合型数组赋值繁琐, foreach 可遍历队列
集成一个模块,包括处理器单元,存储器单元,测试单元等, verilog 实现的代码示例,需要声明很多的端口,与其他模块进行连接。 使用接口简化后的代码如下,接口后期维护也方便。