SoC设计第10章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 目前,主要的可测性设计方法有:

扫描通路测试(Scan) 内建自测试(BIST) 边界扫描测试(Boundary Scan)
可测性设计的优势和不足




可以利用EDA工具进行测试矢量的生成
增大了芯片的面积、提高了出错概率
便于故障的诊断和调试
增加设计的复杂程度
可以提高芯片的成品率并衡量其品质
• •


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

单元固定故障指的是存储器单元固定在0或1。为了检测 这类故障需要对每个存储单元和传输线进行读/写0和1 的操作。 状态跳变故障(TF,Transition Delay Fault) 状态跳变故障是固定故障的特殊类型,发生在对存储单 元进行写操作的时候,不发生正常的跳变。这里需要指 出的是跳变故障和固定故障不可相互替代,因为跳变故 障可能在发生耦合故障时发生跳变,但是固定故障永远 不可能改变。为了检测此类故障必须对每个单元进行01和1-0的读/写操作,并且要在写入相反值后立刻读出 当前值。
测试向量举例说明
• 功能测试向量

以74181ALU为例,只需要448个测试矢量,但是目前 没有算法去计算矢量是否覆盖了芯片的所有功能。 结构测试向量 74181ALU只需要47个测试矢量。这类测试矢量的缺点 是有时候工具无法检测所有的故障类型。

SoC测试的目的
• 寻找最小的测试向量集去覆盖更多的芯片以及


基于某种故障类型,确定当前测试矢量能够覆盖多少物 理缺陷; 对于特定的抽象电路,工具能够自动选择能够匹配的故 障模型。
ATPG 算法
• 在抽象出有效故障模型的基础上,就可以开发


各 种 自 动 测 试 产 生 ( ATPG , Automatic Test Pattern Generation)向量了。
常见故障模型
• 固定型故障 • 晶体管固定开/短路故障 • 桥接故障 • 延迟故障 • 存储单元故障 • 模拟故障
固定型故障
• 这是在集成电路测试中使用最早和最普遍的故
障模型,它假设电路或系统中某个信号永久地 固定为逻辑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故障等效,因 此在考虑测试矢量集的时候可以合并故障,只需要 从子故障集合{A:SA0,Z:SA0}和{A:SA1 ,Z:SA1}中各选择一个故障类型。
制造缺陷和故障表现形式
制造过程中的缺陷 线与线之间的短路 电源与电源之间的短路 逻辑电路的开路 线开路 MOS管源漏端的开路 MOS管源漏端的短路 栅级氧化短路 PN结漏电
故障表现形式 逻辑故障 总的逻辑出错 固定型故障 逻辑故障或延迟故障 延迟或逻辑故障 延迟或逻辑故障 延迟或逻辑故障 延迟或逻辑故障
常用的ATPG算法有伪随机算法和AD-Hoc算法 对于组合逻辑来说还有D算法、PODEM算法和FAN 算法
ATPG 算法步骤
• 故障类型的选择

• 检测故障

ATPG可以处理的故障类型不仅仅是阻塞型故障,还有延时故障和 路径延时故障等,一旦所有需要检测的故障类型被列举,ATPG将 对这些故障进行合理的排序,可能是按字母顺序、按层次结构排序 ,或者随机排序。
内容大纲
• 测试的概念和原理 • 故障建模 • 自动测试向量生成 • 可测性设计 • 可测性方法(SCAN、MEMORY BIST、
Boundary SCAN)
自动测试向量生成
• 利用软件程序可以实现ATPG算法,达到测试向量
自动生成的目的。这里的测试向量是指为了使特定 故障能够在原始输出端被观察到,而在被测电路原 始输入端所施加的激励。通过软件程序,可以自动 完成以下两项工作:
扫描测试原理
扫描设计规则
• 扫描测试要求电路中每个节点处于可控制和可观测
的状态,只有这样才能保证其可替换为相应的扫描 单元,并且保证故障覆盖率。 • 为了保证电路中的每个节点都符合设计需求,在扫 描链插入之前会进行扫描设计规则的检查。
基本扫描规则
• 使用同种类扫描单元进行替换,通常选择带多路选
内容大纲
• 测试的概念和原理 • 故障建模 • 自动测试向量生成 • 可测性设计 • 可测性方法(SCAN、MEMORY BIST、
Boundary SCAN)
可测性设计基础
• 所谓可测性设计是指设计人员在设计系统和电路的
同时,考虑到测试的要求,通过增加一定的硬件开 销,获得最大可测性的设计过程。
可控制性
• 把激励施加到被测单元的能力
B=0
C=0 测试 向量 = 0011 D=1
G1
0
s.a.1
A G3
1
G2
B
E=1
可观察性
• 故障传播到原始输出端的能力
A= 0
0 s.a.1
Y
A G3 B G4
期望 : 0 故障响应 : 1
故障传播
固定型故障检测举例
固定型故障检测举例
• 寻找图中故障点的测试向量
扫描测试的基本概念
• 扫描测试是目前数字集成电路设计中最常用的可测
性设计技术,这里说的是内部扫描,不同于边界扫 描。 • 扫描时序分成时序和组合两部分,从而使内部节点 可以控制并且可以观察。 • 测试矢量的施加及传输是通过将寄存器用特殊设计 的带有扫描功能的寄存器代替,使其连接成一个或 几个长的移位寄存器链来实现的。
择器的扫描触发器; • 在原始输入端必须能够对所有触发器的时钟端和异 步复位端进行控制; • 时钟信号不能作为触发器的输入信号; • 三态总线在扫描测试模式必须处于非活跃状态; • ATPG无法识别的逻辑应加以屏蔽和旁路。
三态总线
• 为了避免扫描模式(scan_mode)下的总线竞争
,必须控制其控制端,通常的做法是在控制端加入 多路选择器,使其固定在逻辑0或者逻辑1
• 衡量标准:故障覆盖率
板级的故障
自动测试设备 (ATE)
测试设备附件
探针卡 机械手 测试板
4x1
典型测试项目
1. 连接性(接触)测试 2. DC参数测试 3. 功能测试 4. AC参数测试
内容大纲
• 测试的概念和原理 • 故障建模 • 自动测试向量生成 • 可测性设计 • 可测性方法(SCAN、MEMORY BIST、
需要额外的引脚,增加了硅片面积
减少测试Hale Waihona Puke Baidu本
影响了芯片的功耗、速度和其他性能
内容大纲
• 测试的概念和原理 • 故障建模 • 自动测试向量生成 • 可测性设计 • 可测性方法(SCAN、MEMORY BIST、
Boundary SCAN)
Scan
• 可测试性 • Scan的基本概念 • 扫描测试设计规则

这是一种基于故障模型的测试矢量,它的最大好 处是可以利用电子设计自动化(EDA)工具自动 对电路产生测试向量,并且能够有效地评估测试 效果。
测试向量举例说明
• 例如,如果要测试74181ALU,其有14个输入端


穷举测试向量 就需要214=16384个测试矢量,对于一个有38个输 入端口的16位的ALU来说,以10 MHz的速度运行完 所有的测试矢量需要7.64个小时
Boundary SCAN)
测试概念和原理
• 测试包含了三方面的
内容:已知的测试矢 量、确定的电路结构 和已知正确的输出结 果
按测试方式的分类
• 穷举测试矢量
• 功能测试矢量


穷举测试矢量是指所有可能的输入矢量。 功能测试矢量主要应用于验证测试中,目的是验 证各个器件的功能是否正确。
• 结构测试矢量
• 检测故障传输路径

在确定了故障类型后,ATPG将决定如何对这类故障进行检测,并 且需要考虑施加激励向量的测试点,需要计算所有会影响目标节点 的可控制点。
寻找传输路径可以说是向量生成中最困难的,需要花很多时间去寻 找故障的观测点的传播。因为通常一个故障拥有很多的可观测点, 一些工具一般会找到最近的那一个。不同目标节点的传输路径可能 会造成重叠和冲突,当然这在扫描结构中是不会出现的。
带多路选择器的D型触发器
D
Q
Scan-in D Scan-enable
1
D
0
Q
Scan-out


正常工作模式:scan_enable为0,此时数据从D端输 入,从Q端输出。 扫描移位模式:scan_enable为1,此时数据从 scan_in输入,从scan_out端输出。
带扫描端的锁存器
全扫描和部分扫描
SoC设计方法与实现
第十章
可测性设计
内容大纲
• 测试的概念和原理 • 故障建模 • 自动测试向量生成 • 可测性设计 • 可测性方法(SCAN、MEMORY BIST、
Boundary SCAN)
内容大纲
• 测试的概念和原理 • 故障建模 • 自动测试向量生成 • 可测性设计 • 可测性方法(SCAN、MEMORY BIST、
Boundary SCAN)
缺陷、故障、误差和漏洞
• 缺陷是指在集成电路制造过程中,在硅片上所产生的
物理异常,如某些器件多余或被遗漏了。 • 故障是指由于缺陷所表现出的不同于正常功能的现象 ,如电路的逻辑功能固定为1或0。 • 误差是指由于故障而造成的系统功能的偏差和错误。 • 漏洞是指由于一些设计问题而造成的功能错误,也就 是常说的bug。
门控时钟或者门控异步输入端
• 为了避免扫描模式下resetn不可控制,处理方法
和三态总线一样,加入额外逻辑,让异步输入端处 于非有效状态
ATPG工具不识别的逻辑
• 旁路黑盒
整体DFT实现及性能上考虑
•尽量避免异步时钟设计; •限制不同时钟域的数量; •对于多时钟域的设计,处于同一时钟域的触
发器最好连在同一根扫描链上; •注意扇出比较多的端口,如scan_enable 信号,尤其在综合的时候需要特别注意; •对于存储器、模拟电路等不可综合的逻辑加 入适当的隔离旁路结构;
ATPG工具的使用步骤
• 将含扫描结构的门级网表输入到ATPG工具。 • 输入库文件。必须与门级网表相对应并且能被ATPG工具 • • • • • •
识别。 建立ATPG模型。输入库文件后,ATPG工具将根据库文 件和网表文件建立模型。 根据STIL文件做DRC检测。STIL文件是标准测试接口文 件,包含扫描结构的一系列信息和信号的约束。 生成向量。这里需要选择建立哪种故障模型。 压缩向量。这一步骤可以节约将来芯片测试时候的工作站 资源和测试时间。 转换ATPG模式的向量为ATE所需要格式的测试向量。 输出测试向量和故障列表。

单元耦合故障
• 这些故障主要针对RAM,发生在一个单元进行写
操作时,这个单元发生跳变的时候,会影响到另一 个单元的内容。单元耦合可能是反相类型 • 临近图形敏感故障
地址译码故障
• 该故障主要有4类:

对于给定的地址,不存在相对应的存储单元; 对于一个存储单元,没有相对应的物理地址; 对于给定的地址,可以访问多个固定的存储单元; 对于一个存储单元,有多个地址可以访问。
整体DFT实现及性能上考虑
• 避免过长的扫描链; • 考虑到测试模式下功耗过高所造成的问题,可将扫
描测试分成数个部分,分开进行插入,在不同的扫 描测试模式下,测试不同的部分; • 尽量减少额外逻辑带来的面积、功耗的增大;
• 通过复用外围引脚,减少扫描测试对引脚的要求。
常用的测试综合和ATPG工具
相关文档
最新文档