(计算机应用技术专业论文)fpga联线资源测试方法的研究.pdf_第1页
(计算机应用技术专业论文)fpga联线资源测试方法的研究.pdf_第2页
(计算机应用技术专业论文)fpga联线资源测试方法的研究.pdf_第3页
(计算机应用技术专业论文)fpga联线资源测试方法的研究.pdf_第4页
(计算机应用技术专业论文)fpga联线资源测试方法的研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机应用技术专业论文)fpga联线资源测试方法的研究.pdf.pdf 免费下载

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

文档简介

哈尔滨工程大学硕士学位论文 摘要 现场可编程门阵列( f p g a ) 器件能通过对其进行编程实现具有用户规定 功能的电路,因而特别适合集成电路的新品开发和小批量a s i c 电路的生产。 近几年来,f p g a 的发展非常迅速,在计算机、通信和图象处理等领域得到 了广泛的应用。随着f p g a 的发展,测试f p g a 的有关技术也得到了相应的 发展,出现了不少有关f p g a 的测试方面的文献。而f p g a 的故障大多数是 由f p g a 连线资源的故障引起的,所以对于f p g a 连线资源部分的测试和诊 断具有重要意义。随着对f p g a 测试技术的发展,出现了很多关于这方面的 文章和讨论,并且提出了一些诊断和测试的方法。 本文概述了已有f p g a 连线结构的一些测试技术,结合以前的f p g a 的诊 断与测试技术,提出了通过讨论开关矩阵及其连线的一个可行的测试及诊 断方法,由七个测试阶段,分别讨论了f p g a 开关矩阵中各开关与相关连线 的各种可能发生故障的情况,通过施加相应的测试信号序列来对连线资源 的故障情况进行较完全的测试。并着重说明了所有单故障和多故障的具体 情况及适用的诊断策略。 关键词:f p g a ;测试与诊断;连线资源;故障模型 哈尔滨工程大学硕士学位论文 a b s t r a c t f i e l dp r o g r a m m a b l eg a t ea r r a y s ( f p g a ) c a r lb ep r o g r a m m e di nt h ef i e l dt o i m p l e m e n ta n yl o g i c c i r c u i t so fr e q u i r e m e n tf r o mu s e r b e c a u s eo ft h e i r r e p r o g r a m m a b i l i t y ,t h e ya r eg o o d c a n d i d a t e sf o rr a p i ds y s t e m p r o t o t y p i n g t h e y h a v ea l s ob e e nu s e dt oi m p l e m e n tm a n ya p p l i c a t i o n - s p e c i f i ci n t e g r a t e dc i r c u i t s ( a s i c ) w i t ht h er a p i dd e v e l o p m e n to ff p g a ,t h e r ea r ew i d eu t i l i z e di nt h e f i e l do fc o m p u t e r ,c o m m u n i c a t i o na n dg r a p h i cp r o c e s s m o s to ft h ef a u l t so f f p g a sa r ec a u s e db yf a u l t so fi n t e r c o n n e c t e ds t r u c t u r e ,s od i a g n o s i sa n d t e s t i n g f o ri n t e r c o n n e c t e ds t r u c t u r eo ff p g a sa r e i m p o r t a n t w i t h t h e r a p i d d e v e l o p m e n t o f f p g a ,c e r t a i nt e c h n o l o g i e sa b o u tf a u l tt e s t i n go nf p g a s h a v e d e v e l o p e dr a p i d l y d i a g n o s i sa n dt e s t i n gf o rf p g a s h a v ea l s ob e e ns t u d i e db y m a n yr e s e a r c h e r s h o w e v e r , i nm o s tp u b l i s h e dw o r k s ,o n l yt h ed i a g n o s i so f l o g i cb l o c k s i sd i s c u s s e d t h ed i a g n o s i so ff a u l tr o u t i n gn e t w o r ki sc o n s i d e r e di ns o m ec a s e s ,w h e r es w i t c h i n g m a t r i c e sa r ed i a g n o s e di n d i v i d u a l l y a nf p g au s u a l l yc o n s i s t so fc o m p l i c a t e dm m i n g s t r u c t u r e ,i tm a y n o tb ee a s yt oa p p l yt e s t st oi n d i v i d u a l l yc o m p o n e n t s i nt h i sp a p e rw ew i l l p r e s e n ta n dd i a g n o s i sp r o c e d u r e sf o rg e n e r a li n t e r c o n n e c tf a u l t si nf p g a s k e y w o r d s :f p g a ,t e s t i n g a n d d i a g n o s i s ,i n t e r c o n n e c ts t r u c t u r e , f a u l tm o d e l 堕玺鎏兰垄銮兰翟土兰垡鎏銮 ; 第1 章绪论 大规模可编程器件是数字系统设计的基础之一。常见的可编程逻辑及 器件有f p g a ,c p l d ,e p l d ,g a l ,p a l ,p l a 和p r o m 等。集成度是集成电路一项 很重要指标,如果按集成度来分类,可分为低密度可编程逻辑器件和高密 度可编程逻辑器件。低密度可编程器件包括p r o m ,p l a ,p a l 和g a l 四种,高 密度可编程逻辑器件包括e p l d ,c p l d 和f p g a 三种。 低密度可编程逻辑器件易于编程,对开发软件的要求低,故2 0 世纪8 0 年代得到了广泛应用。但随着技术的发展,低密度可编程逻辑器件在继承 密度和性能方面的局限性也暴露了出来。低密度可编程逻辑器件的寄存器、 i 0 引脚和时钟资源的数目有限,没有内部连接,是设计的灵活性受到明显 的限制。这样,2 0 世纪8 0 年代中期,a l t e r a 公司推出一种新型的、可擦 除的可编程逻辑器件,称为e p l d ( e r a s a b l ep r o g r a m m a b l el o g i cd e v i c e ) 它是基于e p r o m 和c m o s 技术的可编程逻辑器件,e p l d 的特点是大量增加了 输出宏单元的数目,提供了更大的阵列,由于特有的宏单元结构,使设计 灵活性较g a l 有较大改善,集成密度提高,在一片芯片内能够实现较多的 逻辑功能。由于保留了逻辑块的结构,内部连线相对固定,即使是大规模 集成容量的器件,其内部延时也很小,有利于器件在高频下工作。c p l d 器 件为复杂可编程逻辑器件,同e p l d 相比,c p l d 增加了内部连线,对逻辑宏 单元和i o 单元也有重大改进。f p g a 器件在结构上由逻辑功能块排列成阵 列,并由可编程内部连线连接这些功能块来实现一定的逻辑功能。由于f p g a 的现场可编程特性受到了广大用户的欢迎,使其得到十分迅速的发展。 1 1 现场可编程门阵列 现场可编程门阵列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 ) 是8 0 年 代中期出现的一类新型用户可编程器件,与以往的可编程器件不同,f p g a 哈尔滨工程大学硕士学位论文 才1 用类似于掩膜编程门阵列的通用结构,因而具有更高的集成度,更强的 逻辑实现能力和更好的设计灵活性。由于f p g a 的前景看好,越来越多的i c 工厂,包括i n t e r ,m o t o r o l a 正在参与这一领域的角逐,f p g a 的性能不断 完善,产品日益丰富。f p g a 作为专用集成电路( a s i c ) 的一种类型,以其 特有的原理和特征在数字系统设计中得到不断的推广和应用。其主要特点 有:设计编程十分容易,设计修改方便,设计者可通过反复修改逐步达到 设计目的和优化:可多次重复编程,且可在开发系统中直接进行系统仿真, 无工艺实现的损耗;可提供比p l d 和e p l d 器件大的多的有效逻辑容量密度, 大大提高了系统设计的工艺可实现性和产品的可靠性。 1 2 f p g a 国内外发展动态 1 ,2 。1f p g a 的发展历史 自1 9 8 5 年x i l i n x 公司推出第一片现场可编程逻辑器件( f p g a ) 至今, f p g a 已经历了十几年的发展历史。在这十几年的发展过程中,以f p g a 为 代表的数字系统现场集成技术取得了惊人的发展:现场可编程逻辑器件从 最初的1 2 0 0 个可利用门,发展到9 0 年代的2 5 万个可利用门,乃至当新世 纪来i 临之即,国际上现场可编程逻辑器件的著名厂商a l t e r a 公司、x i l i n x 公司又陆续推出了数百万门的单片f p g a 芯片,将现场可编程器件的集成 度提高到一个新的水平。 现场可编程逻辑器件的发展历史,其之所以具有巨大的市场吸引力,根 本在于:f p g a 不仅可以解决电子系统小型化、低功耗、高可靠性等问题, 而且其开发周期短、开发软件投入少、芯片价格不断降低,促使f p g a 越 来越多地取代了a s i c 的市场,特别是对小批量、多品种的产品需求,使 f p g a 成为首选。 哈尔滨工程大学硕士学位论文 1 2 2f p g a 的发展趋势 目前,f p g a 的主要发展动向是:随着大规模现场可编程逻辑器件的发 展,系统设计进入”片上可编程系统”( s o p c ) 的新纪元;芯片朝着高密度、 低压、低功耗方向挺进;国际各大公司都在积极扩充其i p 库,以优化的资 源更好的满足用户的需求,扩大市场;特别是引人注目的所谓f p g a 动态 可重构技术的开拓,将推动数字系统设计观念的巨大转变。 x i l i n x 公司自发明f p g a 以来,就不断的推出新器件和开发工具,力求 芯片的速度更高、功耗更低。在其新近开发的产品中,x i l i n x 重新定义了未 来的可编程逻辑,为用户提供2 5 v ,3 3 v 和5 v 可编程逻辑系列选择,并利 用先进的o 1 8 一、o 2 2 一、0 2 5 、o 3 5 u m 工艺技术生产出低成本、高性能的可 编程逻辑产品。主要推出了v i r t e x 系列和s p a n t a n t m 系列的f p g a 产品。 v i r t e x 系列突破了传统f p g a 密度和性能限制,使f p g a 不仅仅是逻辑模块, 而成为一种系统元件。而s p a n t a n t m 系列为替代a s i c 的大容量f p g a 树 立了一个新的低成本标准。 从以上对x i l i n x 、a l t e r a 和a e t e l 三家公司各自开发产品特征的介绍,我 们可以看出2 0 0 0 年以f p g a 为代表的数字系统现场集成技术发展的一些新 动向,归纳起来有以下几点: ( 1 ) 深亚微米技术的发展正在推动了片上系统( s o p c ) 的发展 越来越多的复杂i c 需要利用s o p c 技术来制造。而s o p c 要利用深亚 微米技术才能实现。随着深亚微米技术的发展,使s o p c 的实现成为可能。 与以往的芯片设计不同,s o p c 需要对设计i c 和在产品中实现的方法进行 根本的重新评价。 为了实现s o p c ,国际上著名的现场可编程逻辑器件的厂商a l t e r a 公司、 x i l i n x 公司都为此在努力,开发出适于系统集成的新器件和开发工具,这又 进一步促进了s o p c 的发展。 ( 2 ) 芯片朝着高密度、低压、低功耗的方向挺进 采用深亚微米的半导体工艺后,器件在性能提高的同时,价格也在逐步 降低。由于便携式应用产品的发展,对现场可编程器件的低压、低功耗的 哈尔滨工程大学硕士学位论文 要求同益迫切。因此,无论那个厂家、哪种类型的产品,都在瞄准这个方 向而努力。 ( 3 ) i p 库的发展及其作用。 为了更好的满足设计人员的需要,扩大市场,各大现场可编程逻辑器 件的厂商都在不断的扩充其知识产权( i p ) 核心库。这些核心库都是预定 义的、经过测试和验证的、优化的、可保证正确的功能。设计人员可以利 用这些现成的i p 库资源,高效准确的完成复杂片上的系统设计。典型的i p 核心库有x i l i n x 公司提供的l o g i c o r e 和a l l i a n c e c o r e 。 ( 4 ) f p g a 动态可重构技术意义深远 随着数字逻辑系统功能复杂化的需求,单片系统的芯片正朝着超大规 模、高密度的方向发展。与此同时,人们却发现一个有趣的现象,即一个 超大规模的数字时序系统芯片,在其工作时,从时间轴上来看,并不是每 一瞬间系统的各个部分都在工作,而系统是各个局部模块功能在时间链上 的总成。同时,人们还发现,基于s r a m 编程的f p g a 可以在外部逻辑的 控制下,通过存储于存储器中不同的目标系统数据的重新下载,来实现芯 片逻辑功能的改变。正是基于这个称之为静态系统重构的技术,有人设想, 能不能利用芯片的这种分时复用特性,用较小规模的f p g a 芯片来实现更 大规模的数字时序系统。在研究过程中,有人尝试了这种设想,发现常规 的s r a m 的f p g a 只能实现静态系统重构。这是因为该芯片功能的重新配 置大约需要数毫秒到数十毫秒量级的时间;而在重新配置数据的过程中, 旧的逻辑功能失去,新的逻辑功能尚未建立,电路逻辑在时间轴上断裂, 系统功能无法动态连接。但是,要实现高速的动态重构,要求芯片功能的 重新配置时间缩短到纳秒量级,这就需要对f p g a 的结构进行革新。可以 预见,一旦实现了f p g a 的动态重构,则将引发数字系统的设计的思想的 巨大转变。 1 2 3 数字系统测试方法简介 f p g a 是数字系统发展的典型杰作之一,随着它的普及和推广使人们对 可靠性的要求越来越高。数字系统的可靠性很大程度上取决于测试的质量, 4 哈尔滨工程大学硕士学位论文 利用测试手段可确定一个系统的生产与工作是否工f 确,高速发展的集成电 路计数使得测试丌销成为逻辑设计、生产代价的主要部分。虽然针对与大 多数集成电路来说,d 算法、p o d e m 算法、f a n 算法、s o c r a t e s 算法、 t r a n 算法及递归学习算法在不同程度上将测试生成研究推向了一个新的 阶段,但是这些方法只能成功解决了组合电路的测试生成问题,对于高度 集成化的电路( 特别是含时许逻辑较多的电路) ,采用现有的测试生成算法 仍不能达到让人满意的结果。通过采用一些技术来提高测试码的生成效率 已不可能从根本上解决问题。解决问题的主要方法之一是进行可测性设计。 可测性设计是通过在电路中加入可测试逻辑来提高测试码生成效率,提高 测试生成效率的另一个有效途径是采用并行测试生成。并行测试生成是采 用并行处理机来提高测试生成效率,每一处理机只处理一个测试生成子任 务。 逻辑测试的发展趋势是:可测试性设计必须从测试生成的实际复杂性 出发,可测试性综合是在电路设计完成以前将可测试性设计因素考虑进去 以指导设计,这类方法的优点是不需要在电路设计完成后加入硬件逻辑来 改进电路的可测试性。由于测试生成算法已经不能大幅度降低测试生成代 价,所以采用并行处理机来产生测试码可有效地提高测试生成效率。非固 定型故障的测试生成与可测试性设计是测试研究的又一趋势。非固定性故 障可以覆盖许多固定型故障所不能检测到的缺陷。这类故障有转换故障、 路径延迟故障和桥接故障等。 1 3 课题的提出及本文主要工作 尽管f p g a 作为可编程逻辑器件的杰出代表,它的性能越来越可靠,价 格越来越低廉,越来越受到人们的重视,同时对f p g a 电路故障的检测也是 一个必不可少的研究领域,国内外有很多人从事这方面的研究工作,国内 比较有代表性的是复旦大学的黄维康教授,他曾在国内外发表了二十余篇 有关这方面的文章。大多数学者的研究领域是可编程逻辑块的功能测试和 连线资源测试。本课题就是根据国内外f p g a 的发展情况和对其测试的发展 动向,针对f p g a 经常出现的故障类型提出来的,因为f p g a 连线资源故障 5 哈尔滨下程大学硕十学位论文 所占总故障的很大比例,所以这里侧重连线资源部分的故障测试,总结出 典型的故障模型,来进行检测和诊断的算法研究。 哈尔滨工程火学硕十学位论文 第2 章f p g a 的种类与结构 2 1 f p g a 的种类 现场可编程门阵列器件( f p g a ) 由于具有可重复使用、无须提前制造、 无库存风险、设计周期短等优点,特别适合于新产品研制及小批量生产, 近年来得到了迅速的发展口】。 随着f p g a 的发展,测试f p g a 的有关技术也得到了相应发展。近年来 出现了不少有关f p g a 测试方面的文献【3 “0 1 。其中,大部分文献主要讨论基 于s r a m 的f p g a 的测试眇j ,内容涉及f p g a 中的逻辑单元,互联资源和 s r a m 的测试;也有讨论反熔断丝型f p g a 的测试的,内容涉及f p g a 的 可测试性设计和相应的测试策略。 目前市场上可供选择的f p g k 产品很多,他们的具体结构不尽相同,性 能亦各具特色。但不管各类f p g a 产品的结构怎样千变万化,他们都有一个 共同之处,即在广义上具有掩膜编程门阵列的通用结构:由逻辑功能块排 成的阵列组成,并由可编程的互连资源连接这些逻辑功能块来实现不同的 设计。典型的f p g a 通常包含三类资源:可编程逻辑功能块,可编程输入输 出块和可编程互联。可编程逻辑功能块是实现用户功能的基本单元,他们 通常规则地排成一个阵列,散布于整个芯片;可编程输入输出块完成芯片 上的逻辑与外部封装腿的接口,常围绕着阵列于芯片四周;可编程内部互 连包括各种长度的连线线段和一些可编程连接开关,他们将各个可编程逻 辑块或输入输出块连接起来,构成特定功能的电路。不同厂家生产的f p g a , 在可编程逻辑块的规模,内部互联的结构和采用的可编程元件上存在较大 的差异。 f p g a 器件在结构上主要分为三个部分,即可编程逻辑单元、可编程输 入输出单元和可编程连线。各芯片制造商生产的f p g a 器件在结构上存在 很大差异,这种差异主要反映在可编程逻辑单元上。有的可编程逻辑单元 哈尔滨工程大学硕士学位论文 包含只能实现反相器的两个晶体管,有的逻辑功能块则比较大。基于这一 差异,现在常用“粒度”一词划分逻辑块。一般将逻辑块分为细粒度和粗 粒度两类。细粒度逻辑块较小,其优点是资源可以被完全利用,缺点是功 能弱,需要大量的连线和开关,速度慢;粗粒度逻辑块规模大,功能强。 大多数f p g a 器件的逻辑块和布线是分开的,有的f p g a 器件的逻辑块和布 线紧密相关,很难从结构上加以区别。 目前常见的f p g a 的结构主要有三种类型: ( 1 ) 查找表结构; ( 2 ) 多路开关结构; ( 3 ) 多级与非门结构。 由于本文是针对与查找表型f p g a 结构展开的故障测试研究,所以在此 主要介绍一下查找表型f p g a 。 查找表型f p g a 的可编程逻辑单元是查找表。由查找表构成函数发生器, 通过查找表来实现逻辑函数。查找表的物理结构是静态存储器( s r a m ) 。m 各输入项的逻辑函数可以由一个2 。位容量的s r a m 实现。函数值放在s r a m 中,s r a m 的地址线起输入线的作用,地址即输入变量值;s r a m 的输出位逻 辑函数值,有连线开关实现与其他功能块的连接。 查找表结构的函数功能非常强。个输入的查找表可以实现任意一个 个输入项的组合函数,这样的函数有2 。1 个。用查找表示线逻辑函数时,把 对应函数的真值表预先放在s r a m 中,即可实现相应的函数运算。 理论止讲,只要能够增加输入信号线和扩大存储器容量,查找表就可 以实现任意多的输入逻辑函数。但事实上,查找表的规模受到技术和经济 因素的限制。每增加一个输入项,查找表s r a m 的容量就需扩大一倍。1 6 个 输入项的查找表需要6 4 k 位容量的s r a m ,相当于一片中等容量的r a m 的规 模。因此,实际的f p g a 器件的查找表输出项不超过5 个,多于5 个输入项 的逻辑函数有多个查找表逻辑块组合或级联实现。 用查找表示线逻辑函数时,一个关键的参数是输入变量函数。当逻辑 函数输入项少于器件查找表的输入线数目时,逻辑函数容易实现:当逻辑 r 哈尔滨工程大学硕士学位论文 函数输入项数目大于器件查找表的输入线数目时,则需要有多个查找表组 和级联起来实现。相应地,逻辑函数也需要做些变换以适应查找表的结构 要求,这一步在器件设计中成为逻辑分割。至于怎样变换逻辑函数才能用 最少数目的查找表实现逻辑函数,是一个求最优解的问题,针对具体的结 构有相应的算法来解决这一问题,在e d a 技术中这属于逻辑综合的范畴。 在e d a 的应用层次,这些工作则可完全由软件来代替人进行。 为了加强查找表逻辑块的功能,大多数生产商对基本查找表的结构作 了改进,出现了多种查找表的变形。x i l i n x 公司的x c 系列f p g a 的查找表 结构如下: ( 1 ) x c 2 0 0 0 系列的逻辑块由4 输入输出的查找表组成,可以实现任意 输入变量的逻辑函数; ( 2 ) x c 3 0 0 0 系列和a t & t 公司的x c 3 0 0 0 系列的逻辑块由5 输入输出的 查找表组成,而且可以配制成两个4 输入的查找表形式,在输入少于5 个 变量的情况下,可以更好地利用器件资源; ( 3 ) x c 4 0 0 0 系列采用两个4 输入查找表和一个3 输入查找表,由4 输 入查找表接到3 输入查找表的多层结构上来构成逻辑单元。两个查找表之 间采用固定连接,这样既可以增加输入数目,又可以减少速度上的损失。 2 1 1 按逻辑功能块的大小分类 按照逻辑功能块大小不同,可将现有的f p g a 分为细粒度和粗粒度两类。 细粒度f p g a 的逻辑功能一般较小,仅有很少的几个晶体管组成,非常类似 于半定nk 3 阵列单元。细粒度f p g a 的主要优点是逻辑功能块能被完全利用, 缺点是完成复杂逻辑功能块规模较大,可实现的功能较强,完成复杂逻辑 也只需要较少的功能块和内部连线,因此易于获得较好的性能。不足之处 是功能块有时不能被充分利用。 近年来,随着工艺的不断改进,f p g a 的集成度不断提高,与此同时, 硬件描述语言( h o l ) 的设计方法得到越来越广泛的应用。由于大多数逻辑 9 哈尔滨工程大学硕士学位论文 综合工具是针对门阵列的结构开发的,细粒度的f p g a 较粗粒度的f p g a 可 得到更好的逻辑综合结果。在这种情况下,许多厂家丌发出了一些更高集 成度的细粒度结构f p g a ,他们的逻辑功能块均相对较小,结构相对逻辑综合 算法进行了专门的设计优化。 2 1 2 按互连结构分类 按f p g a 内部连线的结构不同,可将其分为分段互连型和连续互连型两 类。分段互连型f p g a 中有不同长度的金属线,各金属线之间通过丌关矩阵 或逆熔丝编程连接。连续互连型f p g a 利用相同长度的金属线,通常是贯穿 于整个芯片的长线来实现功能块之间的连接,连接与距离远近无关。这类 器件中把不同位置的逻辑单元连接起来的线是确定的,因而布线延时是固 定的和可预测的。 2 1 3 按可编程特。陛分类 由于采用不同的开元件,f p g a 体现不同的可编程特性,有些是一次性 可编程的,另一些则是可重复编程的。一次性可编程的f p g a 用逆熔丝作丌 关元件。但在逆熔丝两端加上编程电压时,逆熔丝开关就会有高阻抗变为 低阻抗,从而实现两个点的连接。逆熔丝开关占用的芯片面积很小,导通 阻抗和分布电容也较其他类可编程开关低。由于它只能编程一次,比较适 合于定型产品及大批量应用。而可重复编程的f p g a 具有设计修改方便,无 需增加额外花费的优点,是产品丌发期的理想器件。 2 2f p g a 的结构 美国x i l i n x 公司是f p g a 概念的提出者。该公司基于将半定制门阵列的 高逻辑密度和通用性与用户现场可编程的设计灵活,上市快捷特性结合起 来的设想成立于1 9 8 4 年,并于1 9 8 5 年推出世界上第一个现场可编程门阵 l o 哈尔滨一c 程大学硕士学位论文 列器件。此后该公司不断改进f p g a 的结构和工艺,开发出多个f p g a 产品 系列,使得f p g a 的密度和速度不断提高,成本逐年下降。下面以x c 4 0 0 0 系列和x c 8 1 0 0 系列为例简介一下f p g a 的结构。 c o m m n a 娃0 叫j m 砌u k 一? 旦? 一靳删掣 h l i e c 图2 1x c 4 0 0 0 系列c l b 结构 x c 4 0 0 0 系列器件自1 9 9 0 年面世以来,很受用户的青睐:其r a m 功能 增加了设计的自由度,其快速进位逻辑加速了算术和计数器的计算能力, 而其多位译码又可以完全取代外部译码。x c 4 0 0 0 系列现有1 4 种类型,其密 度为2 0 0 0 门到2 5 0 0 0 门。x c 4 0 0 0 系列是采用亚微米c m o s 工艺制造的x i l i n x 第三代f p g a ,它可提供在片存储器,这使它成为第一个包含在片静态存储 器资源的可编程逻辑器件,进一步扩展了f p g a 的应用范围。由于采用了先 进的半导体技术和对结构进行了改进,使得x c 4 0 0 0 系列f p g a 达到了很高 的速度,系统时钟可以超过5 h z 。同以前的x i l i n xf p g a 相比,x c 4 0 0 0 系列增加了片内r a m 和宽位译码器,使得其功能更强,应用更为广泛,设 计周期也由于它的丰富连线资源以及功能齐全的开发软件而被大大缩短。 到目前为止,x c 4 0 0 0 的集成度大约是x c 3 0 0 0 系列的两倍,己达到2 0 0 0 0 门。 1 l 哈尔滨 一程大学硕士学位论文 2 2 1 可编程逻辑块( o l b ) x c 4 0 0 0 系列( 如图2 1 ) 包含三个函数发生器,其中两个为四输入函数 发生器,他们输入是彼此独立的,第三个函数发生器唯一三输入函数发生 器,将前两个函数发生器的输出及一个外部信号作为其输入。c l 8 中的函数 发生器可被定义作为r a m 使用。( 在对f p g a 故障诊断的研究领域中,大多 数人都是对c l b 进行故障研究的) 。 结构的改进导致了c l b 逻辑门密度的提高和性能水平的提高。这种结构 改进最重要的一点是在c l b 周围增加更多的连线资源,使得每个c l b 的有 效门数量相对增加。因为大部分逻辑都不超过四个变量,所以这些组合逻 辑产生器基本能够满足设计者的设计需要。设计软件能够独立地处理每个 组合逻辑产生器,从而提高模块的可用性。 每个组合逻辑产生器分别由四个独立的输入( f 1 f 4 及g l 一6 4 ) 。他们的 输出( f 、g ) 可以是四个输入的任意布尔逻辑功能值。组合逻辑产生器以 查表形式进行工作,因此它的时间延迟与逻辑功能无关。一个c l b 可以完 成以下功能:任意两个独立的四变量逻辑功能或任意一个五变量逻辑功能, 又或任意一个四变量逻辑功能加上一个五变量逻辑功能,甚至是一些九变 量逻辑功能。在一个c l b 内可实现这么多功能意味着在实际使用时可以减 少所使用的c l b 数目,减少信号线的延迟,这样有利于提高设计的密度和 速度。 c l b 的灵活性和对称性使它能够适合任何布局和连线。由于所有的逻辑 功能产生器和触发器都有独立的输入和输出,因此布局时可以把它们分别 当成一个整体,以提高设计密度。在一个c l b 中,输入、输出和组合逻辑 产生器本身可以任意改换位置,以避免布局和连线的拥挤。 2 2 2 输入输出块( i o b ) x c 4 0 0 0 系列i o b 结构中,每个i o b 有两条输入路径,在输入触发器的 数据输入端提供了一个可选的延时单元,用以补偿时钟信号的延时。i o b 中 哈尔滨工程大学硕士学位论文 的两个触发器用的是两个不同的,级性可单独编程的时钟信号,他们可用 全局s r 信号进行置位和复位。此外,x c 4 0 0 0 次列j 0 b 上附带的内部逻辑 还包含与i e e e 标准1 1 4 9 1 兼容的测试结构,可用于边界扫描测试和简单 的板级测试。一般而言,x c 4 0 0 0 系列可以实现i e e e l l 4 9 1 的边界扫描旁路 ( b y p a s s ) ,取样( s a m p e ) ,外测试( e x t e s t ) 。值得一提的是,对于x c 4 0 0 0 系列器件,在芯片周围的每一边都附有4 个宽位译码器,克服了以往f p g a 在这方面的不足。译码器的输出可驱动c l b 输入,以便于其他逻辑组合, 或者是形成一个类似于p a l 的与或结构。译码器输出也可直接作芯片的输 出,当输出位于译码器所在位置的同一边时,可以获得最快的译码速度。 2 2 3 可编程互连( p i ) x c 4 0 0 0 系列器件为各种连接提供了三种可编程布线资源:单长度线, 双长度线和长线,他们是依据线段的相对长度来分类。单长度线通过开关 矩阵相互连接,为局部互连提供了最大的灵活性。双长度线由长度为单位 长度线两倍的金属线段组成。双长度线每经过两个c l b 间距才进入开关矩 阵,他们两根一组,交叉穿过c l b 除时钟端输入外,所有c l b 的输入均可 由相邻的双长度线驱动,且每个c l b 的输出也可驱动水平和垂直方向的相 邻双长度线。双长度线为中距离的点点连接提供了最有效的手段。 x c 4 0 0 0 系列使用的是分层的连线资源。通过的单长度线和双长度线提 供了相邻模块之间的快速连线,对复杂设计,这些连线提供了很强的灵活 性。但是它们每穿过一次开关矩阵,就会产生一次延迟。长线从器件的一 边走到另一边,而且只有很小的延迟。他们适用于大范围分布的信号传输。 一些水平线可以用三态或漏极开路的驱动器来驱动,因而可以用来实现双 向总线或线“与”译码。全局网络主要用于分布在整个芯片中的时钟信号 传输,他们适用于与时间密切相关的或高扇出的信号传输。四个引脚驱动 的主全局网具有最短的时钟延迟。四个次级全局网在负载较大的情况下, 会产生稍大一点的延时。 每个c l b 的列都有四条专用的竖直长线。这种线每一条都可以连到一一个 专用的主全局网络,或连到任意一个次级全局网上。使用全局网络可避免 1 3 哈尔滨工程人学硕士学位论文 时钟的时滞和潜在的保持时间问题。用户应当尽量用这些全局网来传递那 些对时间敏感的全局信号。 x c 8 1 0 0 系列是一种逆熔丝型门海结构的细粒度f p g a 该系列f p g a 的基 本单元较小,仅包含3 5 个等效门。由于采用门海结构,布线完全被堆积 在逻辑之上,芯片可以达到较高的集成度。x c 8 1 0 0 系列是1 9 9 5 年推出的一 个新的f p c - a 系列,瞄准高级设计语言( q o l ) 和逻辑综合应用的需要,采 用细粒度门海f p g a 结构。x c 8 1 0 0 系列是一次可编程的( 0 t p ) 。编程类似于 一次编程的p l d 器件。在实际应用中不需要外界配置存储器,特别适合于 高保密和高速初始加电运行的应用。x c 8 1 0 0 由可配置逻辑单元( c l c ) ,可 编程互连和输入输出单元( 1 0 c ) 构成。 目前生产f p g a 的公司不少,如a c t e l ,a l t e r a ,l a t t i c e 和x i l i n x 等,所生 产的f p g a 品种繁多。但f p o 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 只能一次编程。本文将主要讨论s r a m 型f p g a 的测试。s r a m 型f p g a 的结构多种多样,但电路部分基本上都由可编程 逻辑单元( c l b ) ,连线资源( i r ) ,输入输出单元( i o b ) 季g 编程用s r a m 四大 部分组成。图2 2 给出了x i l i n x 公司的f p g a 的结构示意 n ( s r a m 部分未 画出、。 可编程逻辑单元通常由查表模块( l u t ) ,触发器( f d ) 和多路丌关( m u x ) 组成。图2 3 给出了x i l i n xx c 5 0 0 系列的逻辑单元的部分电路,整个逻辑 单元由4 个这样的电路组成。其中l u t ( l o o k - u pt a b l e ) n t - 通过编程实现任 意四输入组合逻辑功能。m u x 2 和m u x 3 能通过编程实现输入数据的选择 m u x l 则是常规多路开关。触发器可通过编程选择使能( e n a b l e ) 功能和上升 沿触发或下降沿触发等。 4 哈尔滨工程火学硕十学位论文 广 口口口“口 1 占鼯瓣翮圭 量黼鸳于 图2 , 2 s r a m 型f p g a 结构 连线资源通常由线段( s e g m e n t s ) n l 开关( s w i t c h e s ) 组成。线段沿着线轨 ( t r a c k s ) 排y 4 ,而线轨分布在可编程逻辑单元之阔的通道内:在垂直( 水平) 通道内只有垂直( 水平) 方向的线轨和线段。线段通过开关连接成连线,并与 逻辑单元连接,从而完成可编程逻辑单元之间的连接。用来实现线段之间 连接的丌关位于垂直通道和水平通道相交处的开关矩阵的开关节点中。开 关节点位于垂直线轨和水平线轨的相交处,每个开关节点即为开关矩阵的 一个元素。( 开关矩阵只有对角线元素是开关节点的情况是是一种最简单的 情况,常作为对连线资源进行测试时的开关矩阵的简化模型) 。每个丌关节 点有6 个可编程开关。把位于开关节点w 和n ( w 和s ,e 和n ,e 和s , w 和e ,n 和s ) 方向的开关称为w n ( w s ,e n ,e s ,w e ,n s ) 开关。当一 个开关编程为通时,相应的二个线段便被电连接起来。用来实现线段和可 编程逻辑单元之间连接的开关位于可编程逻辑单元的四周,对于一个可编 程逻辑单元,每一个方向的每一根输入输出引脚和该方向相邻的线段之间, 都有一个开关可用来把它们连接起来。图2 4 给出了f p g a 中一种典型的连 线资源的示意图。 甲口lj 到熙到钿 h雌口 哈尔滨工程人学硕十学位论文 、。h 塑f 2 乳i : ! 厂 ! j 巾i l j 图2 , 3 可编程逻辑单元结构 睦 a ) f p g a 结构模型( b ) 引脚一线段开关 图2 4f p g a 的连线资源 f p g a 中的用于编程的s r a m 主要由存贮单元阵列,数据移位寄存器 地址移位寄存器和控制电路四部分组成。图2 4 给出了s r a m 的示意图( 图 中控制电路未画出) 。编程数据通过d 。串行进入数据移位寄存器,每输入( 0 位就写入一行存贮单元,写入哪一行则由地址移位寄存器决定。地址移位 寄存器是一个环行计数器,任何时候只有一个单元的输出为t ,与输出1 的 单元相应行的存贮单元被写入数据。从存贮单元读出数据也是整行读出, 其过程与写入过程相反,读出的数据进入数据移位寄存器后通过d 。t 输出。 6 哈尔滨工程大学硕士学位论文 2 3 本章小结 现场可编程门阵列f p g a ( f je l dp r o g r a n m a b l eg a t ea r r a y ) 是8 0 年 代中期出现的一类新型用户可编程器件。目前,f p g a 产品很多,他们的具 体结构不尽相同,性能亦各具特色。但不管各类f p g a 产品的结构怎样千变 万化,他们都有一个共同之处,由逻辑功能块排成阵列组成,并由可编程 的互连资源连接这些逻辑功能块来实现不同的设计。典型的f p g a 通常包含 三类资源:可编程逻辑功能块,可编程输入输出块和可编程互联。可编程 逻辑功能块是实现用户功能的基本单元,他们通常规则地排成一个阵列, 散布于整个芯片;可编程输入输出块完成芯片上的逻辑与外部封装腿的接 口,常围绕着阵列于芯片四周;可编程内部互连包括各种长度的连线线段 和一些可编程连接开关,他们将各个可编程逻辑块或输入输出块连接起来, 构成特定功能的电路。不同厂家生产的f p g a ,在可编程逻辑块的规模,内部 互联的结构和采用的可编程元件上存在较大的差异。 堕尘鎏i 兰堡盔兰鎏主兰鎏笙圣 第3 章f p g a 的测试技术 3 1 f p g a 的测试技术 对于用f p g a 编程实现的电路,其测试方法和一般的数字电路是一样 的。但是。把f p g a 作为用其所实现的一个特定电路进行测试,只能测试 一个f p g a 的一部分功能。所以,要对一个f p g a 进行完整的测试,可以 通过对组成f p g a 的各个部分进行完整的测试,或者通过对一个f p g a 编 程后实现的能够覆盖f p g a 完整功能的若干个电路进行测试。不论采用那 种方法,都要对被测f p g a 进行反复编程。为使测试变得容易,通常使f p g a 所实现的作为测试用的电路比较简单,因而测试这些电路所用的时间较短。 而对f p g a 进行编程则比较费时。例如:对x i t i n xf p g a 进行编程,通常 需要几毫秒到几百毫秒的时间。因而,对f p g a 进行测试的时间复杂性主 要取决于编程的次数。 图3 ,1s r a m 结构示意 目前已有的关于f p g a 测试文献,主要分别讨论f p g a 中各个主要部 分的测试。较多的文章讨论逻辑资源( 可编程逻辑单元) 的测试15 7 们,也有 哈尔滨工程大学硕士学位论文 不少文章讨论连线资源的测试4 “】。最近,也有文章讨论f p g a 中的s r a m 的测试。下面将分别讨论f p g a 的这几个部分的测试问题。 3 1 1 逻辑资源的测试 测试逻辑资源的最简单的方法是通过编程把每一个可编程逻辑单元 的输出和f p g a 的输入输出单元连接起来,直接对每个逻辑单元内的逻辑 电路进行测试。当然对每个逻辑单元来说,要通过若干次编程才能完整地 测试整个逻辑单元的功能。例如:对于查表模块在多次编程时,表中的每 一个单元至少有一次被编成0 状态,一次被编成1 状态。对于多路开关来 说;每一个数据输入端至少要被选中一次并施加0 ,1 各一次;d 触发器 的上沿触发和下沿触发的功能,使能端的功能,也都至少要有次编程用 来进行检查。把每一个可编程逻辑单元输入输出和f p g a 的输入输出单元 直接连接起来的方法的主要问题是f p g a 的输入输出单元不够多,所以每 次编程只能把一部分的逻辑单元的输入输出和f p g a 的输入输出单元相连。 假定一个f p g a 有n l o 个输入输出单元,可编程逻辑单元有n 行m 列。每 个逻辑单元有n 1 个输入和n o 个输出,一个逻辑单元的功能要通过n d 次编程 来进行测试,那么,要对这个f p g a 的逻辑资源进行完全的测试就需 n * m ( n j + n o ) n 。n i o 次编程。为了减少编程次数,提出了几种把整行( 列) 或若 干行( 列) 可编程逻辑单元连在一起进行测试的方法和只需很少输入输出单 元的内建自测( b i s t ) 方法。 ( 1 1 以阵列为基础的方法p 7 9 l 这种方法通过编程把每一行的可编程逻辑单元连接起来形成一个一维 阵列并作为一个整体进行测试( 见图3 2 ) 。在这个阵列中,前一个逻辑单元 的水平输出信号作为后一单元的水平输入信号,只有左右二端的逻辑单元 需要与输入输出单元连接。所有的阵列都可以并行地进行测试,因而也可 减少测试时间。在同一列的逻辑单元可共用垂直输入,因而可进一步减少 所需的输入输出单元。 哈尔滨j 】一程大学硕士学位论文 鸽出靠 图3 2 把逻辑单元连接起来作个一维阵列 采用阵列为基础的方法有二个主要的缺点:( a ) 这一种方法不仅要求前 一个逻辑单元能够产生后一个逻辑单元所需的测试向量,还要求当前一个 逻辑单元有故障时,其后的逻辑单元能够把故障逻辑单元的故障信息( 错误 的输出) 传输到输入输出单元。这要求在每次编程时对逻辑单元所实现的电 路和逻辑单元之间( 水平) 连线的选择等方面都要作仔细的考虑。( b ) 如果某一 次编程使用了逻辑单元中的d 触发器,那么所形成的阵列就是一个维时 序阵列,测试这个阵列的所需的时间就和阵列的大小( 阵列中逻辑单元的数 目) 有关。一般来说,对于一个有m 个单元的阵列,所需的测试时间是测一 个单元中的有关时序电路测试时间的m 倍,这就增加了测试时间。 以阵列为基础的方

温馨提示

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

评论

0/150

提交评论