DFT知识点扫盲——DFT概览

IC设计公司 , 无论是研发、测试、PE、质量等岗位 , 对DFT的概念都不陌生 。接下来的几篇内容 , 谈谈对DFT的理解 。有聊得不对的地方 , 也请做DFT的同行 , 不吝赐教 。
1:什么是DFT ?
DFT ( for Test) :可测试性是一种设计属性 , 创建程序以全面衡量制造设计质量的
难易程度 , 简单理解DFT即架在设计和ATE测时间的一道桥梁 。
传统芯片设计中 , 设计和测试过程是分开的 , 只在设计周期结束时才考虑测试 。但随着市场竞争的激烈化 , 为了缩短产品上市时间 , 现代设计中 , 测试更早融入设计流程 , 在设计阶段即会考虑DFT流程 。可测试电路既可控制又可观察 。可测试的设计中 ,  主输入上设置特定值 , 主输出上的值指示内部电路是否正常工作 。
DFT测试方法:有Ad Hoc DFT(专项设计)和 DFT(结构化设计)
Ad Hoc DFT:即在尽量不改变电路结构与功能的前提下 , 提高电路节点的可控性()和可观性() , 对于某些特殊结构的具体电路进行测试的效果很明显 , 其方法繁多 , 主要为添加测试点 , 但是由于芯片的管脚数量有限 , 在电路内部插入测试点受限 , 无法满足高集成度芯片的测试需求 , 而且Ad Hoc DFT依赖大量的人工设计 , 需要工程师有丰富的经验 。
DFT:结构化DFT提供了一种更加系统和自动化的方法来增强设计可测试性 , 结构化DFT的目标是增加电路的可控制性和可观察性 , 可以通过多种方法来实现 , 最常见的是扫描技术 。
1-1. Top-DownFlow Tasks and(图片引自《Scan and ATPGguide》)
2常见的DFT测试方法:
1: scan test——边界扫描测试
边界扫描测试是通过在内部逻辑的边界和外部引脚之间增加扫描链和测试访问端口 , 测试激励信息 , 串行传送的测试方法 。大多用来测试芯片、芯片内部连接、模块、模块内部连接、次系统以及多芯片模块等 。多芯片模块除了边界扫描外也没有更好的测试解决方案 , 而边界扫描可以支持BIST以及使用自动测试设备的外部测试 。
2:内建自测试BIST
内建自测试 , 在电路内部建立测试生成 , 施加、分析和测试控制结构 , 使电路能够进行自身测试 , 分为LBIST和MBIST 。LBIST通常用于测试随机逻辑电路 , 一般采用一个伪随机测试图形生成器产生输入测试图形;MBIST用于存储器测试 , 典型的MBIST包含测试电路用于加载 , 读取和比较测试图形 。
3. 扫描测试
scan测试 , 将电路中的存储单元(寄存器)转化成为可控制和可观察的存储单元(寄存器)  , 并将这些单元连接成一个或多个移位寄存器 , 即扫描链 。
4. 全速测试at-speed-test
随着芯片高速设计和运行的需求 , 全速at-speed测试正逐渐成为测试设计的关键部分 。At-speed 目的是测试芯片在实际工作频率下是否能正常工作 , 测试时钟往往是由芯片内部的PLL产生 。
不同的测试方法我们后续再分别展开介绍
3:常见的故障类型
IC的常见故障类型如下 , 不同的DFT测试方法 , 也是运用算法 , 较高效地抓取到不同的故障类型 。
4:DFT主要节点
1:产品定义架构阶段:与整个SOC架构定义类似 , 该阶段是从项目整体结构上安排测试架构 , 考虑scan、mbist布局 , 规划不同IP、测试需求 , 片上资源规划分析等 , 以获得质量良好和成本有竞争力的DFT设计方案 。