DFT基础讲义..doc

上传人:b****1 文档编号:133736 上传时间:2022-10-04 格式:DOC 页数:21 大小:15MB
下载 相关 举报
DFT基础讲义..doc_第1页
第1页 / 共21页
DFT基础讲义..doc_第2页
第2页 / 共21页
DFT基础讲义..doc_第3页
第3页 / 共21页
DFT基础讲义..doc_第4页
第4页 / 共21页
DFT基础讲义..doc_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

DFT基础讲义..doc

《DFT基础讲义..doc》由会员分享,可在线阅读,更多相关《DFT基础讲义..doc(21页珍藏版)》请在冰豆网上搜索。

DFT基础讲义..doc

第四章DFT基础

4.1测试在半导体产品实现过程中的意义

一半导体产品的实现过程

集成电路从设计到产品一般要经历以下几个步骤才能成为产品(如下图所示):

HDL描述

版图(layout)

裸片(die)

芯片(chip)

产品(product)

综合(synthesis)

制造

封装(package)

测试(test)

测试

验证(verification)

1.设计过程:

集成电路设计一般从编写HDL代码开始,HDL代码可能用verilog,也可能用VHDL语言写成,可能是RTL级,也可能是门级。

如果是RTL级,首先进行逻辑综合、验证将设计转变成门级网表,然后进行布局布线变成最终的版图。

2.制造过程:

代工厂接受来自设计者的版图数据(GDSII)将其制成掩膜版(mask),然后通过复杂的制造过程将期望的电路做在晶园片上,这时晶园片上已经包含了若干个芯片的原型--裸片(die)。

3.晶园片测试:

制造好的晶园片需要进行严格的测试然后划片、封装,实际上只有那些通过测试的裸片才会进行封装,而未通过测试的裸片被淘汰。

经过封装的裸片就变成芯片。

4.芯片测试:

通过晶园片测试和封装的芯片还不能算真正的产品,它仍然要进一步进行测试确认没有故障才能成为真正的半导体产品。

从这个过程可以看出,测试是半导体产品实现过程中一个必不可少的环节。

二测试定义

测试实际上是指将一定的激励信号加载到需要检测的半导体产品的输入引脚,然后在它的输出引脚检测电路的响应,并将它与期望的响应相比较以判断电路是否有故障的过程(如图所示)。

由图可以看出,要实现测试,首先要有激励信号,这个激励信号就是所谓的测试向量(testvector)。

激励信号由测试设备产生;然后要判断电路是否有故障,就必须检测响应,并将实际检测的响应与期望的响应相比较,如果两者不一致,我们就认为电路中有故障。

当然在这个过程中,测试设备要发出适当的控制信号,以使得整个测试过程得以顺利进行。

在测试领域,与测试向量相对应还有测试模式(testpattern),这两者的主要区别在于测试向量仅仅包含激励信号,而测试模式不仅包含激励信号,而且还包含期望的响应。

由上面的分析可以看出,测试问题在测试前就是测试模式生成和测试模式验证(时序验证)问题;而在测试时就是测试向量施加和测试响应检测及结果判断问题。

测试为最终的半导体产品的质量和可靠性提供一种度量。

测试是设计过程中验证(Verification)工作的继续,它实际上是对实际芯片的验证过程。

即使是经过严格验证的设计也很难保证设计是100%正确,一个有经验的测试工程师可以从不同角度找出设计中可能存在的错误。

三测试的分类

测试分功能测试和制造测试(结构测试)。

功能测试主要寻找设计上可能存在的错误,他是用来验证电路中的逻辑行为,是验证过程的延续,如果存在错误,需要进行故障诊断。

制造测试用于寻找在制造过程中可能存在的制造缺陷(开路、短路等)。

从产品实现过程看,测试分完全测试和制造测试。

完全测试一般在产品大批量投片以前进行,首先进行制造测试,然后进行详细的功能测试。

这个功能测试用于检测那些具有确定性的故障;而在产品大批量投片时一般只进行制造测试,制造测试要检测的故障是随机的。

随着集成电路制造技术的不断发展,集成电路已经进入深亚微米时代,集成电路的测试变得更加复杂,测试的费用不断增高,如下图所示。

图中数据代表的是每个晶体管的费用,上面一条线代表单个晶体管的硅片费用,这条线基本按摩尔定律变化;而下面一条线代表的是单个晶体管的测试费用,这条线在1982~1991年呈下降趋势,1991~1997间基本不变,而在1997~2012确成上升趋势,按这个趋势发展,到2012年以后,测试费用几乎可以与硅片费用相比拟,这是令人无法容忍的。

因此,测试问题就变得更为迫切。

为了解决日益突出的测试问题,人们不得不从设计的一开始就开始考虑测试问题,这就是所谓的可测性设计问题。

4.2可测性设计

可测性设计DFT(designfortest)就是指为了使测试(制造测试)尽可能简单而有意识地在设计中加入一定附加逻辑地设计方法。

可测性设计的意义主要有三点:

1缩短产品进入市场时间,即TTM(timetomarket):

由于在设计时考虑了可测性设计,这就使得ATPG(automatictestpatterngeneration)可以进行,这样测试模式的生成时间大大减少,从而使得整个的设计周期大大缩短,从而大大加快产品进入市场的时间。

DFT=>>ATPG=>>测试向量生成时间减少=>>设计周期缩短=>>TTM缩短

2.降低测试费用即COT(costoftest):

由于在设计时考虑了可测性设计,这就使得ATPG可以进行,而ATPG压缩测试模式,从而减少测试模式的数目,使得测试过程简单,从而降低测试费用。

DFT=>>测试向量数目减少=>>测试过程简单=>>测试费用降低

3.提高产品质量:

可测性设计可以使设计获得较高的故障覆盖率FC(FaultCoverage)。

DFT=>>高故障覆盖率

需要指出的是测试向量不仅决定了测试时间,测试向量越多,测试时间越长;而且决定需要高档还是低档的测试设备,高档测试设备价格高,测试费用上升,低档测试设备价格低,测试费用也就低。

4.3常用的可测性设计技术

1.扫描(scan)设计

基于扫描设计是可测性设计中最常用的一种方法。

它是指将电路中的普通触发器(flip-flops)替换为具有扫描能力的扫描触发器。

扫描触发器最常用的结构是多路器扫描触发器,即它在普通触发器的输入端口加上一个多路器如图所示。

当S=0时,触发器为正常的功能输入,而当S=1时,触发器为扫描输入。

DQ

clk

in

out

scanin

S

clock

基于扫描设计分为两种:

全扫描以及部分扫描。

全扫描设计是指将电路中所有的触发器替换为扫描触发器并将它们连在一起构成扫描链,如图所示。

图中,椭圆代表组合电路,长方形代表时序单元。

左图为没有扫描链,右图为带有一条扫描链的全扫描设计。

部分扫描设计则是将电路中的部分触发器替换为扫描触发器并将它们连在一起构成扫描链。

部分扫描一般不用在那些关键的数据通路上,因为这些数据通路速度快,对延时的要求很高,而扫描替换增加了延时,故这些路径上的时序单元不进行扫描替换。

对于全扫描设计可以采用组合ATPG工具生成测试模式,而部分扫描设计只能采用时序ATPG工具生成测试模式,而时序ATPG工具的运行时间要比组合ATPG工具运行的时间长几倍,且时序ATPG工具对内存的要求要大得多,一般是组合ATPG的三倍以上。

扫描设计大大增强了电路的可测性,因为当电路中生成扫描链后,扫描链上的所有时序单元的D端都是扫描可观的,与D相连的节点就是可观性节点,而数据输出端Q端是扫描可控的,与Q相连的节点就是可控性节点。

扫描设计最初是为了解决时序电路的测试而提出的一种可测性设计方法,它是将电路中的时序单元替换成具有扫描能力的时序单元并将它们连接起来形成链的过程。

扫描设计的优越性不仅因为它解决了时序电路的测试问题,而且扫描链为电路中的组合逻辑部分提供了激励的加载通路和响应的观测通路。

在基于扫描设计的芯片进行ATPG(automatictestpatterngeneration)时,扫描链上的每一个时序单元的数据输入端口D端作为一个外部输出端口以观测组合电路的响应,我们称之为伪外部输出端口[3](pseudo-PO);而扫描链上的各个时序单元的数据输出端口Q端都作为一个外部输入端口用来加载激励向量,我们称之为伪外部输入端口[2](pseudo-PI),如图1所示。

其中sdi为扫描数据输入端口,sdo为扫描数据输出端口,se为扫描允许端口,clk为时钟端口,椭圆代表组合逻辑电路,D为正常的数据输入端口,Q为正常的数据输出端口。

DQ

sdi

se

clk

伪外部输出

伪外部输入

sdo

se

clk

sdi

基于扫描设计可以显著地降低测试的复杂性,但是其不足在于使芯片面积略微增大,这不仅是因为扫描设计要将普通的触发器转换为扫描触发器的缘故,而且扫描设计大大增加了布线复杂性。

扫描测试的时序

扫描测试的时序如下图所示。

SI为扫描输入,SO为扫描输出,SE为扫描允许。

扫描测试的第一步是通过扫描移位(shift)操作将设计中的时序单元设置为期望的值,这个过程所需的时钟数就是内部最长的扫描链长度。

这个过程SE=1,电路工作在扫描移动测试状态。

第二步是施加激励并抓取响应(capture)。

这个过程SE=0,电路工作在正常的功能状态。

第三步是移出抓取的电路组合部分的响应。

这个过程SE=1,电路工作在扫描移动测试状态。

值得注意的是当需要施加多个测试模式时,在前一个测试响应移出电路的同时就移入当前电路的测试激励。

2.内建自测试(BIST)

内建自测试是可测性设计的另一种重要的方法。

这种方法的基本思想是由电路自己生成测试向量,而不是要求外部施加测试向量,它依靠自身逻辑来判断所得到的测试结果是否是正确的,这样就大大降低了对测试设备的要求,而且它所要求“借用”的芯片封装引脚的数目要少得多。

内建自测试的基本原理如图所示。

BIST又分为逻辑内建自测试(LBIST)和存储器内建自测试(MBIST),MBIST又分为RAMBIST以及ROMBIST。

由于BIST要求电路自身生成测试向量,而随机逻辑的测试向量生成是非常复杂,故逻辑内建自测试在实际中应用有限,最常用的是MBIST。

逻辑电路

响应分析器

激励生成器

测试控制器

2.1RAMBIST

由于RAM可读可写,因此我们要从读和写两个方面对它进行测试,其原理如图所示;又由于RAM结构规整致密,故其测试向量不像普通电路测试向量那样复杂,RAM测试的关键在于施加测试向量的时序上,最常用的是March算法。

SRAM

向量

比较器

向量生成器

测试控制器

2.2ROMBIST

ROM与RAM最大的不同之处是RAM可读可写,而ROM只读不可写,ROM中的信息是由制造厂家做好了的,因此ROMBIST与RAMBIST的最大不同就是前者没有向量生成电路,但由于ROM中的信息是多种多样,故其响应分析是非常复杂的,通常要用特征分析器首先对其响应进行压缩得出响应特征,然后针对特征进行比较,其结构原理图如下图所示。

ROMBIST的作用有两个:

一方面是要验证存储在ROM中的数据是否正确;另一方面是确保能够准确读出存储器中的信息,而不出现破坏性的读操作,即在进行读操作时不会改变或毁坏数据。

ROM测试也可以采用类似RAM测试的March算法[1],

ROM

特征分析器

测试控制器

3.边缘扫描(BoundaryScan)

边缘扫描是欧美一些大公司联合成立的一个组织——联合测试行动小组(JTAG)为了解决PCB板上芯片与芯片之间互连测试而提出的一种解决方案。

由于该方案的合理性,它于1990年被IEEE采纳而成为一个标准,即IEEE1149.1。

边缘扫描是在芯片的每一个输入输出引脚上增加一个存储单元,然后再将这些存储单元连成一个扫描通路,从而构成一条扫描链。

由于这条扫描链分布在芯片的边缘,故称为边缘扫描。

边缘扫描单元的原理如图所示。

边缘扫描单元有以下四个数据端口:

di代表功能数据输入端口,do代表功能数据输出端口,sdi代表扫描数据输

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1