FPGA萌新上路
我去年秋招时就遇到过这类题。断言覆盖率绝对是个高频考点,尤其是现在UVM方法学普及,用SVA写断言几乎是标配。笔试官想看的不是你只会背定义,而是你懂它为什么重要。我的答题思路通常是:先承认代码覆盖率确保代码行、分支、条件都被执行过,功能覆盖率确保规格里的功能点被测试到,但两者都有盲区——比如那些复杂的时序交互和“不应该发生”的错场景。这时断言覆盖率就上场了,它像是一个实时监控网,专门抓这些动态的、违反协议的行为。你可以举个简单例子,比如一个握手信号,断言可以检查req和ack之间的时序关系,覆盖率告诉你这个检查被有效执行了多少。这直接提升了验证的置信度。
至于漏洞率曲线,它考的是你对验证项目管理的理解。笔试可能会给一段描述,让你判断项目状态。关键点是:漏洞发现率下降趋势,结合高覆盖率(特别是功能覆盖和断言覆盖),才能较有把握地说设计趋于稳定。如果只提高覆盖率但漏洞率曲线没收敛,那可能意味着覆盖点定义有误或者测试不够激进。回答时把“覆盖率驱动验证”和“漏洞率曲线分析”说成是相辅相成的两个健康指标,一个看“做了多少检查”,一个看“检查出了多少问题”,这样逻辑就比较完整了。
多看看业界验证计划(Vplan)的模板,里面通常会定义这些覆盖率的收集目标和验收标准,对笔试答题框架很有帮助。
