数字系统的测试与可测试设计(DFT)

  • 背景介绍
  • 1 Defects
    • 1.1 名词解释
    • 1.2 缺陷种类
      • 1.2.1 Physical Defects物理缺陷
      • 1.2.2 Shorting Defects
        • 1.2.2.1 Gate-Oxide-Shorts
        • 1.2.2.2 Bridge
        • 1.2.2.1 Open
        • 1.2.2.1 Post-fabrication failures
  • 2 Fault Modelling(故障模型)
    • 2.1 Behavioural level fault model
    • 2.2 Functional level fault model
    • 2.3 Structural level fault model
      • 2.3.1 SAF
      • 2.3.2 SSAF
      • 2.3.3 MSAF
      • 2.3.4 Bridging fault models
    • 2.4 Programmable Logic Arrays (PLA) Faults
    • 2.5 Switch Level Fault
      • 2.5.1 与非门、或非门MOS管电路
      • 2.5.2 Stuck-Open fault Model
      • 2.5. 3 Stuck-short fault Model
      • 2.5.4 建模
    • 2.6 Geometric Level fault Model
    • 2.7 其他模型
    • 2.8 等效故障
      • 2.8.1 简单的等效故障
      • 2.8.2 例子
    • 2.9 功能等效
    • 2.10 Fault Dominance
    • 2.11 检查点
  • 3 D算法
  • 4 可测试性设计
    • 4.1 扫描设计技术(SCAN PATH)
    • 4.2 边界扫描

背景介绍

可测性设计即通过在芯片设计过程中引入测试逻辑,并利用这部分测试逻辑完成测试向量的自动生成,从而达到快速筛选量产芯片的目的。在设计中,通过在芯片初始输入端给定特定的值来测试芯片初始输出端的输出值是否与期望值相符来确定内部电路是否可以正常工作。
具体工作内容包括:

  • 在芯片设计前期参与DFT架构规划
  • 在RTL级别设计测试电路
  • 在验证阶段验证测试电路
  • 在综合阶段实现测试逻辑的插入
  • 在测试阶段提供无时序问题的仿真测试向量
  • 在ATE阶段协助ATE工程师调试测试向量,尽快帮助芯片Bring up,并帮助Slilcon learing及fauilure analysis。

1 Defects

1.1 名词解释

  • defects:中文翻译为缺陷,缺陷是在实际硬件和设计之间的差异。
    以一个2输入与门为例:

    假如b和GND之间短路了,那这个短路就是defect,缺陷。

  • fault:因为defect引起的电路的表现称为fault,故障。
    因为短路,引起b的输入一直为0,这就是fault。

  • errors:因为缺陷引起的不正确的结果就成为error,错误。
    因为短路,所以在ab输入为11的时候,c的输出为0,正确的情况应该是1,这就是error。
    需要注意的是,error不是一直存在的,只要a和b的输入任一为0 ,这样c的输出的就是0,这时候error就消失了

  • Failure Mechanisms: 故障机制,描述了产生缺陷的过程。
    确定一个缺陷是有什么原因引起的很重要:
    比如:

    • 氧化层击穿
    • 电迁移
    • 接触不良

    等。这些机制与制造过程中的变化有关:

    • 实际环境中的随机波动,例如,用于扩散和氧化的气体湍流。
    • 炉子控制不正确。
    • 材料的物理和化学参数的变化,例如,光刻胶的密度和粘度的波动。水和气体污染物。
  • 可测性设计故障模型
    为了检测到芯片电路中的故障,1959年Eldred提出了故障模型的概念,即一个试着捕获物理缺陷对电路行为的逻辑功能的影响的结构模型。从那之后,固定型故障模型被用来生成高效的测试向量集

1.2 缺陷种类

1.2.1 Physical Defects物理缺陷

  • 多余或者缺少材料
    可能是由于掩模,晶圆表面或加工化学品上的灰尘颗粒引起的,比如光刻胶。
    在光刻过程中,这些颗粒会导致某些地方会没有曝光到,从而导致:

    • 多余的材料或材料的不必要蚀刻
    • 在多晶硅,活性或金属层中造成短路和开路
  • Gate-Oxide-Shorts
    这是一种比较常见的缺陷,主要原因有以下几点:

    • Si和SiO2界面处的氧气不足
    • 化学污染
    • 场氧化过程中的氮化物开裂
    • 晶体缺陷
    • 薄氧化层的均匀生长图案中的缺陷
    • 薄氧化膜中的颗粒污染
      -------------------------------------生产操作流程中--------------------------------------------
    • 由于按比例缩放特征尺寸而没有按比例缩放电源电压而导致的电场应力
    • 静电放电(ESD)
    • 由热电子引入的电荷陷阱
    • 时变介电击穿(TDDB)效应
  • Electromigration:
    互连中的主要故障机制之一。

1.2.2 Shorting Defects

比较可能发生短路的地方,不同的地方会有不同的名字:

  • 金属线与VDD或VSS之间

  • 子网之间作为 bridging defects(桥接缺陷)

  • 以及作为Gate-Oxide-Shorts(GOS)到达晶体管的源极,漏极或沟道区域

  • 通过寄生晶体管泄漏和有缺陷的pn结

故障行为的类型取决于:

  • 短路的位置(栅极到通道与栅极到源极/漏极)
  • 受影响的晶体管的类型(n或p)
  • 短路电阻和电阻驱动晶体管的状态

1.2.2.1 Gate-Oxide-Shorts

1.2.2.2 Bridge

1.2.2.1 Open

1.2.2.1 Post-fabrication failures

IC可能会在其生命周期的不同阶段发生故障:

2 Fault Modelling(故障模型)

为了检测到芯片电路中的故障,1959年Eldred提出了故障模型的概念,即一个试着捕获物理缺陷对电路行为的逻辑功能的影响的结构模型。从那之后,固定型故障模型被用来生成高效的测试向量集

2.1 Behavioural level fault model

实际上就是用VHDL或者Verilog语言描述出故障模型,这类模型跟实际电路和生产制造的关系不大,常用于仿真测试中。

2.2 Functional level fault model

常用于模块之间的故障模型:
比如选择器,译码器,RAM等
对于某些类型的模块可能非常有效,并且可以以很少的工作量直接生成测试集。

2.3 Structural level fault model

故障模型( fault model )是用逻辑模型来表示物理缺陷的结果。

2.3.1 SAF

粘固故障模型(Stuck-At fault model),简称SAF模型仍然是当今最流行的故障模型。
因为成本的问题,测试SAF的规则是不可以用内部探针,只能用输入、输出端口对IC进行测试。


由于故障,导致A接口引脚一直为0,称为 A s-a-0 or A/0,相反,称为 A s-a-1 or A/1。
SAF例子
使用2输入与非门实现2输入XOR功能

在这个电路中有12个测试点,因此,对应有24个故障模型

2.3.2 SSAF

做测试时,假设芯片中只有单个SAF(Single SAF,简称SSAF)。

对于SSAF模型,假设电路中有K个测试点,那么他的故障模型就有2K种。
当然,芯片中有可能会出现多个故障的情况,但要同时测试芯片的多个故障将大大增加测试的时间,使用SSAF模型的假设可以减少测试时间和测试向量。
SSAF例子

2.3.3 MSAF

上面讲了当个SAF,那肯定会有多个SAF(Multiple Stuck-at fault model,简称MSAF)。
这时候,当电路有K个测试点,那么故障就有
个,其中不考虑所有线路故障。

当然,这里使用SAF模型可以检测到大部分的MSAF故障。

2.3.4 Bridging fault models

桥接故障模型是由于两根或更多根导线一起短路引起的,如下图:

为了检测“与”桥接,桥接中涉及的线路之一被复制为0,而其他则被复制为1。

2.4 Programmable Logic Arrays (PLA) Faults

在PLA中建模了三种类型的故障:

  • Stuck-at faults on inputs and outputs.
  • Cross-point faults – 这些发生在产品线与输入或输出线交叉的点
    基于它们对乘积项立方体的影响(如卡诺图所示),AND平面中缺少的交叉点称为生长缺陷。 AND平面中的额外交叉点称为收缩故障。
  • Bridging faults

2.5 Switch Level Fault

2.5.1 与非门、或非门MOS管电路

NAND

nor

在这个模型中,我们考虑两种类型的开关级故障模型:

  • Stuck-open fault(断路故障):晶体管永不导通
  • Stuck-short fault(短路故障):晶体管始终导通(源极和漏极短路)

2.5.2 Stuck-Open fault Model

由于某些故障,晶体管永久不导通,门输出可能取决于其先前状态(组合电路可能会表现出顺序行为),因此,单个测试模式无法区分故障,因此需要一系列模式(2模式测试),将给定的单个固定故障测试集的测试向量重新排列以满足2模式测试。

当A = 0和B = 0时,如果没有故障,输出F将为1,
出现故障时,输出为浮动状态,输出为浮动状态,并且F处的电压将取决于负载电容器中存储的电荷
我们应用两种模式
• A=1 and B=0 to initialise F=0
• A=0 and B=0 to sensitize the fault
完整的测试由两个向量10→00组成,它们产生一个输出
正常电路中为0→1,故障电路中为0→0

2.5. 3 Stuck-short fault Model

晶体管由于某些故障而永久导通,这时检查输出的逻辑值还不够,因为可能会导致输出达到某个不确定的水平。 并且高电流将从VDD流向GND,
要检测这种类型的故障,我们需要监视电流,称为

数字系统的测试与可测试设计(DFT)相关推荐

  1. 自动测试系统ETest在智能仪表中的设计与应用

    设备组成 Etest_CPS系统主要由硬件部分与软件部分组成.硬件部分由PCI机箱.PCI控制器以及各种PCI接口板卡组成.软件部分由测试设计软件模块.测试执行服务软件模块.测试执行客户端软件模块.设 ...

  2. 航空电子系统通用测试平台ETest的设计

    设备组成 Etest_CPS系统主要由硬件部分与软件部分组成.硬件部分由PCI机箱.PCI控制器以及各种PCI接口板卡组成.软件部分由测试设计软件模块.测试执行服务软件模块.测试执行客户端软件模块.设 ...

  3. Python OpenCV开发MR智能人脸识别打卡系统(五、程序入口设计与测试)

    需要源码请点赞关注收藏后评论区留言私信~~~ 整体系统讲解如下 Python OpenCV开发MR智能人脸识别打卡系统(一.需求分析与系统设计) Python OpenCV开发MR智能人脸识别打卡系统 ...

  4. 【测试】功能测试用例设计方法总结

    测试用例可以用来衡量一个项目测试质量,因此在平时的测试流程中,编写测试用例就是测试过程中很重要的一步,每一个测试工程师都需要并且非常熟练的编写测试用例,能在编写测试用例中尽可能的覆盖任何异常的测试点: ...

  5. MATLAB实现基于BP神经网络的手写数字识别+GUI界面+mnist数据集测试

    文章目录 MATLAB实现基于BP神经网络的手写数字识别+GUI界面+mnist数据集测试 一.题目要求 二.完整的目录结构说明 三.Mnist数据集及数据格式转换 四.BP神经网络相关知识 4.1 ...

  6. 【测试】黑盒测试用例设计方法

    黑盒测试用例设计方法包括: 1.等价类划分法. 2.边界值分析法. 3.错误推测法. 4.因果图法. 5.判定表驱动法. 6.正交试验设计法. 7.功能图法. 8.场景法等. 9.状态迁移法 10.流 ...

  7. 数字孪生技术在自动驾驶测试领域的应用研究概述

    来源:汽车测试网 作者:王庆涛 周正等 摘 要: 研究数字孪生技术在自动驾驶测试领域的应用.旨在构建高度开放的数字孪生自动驾驶测试平台,结合仿真测试工具.通信设备.真实测试车辆等功能单元,形成丰富的测 ...

  8. 测试需求分析与测试用例设计

    一. 界面中的控件知识 1. 文本框和密码框 文本框 长度要求: 输入内容限制. 密码框 长度要求: 不允许明文显示: 禁止复制粘贴: 输入内容限制: 两次密码要一致. 2. 单选按钮.组合列表框.数 ...

  9. 一种HIL测试系统的设计方法和HIL测试系统

    设备组成 Etest_CPS系统主要由硬件部分与软件部分组成.硬件部分由PCI机箱.PCI控制器以及各种PCI接口板卡组成.软件部分由测试设计软件模块.测试执行服务软件模块.测试执行客户端软件模块.设 ...

最新文章

  1. 适用matlab获取奥比深度流和视频流的方法
  2. 我十年学习编程的历史
  3. 力扣(Leetcode)-2. 两数相加
  4. boost::interprocess::wmanaged_external_buffer用法的测试程序
  5. MHA命令系统介绍--masterha_manager
  6. CocoaPods管理iOS项目 2018年11月06日
  7. 如何架设Linux打印服务器
  8. 红米5a android,红米5A值得买吗?红米5A测评告诉你(附全文)
  9. 读书笔记 摘自:《斯坦福极简经济学》
  10. 学习Java技术Eclipse版本的选择
  11. c语言程序怎么实现模块化,【干货】教你如何对一个大的项目进行模块化编程...
  12. ps6人脸识别液化工具在哪_Photoshop教学:人脸识别液化功能介绍
  13. Sentinel2 哨兵2数据下载方法(USGS)-史上最全讲解
  14. MTP和MPO两种光纤有什么区别呢?
  15. 自媒体视频去水印工具哪个好
  16. Python代码cProfile耗时分析及可视化
  17. ASP.NET 中验证的自定义返回和统一社会信用代码的内置验证实现
  18. spread运算符_JavaScript中的Spread运算符有什么用?
  19. 词霸天下---词根238【-qual- 性质,特征】
  20. Objective-C 编程语言官网文档(一)-简介

热门文章

  1. 开关灯问题(python)实现
  2. 衡师11月月赛web题目wp
  3. 程序员刚入职如何快速融入工作中
  4. ARM内存管理(MMU)详解
  5. 表情可字怎么打_微信新表情十款默认上线,手把手教你用,吃瓜加油汗天啊Emm社会社会旺柴好的打脸哇...
  6. python中求两点之间的距离_python – 列表中两点之间的距离公式
  7. 苹果iPhone X 3D face ID原理
  8. 最齐全的学习教育ppt模板素材,速来收藏
  9. [Graphics] 法线图生成器(Normal map generator)
  10. 渗透测试/安全测试面试问题汇总