开发及功能验证
开发及功能验证
通过测试设备,按照新产品规格要求,编写测试向量,可抽检、批量性、帮客户开发测试。在特定工作条件(即器件正常使用环境,通常为常温),器件正常工作的状态下,进行各种必要的逻辑或信号状态测试。此测试依据原厂规格书以及行业标准或规范,设计可行性测试向量或专用测试电路,对检测样片施加相应的信号源输入,通过外围电路的调节控制、信号放大或转换匹配等特定条件,分析信号的逻辑关系及输出波形的变化状态,检测器件的功能特性。
验证的重要性
· 根据摩尔定律,集成在一块芯片上的晶体管数量每隔18个月将会翻一番,尽管目前摩尔定律的适用性逐渐放缓,但这芯片上庞大的晶体管数量的功能测试将变得越发的复杂,这就需要投入大量的人员用于验证。
· 芯片从市场需求到开发再到流片所投入的资金逐层增加。若在芯片流片前未能发现功能性错误,而在流片过程中或者在用户端手中发现bug,工厂将会耗费大量人力和财力来投入到修复bug中。若能在流片前,最好在验证时发现大量的错误,一方面将会大大减轻后端修复错误的压力,另一方面将为工厂节省大量的资源浪费。
· 芯片的漏洞率从设计到验证再到后端最后到流片的波形类似于开口向下的抛物线。漏洞率在设计及验证时达到最高,越往后漏洞越难被发掘。
· 芯片上市的窗口逐渐缩短,导致开发的周期要求逐渐缩短,逐渐缩短的时间窗口下,设计出功能完善及安全的芯片,这对芯片的验证工程师而言是一个挑战。
验证人员主要工作
· 在设计人员用编程语言实现设计后,验证人员负责搭建验证环境,检查设计。主要检查的方面:
a.设计的模块是否按照spec中的功能描述那样去执行。
b.检查代码有无漏洞或者边界问题。
c.设计的代码是否能稳定处理一些错误情况。
· 芯片验证的任务及目标:
a.任务主要分为:系统级,子系统级及模块级。
b.验证的目标:要实现按时,保质低耗。
验证周期
· 创建验证计划(根据功能描述文档中的接口信息,结构信息,交互信息等,针对一个验证模块来制定验证计划、验证工具、验证资源、提取验证点、验证策略等)。
· 开发验证环境(根据验证计划,来开发所需的激励产生器、驱动器、比较器等)。
· 环境的调试(检查开发的验证环境、测试序列、参考模型、硬件设计本身是否存在问题)。
· 回归测试(检查测试用例并更新,修补漏洞)。
· 芯片生产(在验证结束后交由芯片生产商进行生产)。
· 硅后系统测试(芯片返回后,系统测试人员依照系统的集成顺序从底层模块开始测试,在测试之前,需要将芯片同测试开发板相结合,或将芯片植入到待开发的系统上,在测试过程中硅前人员与硅后人员要保持联系)
· 逃逸分析