(微电子学与固体电子学专业论文)garfield芯片的可测性设计及测试生成.pdf_第1页
(微电子学与固体电子学专业论文)garfield芯片的可测性设计及测试生成.pdf_第2页
(微电子学与固体电子学专业论文)garfield芯片的可测性设计及测试生成.pdf_第3页
(微电子学与固体电子学专业论文)garfield芯片的可测性设计及测试生成.pdf_第4页
(微电子学与固体电子学专业论文)garfield芯片的可测性设计及测试生成.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 随着系统芯片( s o c ) 规模的不断增大,可测性设计( o f t ) 已经成为芯片设计中一个重要的 组成部分;同时,系统芯片的复杂性也给可测性设计以及测试矢量生成带来了挑战。本课题主要是 实现国家专用集成电路系统工程技术研究中心自主研发的系统芯片g a f f i e l d 的可测性设计及测 试矢量生成。 在简单论述了与g a r f i e l d 芯片测试开发相关的内容后,本文阐述了g a r f c e l d 芯片可测性设计的 实现。芯片中的随机逻辑部分采用了扫描可颓9 性设计。r t l 级可测性设计主要考虑如何实现对电路 中的时钟以及复位信号的控制;扫描链捅入时主要解决事_ 1 描数据移位以及捕获时会出现的问题。完 成仝扫描可测性设计后,单固定故障测试覆盖率达到9 5 0 6 。针对伞扫描设计对芯片性能和面积的 影响,本文采用了一种针对具有层次化结构的设计的部分扫描单元选择方案,理论分析和实验结果 都表明了选择方案的有效性。g a r f i e l d 芯片完成部分扫描可测性设计后,在测试覆盖率( 9 5 6 0 ) 满足要求的基础上可溯性设计对芯片性能的影响显著降低( 龊为1 9 0 ) 。嵌入式s r a m 采用了内 建自测试( b 1 s t ) 可测性设计,b i s t 电路实现了用于s r a m 测试的四种m a r c h 算法,覆盖了s r a m 中常见的故降。系统级可测性设计主要是将存储器b i s t 与a r m 棱的边界扫描铡试相结合。完成可 测性设计后,本丈分别针对单固定故障、转换故障以及路径延迟故障对g a r f i e l d 芯片的随机逻辑进 行了测试矢量生成,测试覆盖率( 分别为9 6 1 6 、9 2 , 2 6 和i i 9 觎) 达到了工程上豹要求;静态 和动态骑证保证了测试矢量的正确性。 论文最后对课题进行了总结,指出了尚需解决的几个问题,并对今后的研究工作进行了展望。 关键词 系统芯片可测性设计扫描内建自测试测试矢量生成 东南大学硕士学位论文 a b s t r a c t a ss i z eo fs y s t e m - o n - a - c h i p ( s o c ) k e e p so ni n c r e a s i n g , d e s i g nf o rt e s t a b i l i t y f r ) h a sb e c o m ea l l i m p o r t a n tp a r to f a s i cf l o w a tt h ea s n l et i m e ,c o m p l e x i t yo fs o ci sar e a lc h a l l e n g et od f ta n dt e s t p a n e mg e n e r a t i o nf t p o ) i nt h i sp a p e r , t h er e r c hf o c u s e so nt h ei m p l e m e n t a t i o no f d f fa n dt p go na s o cn a m e dg a r f i e l dd e s i g n e di nn a t i o n a l a s i cc e n t e r a f i e rb r i e f l yi n w e d u c i n gs o m ea s p e c t sr e l a t e dt ot h et e s td e v e l o p m e n to fg a r f i e l d t h ep a p e ri n e u s e s t h e d f tr e a l i z a t i o no f t h ec h i p f o rr a n d o m l o g i c , s c a n m e t h o d i sa d o p t e d ,i n r t l l e v e l d 丌a i m s a t h o wt oc o n t r o lc l o c k sa n dr e s e t a p r o b l e m so fs h i f ta n dc a p t u r eo fs c a nd a t aa r cc o n s i d e r e dd i 玎i i l gs c a l a c h a i ni n s e r t i o n g o o dt e s tc o v e r a g e ( 9 80 6 ) o fs t u c k - a tf a u l t si sa c h i e v e da f t e ri m p l e m e n t i n gf u l l d i g n b e c a u s eo f t h ei m p a c to i lp e r f o r m a n c ea n dm o ao f t h ec h i pd u et of u l ls c a nd e s i g n ap a r t i a ls c a n f l i p - f l o ps e l e c t i o nm e t h o d o l o g ya i m i n ga tt h ed e s i g nw i t hh i e r a r c h i c a ls t r u c t u r ei sp r e s e n t e d e x p e r i m e n l a l r e s u h ss h o w t h ee f f e c t i v e n e s so f t h ea p p r o a c h e s a f t e r p a r t i a l s c a f ld e s i g no f g a r f i e l d i s f i n i s h e d 。h i g h f a u l t c o v e r a g e ( 9 5 6 0 ) i sm a i n t a i n e dw h i l et h ei m p a c t ( o n l y1 8 0 ) o i lt h ep e r f o r m a n c eo f t h ec h i pd u et os c a n d e s i g ni sg r e a t l yr e d u c e d b u i l t - i ns e l t e s t ( b l s t ) t e c h n i q u ei su s e di nt e s t i n ge m b e d d e ds r a m f o u r d i f f e r e n tm a r c ha l g o r i t h m sw h i c hc o v e rm o s tf a u l bo c c u r r e di ns r a mc a nb er e a l i z e dw i t hb i s tc i r c u i t s r a mb i s tha l s oc o m b i n e dw i t ha r mc o r e sb o u n d a r ys c a nt e s t i n gd u r i n gs y s t e ml e v e ld f t a f t e r d f ti sc o m p l e t e d ,t e s tp a t t e r n sa l eg e n e r a t e df o rr a n d o ml o g i ca i m i n ga tt h r e ed i f f e r e n tf a u l tm o d e l s i n c l u d i n gs t u c k - a t ,t r a n s i t i o na n dp a t hd e l a y , s c a ov e c t o r sp r o v i d eh i g hf a u l tc o v e r a g e ( 9 6 1 6 、9 2 2 6 a n d l l 9 6 、s t a t i c t i m i n ga n a l y s i sa n dd y n a m i cs i m u l a t i o n e e t s u s e t h e v a l i d a t i o no f t h e l e s t v e c l o m a tt h el a s to f t h ep a p e r , as u m m a r yi sg i v e na n ds o m ep r o b l e m sa r ep o i n t e do u tt h ep a p e ra l s op u t s f o r w a r dt h er e s e a r c ha s p t li nt h ef t l u l r e , k e y w o r d s s y s t e m - o w a - c h i pd f ts c a nb u i l t - i ns e l f - t e s t t e s tp a t t e r ng e n e r a t i o n 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人己经发表或撰写过 的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 研究生签名: 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印 件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质 论文的内容相一致。除在保密期内的保密论文外。允许论文被查阅和借阅,可以公布( 包括 刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 研究生签名:鱼! 塑l导师签名:日期:功口 助爵引 第一章绪论 第一章绪论 1 1 集成电路可测性设计的重要性 随着芯片规模的不断增大,传统的测试方法已经远远达不到量产的要求n 1 。首先,在芯片制造 良品率( y i e l d ) 一定的条件下,如果测试覆盖率不够高,即使所有的芯片都完成测试,仍会有一部 分存在故障的芯片会到用户手中。其次,如果不借助可测性设计( d e s i g nf o rt e s t a b i l i t y , d f t ) 或者 可测性设计不够充分,测试矢量生成的难度和时间都会增加,这会延长芯片的整个设计周期,从而 影响到芯片的上市时间。第三,芯片复杂度的增加要求有更高级的自动测试设备( a t e ) 完成测试, 但a t e 性能的提高速度远低于芯片性能的提高速度,仅仅依赖a t e 进行测试已经无法满足芯片测 试的要求。 可测性设计是解决上述问题最为有效的方法。通过可测性设计,可以提高测试矢量的故障覆盖 率、有效的降低测试矢量生成的难度、降低测试对于a t e 的依赖,从而有效的降低测试成本。实际 上,可测性设计已经成为当今集成电路设计中不可或缺的一部分。 1 2s o c 可测性设计以及测试生成的复杂性 半导体技术的进步已经可以让我们将整个电路系统詈于单个芯片上,通常称之为系统芯片 ( s y s t e m - o n - c h i p ,s o c ) 。与此相关,在s o c 设计中用到的预先定义的逻辑模块,称之为i p ( i n t e l l e c t u a l p r o p e r t y ) 。基于口复用的s o c 的优点就在于设计人员通过基于的设计方法可以有效地缩短芯片 的上市时间;但同时基于口的s o c 的出现也给可测性设计带来了很大的挑战。首先,s o c 芯片中 往往集成各种不同类型的p ,例如处理器、存储器、模拟电路、数摸混合电路甚至是m e m s 电路。 各种不同的口可能都需要特定的町测性设计,这大大增加了可测性设计的复杂性;其次,一种口 可能会对其它类型的口的可测性产生影响,这也会增加可测性设计的难度。 深亚微米工艺还会引入一些新型故障,例如延时( d e l a y ) 故障、串扰( c r o s s t a l k ) 故障等;因 此测试矢量生成不仅要针对传统的固定( s t u c k a t ) 故障,还要针对上述新型故障,这增加了测试矢 量生成的难度。 1 3 课题研究的主要内容以及论文结构 本课题的主要工作包括以下两个方面:( 1 ) 完成整个g a r f i e l d 芯片的可测性设计,包括随机逻 辑口的扫描( s c a n ) 可测性设计以及存储器的内建自测试( b u i l t i ns e l f - t e s t ,b i s t ) 可测性设计; ( 2 ) 完成g a r f i e l d 芯片的测试矢量生成以及测试矢量的验证。 文章的结构安排如下: 【1 第二章简要介绍了与g a r f i e l d 芯片测试开发相关的内容。包括g a r f i e l d 芯片的结构、芯片的 测试方案以及可测性设计的流程。同时介绍了用于芯片随机逻辑测试矢量生成的三种故障模 型以及故障模拟在g a r f i e l d 芯片测试开发中的应用。 东南大学硕士学位论文 【2 】第三章至第五章详细讨论了g a r f i e l d 芯片的可测性设计的实现。首先是随机逻辑口全扫描 可测性设计的实现:接下来本文给出了一种针对具有层次化结构设计的有效的部分扫描单元 选择方案;最后是存储器部分的b i s t 可测性设计的实现,同时将存储器b i s t 与a r m 核 的边界扫描测试相结合。 【3 】第六章的主要内容是对完成可测性设计后的g a r f i e l d 芯片中的随机逻辑进行测试矢量生成 及验证。 【4 1 最后对本课题进行了总结,并对以后的工作进行了展望。 2 第二章g a r f i e l d 芯片的测试开发 第二章g a r f i e l d 芯片的测试开发 2 1g a r f i e l d 芯片简介 g a r f i e l d 芯片是由东南大学国家专用集成电路系统工程技术研究中心设计的1 6 3 2 位r i s c 控制 器,主要面向工业控制、多媒体应用及其它消费类电子。其基本结构如图2 1 所示。 图2 ig a r f i e l d 芯片结构 g a r f i e l d 内嵌了1 6 位定点d s p ,其指令集兼容d s p l 6 x x ,支持高效的信号处理。芯片集成指令 数据统一的8 k c a c h e ,t l b 和w r i t e b u f f e r 。g a r f i e l d 包含了丰富的外设,包括支持单色,4 级灰度1 6 级灰度4 k 彩色6 4 k 彩色l c d 控制器、内置c o d e c 、u s b 客户端控制器、m m c s d 控带i 器、支持 多种串行协议的1 通道s s i 。除此以外,g a r f i e l d 芯片还包含了常见的实时时钟、定时、中断控制器、 g f i o 等模块。g a r f i e l d 采用a m b a2 0 作为其骨干总线,所有外设都以a m b a 接口集成。其中高 速总线( a h b ) 支持突发数据传输。与高速设备相连。低速总线( a p b ) 负责低功耗、低速设备的 数据传输,a i - i b 和a p b 之间通过“桥“连接。与“桥”一起的d m a 控制器可以提供在地址空间 内的任意外设之间的高速数据传输。g a r f i e l d 内嵌三个锁相环( p l l ) ,其中m p l l 负责同步整个芯 片,c p l l 和u p l l 负责提供c o d e c 和u s b d 模块的时钟。 从电路结构实现功能和口模块的来源来看,g a r f i e l d 芯片都具有s o c 芯片的典型特征。 2 2g a r f i e l d 芯片的测试方案 功能测试即对待测电路加载功能测试矢量并比较测试响应。完备功能测试可以通过遍历真值表 来完成。对于图2 2 所示的一个两位全加器,只需在输入端加载2 5 个不同的测试向量,就可以对该 全加器进行完备功能测试。功能测试的优点在于不依赖于任何电路类型以及故障模型但是其缺点 - 3 东南大学硕七学位论文 也是显而易见的。当全加器的位数达到6 4 位时,需要2 ”个不同的测试矢量才可以完成完备功能测 试,测试向量的个数以及测试所需的时间都是无法忍受的。同时,上述分析仅仅考虑组合电路,对 时序电路,功能测试矢量的个数还会随着存储单元个数的增加呈指数式增长闭。 ab 图2 2 全加器 因此,对于规模达到百万门的g m f i e l d 芯片要完成完备功能测试是不可行的。当然,功能测试 在c r a r f i e l d 芯片的测试中也并非毫无作用,芯片中模拟m 的测试仍需通过功能测试来完成。 结构测试则不需要考虑电路的具体功能。将电路中的物理故障抽象成特定的故障模型后,就可 以利用测试矢量生成算法对抽象出的故障进行测试矢量生成。假设上述“位全加器电路中总的节点 数为n ,如果将电路中的物理故障抽象成最常用的单固定故障模型,那么测试矢量的个数最多为孙, 远小于完备功能测试矢量的个数。对实际中规模较大的电路,如果将功能测试矢量用于结构故障的 测试,测试覆盖率一般不会超过7 0 l ”。但利用可测性设计,通过结构测试矢量生成可以达到相当 高的测试覆盖率:同时,如果能借助计算机实现自动测试矢量生成( a m o m a t i c t e s t p a t t e r n g e n e r a t i o n , a t p g ) ,测试矢量生成的效率也将大大提高。实际上,结构测试已经成为集成电路尤其是数字集成 电路的主要测试方式。 参数测试不针对电路的特定功能也不考虑具体的故障模型,而是直接测量电路的参数值来判断 芯片能否正常工作。参数测试可以分为d c 参数测试( 例如,短路、开路测试等) 和a c 参数测试 ( 例如,建立和保持时间测试等) ,这些测试通常都是与工艺相关的。i d d q 测试是集成电路中应 用很广的参数测试方法。正常情况下c m o s 电路在静态时漏电流很小,如果芯片中存在某些缺陷可 能会导致静态电流增大,因此通过测量静态电流就可以判断芯片的好坏。尽管i d d q 测试无需考虑 电路的结构和功能,可以有效的降低测试成本。但是,随着深微米工艺技术的进步,由于亚阈值 电流的存在,静态电流不断升高,使得i d d q 测试的有效性受到了限制。参数测试是一种非常有效 的测试方法,例如g a r f i e l d 芯片在a t e 上执行测试之前首先会进行连通性测试,通过连通性性测试 可以尽快发现芯片封装时出现的问题。当然,仅靠参数测试是远远达不到测试要求的,在实际测试 时还必须通过结构和功能测试来保证测试的质量。 在g a r f i e l d 芯片测试中,结构测试是最主要的测试方式。芯片中的随机逻辑p 和存储器均采用 结构测试,少量的模拟口采用功能测试。a r m 核也采用功能测试,测试矢量由a r m 公司提供。 在芯片进行结构和功能测试之前进行简单的参数测试。 4 第二章g a r f i e l d 芯片的测试开发 2 3g a r f i e l d 芯片可测性设计流程 可测性设计是g a r f i e l d 芯片设计中的一个重要组成部分,同时也是芯片测试开发最为关键的一 步。其基本流程如图2 3 所示。 完成可测性设 计 图2 3g a r f i e l d 芯片的可测性设计流程 芯片中的随机逻辑口,例如l c d c 、u s b d 等,均采用扫描可测性设计;片上静态存储器采用 b i s t 可测性设计;系统级可测性设计主要是将存储器b i s t 与a r m 核的边界扫描测试相结合。 2 4 故障模型 芯片在制造和使用过程中会出现各种不同的缺陷( 例如工艺缺陷、材料缺陷等) ,缺陷可以表现 为不同的物理故障,许多物理故障是很难测试和诊断的。为了降低故障处理以及测试矢量生成的复 杂度,有必要将物理故障抽象成故障模型。故障模型与电路模型紧密相连,对各种不同的电路模型, 抽象出的故障模型也各不相同f 2 】。本章仅讨论g a r f i e l d 芯片随机逻辑测试矢量生成所针对的三种常 见的故障模型,即单固定故障模型、转换故障模型以及路径延迟故障模型。 2 4 1 单固定故障模型 s t u c k a t 故障模型将芯片中各种不同的物理故障抽象成电路内部节点固定为逻辑值0 或l 。 s t u c k - a t 故障模型与工艺不相关,在测试矢量生成时,都是假设电路中只存在单个s t u c k - a t 故障。对 于有n 个节点的电路,如果假设各节点的s t u c k - a t 故障可以同时出现,那么,电路中的故障总数为 3 “一1 :但如果采用单固定故障模型,那么电路中总的故障数仅为2 玎,故障总数大大减少。单固定 故障能进行故障压缩,通过故障压缩可以进一步减少故障个数,常用的故障压缩方法包括等价故障 压缩和支配故障压缩。 翻转性,控制值 逻辑门的翻转性用i 表示。如果该逻辑门的输出存在反相,i 为1 ,反之为0 。例如,与非门的 翻转性为l ,或门的翻转性为0 。 - 5 - 东南大学硕士学位论文 逻辑门的控制值用c 表示。当逻辑门的一个输入为某一逻辑值时,电路的输出不依赖于其它输 入。则称该逻辑值为逻辑门的控制值。例如,与门的控制值为0 。 等价故障压缩和支配故障压缩 对组合逻辑电路,故障f 和g 等价是指对任意输入x , z x 户z x ) ( 2 1 ) z g x ) 和三x ) 分别表示组合电路中存在故障f 和g 时电路的输出。对等价故障,只需针对其中一 个故障进行测试矢量生成就可以得到所有等价故障的测试矢量。时序电路的故障等价要求存在故障 f 和g 的电路n f 和n 。有相同的状态表,这在实际电路中出现的可能性很小,一般时序电路的故障等 价都是针对特定的测试序列而言的1 1 1 。 假设t g 为故障g 的测试矢量集,如果在t 。下,故障f 和g 功能等价,则称f 支配g 。同样,在 测试矢量生成时只需针对故障g 即可。支配故障压缩只适用于组合电路而不适用于时序电路【i l 。 下面以图2 4 所示的或非门为例来说明等价以及支配故障压缩过程,输入端a ,b 的所有s - a - 1 故障等价于输出端的- o 故障,经过等价故障压缩后电路中剩余的单同定故障为as a - o ,bs - a - 0 , zs - a _ o ,zs a - 1 。故障as _ a _ o 的测试矢量集为1 0 ,1 0 同时也能检测到故障zs - a - 1 ,即,z 争氇1 支 配as a - 0 。这样,经过故障压缩,或非门中原有的6 个单固定故障减少为现在的3 个。实际上,对 一个控制值为c ,翻转性为i 的逻辑门,其输入端的所有s - a - c :故障功能等价于输出端的s - a - ( co i ) 故 障;其输出端故障s - a - ( i 毋i 恢配任何输入端故障s - a 云。 萨 图2 a 或非门 实验【3 1 1 3 2 】表明。即使电路中同时存在多个s t u c k a t 故障,用于测试单固定故障的测试向量对多 s t u c k - a t 故障仍有很高的故障覆盖率。此外,很多其它类型的故障( 例如桥接故障、转换故障等) 的 测试矢量生成都可以转化为单周定故障的测试矢量生成问题来解决。 2 4 2 转换故障以及路径延迟故障模型 单固定故障模型假设电路内部节点固定为逻辑值0 ( 或1 ) ,或者说该节点信号需要经过“无限” 长时问从l 变成0 ( 或从0 变成1 ) ,因此固定故障可以看作是延迟为无限长的延迟故障。对于工作 在一定频率下的同步时序电路,电路中所有的组合逻辑单元在规定的时钟周期内都必须达到稳定状 态。尽管针对固定故障的测试矢量在较高速下应用能检测到某些延迟缺陷 2 1 ,但研究p 川表明这是不 充分的,仍有必要生成专门用于检测延迟缺陷的测试矢量。 电路中的一些缺陷能够引起信号沿组合路径的延迟超过规定的时问,这类故障称为路径延迟故 障,每条组合路径都对应上升转换和下降转换两个路径延迟故障。在实际电路中尤其是在电路规模 较大时,路径延迟故障的个数会很大,可能是逻辑门数的指数函数四。因此,在实际设计中对所有 的路径延迟故障都进行测试矢量生成是不切实际的。由于产生路径延迟故障的缺陷对芯片的影响一 般都是“全局”的,因此路径延迟故障应该首先发生在关键路径上。所以,无需对所有的路径延迟 - 6 一 第二章g a r f i e l d 芯片的测试开发 故障都进行测试矢量生成,只要得到关键路径上的延迟故障的测试矢量即可。电路中还可能存在另 一类点缺陷会使器件或连线上信号的上升或下降变慢,这类故障称为转换故障,转换故障的数量与 电路中的s t u c k - a t 故障数量相当。上述两类故障模型均用于全速( a t - s p e e d ) 测试。 2 5 故障模拟 故障模拟顾名思义即假设电路中存在故障并对存在故障的电路进行仿真。完成故障模拟需要几 个必备条件,即仿真电路、目标故障,故障模拟所需的激励( 测试向量) 以及故障模拟的算法。故 障模拟的算法有很多种,例如串行故障模拟、并行故障模拟、推演式故障模拟、并发式故障模拟等。 各种不同的算法都是在算法所支持的电路模型、算法的执行速度以及算法所需的存储空间之间进行 折中。 2 中给出了详细的故障模拟算法的讨论。本文主要针对故障模拟的应用,通过故障模拟可以 判断测试矢量集的故障覆盖率。故障模拟在g a r f i e l d 芯片随机逻辑的坝i 试矢量生成以及测试矢量的 压缩中都起到了很重要的作用。故障模拟用于测试矢量生成以及测试矢量压缩的过程如图2 5 所示。 是 j o k 测试矢量集t + a t p g 计算压缩比 图2 5 ( a ) 故障模拟用于测试矢量生成的流程;( ”故障模拟用于测试矢量压缩的流程 在测试矢量生成时,首先选择测试矢量以及目标故障,通过故障模拟就可以判断测试矢量的故 障覆盖率。当然,对实际中大的设计仅靠故障模拟可能很难达到满足要求的故障覆盖率同时故障 模拟的时间可能会很长,仍然需要通过自动测试矢量生成来得到满足要求的测试矢量。故障模拟在 某些情况下还可以在不同类型的故障模型之间进行,例如s m c k - a i 故障的测试向量就可以利用转换 故障的测试矢量进行故障模拟得到。 在故障模拟用于测试矢量压缩时,首先选择目标故障以及相应的测试矢量集,接下来按一定顺 - 7 - 东南大学硕士学位论文 序对测试矢量集中的向量逐一进行故障模拟。如果用于模拟的向量能检测到故障,就将检测到的故 障从故障集中删除,否则将该测试矢量从测试矢量集中删除。在实际测试矢量压缩时,可以按照不 同的顺序选择测试矢量进行多次压缩来提高压缩比,当然这需要花费更长的时间。 2 6 本章小结 本章首先简单介绍了g a r f i e l d 芯片,通过比较集成电路三种常用的测试方法,即功能测试、结 构测试和参数测试,给出了g a r f i e l d 芯片的测试方案。在给出了g a r f i e l d 芯片的可测性设计流程后, 本章介绍了结构测试中最常用的单固定故障模型以及单固定故障的压缩,说明了生成专门用于检测 延迟缺陷的测试矢最的必要性并介绍了用于a t - s p e e d 测试的转换和路径延迟故障模型。展后介绍了 故障模拟并说明了故障模拟在随机逻辑测试矢量生成以及测试矢量压缩中的作用。 8 , 第三章g a r f i e l d 芯片随机逻辑的全扫描可测性设计 第三章g a r f i e l d 芯片随机逻辑的全扫描可测性设计 3 1 全扫描可测性设计 组合电路测试矢量生成算法的复杂度相对较低并且这方面的研究已经比较成熟,而时序逻辑 测试矢量生成则要复杂得多。 以同步时序电路为例,假设电路的基本输入和基本输出分别为。,和 p o , ,1 0 2 ,p 0 二,其对应逻辑值为毛,x 2 ,x t 和y l , y 2 ,y 。;电路内部存储单元为 川,f f 2 ,f l ,对应当前状态和下一状态分别为 ,s 2 ,凡、s j + ,s 2 + ,j + 。那么, ( y l ,y 2 ,y ,) = f ( x l ,石2 ,x 。, ,j 2 ,s 。) ( + ,j 2 + ,s 。+ ) = g ( x m ,屯 x 。,s l ,s 2 ”,s 。) 其中,和g 为组合逻辑函数。 由此可以得到图3 1 所示的同步时序电路模型。 ( 3 1 ) ( 3 2 ) 图3 1同步时序电路模型 测试时只有通过在基本输入端加载输入序列,才能将内部存储单元置于所需的状态瓯。对同步 时序逻辑,测试矢量生成最坏情况下的复杂度为o ( k x 27 x 4 ”) 埘,其中_ j 为电路中总的逻辑门数。 如果能直接控制电路内部的存储单元的状态,则同步时序电路的测试矢量生成就转化成组合电 路的测试矢量生成问题,测试矢量生成的难度大大降低,扫描可测性设计方法正是基于上述考虑而 出现的。 以d 触发器为例,在数据输入端加上一个二选一的数据选择器就成为扫描单元,如图3 2 所示。 - 9 东南大学硕士学位论文 d c k q d q 弋s l - - - - - - j s e c k q 图3 2 将d 触发器转化成扫描d 触发器 将所有的扫描单元首尾相连,即前一单元的q 端直接连到下一单元的s i 端;与时钟类似,所 有的扫描单元共用s e 端,这样就完成了同步时序电路的扫描可测性设计。测试矢量生成只需针对 组合逻辑c 进行。加载测试矢量进行扫描测试的时序如图3 3 所示。 钟厂 厂 厂 厂 厂 厂 扫描输入 二二至二) 二二d 二二三二) 二 三二) 数据保持故障( d r f ) 漏电流的存在可能会使某些s r a m 存储单元中的数据丢失,称为数据保持故障。 在实际存储器中,多个故障的同时出现( 例如,存储单元j 被i 耦合同时j 本身存在转换故障, 称存储单元j 存在耦合和转换的关联故障) 可能会产生故障屏蔽。故障关联会增加钡8 试的难度甚至 会使故障不可测。 g a r f i e l d 芯片中s r a m 的测试方法 g a r f i e l d 芯片中的s r a m 的测试采用了最常用的m a r c h 测试方法。m a r c h 测试由一系列的m a r c h 元素组成,每个m a r c h 元素都包含了一系列按顺序执行的操作。值得注意的是m a r c h 元素必须按地 3 3 东南大学硕士学位论文 址递增( t ) 或递减( 上i ) 的顺序作用于每个存储单元。 g a 埔e l d 芯片中采用以f 四种m a r c h 算法。 m a r c h l r :价( 们l i l ( r o ,w 1 i f f ( r l ,w o , r o ,w 1 i f f ( r l w o k f f ,w l ,r l ,们) ;f f ( ,o 】 m a r c hc : 价( w o l f i ( r 0 ,w 1 ) ;f ( r l ,w o ) ;l lpo w 1 ) ;l l ( r l ,w o l f f r o ) m a t s + + : 1 1 ( w o lf f ( r o ,w d ) ;i i ( ,1 ,w o , r o ) r e t e n t i o n ;1 1 ( w o l d e l a y ;o ( r o ) ;f f ( w 1 ) ;, d e l a y ;, u ( r l ,w o ) 其中,w 代表写操作r 代表读操作。注意上述操作中的0 和1 只是标记,在实际测试中通常为 多位( g a r f i e l d 芯片中为1 6 位) 向量,0 和1 代表的向量关系为按位取反。多位向量选取的详细要 求可以参考 1 6 1 。 各种算法的复杂度以及所能检测到的故障类型如表5 1 所示: 表5 1 各种m a r c h 算法的复杂度以及所能检测到的故障类型 故障类型 算法名称复杂度a fs a f1 下d r fc f 如c f i dt f 拌c f m a r c h l r1 4 n m a r c h c 1 0 n , , n 腮+ +6 n r c t e n t i o n 表中的n 是s r a m 中存储单元的个数。以m a r c h l r 算法为例,m a r c h l r 算法包含1 4 步操作, 由于m a r c h 算法要求对每步操作对所有单元都执行,因此算法的复杂度为1 4 n 。f 1 6 】中给出了上述 几种算法所能检测到的故障的证明的详细过程。表中的t f # c f 表示t f 与c f 的关联故障。 s r a m 内建自测试( r a m b i s t ) 的实现 m a r c h 测试的规则性使得它最适用于r a m b i s t ,g a r f i e l d 芯片中r a m b i s t 的核心是上述几种 m a r c h 算法的硬件实现。 g a r f i e l d 芯片中r a m b i s t 的基本结构如图5 6 所示。 其中地址生成器可以用l f s r 或计数器实现。尽管l f s r 能节省电路面积,但需要s r a m 地址 空间为2 ( t = 1 幺) 。在g a r f i e l d 芯片中,地址生成器用计数器实现。数据选择器用于正常工作 时的数据、地址与测试模式下的数据、地址的切换。数据生成器用于生成自测试时所需要的多位向 量。b i s t 控制器实际上是实现m a r c h 算法的有限状态机1 2 j 。 注意上图中只列出一块r a m ,在实际测试时5 块r a m 可以同时进行。 3 4 - 第五章g a r f i e l d 芯片中s r a m 的内建自测试设计 5 3 边界扫描可测性设计 p a s “f a j l 正常数据 图5 6r a m b i s t 的基本结构 上世纪7 0 年代的芯片都是采用双列直插式( d p ) 封装,p c b 扳的测试都是通过探针探查的方 式进行。但随着芯片规模的不断增大,新的封装形式不断出现,传统的p c b 板测试方法变得越来越 不可行。为了更好地解决板级测试问题,欧洲联合测试行动小组( j t a g ) 开发了边界扫描标准。同 时,i e e e 测试技术委员会根据边界扫描标准也制定了相应的板级测试标准i e e e p l l 4 9 1 ,通常所说 的边界扫描都符合i e e ep 1 1 4 9 1 标准。 支持i e e ep 1 1 4 9 1 标准的边界扫描电路主要包括测试访问接口( t e s ta c c e s sp o r t ,1 a p ) 控制 器、边界扫描寄存器、指令寄存器、数据寄存器以及其它一些功能逻辑。边界扫描电路一般包含t d i 、 t d o 、t m s 、t c k 以及t r s t 五个端口。其中t d i 和t d o 为数据和指令的串行输入输出端口;t c k 和t r s t 为t a p 电路的时钟和复位信号;t m s 用于t a p 控制器的状态控制。 t a p 控制器实际上为图5 7 所示的有限状态机,通过t m s 信号的控制就可以实现数据以及指令 各种不同的操作。 指令寄存器用于测试指令的存取,通过指令译码就可以选择置于t d i 和t d o 之问的寄存器。 b y p a s s 、e x t e s t 以及s a m p l e 是i e e ep 1 1 4 9 1 标准的保留指令;此外可测性设计时还可以根据 要求定义所需的测试指令,例如,可以设计指令s c a n t e s t 用于电路内部的扫描测试,此时扫描 数据通过t d i 移入、t d o 移出。旁路和边界扫描寄存器是i e e ep 1 1 4 9 1 标准的保留寄存器,同样 可以按设计要求定义所需的寄存器。 3 5 东南大学硕士学位论文 图5 7t a p 控制器对应的有限状态机 有些芯片内部存在需要单独测试的口核,这些口核的很多输入输出端口在芯片外可能无法直 接访问。直接将这些端口引出需占用大量的i o 管脚,但如果对这些口核进行边界扫描可测性设计, 那么只需要5 个端口就可以在芯片外对这些口核进行测试,大大降低了测试成本。对整个芯片进行 边界扫描可测性设计可以实现板级的芯片互连测试;同时,芯片级的测试矢量还可以在板级复用, 提高了板级测试效率,降低了测试费用。 t a p 状态机中各个状态以及i e e e p l l 4 9 1 标准中的保留指令和数据寄存器的详细解释可以参照 【l 】1 。 3 6 第五章g a r f i e l d 芯片中s r a m 的内建自测试设计 5 4r a m b i s t 与a r m 核边界扫描测试的结合 前面已经提到边界扫描的一个重要作用就是在芯片外只需5 个i o 端口就可以对内部模块实现 单独测试。a r m 核采用边界扫描测试,测试矢量由a r m 公司提供。如果将r a m b i s t 与a r m 核 边界扫描测试相结合,那么无需单独增加i o 端口就可以实现存储器b i s t ,同时不会增加测试时问。 通过指令选择扫描链5 1 1 7 时,r a m b i s t 模块中的模式寄存器将处于t d i 和t d o 之间。通过数 据串行移入,就可以对自测试所采用的算法、多位向量等进行配置。r a m b i s t 所对应的指令为1 1 0 0 , 只要将指令串行移入指令寄存器就可以启动r a m b i s t 。在自测试过程中或是自测试完成后,将模 式寄存器中的值串行移出就可以知道是否检测到故障以及一些出错的信息。在r a m b i s t 运行过程 中,1 a p 控制器始终处于r t m - t e s l i d l e 状态。 完成d f t 后,整个g a r f i e l d 芯片的测试结构可以用图5 8 表示。 链。 图5 8g a r f i e l d 芯片的测试结构 其中一一表示随机逻辑内部的扫描链,图中仅表示出了一条扫描链,实际芯片中存在8 条扫描 3 7 - 东南大学硕士学位论文 5 5 本章小结 在简单介绍了b i s t 结构以及如何实现b i s t 电路的伪随机测试矢量生成以及响应压缩后,本章 给出了芯片内部s r a m 的b i s t 可测性设计;b i s t 电路实现了用于s r a m 测试四种m a r c h 算法, 覆盖了s r a m 中常见的故障。系统级可测性设计主要是将存储器b i s t 与a r m 核边界扫描测试结 合在一起,这样无需单独增加f o 端口就可以实现存储器b i s t 。 - 3 8 第六章g a r f i e l d 芯片随机逻辑的测试矢量牛成 第六章g a r f i e l d 芯片随机逻辑的测试矢量生成 6 1 随机逻辑的测试矢量生成 测试矢量生成时,一般都要求: 【1 1 测试矢量的故障覆盖率尽可能高; 【2 】测试矢量生成的代价要尽可能小; 【3 】生成的测试矢量的个数应尽可能少。 实际上。上述几点是相互制约的,只能进行折中以达到特定的要求。常见的测试矢量生成方法 可以分为随机测试矢量生成和确定性测试矢量生成。随机测试矢量生成不考虑电路的结构和功能, 测试矢量随机选取。显然,随机测试矢量生成的难度较低,但要达到一定的故障覆盖率必须经过长 时间的故障模拟:同时测试矢量的数量也比较大,要求有更大内存的a t e ,增加了测试费用。相对 于随机测试矢量生成,确定性测试矢量生成都是基于特定的故障模型,通过某种算法来实现。尽管 测试矢量生成的难度较大,但测试覆盖率高同时测试矢量数量较少。确定性测试矢量生成可以是基 于特定故障或是与故障无关的。当然,在测试矢量生成的方法确定后,前一章讨论的d f t 仍是提高 测试矢量生成效率最有效的方式。随机测试矢量生成一般用于逻辑b i s t ;g a r f i e l d 芯片中随机逻辑 测试矢量生成主要是针对单固定、转换以及路径延时三种故障模型进行确定性a t p g 。实际上,转 换和路径延时故障的测试矢量生成都可以归结为类似于单固定故障的测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论