FPGA数字IC笔试面试022—代码覆盖率、功能覆盖率

今天是【FPGA探索者】的技术专项分享——数字IC验证的代码覆盖率喝功能覆盖率,在笔试中设计、验证都会遇到哦~
文章加入合集:【收藏!】FPGA数字IC求职必备知识点目录——持续更新 https://www.nowcoder.com/discuss/959891
1. 下列关于代码覆盖率描述错误的是:

答案:AB

2. 代码覆盖率、条件覆盖率和状态机覆盖率均达到 100%,可以认为设计没有问题。

A:正确

B:错误

答案:B

解析:

覆盖率 2 个大方面:代码覆盖率,功能覆盖率。

代码覆盖率包括:

(1)语句覆盖率

(2)条件覆盖率;

(3)分支覆盖率;

(4)状态机覆盖率;

代码覆盖率 100% 不代表功能没问题。

(1)功能覆盖率高但是代码覆盖率低

分析未覆盖到的代码,推断仿真是否有遗漏的功能点,代码是否为冗余或不可达代码;

(2)功能覆盖率低但是代码覆盖率高

仿真用例没有关注到一些功能点,需要修改测试用例。

代码覆盖率:

白盒覆盖率,一般仿真工具都有这个统计功能。代码覆盖率达到 100% 不代表设计没有问题。

(1)分支覆盖率

针对 if…else、case 等分支语句,看代码中设计的分支是否都被测试到了。

针对 if(条件1),只要条件 1 取 true 和 false 都执行过,则这个分支就完全覆盖了。

(2)语句覆盖率

语句覆盖率上不去时,可以查看未覆盖处的代码是测试用例的疏忽、冗余代码或是保护用途的代码,比如case的default;

(3)翻转覆盖率

包括两态翻转(0/1)和三态翻转(0/1/Z),常用的是两态翻转。对于单比特信号而言,若仿真用例使得该信号从0到1和从1到0的翻转均发生,则认为这里的翻转覆盖率是全面的(100%)。

即使翻转覆盖率达到 100%,分支覆盖率和语句覆盖率也不一定达到 100%。

(4)条件覆盖率与表达式覆盖率

条件覆盖率可以看作是对分支覆盖率的补充。每一个分支条件表达式中,所有条件的覆盖。

比如:

if(a&& b)

statement1;

else

statement2;

测试用例:a=1,b = 1 和 a = 0,b = 1

分支覆盖率 100%,两个分支都覆盖了,但是条件覆盖率不是 100%,有判断条件没有被测试到。

(5)状态机覆盖率

如下状态机实现代码中,需要分析其 FSM 覆盖率的分支有哪几个?

A. curr_st 为 1,next_st 为 2;

B. curr_st 为 2,next_st 为 3;

C. curr_st 为 3,next_st 为 0;

D. curr_st 为 0,next_st 为 1;

答案:ABD

解析:

A.curr_st 为 1,next_st 为 2,有这种跳转,对;

B.curr_st 为 2,next_st 为 3,有这种跳转,对;

C.curr_st 为 3,next_st 为 0,没有这种跳转,错;

D. curr_st 为 0,next_st 为 1,有这种跳转,对;


功能覆盖率

又称黑盒测试覆盖率,只关心功能,不关心具体的代码是如何实现的。如果想要统计功能覆盖率,需要在 SystemVerilog 编写的测试用例中添加覆盖组,仿真器基于它来统计功能覆盖率。

分为覆盖点(coverage points)和断言(arrertion)。


3. 当功能覆盖率达到100%,可以说明()

A. 功能覆盖率对应的DUT响应是正确的

B. 某些令人关注的情况已经得到测试覆盖

C. DUT的功能点已经100%覆盖

D. 意味着验证的完整性

答案:B

欢迎留言讨论、咨询、点赞、转发、关注。

FPGA探索者:FPGA和数字IC求职必备向导~ ~

祝大家都能找到满意的实习和秋招offer!

#搞技术你要知道##FPGA数字IC笔试面试系列##芯片设计工程师##FPGA工程师##数字IC设计工程师#
FPGA数字IC笔试100道题 文章被收录于专栏

笔试刷题及解析,FPGA和数字IC类的笔试题汇总、解析,助力实习、提前批、秋招

全部评论
好帖 已收藏
点赞 回复 分享
发布于 2022-09-09 17:31 四川
已经收藏了,什么时候发offer
点赞 回复 分享
发布于 2022-06-28 18:08
这是哪家公司的题?
点赞 回复 分享
发布于 2022-06-27 20:27

相关推荐

点赞 评论 收藏
分享
05-21 15:47
门头沟学院 Java
浪漫主义的虹夏:项目有亮点吗,第一个不是纯玩具项目吗,项目亮点里类似ThreadLocal,Redis储存说难听点是花几十分钟绝大部分人都能学会,第二个轮子项目也没体现出设计和技术,想实习先沉淀,好高骛远的自嗨只会害了自己
点赞 评论 收藏
分享
这算盘打的
程序员小白条:都这样的,都是潜规则,你自己说可以实习一年就行了,实习可以随便跑路的
点赞 评论 收藏
分享
评论
5
27
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务