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

 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.hqwc.cn/news/74191.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[保研/考研机试] KY26 10进制 VS 2进制 清华大学复试上机题 C++实现

题目链接: 10进制 VS 2进制http://www.nowcoder.com/share/jump/437195121691738172415 描述 对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数B,我们称B为A的二进制逆序数。 例如对于十进制…

预警:传统的QA岗位将被DevOps淘汰

导读在大多数机构或公司里,软件开发过程主要遵循一个或多个开发模型,例如瀑布模型或敏捷模型。在瀑布模型中,测试活动一般都在后期进行。软件开发完成后,缺陷被QA团队找出,然后再被修复。后两个活动不断循环和重复&…

【C++】Stack和Queue

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析3 目录 👉🏻Stack Constructor👉🏻Stack …

【数据结构】如何用队列实现栈?图文详解(LeetCode)

LeetCode链接:225. 用队列实现栈 - 力扣(LeetCode) 本文默认读者已经掌握栈与队列的基本知识 或者先看我的另一篇博客:【数据结构】栈与队列_字节连结的博客-CSDN博客 做题思路 由于我们使用的是C语言,不能直接使用队…

数据结构中公式前中后缀表达式-二叉树应用

目录 数据结构中公式前中后缀表达式-二叉树应用 数据结构中公式前中后缀表达式-二叉树应用 什么是前缀表达式、中缀表达式、后缀表达式 前缀表达式、中缀表达式、后缀表达式,是通过树来存储和计算表达式的三种不同方式 以如下公式为例 通过树来存储该公式&#x…

国产32位单片机XL32F001,带1 路 12bit ADC,I2C、SPI、USART 等外设

XL32F001 系列单片机采用高性能的 32 位 ARM Cortex-M0内核,宽电压工作范围的 MCU。嵌入 24KbytesFlash 和 3Kbytes SRAM 存储器,最高工作频率 24MHz。包含多种不同封装类型多款产品。芯片集成 I2C、SPI、USART 等通讯外设,1 路 12bit ADC&am…

k8s v1.27.4二进制部署记录

记录二进制部署过程 #!/bin/bash#升级内核 update_kernel() {rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgyum -y install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpmyum --disablerepo"*" --enablerepo"elrepo-kernel&q…

【0815作业】搭建select的TCP客户端、poll客户端、tftp文件上传

IO多路复用(重点!!!) 进程中如果同时需要处理多路输入输出流,在使用单进程单线程的情况下,同时处理多个输入输出请求。在无法用多进程多线程,可以选择用IO多路复用;由于不…

中间件的介绍

1.1 什么是中间件 中间件是介于应用系统和系统软件之间的一类软件,他使用系统软件所提供的基础服务,衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。 例如MySQL就可以看作是具备中间件特性的一种技术&#x…

Intellij中直接运行ts配置:run configuration for typescript

在Intellij中可以借助插件run configuration for typescript直接运行typescript: run configuration for typescript插件本质还是依赖于 ts-node 来运行,只是其可以帮助我们自动配置好 ts-node 运行参数,简化使用。 第一步:安装…

leetcode 139. 单词拆分

2023.8.18 本题可以看作完全背包问题,字符串s为背包,字符串列表worddict中的字符串为物品。由于本题的物品集合是排列问题(即物品的排列顺序对结果有影响),所以遍历顺序为:先遍历背包再遍历物品。 接下来看代码: clas…

117页数字化转型与产业互联网发展趋势及机会分析报告PPT

导读:原文《》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。 喜欢文章,您可以点赞评论转发本文,了解更多内容请私信:方…