在之前的一篇文章里面,我们谈到流片失败的原因,然后末尾我做了一个小调查,结果大出所料,30%+的工程师会遇到过流片失败。如果再加上产能,产品市场等各种原因,做好一家芯片公司实属不易。
为什么大的公司很少出现流片失败,这归咎于一套完整的流片流程。可以这么说signoff的流程是一家芯片公司的核心竞争力所在。下面是我从IP signoff checklist里面挑的一些东西给大家分享。
1.设计
- 规格书完整性的检查,主要检查规格书是否将芯片的功能都记录下来,规格书中否有歧义。
- 寄存器的检查,在芯片应用中的寄存器是否都有实现,寄存器的名称和属性是否正确。
- clock和reset的检查,clock和reset是否都有接到对应的模块。
- 宏定义的检查,检查宏是否按照设计的要求进行定义。
- 芯片功能的检查,芯片是否已经实现规格书中所定义的所有功能
- 设计中TODO和FIXME等地方的检查。
- Lint语法检查,Lint语法检查在此非常重要。
- 面积的检查,综合后芯片的面积是否符合设计需求
- 芯片引脚检查,芯片的引脚数量及布局是否符合实际应用需求
- CDC的检查,CDC中报的问题是否都有修掉
- 安全功能的检查,安全功能的对抗措施是否都有实现
- 软件人员对寄存器,设计功能和记录的未解决bug的检查
2.验证需要check的点
- Testplan的检查,Testplan是否覆盖全部测试点,coverage group是否都包括了这些测试点。
- FPV的主要的assertion是不是都有被证明
- Regression 是不是都pass了
- 安全、error scenarios,power,performance,stresstest 是否都有测过
- Function coverage 是否收敛
- 设计的接口是否都有测试到。
- SOC中对应IP的验证test是否都有过
- Code coverage 是否收敛
- FPV中COI coverage是否收敛
- 安全功能的对抗措施是否都有测到
- 所有的bug是不是都有清掉,如果没有清掉原因有没有搞清楚
- XPropagation 分析是否有完成
- 所有TODO或者FIXME的地方是否都有清掉
- 相关compile或者simulation中warning的地方有没有检查一遍
- Gatelevel simulation有没有跑完,包括几个corner
- 带UPF/CPF的simulation是否都有跑过
后端
- LEC/Formality是否有比过
- Timing是否有收敛掉
- 芯片的动态功耗和静态功耗是否与设计的一致
- ESD,latchup和ERC等检查是否有过
- 最终的网表与最初的网表功能是否一致
- 电源域划分是否合理,功能模块摆放是否合理。
作者:IC bug 猎人
原文链接:处芯积律
推荐阅读
更多IC设计技术干货请关注IC设计技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。