EDA/IC设计
数字验证处于数字IC设计流程的前端,属于数字IC设计类岗位的一种。主要是对数字前端的设计做验证。
随着芯片规模不断加大,在IC设计过程中验证的复杂度也进一步加到,需要的用到的岗位人数也越来越多;很多大公司,数字前端设计工程师与验证工程师的比例已经达到1:3。
正因为芯片的高风险,才凸显了验证的重要性。在流片之前,通过验证人员的验证活动,发现所有的设计bug,这就显得特别重要。
下图是一副比较完整的芯片端到验证端流程图,大多数公司的验证流程是大同小异的,差异点在于各个流程中具体做的事情。
验证做任何事情都需要按照一定的流程来走,否则很容易陷入混乱之中,对刚入门的新手来说,更是如此。通用流程大致如下:
1)提取测试点,明确验什么
分析FS/浮点平台,提取芯片的规格及测试点;
分析AS/定点平台,提取测试点;
分析DS,提取测试点并识别asic与算法的不一致点。
2)制定验证方案,明确怎么验
刷新测试点列表,明确测试点的覆盖方式:功能覆盖率、代码覆盖率、直接用例;
验证环境的搭建策略,这个步骤是可以做成自动化工具的;
验证的重点难点,提前识别重难点,并制定相应的对策;
刷新用例列表,明确测试用例的方法及步骤。
3)用例执行,随机测试,发现bug
执行直接用例,发现大部分的bug;
带随机的大量测试,试图撞出bug。
4)完备性分析,确保无漏验
FA/AS完备性确认,确认FS/AS中的所有点都已纳入测试点,并确保已被覆盖,包括应用场景;
接口完备性确认,保证所有的接口时序都已覆盖,包括正常时序及异常时序;
覆盖率确认,分析所有的代码覆盖率、功能覆盖率,保证全部覆盖;
代码分析,熟练掌握电路的实现逻辑,保证所有的电路corner都已覆盖。
上述这几个步骤是一个比较规范的流程,只要每个步骤都做好,基本就能做到无漏测、零漏验。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !