随笔分类 -  sv-code/func cov

TinyALU的功能覆盖率模型
摘要:资料来源 (1) 《The UVM Primer》第二章 1.TinyALU的功能覆盖率模型 1.1覆盖率目标 (1) 测试所有指令; (2) 所有指令的全0操作数仿真; (3) 所有指令的全1操作数仿真; (4) 所有指令的复位后运行; (5) 单周期指令之后运行乘法指令; (6) 乘法指令之后运 阅读全文

posted @ 2022-04-11 16:46 知北游。。 阅读(143) 评论(0) 推荐(0) 编辑

验证覆盖率及用仿真工具收集覆盖率(code cov/func cov)
摘要:资料来源 (1)公众号-芯片学堂; (2)VCS user guide; (3)面试系列:RTL基本知识【1】关于coverage (qq.com) (4) Verdi Coverage User Guide and Tutorial (手册是信息源头) 1.验证覆盖率 (1)验证覆盖率只是为了证明 阅读全文

posted @ 2022-01-16 14:32 知北游。。 阅读(4305) 评论(0) 推荐(0) 编辑

sv9.9覆盖选项(实例选项与类型选项)
摘要:1.实例选项 (1)用于特定的覆盖组实例; (2)per-instance只能放在覆盖组中,不能用于覆盖点或交叉点; (3)使用per_instance选项与comment选项可以为每个covergroup实例加入单独的注释; 1 class C1; 2 bit[7:0] x; 3 4 coverg 阅读全文

posted @ 2021-12-29 21:00 知北游。。 阅读(225) 评论(0) 推荐(0) 编辑

sv9.8通用的覆盖组(通过数值或者引用传递覆盖组参数)
摘要:1.通过数值传递覆盖组参数 2.通过引用传递覆盖组参数 1 covergroup cg (ref int ra, input int low, int high) @(posedge clk); 2 coverpoint ra //采样通过引用传递的变量 3 { 4 bins good={[low: 阅读全文

posted @ 2021-12-29 20:06 知北游。。 阅读(268) 评论(0) 推荐(0) 编辑

sv9.7.6交叉覆盖的替代方式
摘要:1.交叉覆盖的替代方式 (1)随着交叉覆盖的定义越来越精细,可能需要花费较多的时间来指定哪些仓应该使用或者被忽略掉; 可以通过给覆盖点上的仓命名,然后使用这些仓来收集交叉覆盖率数据; (2)示例 (2.1)使用仓名与binsof指定交叉覆盖的数值 (2.2)使用binsof与intersect指定交 阅读全文

posted @ 2021-12-29 17:44 知北游。。 阅读(193) 评论(0) 推荐(0) 编辑

sv9.7.3&9.7.4排除掉部分交叉覆盖仓,从总体覆盖率的度量中排除掉部分覆盖点
摘要:1.排除掉部分交叉覆盖仓 (1)ignore_bins+binsof+intersect可以排除掉许多交叉覆盖仓;其中,binsof用于指定覆盖点,intersect用于指定数值集; (2)示例 2.从总体覆盖率的度量中排除掉部分覆盖点 (1)一个覆盖阻的总体覆盖率是基于所有简单覆盖点和交叉覆盖率的 阅读全文

posted @ 2021-12-28 21:47 知北游。。 阅读(1243) 评论(0) 推荐(0) 编辑

sv9.7.1&9.7.2-交叉覆盖率及示例,对交叉覆盖仓进行标号
摘要:1.交叉覆盖率及示例 (1)覆盖点记录单个变量或表达式的观测值,交叉覆盖率则同时测量两个或两个以上覆盖点的值; (2)system verilog中的cross结构可以用来记录一个覆盖组内两个或两个以上覆盖点的组合值; cross语句只允许带覆盖点或者简单的变量名; (3)示例 2.对交叉覆盖仓进行 阅读全文

posted @ 2021-12-28 21:21 知北游。。 阅读(596) 评论(0) 推荐(0) 编辑

sv9.6.11&9.6.12 忽略数值或翻转,不合法的仓
摘要:1.忽略数值或翻转 (1)在某些覆盖点上,可能始终得不到全部可能值,对于该问题可以使用两种方法: 方法一:明确定义仓来涵盖所有的期望值; 方法二:让system verilog自动创建仓,然后使用ignore_bins排除掉那些不用来计算功能覆盖率的数值; (2)ignore_bins示例: 1 示 阅读全文

posted @ 2021-12-22 22:05 知北游。。 阅读(131) 评论(0) 推荐(0) 编辑

sv9.6.7&9.6.9&9.6.10条件覆盖率,翻转覆盖率,在状态和翻转中使用通配符
摘要:1.条件覆盖率 (1) 可以使用关键字iff给覆盖点添加条件,这种做法最常用于在复位期间关闭覆盖以忽略一些杂散的触发; 注:也可以使用covergroup_name.stop()与covergroup.start()进行covergroup的采样; (2) 可以使用start和stop函数控制覆盖组 阅读全文

posted @ 2021-12-22 21:54 知北游。。 阅读(820) 评论(0) 推荐(0) 编辑

sv9.6.4&9.6.5&9.6.6对表达式采样,用户自定义仓,命名覆盖点的仓
摘要:1.对表达式进行采样 注:覆盖点可以对变量或表达式采样; (1) 注意哑元变量的使用; (2) 由于值域不是2的幂,所以最好使用自定义的仓,如果使用自动生成的仓,可能需要添加ignore_bins; 2.用户自定义的仓 3.命名覆盖点的仓 阅读全文

posted @ 2021-12-22 21:34 知北游。。 阅读(74) 评论(0) 推荐(0) 编辑

sv9.6.2&9.6.3自动创建仓与限制自动创建仓的数目
摘要:注1:每一个覆盖点(coverage point)都包含一系列bins,用于采样值或者值的翻转; 采样值的bins称作state bins,采样值的翻转的bins称作transition bins; 1.自动创建仓 (1) system verilog会自动为覆盖点创建仓。 2.限制自动创建仓的数目 阅读全文

posted @ 2021-12-22 21:10 知北游。。 阅读(386) 评论(0) 推荐(0) 编辑

功能覆盖率之覆盖组简介(coverage group)
摘要:注:功能覆盖率的两个主要部分:采样的数据和数据被采样的时刻; 参考资料: (1) system verilog绿皮书; (2) system verilog standard chapter19; 1.覆盖点与覆盖组 (1) 覆盖点对测试平台中的变量和表达式的数值进行采样; (2) 覆盖组: 囊括同 阅读全文

posted @ 2021-11-08 12:30 知北游。。 阅读(2123) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示