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

article/2025/10/24 2:47:45

数字系统的测试与可测试设计(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,
要检测这种类型的故障,我们需要监视电流,称为𝐼𝐷𝐷𝑄 𝑡𝑒𝑠𝑡𝑖𝑛g。

在这里插入图片描述
Consider T1 Stuck at short fault
•当A = 1且B = 0时,在没有故障的情况下输出F将为0(下拉网络导通)
•在出现故障时,上拉网络也开始导通,导致高电流从VDD到GND
•输出F不确定(表示为X)

2.5.4 建模

在这里插入图片描述
电源节点(VDD接地)之间的晶体管的每个串联互连都被与门取代,
并行互连被“或”门(通过反转的pMOS输入)代替,
输出是由具有给定真值表的BUS网络产生的,

  • stuck-open Fault:

    • pmos 晶体管就假设 s-a-1
    • nmos 假设 s-a-0
  • stuck-short Fault

    • pmos 晶体管就假设 s-a-0
    • nmos 假设 s-a-1

2.6 Geometric Level fault Model

Stuck-short fault Model:
➢ 电路描述在布局级别指定
作为不同层上的矩形形状的集合
➢ 故障模型是临时的,可以直接从布局中得出
Example: bridging fault between a pair of lines that are running parallel to each other
➢ 一些功能故障模型依赖于几何信息
PLA fault model, memory fault model, etc.
在这里插入图片描述

2.7 其他模型

在这里插入图片描述

2.8 等效故障

布尔电路的两个故障称为Fault Equivalence(等效故障),如果它们对电路进行转换,以使两个故障电路具有相同的输出功能。等效故障也称为不可区分的,并且具有完全相同的测试集。
在这里插入图片描述

2.8.1 简单的等效故障

在这里插入图片描述

2.8.2 例子

在这里插入图片描述
在这里插入图片描述

2.9 功能等效

在某些电路中,有时候相同的故障模型会导致相同的结果,对于输出结果相同的故障模型,只需考虑一种,如下:
在这里插入图片描述

2.10 Fault Dominance

如果某个故障F1的所有测试都检测到另一个故障F2,则称F2占主导地位。
如果检测到F2的所有测试集𝑇𝐹1是测试集𝑇𝐹1的子集,则故障F1将主导另一个故障F2。
如果两个故障相互主导,则它们是等效的.

在这里插入图片描述
例如,“与非”门输入A的SA1测试(F2)也会在输出上检测到SA0(F1)(对于输入B同样如此)。因此,可以从列表中删除Z-SA0。
在这里插入图片描述
Fault Dominance Examples:

在这里插入图片描述

2.11 检查点

组合电路的主要输入和扇出分支称为检查点
检查点定理:一个测试设备,可以检测组合电路的所有检查点上的所有单个(多个)固定故障,也可以检测该电路中的所有单个(多个)固定故障。
在这里插入图片描述
在这里插入图片描述

3 D算法

D算法是由IBM提出测试SAF的,是比较广泛的使用来探测SAF的一种算法。
在D算法里,有五个符号,分别是
在这里插入图片描述
其中,𝐷表示在无故障(正常)条件下为逻辑1,在故障条件下为逻辑0的节点。
D(上划线)则表示无故障(正常)条件下为逻辑0,在故障条件下为逻辑1的节点,
X是一个不确定值。
使用D算法主要有3个步骤:

  1. 先将故障传播到其中一个输出,
  2. 然后反向传播到输入获得一致的输入分配
  3. 如果冲突了就后退

在这里插入图片描述
说道D算法,里面有四种写法:
在这里插入图片描述

  • . SC
    门(或任何电路元件)的单覆盖(SC)是真值表的一种紧凑形式。(显示卡诺图基本素蕴涵的最小输入信号分配集)
    在这里插入图片描述

  • . Primitive D-Cube of Failure (PDCF)
    指定最小输入条件,以在门输出处产生错误
    在这里插入图片描述

  • Propagation D-Cube:
    以2输入与门为例

在这里插入图片描述

  • D-intersection

4 可测试性设计

4.1 扫描设计技术(SCAN PATH)

在这里插入图片描述

这是一个时序电路,

使用扫描,同步时序电路在两种模式下工作:(正常模式和测试模式)
在这里插入图片描述
在测试模式下:
通过用一个可扫描的等效物替换设计中所有的存储器元件,然后把这些扫描单元连接为扫描链,利用多个时钟脉冲将特定的输入值一拍一拍打入到扫描链上所有的时序触发器,同时在扫描输出端通过多个时钟脉冲得到这些触发器的测试响应。将得到测测试响应值与工具给定的期望响应值对比可以帮助快速找到发生缺陷的位置,实现对量产芯片的筛选。这一方法通过控制和观察设计中所有存储元件的值,从而使得时序电路的测试向量生成和仿真变得和组合逻辑一样简单。
在这里插入图片描述

4.2 边界扫描

在这里插入图片描述

上图给出了多个器件相连接的JTAG测试:系统的测试总线TCK和TMS共享给电路中所有需要测试的器件,这些信号由TAP控制器统一控制,第一个器件的输入端作为整个测试的整体输入端,前级器件的输出作为后级器件的输入,最后一个器件的输出端作为整个测试的整体输出端,通过这种方式将所有待测器件的引脚连接起来,测试者可以通过给定输入端特定的输入值并为各输出端设定对应的期望值,通过比较输出端实际测到的值是否与期望值相符来确定电路是否存在缺陷,达到测试芯片的目的。


http://chatgpt.dhexx.cn/article/x6ZbShqH.shtml

相关文章

2. 测试分析与测试设计

1. 为什么要做好测试分析和测试设计 以业务驱动测试:当下的测试圈子内,大家一直在强调自动化技术、DevOps等,这些是提高效率和质量的利器,但是所有有效的测试行为,都是建立在对业务需求有正确的理解和分析的基础上的。…

软件测试之---测试设计方法

二、测试设计方法(黑盒测试设计方法;白盒测试设计方法) 1、等价类划分法 1.1等价类划分法概念 将输入(输出)域划分成若干个子集合,从划分的子集合中选取代表数据,如果选取的数据测试没有问题&…

测试用例:四步测试设计法

读者提问: 阿常,上节我们讲到测试点不等同于测试用例,想请教你一下,如何把测试点加工成测试用例呢? 目前团队中测试人员针对同样的测试点,编写出来的测试用例各不相同,一千个人就有一千个哈姆雷…

常用测试设计方法

目录 1、按照开发阶段划分(1)单元测试(模块测试)(2)集成测试(组装测试)(3)确认测试(有效性测试)(4)系统测试(5)验收测试 2、按照代码运行划分(1&a…

大数据基础概述

大数据基础概述 1.前言2.大数据技术发展的三个阶段3.大数据技术面临的问题4.大数据技术数据的特点5.大数据对各方面的影响6.大数据技术的应用领域7.大数据技术的相关概念8.大数据技术的相关产业9.云计算和物联网 1.前言 三次信息浪潮 信息化浪潮发生时间标志解决问题代表企业第…

大数据概论

大数据big data指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新 处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大量数据资源为解决以前不可能解决的问题带来了可能性。1大数据不一定…

大数据技术概论

大数据技术概论 大数据技术的产生 大数据的基本概念 ●大数据简介: 大数据是规模非常巨大和复杂的数据集,传统数据库管理工具处理起来面临很多问题,比如说获取、存储、检索、共享、分析和可视化,数据量达到PB、EB或ZB的级别。 大数据有三个V: 一是数据量(Volume),数据量是持续…

2【源码】数据可视化:基于 Echarts + Java SpringBoot 实现的动态实时大屏范例-物流大数据

数据可视化大屏的出现,掀起一番又一番的浪潮,众多企业纷纷想要打造属于自己的“酷炫吊炸天”的霸道总裁大屏驾驶舱。 之前小伙伴们建议我出一些视频课程来学习Echarts,这样可以更快上手,所以我就追星赶月的录制了《Echarts - 0基…

客快物流大数据项目(九十一):ClickHouse的数据库引擎

​​​​​​​ 文章目录 ClickHouse的数据库引擎 一、MySQL引擎 ClickHouse的数据库引擎 ClickHouse提供了本机、M

客快物流大数据项目(九十二):ClickHouse的MergeTree系列引擎介绍和MergeTree深入了解

文章目录 ClickHouse的MergeTree系列引擎介绍和MergeTree深入了解 一、MergeTree系列引擎介绍

客快物流大数据项目(三十二):安装CDH-6.2.1和初始化CDH服务所需的MySQL库

安装CDH-6.2.1和初始化CDH服务所需的MySQL库 一、安装CDH-6.2.1 yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server 二、初始化CDH服务所需的MySQL库 在MySQL中依次创建监控数据库、Hive数据库、Hue数据库 操作步骤 说明 1

大数据实时+离线项目架构----智慧物流大数据平台(超流行框架!)

智慧物流大数据平台 文章目录 智慧物流大数据平台一、项目背景二、逻辑架构三、解决方案技术亮点: 数据流转四、项目的技术选型4.1流式处理平台4.2 分布式计算平台4.3 海量数据存储 框架软件版本 一、项目背景 本项目基于一家大型物流公司研发的智慧物流大数据平台。该物流公司…

visio中不使用带箭头的线条

在visio中每次都需要用带箭头的连接线,但有时候,确需要不用带箭头的连接线,找了好半天,每次使用每次找,这次特此写博客结论一下。 2.设置线条的格式

visio画箭头时,如何去掉箭头的自动连接连接点(吸附)功能?

1.以Visio2013版为例,在visio顶部操作菜单中,视图-视觉帮助-找到右下小箭头。 2.点击小箭头,在如下弹出框中,取消如下两项的勾选,即可。

如何用Visio画出总线(空心的箭头)

在visio中可以首先画出一个空白的箭头,在下图中找到。 画出一个箭头 然后可以在这个箭头后面拼接长方体,如图 然后,选择开发工具中的操作的联合 得到的效果如下 这样,就画出了总线。

如何用viso画波浪线、以及带箭头的波浪线。

如何用viso画波浪线、带箭头的波浪线!!! 搜索过来搜索过去,还是没有找到一个令自己满意的答案,就自己写一个过程了。 首先我使用的是visio 2013版本。方法一: 打开visio,新建一个基本框图找到…

visio指向插图任意位置和任意改变箭头形状

开发环境: win7,visio 2016 proffessional 问题1 最近在用visio作图时发现用箭头连接两个插图时只能连接到插图上指定位置的点。如下图所示: 比如我想画一条上图中手画的箭头,就没办法连接,只能是连接长方形的上边中…

visio图多树枝直角加箭头 避免箭头过多

集美们,visio图遇到一个指向多个的箭头,利用“连接线”不方便(①箭头容易对不齐;②箭头会躲避文本框,不容易控制),就需要使用多树枝直角形状。 连接符的调用位置 ↑ 里面就有多树枝直角工具了 …

VISIO取消箭头自动吸附及粘连

Visio打开或取消箭头的自动吸附和自动连接 在用Visio画图时Visio的自动对齐、自动连接、自动吸附功能确实能带了很多便利。但在画连接线时,Visio总是自动连接箭头与图形的固定节点,想要微调一下连接位置,就显得很不方便,需要关闭…