MCDF
文章平均质量分 96
Scorpioooooooooooooo
摸鱼大师
展开
-
MCDF-实验5——覆盖率收集
实验5主要是认识如何定义覆盖率,如何从验证计划到测试用例的实现,最后再到覆盖率的量化。主要掌握两种验证量化数据即代码覆盖率和功能覆盖率。从这两种数据,我们可以掌握何时可以结束验证,确认验证的完备性。覆盖率模型已经给出:主要定义了相应测试的覆盖组和采样函数,需要注意的是单个覆盖点声明type_option.weight = 0;是必须的,否则cross会将覆盖点的默认仓也算上,这样cross覆盖率就不是我们想要的了。原创 2023-08-09 19:55:16 · 274 阅读 · 0 评论 -
MCDF-实验4——从MCDT进入MCDF
第一:验证环境按照隔离的观念,应该分为硬件DUT,软件验证环境package,和处于信号媒介的借口interface第二:对于软件验证环境,它需要经历建立阶段(build),连接阶段(connect),产生激励阶段(generator)和发送激励阶段(transfer)当所有的激励发送完毕且比较完全后,才可以结束测试。与MCDT相比较,MCDF添加了寄存器控制和状态显示功能,同时也添加了一个重要的数据整形功能。原创 2023-08-08 12:55:17 · 316 阅读 · 1 评论 -
MCDF-实验1
1.不能对动态数组内的元素进行非阻塞赋值2.for-loop中参数用分号;隔开3.动态数组可以作为任务/函数参数来传递,传递办法有两种,一是传递整个数组,而是传递数组内的单个元素传递整个数组:endtask。原创 2023-06-22 15:00:07 · 166 阅读 · 1 评论 -
MCDF-实验2——硬件验证方式与软件验证方式的过渡
本次实验使用接口、类和包,完成软件验证方式提示:以下是本篇文章正文内容,下面案例可供参考**检查:**可以在创建两个类的对象时,对channel的id和name作初始化,避免在每个task中初始化参数。只留下task前面关于idle_cycles的部分。还有就是chnl_generator内产生数据的函数名不是get_data了已经改为get_trans所以需要更改。测试块从结果可以看到问题出在chnl_generator.get_trans这里。检查后发现创建对象时都是chnl0_gen.原创 2023-07-02 21:27:21 · 286 阅读 · 1 评论 -
MCDF-实验3——随机约束与环境结构
本次实验需要升级实验2中的genenrator和initiator之间的数据生成和数据传输的处理。同时将何时结束测试的主动权讲给generator而非test。添加monitor和checker组件。提示:以下是本篇文章正文内容,下面案例可供参考1.$finish(),没有找到如何在generator中结束仿真的办法。2.约束块中的条件语句可以使用{staement1 -> statement2;3.%x格式是以16进制打印4.使用case语句可以取出相同id的数据。原创 2023-07-12 22:11:20 · 292 阅读 · 1 评论