DFT(design for test)
通常情况下,DFT工程师的校招题目可能包括以下方面:
-
测试计划设计:要求应聘者根据芯片设计特点和测试需求,制定全面、高效的测试计划。
-
DFT结构设计:要求应聘者掌握DFT设计的基本原理和方法,能够独立完成相关硬件结构的设计和实现。
-
自动化测试开发:要求应聘者具备一定的编程能力,能够使用脚本语言或编程语言开发自动化测试程序,并能够优化测试流程和提高测试覆盖率。
-
芯片故障分析:要求应聘者具备良好的问题解决能力,能够快速准确地诊断芯片测试中的故障,并提供有效的解决方案。
-
新技术跟进:要求应聘者对新兴的测试技术和工具有浓厚的兴趣,能够主动了解并掌握新技术的应用方法,并在工作中推广和应用。
一般来说,IC验证测试工程师的校招题目可能会涉及以下几个方面:
-
Verilog或SystemVerilog知识:考察应聘者对硬件描述语言(HDL)的掌握程度,能否正确地描述数字电路的行为和功能。
-
测试计划设计:要求应聘者能够制定全面、高效的测试计划,并考虑到芯片的各种特性和测试需求。
-
驱动开发:要求应聘者具备一定的编程能力,能够使用C/C++等编程语言为测试系统开发驱动程序。
-
模拟器使用:要求应聘者了解常用的RTL仿真工具和调试工具,如ModelSim、VCS等,并能够熟练使用这些工具进行仿真和调试。
-
芯片故障分析:要求应聘者具备良好的问题解决能力,能够快速准确地诊断芯片测试中的故障,并提供有效的解决方案。
-
报告撰写:要求应聘者能够撰写清晰、准确的测试报告,并能够整理和总结测试数据,提供有效的反馈和建议。
-
熟悉英文阅读:要求应聘者能够熟练阅读和理解英文技术文献和规范文档,以便更好地理解和应用测试标准和方法。
DFT原理
(1)DFT的基本原理:
转变测试思想,将输入信号的枚举与排列的测试方法(即完全测试),转变为对电路内各个节点的测试,即直接对电路硬件组成单元进行测试,降低测试的复杂性。
具体实现方法包括将复杂的逻辑电路分块;采用附加逻辑和电路使测试生成容易,并能覆盖全部的硬件节点;添加自检测模块,使测试具有智能化和自动化。
DFT方法
常用的可测性设计方法包括基于扫描链(scan chain)的测试方法和内建自测试电路(built-in self-test,BIST)
1)基于扫描链
基于扫描链的测试方法是通过建立专门扫描链电路为每个寄存器提供可观察性和可控制性,它通过对寄存器的控制将复杂的时序逻辑设计划分为完全隔离的组合逻辑块,从而简化了测试过程。
基于扫描链的测试方法又分为两种:一种是芯片内部寄存器的扫描链,用于测试芯片内部制造缺陷,另一种是芯片I/O端口的扫描链,又称为边界扫描设计(boundary scan design, BSD),用于测试系统电路板级的制造缺陷。
(2)内建自测试电路方法(BIST)
BIST是通过芯片内部专门设计的测试逻辑电路(区别于扫描电路)的运行来检查设计功能正常的电路的制造缺陷,它相当于把一个小型专用的测试仪器集成到芯片内部。BIST方法常用于片内存储器的测试,如数据缓存、FIFO、Cache等。
在实际应用中,BIST和BSD经常与JTAG结合起来使用。JTAG接口提供了一种简单通用的通过有限I/O访问芯片内部信号的方法。
2.3.1 扫描(SC)设计
时序电路的直接测试往往是难以实现的,扫描设计通常能很好的解决之一问题。
扫描设计的主要思想就是把难以进行测试的电路转化为可测的电路。要实现这一目标,需要把电路中原有的一般触发器用可观测可控制的扫描触发器进行代替,这些扫描触发器串接到一起形成扫描链(Scan Chain,SC),那么,在测试模式下,就可以通过扫描链来串行移入移出测试数据,实现对整个电路的控制和观测。单个扫描触发器代替一般触发器的例子如图: