芯片工程师求职题目之验证篇(1)

1. 定向激励测试和受约束随机激励测试有什么不同?它们各有什么优势和劣势?

定向激励测试是一种为验证设计中的每个特性而编写定向测试用例的方法。受约束随机测试是一种使用约束随机生成器根据设计规范自动生成激励的方法。目前比较推荐的做法是两者一块用,使用受约束随机激励测试来覆盖大部分验证空间,然后定向激励测试覆盖难以到达的边界情况。

定向激励测试受约束随机激励测试
需要编写一个或多个定向测试用例来验证设计的每个特征实现了一个激励生成器,根据设计规范对激励进行约束和建模,自动生成测试用例
可见性和可预测性比较好,因为每个测试激励都与设计特性相关,很容易跟踪由于激励是自动生成的,需要额外的工作来开发功能覆盖率去收集设计各个特性的覆盖情况
只要理解了设计特性,激励就很容易开发开发约束随机验证测试平台更加复杂,需要更多的经验,还需要花费更多的时间来开发验证环境
对于复杂的设计,编写和维护大量定向测试用例是非常痛苦和耗时间的与大量定向测试用例相比,约束随机生成器在开发后相对容易维护
定向测试用例编写仅限于通过理解设计规范确定的场景约束随机生成器可以涵盖更多的场景和特征,结合随机配置可以更好地压力测试设计,并会随机生成一些人工识别可能错过的场景

2. 解释下什么是自检测试(self-checking tests)

自检测试是测试用例在测试结束时,可以通过某种方式对测试结果自动进行检查的测试。可以在测试中通过计算某些内存操作的结果或通过从DUT收集信息(比如状态寄存器或任何其它信息)来预测结果。

3. 什么是覆盖率驱动(CDV)的验证?

在覆盖率驱动的验证方法中,验证计划是通过将每个设计特性或场景映射到可用于在仿真期间收集覆盖信息的覆盖率监视器来实现的。

  • 在基于覆盖率驱动的验证中,测试用例通常使用约束随机激励生成器产生,测试正确性由功能检查器保证,并且为所有实现的覆盖率监视器收集覆盖率;
  • 通常需要在DUT上对多个测试用例或随机生成器的多个种子进行回归,并将从每个测试中收集的单个覆盖率合并以获得累积覆盖率。有时,在DUT中的边界场景需要使用定向测试去覆盖;
  • 覆盖率信息提供了对随机激励生成器的约束质量的反馈,有助于调整约束来更有效地生成随机激励;
  • 在这种方法中,覆盖率定义是跟踪验证执行的进展和完成的关键步骤,因此必须要根据验证计划和设计规范去检查覆盖率定义和实现的完备性和正确性;
  • 覆盖率监视器可以是基于covergroups和property。

4. 什么是基于断言的验证(ABV)方法

基于断言的验证使用断言来捕获特定的设计意图,然后simulation、formal验证或emulation中使用这些断言验证设计实现是否正确。ABV方法利用断言的优点来补充其它功能验证方法,断言的一些好处如下:

断言可以从源头上检测设计错误,从而有助于提高可观察性并减少调试时间;

相同的断言既可以用于simulation,也可以用于formal验证,甚至可以用于emulation;

断言库中提供了许多针对通用设计的断言,并且可以很容易地移植到任何验证环境中;

作为property编写的SystemVerilog断言也可以用于覆盖率收集,因此有助于覆盖率驱动验证方法。

5. 给定一个具有单读写端口的RAM,需要验证哪些条件?

单端口RAM只有1个端口用于读写,因此它只能在任何给定的时间点进行读或写操作。需要考虑验证的其它设计规范是RAM大小、地址和数据总线宽度、支持的读写密度等。

基于此,以下是一些需要验证的场景:

  • 单次读和写功能正确;
  • 对同相同地址或重叠地址或不同地址进行多次读读、写写、读写和写读;(如果RAM是行列组成的结构,那么也要针对同行和同列的地址进行测试,以及跨行跨列等)
  • 验证读和写访问RAM的边界地址;
  • 验证对单端口进行不同的读写密度测试,比如背靠背、两笔操作之间小的延迟或非常大的延迟;
  • 验证写入RAM位置的不同数据类型,比如写全0、全1、交替0/1等模式;

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谷公子的藏经阁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值