soc设计10_可测性概要

上传人:今*** 文档编号:108440728 上传时间:2019-10-24 格式:PPT 页数:85 大小:1.38MB
返回 下载 相关 举报
soc设计10_可测性概要_第1页
第1页 / 共85页
soc设计10_可测性概要_第2页
第2页 / 共85页
soc设计10_可测性概要_第3页
第3页 / 共85页
soc设计10_可测性概要_第4页
第4页 / 共85页
soc设计10_可测性概要_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《soc设计10_可测性概要》由会员分享,可在线阅读,更多相关《soc设计10_可测性概要(85页珍藏版)》请在金锄头文库上搜索。

1、第十章,可测性设计,内容大纲,测试的概念和原理 故障建模 自动测试向量生成 可测性设计 可测性方法(SCAN、MEMORY BIST、 Boundary SCAN),内容大纲,测试的概念和原理 故障建模 自动测试向量生成 可测性设计 可测性方法(SCAN、MEMORY BIST、 Boundary SCAN),测试概念和原理,测试包含了三方面的内容:已知的测试矢量、确定的电路结构和已知正确的输出结果,按测试方式的分类,穷举测试矢量 穷举测试矢量是指所有可能的输入矢量。 功能测试矢量 功能测试矢量主要应用于验证测试中,目的是验证各个器件的功能是否正确。 结构测试矢量 这是一种基于故障模型的测试矢

2、量,它的最大好处是可以利用电子设计自动化(EDA)工具自动对电路产生测试向量,并且能够有效地评估测试效果。,测试向量举例说明,例如,如果要测试74181ALU,其有14个输入端口 穷举测试向量 就需要214=16384个测试矢量,对于一个有38个输入端口的16位的ALU来说,以10 MHz的速度运行完所有的测试矢量需要7.64个小时,测试向量举例说明,功能测试向量 以74181ALU为例,只需要448个测试矢量,但是目前没有算法去计算矢量是否覆盖了芯片的所有功能。 结构测试向量 74181ALU只需要47个测试矢量。这类测试矢量的缺点是有时候工具无法检测所有的故障类型。,SoC测试的目的,寻找

3、最小的测试向量集去覆盖更多的芯片以及板级的故障 衡量标准:故障覆盖率,自动测试设备 (ATE),测试设备附件,探针卡 机械手 测试板,4x1,典型测试项目,连接性(接触)测试 DC参数测试 功能测试 AC参数测试,内容大纲,测试的概念和原理 故障建模 自动测试向量生成 可测性设计 可测性方法(SCAN、MEMORY BIST、 Boundary SCAN),缺陷、故障、误差和漏洞,缺陷是指在集成电路制造过程中,在硅片上所产生的物理异常,如某些器件多余或被遗漏了。 故障是指由于缺陷所表现出的不同于正常功能的现象,如电路的逻辑功能固定为1或0。 误差是指由于故障而造成的系统功能的偏差和错误。 漏洞

4、是指由于一些设计问题而造成的功能错误,也就是常说的bug。,制造缺陷和故障表现形式,常见故障模型,固定型故障 晶体管固定开/短路故障 桥接故障 延迟故障 存储单元故障 模拟故障,固定型故障,这是在集成电路测试中使用最早和最普遍的故障模型,它假设电路或系统中某个信号永久地固定为逻辑0或者逻辑1,简记为SA0(Stuck-At-0)和SA1(Stuck-At-1),固定型故障举例,共包含2(Npins + Nports) = 2(11+5) = 32个固定型故障,故障合并,端口A的SA0故障和端口Z的SA0故障等效,同样的端口A的SA1故障和端口Z的SA1故障等效,因此在考虑测试矢量集的时候可以合

5、并故障,只需要从子故障集合A:SA0,Z:SA0和A:SA1,Z:SA1中各选择一个故障类型。,晶体管开路故障,晶体管短路故障,存储器故障模型,单元固定故障(SAF,Stuck-At Fault) 单元固定故障指的是存储器单元固定在0或1。为了检测这类故障需要对每个存储单元和传输线进行读/写0和1的操作。 状态跳变故障(TF,Transition Delay Fault) 状态跳变故障是固定故障的特殊类型,发生在对存储单元进行写操作的时候,不发生正常的跳变。这里需要指出的是跳变故障和固定故障不可相互替代,因为跳变故障可能在发生耦合故障时发生跳变,但是固定故障永远不可能改变。为了检测此类故障必须

6、对每个单元进行0-1和1-0的读/写操作,并且要在写入相反值后立刻读出当前值。,单元耦合故障,这些故障主要针对RAM,发生在一个单元进行写操作时,这个单元发生跳变的时候,会影响到另一个单元的内容。单元耦合可能是反相类型 临近图形敏感故障,该故障主要有4类: 对于给定的地址,不存在相对应的存储单元; 对于一个存储单元,没有相对应的物理地址; 对于给定的地址,可以访问多个固定的存储单元; 对于一个存储单元,有多个地址可以访问。,地址译码故障,内容大纲,测试的概念和原理 故障建模 自动测试向量生成 可测性设计 可测性方法(SCAN、MEMORY BIST、 Boundary SCAN),自动测试向量

7、生成,利用软件程序可以实现ATPG算法,达到测试向量自动生成的目的。这里的测试向量是指为了使特定故障能够在原始输出端被观察到,而在被测电路原始输入端所施加的激励。通过软件程序,可以自动完成以下两项工作: 基于某种故障类型,确定当前测试矢量能够覆盖多少物理缺陷; 对于特定的抽象电路,工具能够自动选择能够匹配的故障模型。,ATPG 算法,在抽象出有效故障模型的基础上,就可以开发各种自动测试产生(ATPG,Automatic Test Pattern Generation)向量了。 常用的ATPG算法有伪随机算法和AD-Hoc算法 对于组合逻辑来说还有D算法、PODEM算法和FAN算法,ATPG 算

8、法步骤,故障类型的选择 ATPG可以处理的故障类型不仅仅是阻塞型故障,还有延时故障和路径延时故障等,一旦所有需要检测的故障类型被列举,ATPG将对这些故障进行合理的排序,可能是按字母顺序、按层次结构排序,或者随机排序。 检测故障 在确定了故障类型后,ATPG将决定如何对这类故障进行检测,并且需要考虑施加激励向量的测试点,需要计算所有会影响目标节点的可控制点。 检测故障传输路径 寻找传输路径可以说是向量生成中最困难的,需要花很多时间去寻找故障的观测点的传播。因为通常一个故障拥有很多的可观测点,一些工具一般会找到最近的那一个。不同目标节点的传输路径可能会造成重叠和冲突,当然这在扫描结构中是不会出现

9、的。,ATPG工具的使用步骤,将含扫描结构的门级网表输入到ATPG工具。 输入库文件。必须与门级网表相对应并且能被ATPG工具识别。 建立ATPG模型。输入库文件后,ATPG工具将根据库文件和网表文件建立模型。 根据STIL文件做DRC检测。STIL文件是标准测试接口文件,包含扫描结构的一系列信息和信号的约束。 生成向量。这里需要选择建立哪种故障模型。 压缩向量。这一步骤可以节约将来芯片测试时候的工作站资源和测试时间。 转换ATPG模式的向量为ATE所需要格式的测试向量。 输出测试向量和故障列表。,内容大纲,测试的概念和原理 故障建模 自动测试向量生成 可测性设计 可测性方法(SCAN、MEM

10、ORY BIST、 Boundary SCAN),可测性设计基础,所谓可测性设计是指设计人员在设计系统和电路的同时,考虑到测试的要求,通过增加一定的硬件开销,获得最大可测性的设计过程。 目前,主要的可测性设计方法有: 扫描通路测试(Scan) 内建自测试(BIST) 边界扫描测试(Boundary Scan),可测性设计的优势和不足,内容大纲,测试的概念和原理 故障建模 自动测试向量生成 可测性设计 可测性方法(SCAN、MEMORY BIST、 Boundary SCAN),Scan,可测试性 Scan的基本概念 扫描测试设计规则,1,G3,G2,G1,B = 0,C = 0,D = 1,E

11、 = 1,测试向量 = 0011,0,B,s.a.1,A,可控制性,把激励施加到被测单元的能力,G3,G4,A = 0,s.a.1,A,0,Y,故障传播,B,期望 : 0 故障响应 : 1,可观察性,故障传播到原始输出端的能力,固定型故障检测举例,固定型故障检测举例,寻找图中故障点的测试向量,扫描测试的基本概念,扫描测试是目前数字集成电路设计中最常用的可测性设计技术,这里说的是内部扫描,不同于边界扫描。 扫描时序分成时序和组合两部分,从而使内部节点可以控制并且可以观察。 测试矢量的施加及传输是通过将寄存器用特殊设计的带有扫描功能的寄存器代替,使其连接成一个或几个长的移位寄存器链来实现的。,带多

12、路选择器的D型触发器,正常工作模式:scan_enable为0,此时数据从D端输入,从Q端输出。 扫描移位模式:scan_enable为1,此时数据从scan_in输入,从scan_out端输出。,带扫描端的锁存器,全扫描和部分扫描,扫描测试原理,扫描设计规则,扫描测试要求电路中每个节点处于可控制和可观测的状态,只有这样才能保证其可替换为相应的扫描单元,并且保证故障覆盖率。 为了保证电路中的每个节点都符合设计需求,在扫描链插入之前会进行扫描设计规则的检查。,基本扫描规则,使用同种类扫描单元进行替换,通常选择带多路选择器的扫描触发器; 在原始输入端必须能够对所有触发器的时钟端和异步复位端进行控制

13、; 时钟信号不能作为触发器的输入信号; 三态总线在扫描测试模式必须处于非活跃状态; ATPG无法识别的逻辑应加以屏蔽和旁路。,三态总线,为了避免扫描模式(scan_mode)下的总线竞争,必须控制其控制端,通常的做法是在控制端加入多路选择器,使其固定在逻辑0或者逻辑1,门控时钟或者门控异步输入端,为了避免扫描模式下resetn不可控制,处理方法和三态总线一样,加入额外逻辑,让异步输入端处于非有效状态,ATPG工具不识别的逻辑,旁路黑盒,整体DFT实现及性能上考虑,尽量避免异步时钟设计; 限制不同时钟域的数量; 对于多时钟域的设计,处于同一时钟域的触发器最好连在同一根扫描链上; 注意扇出比较多的

14、端口,如scan_enable信号,尤其在综合的时候需要特别注意; 对于存储器、模拟电路等不可综合的逻辑加入适当的隔离旁路结构;,避免过长的扫描链; 考虑到测试模式下功耗过高所造成的问题,可将扫描测试分成数个部分,分开进行插入,在不同的扫描测试模式下,测试不同的部分; 尽量减少额外逻辑带来的面积、功耗的增大; 通过复用外围引脚,减少扫描测试对引脚的要求。,整体DFT实现及性能上考虑,常用的测试综合和ATPG工具,扫描插入工具:Synopsys的DFT Compiler、Mentor的DFTAdvisor。 ATPG工具:Synopsys的TetraMAX、Mentor的Fastscan。 测试

15、矢量验证:Synopsys的TetraMAX。,扫描设计流程,存储器内建自测,存储器本身的物理结构密度很大。通常对存储器的测试将受到片外引脚的限制,从片外无法通过端口直接访问嵌入式存储器。 随着存储器容量和密度的不断增加,各种针对存储器的新的错误类型不断产生。 SoC对于存储器的需求越来越大。目前在许多设计中,存储器所占硅片面积已经大于50,预计到2014年这一比率会达到94。 对于SoC系统而言,SRAM、DRAM、ROM、EEPROM和Flash都可以嵌入其中,因此需要不同的测试方法去测试。 存储器的测试时间越来越长,在未来的超大规模集成电路设计过程中,存储器将取代数字逻辑而占据芯片测试的

16、主要部分。,存储器测试方法,BIST的基本概念,内建自测必须附加额外的电路,包括向量生成器、BIST控制器和响应分析器,BIST测试引脚,BIST_MODE:测试模式选择信号,控制电路进入BIST状态。 BIST_RESET:初始化BIST控制单元。 BIST_CLK:BIST测试时钟。 BIST_DONE:输出信号,标志自测结束。 BIST_FAIL:输出信号,标志自测失败,说明存储器有制造故障。,存储器的测试算法,棋盘式图形算法 March 数据保留测试,棋盘式图形算法,在这种测试方案中,将存储单元分为两组,相邻的单元属于不同的两组,然后向不同的组写入0和1交替组成的测试矢量。停止后对整个存储阵列进行读取,March算法,March算法是目前最流行的测试算法 在March测试方案中,首先对单个单元进行一系列的操作,然后才进行下个单元的操作。 例如,March 13n算法: (w0)(r0,w1,r1)(r1,w0,r0)(r0,w1,r1)(r1,w0,r0),算

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号