




已阅读5页,还剩76页未读, 继续免费阅读
(微电子学与固体电子学专业论文)fpga测试方法研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文独创性声明 本论文是我个人在导师指导下进行的研究2 1 2 作及取得的研究成果论文中 除了特别加以标注和致谢的地方外,不包含其他入或其它机构已经发表或撰写 过的研究成果其他同志对本研究的启发和所敢的贡献均已在论文中作了明确 的声明并表示了谢意 作者签名:孵日期:掣中 论文使用授权声明 本人完全了解复旦大学有关保留、使用学位论文的规定即:学校有权保 留送交论文的复印件允许论文被查阅和借阅:学校可以公布论文的全部或部 分内容可以采用影印、缩印或其它复材手段保存论文保密的论文在解密后 遵守此规定 作者勰婵。导师簟各避瞒坦址w 摘要 f p g a ( f i e l dp r o g r a m m a b l e g a t e a r r a y s ) 是目前广泛使用的一种可编程器件, f p g a 的出现使得a s i c ( a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t s ) 产品的上市周 期大大缩短,并且节省了大量的开发成本。目前f p g a 的功能越来越强大,满足 了目前集成电路发展的新需求,但是其结构同益复杂,规模也越来越大,内部资 源的种类也日益丰富,但同时也给测试带来了困难,f p g a 的发展对测试的要求 越来越高,对f p g a 测试的研究也就显得异常重要。 本文的主要工作是提出一种开关盒布线资源的可测性设计,通过在f p g a 内 部加入一条移位寄存器链对开关盒进行配置编程,使得开关盒布线资源测试时间 和测试成本减少了9 9 以上,而且所增加的芯片面积仅仅在5 左右,增加的逻 辑资源对f p g a 芯片的使用不会造成任何影响,这种方案采用了小规模电路进行 了验证,取得了很好的结果,是一种可行的测试方案。 本文的另一工作是采用一种f p g a 逻辑资源的测试算法对自主研发的f p g a 芯片f d p 2 5 0 k 的逻辑资源进行了严格、充分的测试,从f p g a 最小的逻辑单元 l c 开始,首先得到一个l c 的测试配置,再结合s l i c e 内部两个l c 的连接关 系得到一个s l i c e 逻辑单元的4 种测试配置,并且采用阵列化的测试方案,同 时测试芯片内部所有的逻辑单元,使得f p g a 内部的逻辑资源得完全充分的测 试,测试的故障覆盖率可达1 0 0 ,测试配置由配套编程工具产生,测试取得了 完满的结果。 a b s t r a c t f p g a ( f i e l dp r o g r a m m a b l eg a t ea r r a y s ) i sak i n do fp r o g r a m m a b l ed e v i c e w h i c hi su s e dw i d e l yt h r o u g ht h ew o r l d t h ed e s i g np e r i o do fa s i c sh a sb e e n s h o r t e n e dd u et ot h ea p p e a r a n c eo ff p g a c h i p sa n dt h ec o s to fd e s i g na s i c sh a sa l s o b e e nr e d u c e d a n dn o w , t h es c a l eo ff p g ai sl a r g e ra n dl a r g e ra n dt h es t r u c t u r e b e c o m e sm o r ea n dm o r ec o m p l i c a t e d s o ,t h et e s t i n go ff p g ac h i p sb e c o m e sa p r o b l e m ,e s p e c i a l l yb e c a u s eo ft h ed e v e l o p m e n to ff p g ac h i p s a sar e s u l t ,t h e r e s e a r c ho ff p g a t e s t i n gb e c o m e sm o r ea n dm o r ei m p o r t a n t t h i sp a p e rw o r k sm a i n l yo nt h ed f to ff p g as w i t c hb o xi n t e r c o n n e c t r e s o u r c e as c h e m ei sp r o p o s e dt oa d das h i f tc h a i ni nt h ef p g ac h i pt oc o n f i g u r et h e s w i t c hb o x t h i sm e t h o dr e d u c e st h et e s t i n gt i m eo fs w i t c hb o xr e s o u r c eb yo v e r9 9 , t h eo v e r a l la r e ao v e r h e a di na d d i n gt h es h i f tc h a i ni so n l ya b o u t5 t h ea d d i n gl o g i c d o e s n ta f f e c tt h ef p g ap e r f o r m a n c e i ti sas c h e i n et h a tc a nb eu s e d t h i sp a p e ra l s ow o r k so nt h et e s t i n ga l g o r i t h mo ff p g al o g i cr e s o u r c e s w eu s e at e s t i n ga l g o r i t h mt og e tt h ec o n f i g u r a t i o n so fl o g i cr e s o u r c e so ff d p 2 5 0 ka n dt e s t t h el o g i cr e s o u r c e sc o m p l e t e l y f i r s t l y , w eg e tt h ec o n f i g u r a t i o n so fl cw h i c hi st h e m i n i m a ll o g i cc e l lo ff p g a t h e n ,t h et e s t i n gc o n f i g u r a t i o n so fs l i c ea r eo b t a i n e d u s i n gt h ea r r a y - b a s e dt e s t i n gs c h e m e ,a l ll o g i cr e s o u r c e si nf p g a c a nb et e s t e da tt h e s a m et i m ea n dt h et e s tc o v e r a g ei s1 0 0 t h et e s t i n gc o n f i g u r a t i o n sa r eg e n e r a t e db y at o o lw h i c hi sd e v e l o p e db yc a dl a b ,t h er e s u l ts h o w st h a tt h ef p g am a n u f a c t u r i n g i ss u c c e s s f u l 1 1f p g a 芯片简介 第1 章引言 f p g a ,即现场可编程门阵列( f i e l d p r o g r a m m a b l e g a t e a r r a y s ) 是目前广泛 使用的一种可编程器件,其发展比较迅速,f p g a 的出现使得集成电路设计的周 期大大缩短,产品上市的时间大大减少,并且由于其集成度、复杂度和面积优势 使其日益成为一种颇有吸引力的高性价比a s i c ( a d p l i c a t i o ns p e c i f i ci n t e g r a t e d c i r c u i t ) 的替代方案。f p g a 芯片的规模越来越大,功能越来越强,其丰富的内部 资源日益满足了a s i c 设计对于存储器、数据通路和处理器的要求。f p g a 从结 构上来讲主要包括反熔丝( a n t i - f u s e ) 和s r a m 两类。其中基于s r a m 的f p g a 是目前比较流行的一种结构,f p g a 两大厂商x i l i n x 和a l t e r a 的产品主要是基于 s r a m 结构的芯片,目前在工业界中应用非常广泛,而且可以通过编程反复使用, 这样就节省了a s i c 设计的成本,表l 显示了f p g a 和a s i c 之间的差别,从中 可以看出f p g a 在目前业界的作用。而反熔丝编程是通过加入一个较高电压使两 个节点自j 的绝缘材料断丌来进行编程,这样不需要存储器来进行保护程序,但是 它只能写入一次。这项技术最显著的优点在于熔断的导通电阻和寄生电容要比传 输门和传输晶体管小的多,这就支持更高的速度和布线通路的可预计延时,性能 上要比基于s r a m 的f p g a 高。而基于s r a m 的f p g a 使用c m o s 传输门来建 立连接,逻辑门的状态由s r a m 存储器的信息决定,传统的基于s r a m 的f p g a 通常由可编程逻辑单元( c o n f i g u r a b l el o g i cb l o c k ,c l b ) ,开关盒( s w i t c h i n g b l o c k ) ,连接盒( c o n n e c t i n gb l o c k ) ,i 0 模块和编程下载电路( p r o g r a m m i n g c i r c u i t s ,包括编程用s r a m ) 四大部分组成,目前f p g a 芯片一般还包括一些宏 模块,比如嵌入式r a m 、d s p 处理模块,高速乘法器等一些常用的专用模块。 其中可编程逻辑单元c l b 通常由查询表( u j t ) ,d 触发器和多路选择开关( m u x ) 组成。连线资源通常由会属线段和n m o s 管组成。编程下载电路通常由存储单 元阵列,数据移位寄存器,地址移位寄存器和控制电路组成。 表1 1f p g a 和a s i c 之间的区别 器件功能设计成本二次开发成本性能 a s i c_ l j 户定制一般较低较高较高 f p g a通h j 可编撑较高很低 较低 4 图1 1 是基于s r a m 的f p g a 一个基本结构,也是测试中常用的一个结构模 型。其中可编程逻辑资源c l b 主要实现逻辑功能,连接盒c b 是将逻辑单元的输 入输出连接n ; t - 部的布线资源上,以和其他的逻辑模块进行连接通信,开关盒s b 主要将水平和竖直两个方向的连线资源进行互换方向,实现电路的各种连接。 l o b 模块 s b c b s b _ c b - s b _ 一面。- s b 一一 i o b 模块 一-o 图1 1f p g a 芯片基本结构 目前f p g a 技术发展很快,整个芯片的结构组织都发生了很大的变化,并且 电路规模也在不断的扩大,模块的种类也在不断增加,但不管如何,f p g a 结构 中必然要具有图1 1 的有类似功能的基本模块,本文的研究工作基于这个结构模 型的。 1 2 集成电路测试介绍 集成电路测试通常容易和另外一个概念验证发生混淆。测试和验证有着一定 的共同性,它们的目的都是为了保证得到一个好的符合要求的产品。但是,验证 主要是指检验电路的逻辑、功能、时序等是否满足在设计前提出的要求,是在设 计的过程中做的工作。验证的内容一般是面向功能和时序的,是为了检查设计过 程中的错误。在集成电路设计过程中做的各种仿真( 行为仿真,r t l 级仿真, 门级仿真,版图后仿真等) 就是验证的过程,这是为了保证设计的j 下确性。与验 证不同,测试的目的是为了检测芯片制造过程中出现的缺陷,是对制造好的芯片 h o 薪藩 来进行验证,在芯片的制造过程中由于存在工艺不确定性、光刻偏差、制造过程 中引入的杂质等各种各样的因素,一个正确的设计并不能保证无故障产品的制 造,因此在产品进入市场之前必须经过严格的测试。测试是产品质量的重要保证, 只有经过充分测试的产品才能交付用户使用。 1 2 1 可控制性和可观察性 数字电路中的可控制性定义为设置特定逻辑信号为。或为i 的难度,而可观 察性定义为观察电路逻辑信号状态的难度。在a s i c 电路中会有一些模块的输入 不能够控制或很难控制,有些输出也不能够输出到原始的输出端进行观察,这就 会造成内部的一些故障不能检测,但f p g a 芯片不同,其内部有大量的编程点, 靠线资源非常丰富,这就使得f p g a 芯片内部节点的可控制性和可观察性大大提 高,使得f p g a 芯片的测试故障覆盖率大大提高,所以f p g a 芯片测试基本不 存在可控制性和可观察性的问题,对f p g a 测试非常有利。 l 。2 2 测试的分类 集成电路的测试大致可以分为三类,功能测试、结构测试和参数测试。 1 2 2 1 功能测试 功能测试是为了测试一个电路在功能上是否符合设计的要求。其中包括电路 的逻辑和时序能否满足设计的要求。功能测试通过在待测电路的输入端加入测试 向量,然后在输出管脚上观察输出响应并与j 下确的期望值进行比较来判定设计的 功能是否j 下确。由于现代a s i c 芯片的i 0 数目很大,对规模较大的电路进行完 备的功能测试比较困难,所花费的时间也很多,测试成本就比较高。因此,功能 测试并不能满足现代i c 设计对测试的要求,但是对于一个成熟的产品,做必要 的功f i 日c e 测, 试又是必须的。因此,在更多的情况下,功能测试是作为一种辅助测试 手段出现的,与其它的测试方法结合起来使用将给芯片带来更高的故障覆盖率。 另外,在模拟电路的测试领域,功能测试仍然发挥着巨大的作用。需要指出的是, 在芯片设计过程中的模拟和验证都是围绕着电路的功能来进行的,因而可以归入 广义的功能测试的范畴。 功能测试就测试目标来分,测试又可分为三类, 1 故障检测( f a u l td e t e c t i n g ) ,主要检查电路是否有故障,雨不关心故障位置, 故障数量及故障类型。 2 故障诊断( f a u l td i a g n o s i s ) ,检测故障类型,并确定产生故障的单元。 3 故障冗余,通过引入冗余的单元,隔离故障,使芯片能够继续使用。 在f p g a 测试中,故障检测是基础,多数故障诊断方法是从故障检测方法发 展而来,而故障冗余技术一般为大规模制造时采用。 6 1 2 2 2 结构测试 结构测试与功能测试不同,它着重在电路的结构而不是电路的具体功能,它 用一种抽象的方法对电路中的故障进行建模。对于已经建立好的故障模型,再通 过一些测试向量生成算法来生成能检测到这些故障的测试向量直至满足一定的 故障覆盖率。因此,在结构化的测试方法中,对故障的准确建模和快速高效的自 动测试图形生成( a u t o m a t i ct e s tp a t t e mg e n e r a t i o n ,简称a t p g ) 算法就成为两 个关键因素。在结构测试中,最常见的故障模型为固定故障。而在测试向量生成 算法中,通常采用的是单故障模型,即假设电路在某一个时刻仅仅存在一个故障。 以固定型故障为例,对于一个包含n 个节点的电路,每个节点都可能出现固定故 障,因此在单故障模型下需要考虑出现故障的情况为2 n 个;而在多故障模型下, 每个节点都可能出现固定故障以及无故障模式,n 个节点共有3 “种组合,减去 所有节点都不存在故障的情况,出现故障的情况数为3 “1 ,这样就使问题变成了 一个n p 问题,复杂度急剧上升。有研究结果表明,在能够对单故障达到高覆盖 率的前提下,对多故障同时也有极高的覆盖率。结构测试的这种故障模型抽取, 然后再进行故障模拟得到测试向量的方法,为现代e d a 技术广泛支持。当今的 集成电路测试和可测性设计大多是通过这种结构测试的方法得到电路的测试向 量和故障覆盖率的。 1 2 2 3 参数测试 参数测试是通过对有代表性的参数进行测试并且分析从而判定电路是否出 现故障或者是否满足设计要求指标。参数测试在模拟集成电路的测试中占有重要 的地位,如p l l 的抖动测试,a d c 的s n d r 、s f d r 、i n l 和d n l 等重要参数 的测试。随着工艺进入超深亚微米时代,故障类型出现多样化,数字系统的测试 也更加依赖于参数测试,当前最广泛使用的是i o d q 测试。i o d q 测试是通过测量 c m o s 电路的静态电流来确定电路是否存在异常。由于c m o s 电路中的p m o s 和n m o s 通道总有一支在静态时是关闭的,c m o s 电路的静态电流几乎为零。 当电路中出现桥连或丌路故障时,由于c m o s 结构的拓扑关系出现改变,很有 可能在某一组输入的激励下找到一条从电源到地的通路,那么静态电流就会出现 显著的增加,这时只要外部a t e 或片上( o n c h i p ) 的电流测试电路感应到电流 的变化,就可以判定电路出现了故障。i 0 0 0 测试的最大的优点是故障的传递极其 方便,其故障传递的路径为从电源( v d d ) 传到地( g n d ) ,因此很容易就能找 到一条敏化通路,而在固定型故障模型中敏化通路寻找则需要复杂的算法才能得 以实现。因此,i d d o 测试已经作为一种主要的辅助测试手段,受到越来越多的关 注;另外,i d d o 测试还能对芯片进行可靠性测试。深亚微米工艺技术下的参数测 试也给自测试带来了新的课题。最近,已经有人考虑使用片上的参数测试电路对 s o c 中的嵌入式存储器进行速度测试而在模拟集成电路的可测性设计方面,用 内建自测试的方法实现p l l 电路的j i t t e r 测试也是当前研究的一个热点。随着系 统集成的规模越来越大,芯片的静态电流也相应变大,使得i d d q 测试面临着失 效的危险,在片上实现经济可靠的i d o o 自测试电路就显得很有意义。 1 3f p g a 测试与a s i c 测试 1 3 1 两者之间的区别 f p g a 与一般a s i c 测试有一个很大的不同点是f p g a 在编程之前并没有一 个特定的功能,所以f p g a 的测试必须有一个编程的过程,实现一定的功能之后 再进行测试有关资源。f p g a 测试与一般电路测试不同。测试需要解决的问题有 两个, 1 故障能否全部检测,这涉及到电路内部节点的可控制性和可观察性,前面已 经提及这个问题,由于f p g a 是一种可编程的器件,内部的连线资源非常丰 富,所以内部节点的可控制性和可观察性可以很容易的实现,其高的故障覆 盖率要求较容易达到。 2 检测故障的时间需要多少,这涉及到f p g a 测试配置的个数和测试矢量的数 目和大小,因为很多研究计算表明,在f p g a 的测试中,测试时间主要是由 编程下载时间来决定的,加测试向量的时间和其相比可以忽略不计。 1 3 2f p g a 测试基本概念 由于f p g a 是一种特殊的电路,其测试也与一般电路不同。除了具有电路测 试的一般概念外,测试过程中还需了解以下特殊概念: 1 测试矢量:t v ,t e s tv e c t o r ,为测试电路的故障而在输入端所加的激励。在 f p g a 测试中,指在基本输入端上加的激励。 2 测试矢量集:t s ,为测试某个电路,所需加的测试向量集合。 3 测试配置:t c ,t e s tc o n f i g u r a t i o n ,测试过程中对f p g a 编程下载实现的电路。 t c 相当于测试时f p g a 的编程输入端上加的激励。 4 冗余配罨:如果某个测试配置所能检测到的故障在其他测试配置中都能检测 到,那么这个配罱称为冗余配置。 5 测试配置集:t c ,为测试某种f p g a 结构需要对该f p g a 设计的测试配首 集合。 6 测试图形:t e s tp a t t e m ,为检测故障而设计的一组激励,在f p g a 测试中, 包括测试配置集和集合罩的各个测试配置对应的测试矢量集。 7 测试方案:t p ,t e s tp r o c e d u r e ,测试f p g a 结构的方法,包括步骤和对应各 个步骤的测试图形。例如在参考文献 2 3 1 中提出的方案表示如下: t p = t c = t c l ,t c 2 t c i ) t s = t s i ,t s 2 t s 。) ,表示第i 个测试配置相应的测试向量集。 8 测试时间:t k n ,测试整个电路所需的时间,在f p g a 测试中,t 。n = ( t r 。i + t t s i ) , 由于t t c i 为f p g a 编程下载时间,每次配置编程时间一样,而且一般为加对应 的测试矢量集的时间的数百倍,因此,t 。望m t t 。i ,其中m 为测试配置集中 元素的个数,测试芯片的时间主要由编程下载的时间柬决定。 9 常数可测试:c t e s t a b l e ,如果某种测试方案测试某种f p g a 结构,t 。与该 结构c l b 阵列的大小无关,则称这种方案是常数可测试的。 1 4 本文的工作重点和组织结构 1 , 4 1 工作重点 本文所做的工作主要包括以下: 1 调研了基于s r a m 的f p g a 的目前存在的测试方法,包括逻辑资源的测试和 布线资源的测试,其中从测试目标上来讲又包括故障检测、故障诊断和故障 冗余。 2 针对f p g a 布线资源测试时间长、测试成本高的问题提出了一种新的可测性 设计的思想,大大减少了f p g a 内部布线资源的测试时间和测试成本,并且 在小规模的电路上进行了验证。 3 研究了f p g a 逻辑资源测试方法,并且在复旦大学自主丌发的f p g a 芯片 f d p 2 5 0 k 进行了测试方法的实际应用,使得f p g a 内部逻辑资源得到了比较 充分的测试,取得了不错的结果。 4 为了进行f p g a 阵列化测试开发了f p g a 手工编程工具,使得能够生成测试 需要的任意的编程文件,使得f p g a 内部资源的测试更充分和完整。 1 4 2 论文组织结构 本文共分为5 个章节,其中第2 章讲述了调研的目前存在的一些f p g a 测试 方法和算法,包括故障检测、故障诊断和故障冗余的一些技术,以便读者有一个 比较全面的了解。第3 章主要讲述了一种基于s r a m 的f p g a 内部布线资源的 可测性设计,这种设计使得f p g a 内部的布线资源的测试时间和成本都大大减少 了。第4 章详细描述了复旦大学自主开发的f p g a 芯片的逻辑资源测试的方法, 9 并且取得了不错的结果。第5 章总结了本论文的研究成果并对f p g a 芯片未来的 测试发展做了一些展望。 1 0 第2 章f p g a 测试技术概述 目前f p g a 发展比较快,规模越来越大,结构也越来越复杂,这就给f p g a 芯片测试造成了很大的困难,测试技术也随之发展,作者就近些年来有关f p g a 测试技术做一个详细的调研,以下详细描述。 2 1 测试的故障模型 研究f p g a 测试,必须要有一个芯片的故障模型,用这些模型来描述芯片制 造过程中可能出现的故障。以下是在f p g a 测试方法研究中常用的一些故障模 型。 2 。1 1 逻辑资源故障模型 1 固定故障,某些信号固定在0 或者1 状态,其状态并不可控制。 2 桥接故障,两个信号连接在了一起,这种故障模型也需要电路结构的详细描 述。 3 混合故障,对于有详细的用门级来描述的电路采用固定故障模型,而对于只 知道其功能而对其结构一无所知的时候采用功能故障模型。 4 功能故障,对于电路结构不详细只知其功能的电路采用这种故障模型。 2 1 2 连线资源故障模型 1 线段开路故障,线段在制造过程中中间断丌,不能正常传输信号,输出端的 状态固定。 2 线段的固定0 故障,不管输入信号是0 还是1 ,线段总固定在0 状态 3 线段的固定1 故障,不管输入信号是0 还是1 ,线段总固定在1 状态 4 传输管的固定0 故障,也就是常开故障,s r a m 编程信息不能改变此开关的 状态 5 传输管的固定1 故障,也就是常闭故障,s r a m 编程信息不能改变此开关的 状态 6 线段的桥接故障,两条线段之自j 短路,当分别在桥接的两条金属线上加相反 的信号时,因为桥接两者的输出信号是相同的。 上述6 个故障基本上代表了最常出现的故障,这也是很多研究者常用的故障 模型。 2 2f p g a 芯片测试基本流程 通常f p o a 测试的基本流程是, 1 确定要测试的f p g a 资源。 2 设计尽可能少的待测资源的测试配置。 3 将设计的测试配置下载到芯片内部,实现设计的配簧。 4 对实现的测试配置加测试矢量并观察输出结果。 5 确定芯片的测试结果。 2 3 逻辑资源的测试 厂+ 利用9 9 g a 可编程特性+ l 非内建立自测试 il - 非内谭直目 ! i ! j 试 厂4 巴= = _ 墨l 厂+ 利j h i f p g a 可编程特性+ l 非内建立自测试 餮+ 十咖。二荔赫蓑术 试l 余 f p g a 与a s i c 不同,其在编程之前并没有一定的功能,所以在对其进行测 试之前必须有一个编程下载的过程,每一个下载测试文件,成为一个测试配置, 而测试时间又主要是由测试配置的个数来决定,所以很多研究者通过减少测试配 置的数目柬减少测试时间,进而减少测试成本。 这种方法又分为内建自测试( b i s t ) 和非内建自测试。 1 内建自测试 在f p g a 中b i s t 的概念和a s i c 中的概念不同。a s i c 中的b i s t 指的是在 芯片内部增加用于测试的特殊硬件电路进行辅助测试,而f p g a 的内建自测试的 基本概念如图2 ,2 所示,参考文献【8 , l 一! ! ! 嘤一一一一o n n + o r a c 组n 个b u t 图2 2 内建自测试基本概念 b i s t 把f p g a 芯片编程为三种电路,被测电路b u t ( b l o c k u n d e r t e s t ) , t p g ( t e s tp a t t e r ng e n e r a t o r ) ,一般配置成一个2 迸制计数器来提供穷举的测试矢 量。测试响应检验电路o r a ( o u t p u tr e s p o n s e a n a l y z e r ) 。其中b u t 采用事先设 计的测试配置。而对应的测试矢量不需要外加,可以由t p g 产生,这样对b u t 进 行完全的测试。为了同时测试多个c l b ,通常将整个f p g a 组成阵列,如图2 2 表示一般b i s t ;坝o 试f p g a 采用的阵列组成方式。测试结果输出到0 r a 进行分析并 输出到i o ,这种测试方案需要两个测试阶段,作为t p g 和d u t 的电路在第二阶 段交换角色,这样可以将电路进行充分的测试,而且这种方案可以使f p g a 内部 的很多c l b 同时测试,这样芯片的测试时间就和芯片的规模没有关系,只和测试 需要的阶段有关,这是一种比较好的测试方案。 图2 3 c l b 典型结构 图2 3 是c l b 的一种典型的结构,由l u t 、触发器和组合输出逻辑组成, 这样一种典型又简单的c l b 结构是很多f p g a 产品的逻辑资源结构,其输入状 态很容易控制,输出状态也较容易观察,这种逻辑资源结构也使得进行阵列化测 试非常容易。 b i s t d o n e p a s s f a “ 圉2 4 内建自测试一阵列化测试方案 图2 4 ( 参考文献 7 1 ) o o 的t p g 可以在有限的输入个数输出穷举的测试矢量, 这样就可以使得每一个b u t 得到充分的测试,并且为了防止有故障的t p g 提供给 不同的b u t ,这种情况o r a 并不能检测出故障,所以在图2 4 中使用不同的t p g 。 比较接收不同t p g 产生测试矢量的不同的b u t 的结果,这样即使一个t p g 有故障 也可以在比较结果中反映出来。 b i s t 测试的优点: 夺当测试完成,即可将f p g a 按用户的需求编程,不需要任何硬件开销,对芯 片不会造成任何影晌。 夺可以改进应用于在线测试,就是在f p g a 工作的时候进行测试。 夺可以和连线资源的b i s t 测试方法联合使用,同时测试连线和c l b 夺不受管脚数的限制 夺需要的测试设备较少 b i s t n t j 试的缺点: 4 夺 厶 2 需要两个以上的测试阶段,使得测试时间变长,第一个阶段中的t p g 和o r a 在第二个阶段中配置成b u t ,而原本配置成b u t 的c l b 则配置成t p g 或 o r a 。 这种方法要求内部互连资源很灵活,有时不一定能实现 在实现b i s t 电路的时候需要相关软件的支持。 非内建自测试 图2 ,5 非内建自测试方案 图2 5 这种方法的基本思想是将每一个c l b 的输入和输出连接到外部的 p a d 上,对每一个c l b 分别进行测试,测试矢量外加,这种方法比较直接,而 且如果有一个c l b 出现了故障可以很容易的发现,但是随着f p g a 芯片规模的 扩大,里面含有几百几千个c l b ,可能会需要很多个测试阶段,从测试成本上 根本不可能采用这种方案,而且这种方案需要的p a d 数目比较多,是不实际的。 图2 6 基于阵列的一种非内建自测试 图2 6 是基于阵列的一种非内建自测试方案,其中一行或一列c l b 是待测 试的逻辑资源,而另外的一行或一列c l b 配置成与门和或门,并且其输出到p a d 上。因为待测试的c l b 配置成相同的逻辑功能,所以配置的两个输出组合如表 2 1 结果与故障所示。 表2 1 结果与故障 o u t _ a n d 01 o u t _ o r 0 c l b 输出为o :无故障或门或者与门出现故障 c l b 输出为l :全故障 1 有故障出现c l b 输出为1 无故障 c l b 输出为0 全故障 假设芯片内部有一个或多个c l b 故障,并且在待测试c l b 的一行中,所以 当o u to r = i 、0 u ta n d = 0 时其中必然有故障出现,如果故障出现在下面一 行c l b 中,则可以通过交换两行c l b 的角色进行测试而得出来测试结果。 基于a n d o r 树的方法把整行c l b 连起来作为一个整体测试,但传递错误 信息的不是c l b ,而是通过相邻行编程形成的与或门级联电路。每一行c l b 被 配置成被测行,就有相邻一行c l b 分别配置成与门和或门。这样两行是用来检 查被测行的。被测行的c l b 的输出被下一行输出入到i o 。 这种测试方案的优点是,采用多c l b 故障模型,只需考虑对逻辑资源的完 全测试而无其它要求。其缺点是,由于使用额外的一行作为与或门级联电路,因 而编程次数多,这样就增加了测试的时间和成本。类似的还有基于x o r 树方法, 两种方案的不同点是,x o r 树方案采用异或门来传送故障信息,而且两者采用 的故障模型也有所不同。对于x o r 树方案,当一个以上的c l b 有故障,而且故 障数是偶数,则在输出端看不见错误信息。而对于a n d o r 树方案,即使有多 个故障,不管是奇数还是偶数总能在输出端观测到错误信息。 图2 7 ( 参考文献【3 l 】) 是另外一种非内建自测试方案, o u t p u t o u t p u t i n p u t c l b 埘c l b 畸c l b 时o u t p u t 图2 7 非内建自测试方案 其中图2 7 上方的i n p u t 是所有c l b 公用的输入,可以用数个p a d 作为 输入。而图2 7 左边的i n p u t 对每行级联c l b 来说可以相同也可以不同。在上 图的测试方案中,前级的c l b 的输出是后级c l b 的部分输入,这样可以把故障 传递到后级的c l b ,可以实现逻辑资源的全部覆盖。这种测试方案只需要将左 边的i n p u t 和右边的o u t p u t 分别连接到p a d 上,并且可以所有的c l b 同时 测试,测试时间大大减少,并且这种方案只需要前后级的c l b 进行连接,所以 这种方案对布线的要求不高,可以很容易的实现,并且可以将一个c l b 的故障 能够传到后级的c l b ,直到传输到p a d ,这就可以观察到有故障的输出。 这种方案可以将整个f p g a 芯片的所有c l b 同时测试,相比较前述的测试 方案,测试配置减少了一半,使得测试时间大大减少,对每行只有一个故障c l b 来说是种很好的测试方案,但是这种方案只能测试不同行的多个c l b 故障, 同一行的多故障可能在结果中不能反映出来,而且这种测试方案相比较b i s t 来 说需要的测试设备较多。 图2 8 ( 参考文献 1 3 1 ) 是一种新型的逻辑资源测试方案,这种方案和图2 7 方案比较类似。 一 。:,x 一 7 c l b ,二:二c l b ,二一 一 一善一。慕一 一一 :1 :巫蓐会扫甄誊 - ¥e + ,十_ - _ 碍- f ,、 f j 萼黢瓣 图2 8 逻辑资源测试方粟 假设c l b 有四个独立的输入端,将每一个c l b 都配置成有四个输入和四个 输出的单元,内部功能简单,但是内部的每一个部件的每个功能模式都能够配置 到,就是说每一条通路都要走通。每一个测试阶段都由三步组成,a ) 对芯片进行 配置。b ) 对配置电路加测试矢量。c ) 分析测试结果。其中测试矢量的施加和结果 的分析可以通过芯片内部的边界扫描电路来完成。通过精心设计c l b 的测试配 置,可以达到1 0 0 故障覆盖率。这种测试方案可以使得所有的c l b 可以同时进 行测试,并且所加的测试矢量也很有限,穷举测试也只需要1 6 个测试矢量,所 以时间比其他比较传统的方法大大减少了,并且可以通过边界扫描电路施加测试 矢量和读出测试结果,这样只需要几个测试p a d ,非常方便,这种方案的关键是 设计c l b 的测试配置。 2 3 1 2f p g a 逻辑资源的可测性设计 这是为了方便f p g a 逻辑资源测试而设计的,因为f p g a 测试的成本很大, 为了降低测试成本,而在f p g a 内部通过加入一定的硬件电路或者改变f p g a 内部的部分硬件结构从而使得测试方便,减少测试时间和对于自动测试设备a t e 的需要,降低测试成本,这是f p g a 制造厂商的一个问题,只有他们才可以改变 f p g a 的硬件结构,而对于用户来说并不能改变什么,图2 9 是一种典型的f p g a 可测性设计方案,由此可以对f p g a 的可测性设计有一个大致的了解。 冀 。 口 j 蒿 磐 i o b 模块 图29f p g a 芯片的典型内部结构 这种可测性设计方案( 参考文献 1 5 】) 可以使得测试配置数据在芯片内部循环 移动,整个芯片的测试只需要将芯片精心配置一次,这个配置包括了测试一个 c l b 的所有配置,分b - d n 不同的基本单元上,通过在芯片内部的数据移动可以使 得每一个c l b 能够实现测试需要的所有配置,这种测试方案使得测试时间大大 减少。 图2 9 是f p g a 硬件结构的一个典型模型,图中一个s b 、两个c b 和一个 c l b 构成一个最基本的单元,图中共有9 个这样的基本单元,最右边的- - n 和最 下面的一行c b 和s b 都不属于任何的基本单元,所以将存储编程信息的s r a m 阵列分为两部分,一部分存储所有基本单元的编程信息,另一部分存储剩余的 c b 和s b 的编程信息,由图2 9 所示。 9 h o 口蒋滓 土 亨 + p 列+ 配置1配置2 配置3 配置4 配置5配簧6 配置7配置8配置9 f 州歹+ n 行n y j 的f p g a 芯片 配置1 0 配置1 l 配置1 2 片外存储器 图2 ,1 0 测试配置移动原理 举例说明测试配置在芯片内部的移动,图2 1 0 是芯片是n 行n 列的f p g a 芯片,分成k 部分,其中每部分由p 行、p 列的单元组成,在测试的过程中并不 是将所有测试的配置一个接一个的下载到芯片中进行测试,而是下载一次的编程 数据,而这个编程数据是由9 种不同的配置数据组成的,如图所示,这样通过编 程数据在内部的移动,可以使得每一个单元都能够实现测试需要的9 种配置,实 现对逻辑资源的测试。 图2 1 1 详细描述芯片的硬件结构,在硬件上需要能够水平的移动配置数据, 也就是说第一列基本单元的配置移动到第二列基本单元,而第二列移动到第三列 等等,最后一列的配置移动到第- - n 上,而对于竖直移动也是如此,而且也可以 实现顺序的移动,比如说第一行的最后一个基本单元的测试配置能够移动到第二 行的第一个基本单元。 tillll之彳亍llll, 图2 1 1 可测性设计内部s r a m 结构 图2 1 l 是一种硬件的改变,在每一个基本单元的s r a m 单元阵列上加上一 个多路选择器,通过这些多路选择器可以使得内部的编程数据水平方向、竖直方 向和顺序移动,控制基本单元部分的s r a m 单元阵列和控制基本单元部分s r a m 单元阵列由一个控制信号来隔离。 在测试的过程中每三行c l b 为一个基本测试阵列,如图2 1 2 所示, 图2 1 2 三行c l b 的目c 置 图2 1 2 中第二行的c l b 是待测试的c l b 模块,其中编号相同的说明两者 的配置相同,两者的输出通过两次的比较,假如有一个c l b 有故障,那么必然 其中一个c p 的输出为0 ,所有的比较又都连接到最后的与门上,所以如果有一 个c l b 有故障那么与门的输出必然为0 ,就可以检测出故障。c p 的输出也可以 通过上方和下方的p a d 来观察,这样就可以将故障定位到某一个c l b ,但会占 用大量的p a d 。芯片的测试配置如图2 1 3 所示,整个测试流程如图2 1 3 , 二三j ! 。三一一i 一; ! 鼍! :t ? m h ? ? 一? , ? : ”? ! 鼍 ! z ,! 一一。引j 童+ 一l | 一! ! i 二:! ,习一 习田墨卜一习冒l - hl 辂 一可 司_ 同: 卜习阿:嘉 s 习r i 司j 叵! : | 舅墨! 动 e 一一一i 了卜 习i 7 ”一j ; ,固口圉口圉口j 一圈田 r 二i i _ c ;ii - - i ! c , , , - - i - - - _ 一;i 一 卜三jl 三,。- 一l j | ,二。卜_ j :一- : :。习一习i t 瓯y - i i 卜墨1 一; i ; i l l ! ! 蚓一 一一i , - j :凹l l 刑: | h 旧i : 一一一一一一一当二二二二二二二:t 图2 1 3 芯片测试配置模式 1 将精心设计的一个配置文件下载到待测试的f p g a 芯片内。 2 f p g a 内部通过编程实现的t p g 提供测试矢量,进行测试。 3 竖直方向循环移动配置数据,内部产生测试矢量进行测试,这一步每一个c l b 都被配置成了所有设计的配置模式。 4 如果没有故障发现,则结束测试。 5 如果发现c l b 有故障,则将最后三列的配置移动的出现故障的行。 6 水平方向循环移动并加测试矢量,可以通过上方和下方的p a d 观察到c l b 故 障的列,这样就将故障定位到列c l b ,并且知道是哪种配置出现了故障。 这种方案通过硬件电路的增加使得整个芯片的测试配置变成一个,测试的时 候只需要将下载一个配置文件,却可以使得每一个逻辑单元实现测试需要的所有 配置,大大减少了测试时间,又完成了对内部资源的测试。但是这种可移位的 s r a m 单元阵列比较难实现,而且在实现测试配置的时候对软件的要求比较高。 2 3 1 3i d d q 测试 n 网问圈1一jh 。 o 一。 。1 一 凹一- _ 口一 毒- 扣。缈 采用电流测试方法测试集成电路可能存在的故障的方法,称为i d d o 测试,这 种方法主要根据芯片设计人员提供的参考芯片静态电流来衡量芯片出故障与否。 i d d o 测试可以有效的改善质量,降低芯片生产价格,并且它对失效响应分析是非 常有用的。图2 1 4 是i d d 0 测试的基本原理。 r g n d g n d 图2 1 4 i d d q 测试基本原理 图2 1 4 中p m o $ 管的缺陷导致其输入阻抗从无穷大降低到一个有限值,现在 电路从箭头的方向流动,这会导致电流的升高,一般在没有缺陷的电路中,i d d 几乎为0 。i d d o 测试可用于功能测试、延迟故障测试和矢量敏化存储器故障测试。 这种方法存在的主要问题是测试时间比较长,因为要等待电路中的电流出现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于Hadoop的加速器数据存储与分析处理系统构建与应用研究
- 医院护理人员的工作职责
- 物业服务合同模板
- 农业项目建设全过程管理指南
- 广告公司创意流程管理制度范文
- 职业规划外包服务协议
- 交换机设备采购合同
- 青少年心理健康活动方案
- 人教版小学五年级历史教学计划
- 四年级下册心理健康知识普及计划
- 西藏林芝嘉园小区项目可研(可研发)
- 丧假证明模板
- summary-writing-概要写作-优质课件
- 按期取得毕业证和学位证承诺书
- T∕CIC 049-2021 水泥窑用固体替代燃料
- 部编版高中语文必修下册第八单元《单元导读》教学设计
- 第五章 学校教育的主要活动形式:课堂教学
- 大会—冠脉微循环障碍
- 《办公自动化》教学教案
- 动物检疫学讲义课件
- 高杆照明灯检修维护规程
评论
0/150
提交评论