IC流程中 DFT 学习笔记(2)

news2025/1/19 23:03:07

 9468e067a4704e2487ca11fc78c9a250.png



引言

DFT是ASIC芯片设计流程中不可或缺的环节。其主要目的是在芯片前端设计验证完成后插入一些诸如寄存器链等可供测试的逻辑,算是IC后端设计的范畴,属于结构测试而非功能测试。主要是在ASIC芯片流片完成后,通过这些已插入的逻辑,检测流片得到的芯片的制造质量。检测一些固定故障等。

学习参考

  1. 数字系统测试和可测试性设计。【美】赛纳拉伯丁 - 纳瓦比 著。原本和译本。
  2. 修真院讲解视频。
  3. E课网 DFT 课程。
  4. 华中科技大学IC设计中心 陈新武 讲稿《集成电路测试方法研究》。
  5. Design-for-Test: Scan and ATPG Training Student Workbook ,Copyright  Mentor Graphics。


故障建模

对芯片制造过程中可能出现的制造缺陷进行建模,可以帮助分析具体故障以及产生测试向量。

Stuck-at 故障模型

芯片制造过程中由于工艺或者环境控制不佳,导致某些芯片内的布线出现stuck-at问题,即该布线的电平被始终拉高或者拉低。

翻转(transition)故障模型

电平转换时间变长,即时钟或者数据的边沿跳变时间边长,速率变慢。

对比一下:

 

路径延时故障模型

静态电流测试

不了解的点击这里:IDDQ简介 

扫描 (Scan) 技术

基本说明

如下图所示,首先是触发器替换,将普通的触发器,替换为扫描触发器。然后是将各个扫描触发器串联起来。 

Scan Cell Type

采用多路选择器而增加的延迟表现在功能路径中,有较少的面积增加。一个带多路选择器的D触发器通常将一个标准D触发器的面积增加15%到30%;增加的I/O端口最少的可以只有一个Scan_En。在实际设计中,可能并不需要增加一个另外的I/O端口用于Scan_in或者Scan_out,因为可以在设计中将这些引脚和功能引脚复用。 

单锁存电平敏感扫描单元的逻辑结构如图所示。上图为通常意义下的D触发器,下图为它相应的可扫描单元。增加了一个数据输入端、两个时钟输入端: Test_Scan_Clock_a 和Test_Scan_Clock_b。增加的两个时钟是电平触发的。在测试模式下,Test_Scan_Clock_a和Test_Scan_Clock_b连接到所有的同类扫描单元,分别在不同的时刻将扫描数据逐位移动。Scan_in引脚的数据来自上一个扫描单元。

单锁存器LSSD的特征是:
a) 对电路性能的影响可以忽略;
b) 较高的面积代价。用一个LSSD单元替换一个简单的锁存器将会增加100%或者更多时序逻辑的面积。增加的主测试时钟和从测试时钟也增加了布线的面积(与多路选择器型的触发器扫描类型相比);
c) 支持带有异步复位和清零端的锁存器
d) 因为增加了专用的测试时钟,所以适合用于部分扫描设计。

专用时钟控制的扫描方法是使用一个专用的、边沿触发的测试时钟来提供串行移位驱动。在功能模式下,系统时钟是活动的,系统数据被时钟打入单元电路。在测试移位过程中,测试时钟是活动的,扫描数据被打入该电路单元。电路符号如图4-2所示。图a为标准的D触发器,图b为专用时钟控制的可扫描单元。在这种结构中,相当于有两个D输入端,两个时钟输入端。在这种方式下,需要增加的测试引脚有:扫描输入、测试时钟、扫描输出(可以和输出功能引脚共用)。 

专用时钟控制扫描方式的特征是:
对电路性能影响可以忽略;面积的增加可以接受:一个专用时钟控制的扫描单元一般比普通的D触发器的面积增加15%--30%;支持这种扫描方式的工艺库具有触发器和锁存器两种等效单元;很适用于部分扫描设计:专用的测试时钟提供了一种机制,在扫描移位的过程中,可以很容易地保持非扫描单元的状态;支持带有异步置位和复位端的锁存器;典型的应用是具有边沿触发的设计风格。

Scan Chains

正常模式

扫描模式

设计流程

测试流程

工具流程

边界扫描

移位寄存器单元插入到IC的核心逻辑与I/O管脚之间,以提供通过所有IC的一条串行测试数据通路。因为移位寄存器单元位于IC的边界处,所以这些单元被称为边界扫描单元(BSC,Boundary Scan Cell),由它们构成的移位寄存器称为边界扫描寄存器。串行测试数据的输入端被称为测试数据输入端(TDI),相应的输出端被称为测试数据输出端(TDO)。为了完成测试功能,相互连接的边界扫描单元必须具有数据移位、数据更新、数据捕获等功能,这些功能是由测试控制逻辑来控制的。测试控制逻辑由两条信号线驱动:测试方式选择(TMS)和测试时钟(TCK)。所以,整个边界扫描测试要求IC中至少有四个可利用的测试管脚,或将它们附加到其他的功能管脚上。

边界扫描测试技术的工作原理就是:JTAG测试仪利用一个四线测试接口,将测试数据以串行方式由TDI打入到边界扫描寄存器中,通过TMS发送测试控制命令,经TAP控制器控制边界扫描单元完成测试数据的加载和响应数据的捕获。最后,测试响应数据以串行扫描方式由TDO送出到JTAG测试仪,在那里,将捕获到的响应数据与期望的响应进行比较。四个管脚TMS、TCK、TDI和TDO被称为测试访问端口(TAP, Test Access Port),全部测试控制逻辑被称为TAP控制器。

内建自测 BIST

BIST主要完成测试序列生成和输出响应分析两个任务。通过分析被测电路的响应输出,判断被测电路是否存在故障。因此,对数字电路进行BIST测试,需要增加三个硬件部分:测试序列生成器、输出响应分析器和测试控制部分

确定性测试方法是一种针对特定的电路故障进行测试的方法,虽然可以得到很高的故障覆盖率,但硬件开销大,仅在测试码个数较少的时候采用
伪穷举测试的方法是把所有可能输入都加以计算的测试方法。它的最大特点是故障覆盖率可以达到100%,但其计算量与输入端子呈幂次方关系,因此计算量很大。如果将电路分为多个原始输入变量互相独立的块,则测试数将大大减少。伪穷举法就是这样一种压缩测试向量的方法。伪穷举法也具有很高的故障覆盖率,但伪穷举法对电路进行划分比较困难,有相当的局限性。而且由于加入了附加硬件,可能对电路性能产生负面效应。
伪随机测试是一种广泛使用的测试方法,该方法可以对被测试电路产生大量的测试代码,而且硬件电路开销较小,同时具有较高的故障覆盖率。LFSR(Linear Feedback Shift Register,线性反馈移位寄存器)就是这样一种测试代码生成电路

实现输出响应分析的方法有ROM比较逻辑法、多输入特征寄存器法和跳变计数器法等。ROM比较逻辑法是将正确的响应存储在芯片内的ROM中,在测试的时候,将其与测试响应进行比较,但这种方法会因为占用太多的芯片面积而毫无实用价值。多输入特征寄存器方法是将被测试电路中各节点的响应序列进行处理,得到与测试响应序列等长的特征字(Signature),然后与无故障电路节点的响应序列特征值进行比较,如果两者相同,则说明电路正常,否则表明被测试电路有故障存在。跳变计数器法是通过比较输出响应的跳变总数,来判断被测试电路是否正常工作,因此需要存储和比较跳变次数,从而使得所需要的存储空间与测试时间都得到大幅度的降低。但是后面两种方法是以牺牲故障覆盖率为代价的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/895848.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Rancher-RKE-install 部署k8s集群

一、为什么用Rancher-RKE-install 1.CNCF认证的k8s安装程序。 2.有中文文档。 二、安装步骤 1.下载Rancher-Rke的二进制包-下面是项目的地址 GitHub - rancher/rke: Rancher Kubernetes Engine (RKE), an extremely simple, lightning fast Kubernetes distrib…

javaScript:还有人不会js中的Math方法?

目录 一.前言 二.Math方法 1.Math.floor()向下取整(重点) 示例 注意 2.Math.ceil()向上取整 示例 3.Math.round() 四舍五入 示例 4.Math.random()随机数(重点) 范围 示例 m-n之间的随机整数数(重点) 示例 输出10个[2…

时序结构重要性加权图卷积网络用于时序知识图谱补全

目录 摘要部分 四元数 时间戳 时间信息对四元数的影响 知识图谱里的结构信息 时序注意模块 重要性加权的图卷积网络 引言部分 现有方法的不足 本文主要贡献 准备工作 问题定义 大部分方法的缺陷 本文方法 框架 时序注意模块 实体分类 带有注意力机制的双向长短…

Spring-MVC的数据响应-19

在访问服务端MVC的时候,这个controller层进行相应操作之后 他要做两件事:页面跳转和返回字符串,在做完这些操作之后,我们一般进行页面展示:排除页面展示之外,有些需求可能直接回写给我们一些数据: 页面跳…

实验一 Hbase的安装部署与基本操作

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…

gcc语法解析如何解决dangling else的问题?

GCC上古版本(3.4)还有yacc,学习GCC如何实现if else 嵌套的问题。即: 问题 else后面的if到底是else if语义 if (xxx)a1 else if (xxx) a2还是 else (语法块中的if else)。 if (xxx)a1 else if (xxx) a 2 else a2;PostgreSQL的…

Codeforces Round 881 Div.3

文章目录 贪心:A. Sasha and Array Coloring结论:B. Long Long性质:C. Sum in Binary Treedfs求叶子数量:D. Apple Tree二分与前缀和:E. Tracking Segments 贪心:A. Sasha and Array Coloring Problem - A…

作为10年的测试人员给学习软件测试的几点建议

下面几点给做测试的朋友参考一下: 1、钱肯定少过开发人员,除非你工作3,4年才能拿年薪10W以上。 2、加班的现象可以说是很普遍,周一到周五随时加班是很正常的,周末肯定有一天要加班。 3、不管怎么样努力和用什么测试效…

ROS局部路径规划器插件teb_local_planner流程梳理(上)

在我之前的文章《ROS导航包Navigation中的 Movebase节点路径规划相关流程梳理》中已经介绍过Move_base节点调用局部路径规划器插件的接口函数是computeVelocityCommands,接下来,我们就从这个函数入手梳理一下teb_local_planner功能包的工作流程。 ☆注&a…

Vue使用Element的表格Table显示树形数据,多选框全选无法选中全部节点

使用Element的组件Table表格,当使用树形数据再配合上多选框,如下: 会出现一种问题,点击左上方全选,只能够选中一级树节点,子节点无法被选中,如图所示: 想要实现点击全选就选中所有的…

强强联手:Eyeshot 2023.2 集成 CAD Exchanger SDK 3.21 Crack

Lab 中的新绘图模式和网格抽取、Eyeshot 集成以及从 CAD Exchanger 3.21.0 中的 CATIA 导入图形 PMI 通过探索新的绘图模式和可调整的网格抽取,更深入地了解实验室,见证与 devDept Eyeshot 的无缝集成,并直接从 CATIA 导入图形 PMI。 今年 8…

阿里云100元预算可选的云服务器配置2核2G3M带宽

阿里云服务器100元可以买到哪些配置?如果是一年时长,轻量应用服务器2核2G3M带宽一年108元,系统盘为50GB高效云盘。以前阿里云服务器ECS卖过35元一年、69元、88元、89元和99元的都有过,但是现在整体费用上涨,入门级云服…

超实用的40道JAVA经典算法题(含答案)

作为一名Java程序员,想要拿到一份满意的offer,就必须做好充足的准备。众所周知,算法可以说是大厂面试Java程序员的必问题。好的算法可以让性能得到万倍提升,做到毫秒级处理千万数据的程度。因此,算法的重要性不言而喻&…

【云原生,k8s】Helm应用包管理器介绍

目录 一、为什么需要Helm? (一)Helm介绍 (二)Helm有3个重要概念: (三)Helm特点 二、Helm V3变化 (一)架构变化 (二)自动创建名…

ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性

​ 论文地址:https://arxiv.org/abs/2307.08209 项目主页:https://a-suozhang.xyz/ada3d.github.io/ 01. 背景与动因 3D检测(3D Detection)任务是自动驾驶任务中的重要任务。由于自动驾驶任务的安全性至关重要(safety-critic),对感知算法的延…

CodeSite for .NET Crack

CodeSite for .NET Crack CodeSite for.NET与Visual Studio集成,通过实时查看器日志记录系统提供对代码执行的更深入了解,该系统有助于在本地或远程执行代码时快速查找问题。超越传统的断点调试,在应用程序继续运行时记录应用程序的执行&…

强训第34天

选择 A B D 由协议处理粘包问题 C C C host字段表示要访问的IP地址 Connection为Close,为短连接 A RTT报文往返时间,根据窗口大小和拥塞控制可以得知发了1 2 4 8 总共16个接收缓存并且没由进行数据提取,则剩余接收量为16-151,会经…

k8s简介、虚拟机快速搭建k8s集群、集群管理方式及K8S工作原理和组件介绍

文章目录 1、k8s简介1.1、部署方式的变迁1.2、定义1.3、Kubernetes提供的功能 2、虚拟机快速搭建k8s集群2.1、虚拟机配置(centos7 2G内存2个处理器)2.2、基础环境准备2.3、docker安装(易踩坑)2.4、安装k8s组件2.5、master节点部署…

Power BI 之 初相识

一、简介 传统数据分析工具入Excel等分析大数据量存在一些弊端,一是无法应对多数据源,二是数据量大容易卡死,三是无法根据数据源动态变化,导致每天重复分析数据,无法关注数据价值本身。 Power BI(简写PBI…

隧道代理技术解析:为批量数据采集提供强大支持

嘿!作为一名专业的爬虫程序员,我今天要和大家分享一个强大的技术,它能够为批量数据采集提供强大的支持——隧道代理技术。如果你在进行大规模数据采集任务时遇到了IP封禁和限制的问题,那么这项技术将是你的救星。废话不多说&#…