fpga芯片测试方法研究.pdf

上传人:西安人 文档编号:5033664 上传时间:2020-01-29 格式:PDF 页数:62 大小:2.18MB
返回 下载 相关 举报
fpga芯片测试方法研究.pdf_第1页
第1页 / 共62页
fpga芯片测试方法研究.pdf_第2页
第2页 / 共62页
fpga芯片测试方法研究.pdf_第3页
第3页 / 共62页
fpga芯片测试方法研究.pdf_第4页
第4页 / 共62页
fpga芯片测试方法研究.pdf_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《fpga芯片测试方法研究.pdf》由会员分享,可在线阅读,更多相关《fpga芯片测试方法研究.pdf(62页珍藏版)》请在三一文库上搜索。

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

2、一1 进行了测试, 16 0 个测试配置文件能够覆盖测试9 9 5 9 的互连资源。 接着本文提出对于F P G A 芯片的测试,仅仅测试开路故障是不够的。为了 对F P G A 芯片进行完备的测试,本文提出了一种与芯片结构无关的测试算法。 该方法通过建立布线资源图,根据线网的走向动态设定各边的权重,然后利用改 进的K r u s k a l 算法,自动生成测试配置集。对于F P G A 不同的互连结构,该方法 能够对互连资源中的开路和短路故障达到10 0 的覆盖率,且测试配置个数少, 运行速度快,与具体硬件结构无关。 关键词:现场可编程逻辑阵列, 芯片测试,自动化,故障类型 A b s t

3、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 s Ja r ep r o g r a m m a b l e p l a t f o r m sf o rl o t so fa p p l i c a t i o n s F P G At e s t i sad i f f i c u l tu n s o l v e d p r o b l e md u et ot h ec o m p l e x i t yo fF P G Aa r c h i t e c t u r e T od e s i g

4、 nat e s t p r o c e d u r ef o raF P G A a r c h i t e c t u r ec o s t sl o n gt i m ea n daI a to fm o n e y A l t h o u g hm a n yr e s e a r c h e r sh a v ed o n eS Om u c hw o r ki nt h i sa r e a ,t h i s p r o c e s s i sn o tf u l l ya u t o m a t e dy e ti nt h eF P G Ai n d u s t r y T h

5、 i s p a p e rp r o p o s e san o v e lt r a v e r s ea l g o r i t h mt a r g e t e df o rt h e d e t e c t i o no fP r o g r a m m a b l eI n t e r c o n n e c tP o i n t s ( P I P Jo p e nf a u l t s T h e p r o p o s e da l g o d t h m h a sb e e nd e v e l o p e db a s e do nt h er o u t e r a

6、l g o r i t h m so fF P G A I tf i r s tb u i l d st h et e s tr e s o u r c eg r a p h ,a n da s s i g n st h e i n p u ta n do u t p u tp o d s T h et e s tc o n f i g u r a t i o nf i l e s w i l lc o v e rr e s o u r c e n o d e sa sm a n ya sp o s s i b l e T h ea l g o d t h mw a st e s t e du

7、 s i n gF P G A 一1 A 16 0f i l e sa c h i e v e9 9 5 9 c o v e r a g eo fP IP si nF P G A - 1 F r o mt h ep r a c t i c a lp o i n to fv i e w ,t e s t i n go p e nf a u l t si sn o te n o u g h T h i st h e s i s p r e s e n t s a na u t o m a t i c t e s t - c o n f i g u r a t i o n - g e n e r a

8、 t i o n a l g o r i t h m f o r a p p l i c a t i o n n d e p e n d e n t S R A M b a s e dF P G As w i t c h b l o c k s B yc o n s t r u c t i n gt h er o u t i n gr e s o u r c eg r a p h ,t h i sa l g o r i t h ma s s i g n s ad y n a m i cw e i g h to fe a c he d g eb yt h ed i r e c t i o no

9、fn e t sa n dr L J nt h e m o d i f i e dK r u s k a Ia l g o d t h mt oo b t a i nt h em i n i m u mn u m b e r so ft e s t c o n f i g u r a t i o n s F o r d i f f e r e n tF P G Ar o u t i n ga r c h i t e c t u r e s ,f e wt e s t c o n f i g u r a t i o n s a r e r e q u i r e d t oc o v e rP

10、I Pf a u l t so f s t u c k o p e n , s t u c k - c l o s e d ,a n dl i n es e g m e n tf a u l t s o fo p e na n db r i d g i n g T h e p r o p o s e da l g o r i t h mi s f a s ta n da r c h 计e c t u r e - n d e p e n d e n t K e yw o r d s :F P G A ,c h i pt e s t ,a u t o m a t i ct e s t ,f a u

11、 l tt y p e 2 46哪77 691Y 目录 目录 9 二9 11 j :2 :2 2 5 2 5 F P G A 测试相关内容2 7 2 6 本章小结3 0 3 F P G A 互连开路测试算法3 1 3 1 F P G A 布线实现3 1 3 2 F P G A 互连开路测试算法实现3 7 3 3 本章小结。4 0 4 F P G A 测试实例- - F P G A - 1 4 2 4 1 F P G A - 1 芯片介绍4 2 4 2 芯片结构及布线资源图表示。4 5 4 3 测试结果及应用4 7 4 4 本章小结5 2 5 F P G A 互连完备测试算法。5 3 5 1 完

12、备测试配置条件5 3 5 2 算法实现5 3 5 3 实验结果5 8 5 4 本章小结6 1 6 总结与展望。6 2 3 目录 6 1 工作总结6 2 6 2 今后工作展望6 2 参考文献6 3 致谢6 5 4 1 引言 1 引言 1 1 研究背景 1 1 1 F P G A 简介 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 ) 相比,最大的差别在于其灵活的 可编程性。F P G A 的出现使得集成电路设计的周期

13、明显缩短,产品上市的时间大 幅减少,N R E ( N o n R e c u r r i n gE n g i n e e r i n g ) 费用降低。随着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 t a t i cR a n d o m A c c e s sM e m o r y ) 两类。其中基于S R A M 的F P G A 是目前较流行的结构。传统的 基于S R A M 的F P G A 通常由可编程逻辑单元( C

14、 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 gB 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 gc i r c u i t s ,包括编程用S R A M ) 四大部分组 成,目前F P G A 一般还包括宏模块,比如嵌入式R A M 、D S P 处理模块,高速乘 法器等专用模块。 图1 是基于S R A M 的F P G A 基本结构。可编程逻辑单元C L B 实现电

15、路的逻 辑功能,水平及竖直通道中拥有不同长度的金属线段,连接盒( C B ) 将可编程 逻辑单元的输入输出连接到这些金属线上,开关盒( S B ) 则根据电路需求连接不 同的金属线段。 随着F P G A 阵列规模及布线资源的不断扩大,最新的F P G A 则采用了层次 化的F P G A 整体结构,互连资源主要由输入选择器( I n p u tM U X ,I M U X ) ,输出 选择器( O u t p u tM U X ,O M U X ) 和开关矩阵( S w i t c hM a t r i x ) 构成。可编程逻 辑单元通过I M U X 和o M U X 与开关矩阵相连,而不

16、同C L B 则通过开关矩阵相连。 可编程点( P I P ) 的阵列构成开关矩阵:每个可编程点即一个传输管( P a s s T r a n s i s t o r ) ,由用户可编程的S R A M 单元控制。配置这些可编程点就可以控制连 接到开关矩阵上不同金属线段之间的连接关系【2 】。但不管如何,F P G A 结构中 还是具有如图1 类似功能的基本模块,本文的研究工作就基于这种结构模型。 5 1 1 2 测试基本概念 数字集成电路的可靠性和质量的衡量称为测试( “T e s t i n g “ ) ,测试包括独立 的三个阶段: 1 ) 功能测试:主要验证设计的正确性,即功能是不是和设

17、计的目标符合,标准 主要是:1 、实现了设计规格说明( S P E C ) 中要求的所有功能,2 、没有出现规 格说明禁止的逻辑。 2 ) 制造测试( T e s t i n g ) - 指制造的时候挑选没有缺陷的产品。其基本要求是能 在短的时间里测试大量的芯片,同时保证一定的故障覆盖率。 3 ) 参数测试( P a r a m e t r i ct e s t i n g ) - 主要指验证延时,电压,功耗等有没有达 到设计要求。 通常学术界所指的测试是第二阶段,本论文后面论述中提到的测试都是指这 个阶段。 1 1 2 1 测试目的 在芯片的制造过程中由于存在工艺不确定性、光刻偏差、制造过程

18、中引入的 6 一 _ o 藩藩 一 1 引言 杂质等各种各样的因素,一个正确的设计并不能保证无故障产品的制造,因此在 产品进入市场之前必须经过严格的测试。测试目的是为了检测芯片制造过程中出 现的缺陷。测试是产品质量的重要保证,只有经过充分测试的产品才能交付用户 使用。 1 1 2 2 测试类型 就测试的目标来说,可以分成3 类: 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 ) ,首先需要检测芯片是否存在故障,也需

19、要诊 断出这些故障的位置及类型。 3 ) 故障冗余,通过引入冗余单元,隔离故障,使芯片能够继续使用。 在F P G A 测试中,故障检测是基础,多数故障诊断方法是在故障检测的基 础上发展起来的,而故障冗余技术一般为大规模制造时采用。 1 2 工作重点 本文所作的工作主要包括: 1J 对基于S R A M 的F P G A 目前存在的测试方法进行调研,主要针对布线资源 的测试。 2 ) 针对F P G A 互连资源的开路故障,提出了一种高效的算法,自动生成数量少 的测试配置集来测试F P G A 互连资源中的开路故障。在复旦大学自主开发的 F P G A 芯片F P G A 一1 进行了测试方法

20、的实际应用。 3 ) 针对F P G A 互连资源的各类故障,提出了一种自动生成与应用无关的测试配 置集的方法。对于F P G A 不同的互连结构,该方法能够对互连资源中的开路和 短路故障达到1o o 的覆盖率,且测试配置个数少,运行速度快,与具体硬件结 构无关。 1 3 论文组织 本文共分为6 个章节,其中第2 章阐述了目前各种F P G A 测试方法以及它 们的特点,说明了F P G A 测试的发展和现状。通过研究这些测试技术,了解到 随着技术的发展,针对F P G A 急需开发自动测试生成方法。第3 章针对F P G A 互连资源的开路故障,提出了一种高效的算法,自动生成数量少的测试配置

21、集来 7 1 引言 试F P G A 互连资源中的开路故障,并且在小规模的电路上进行验证。为了检 该自动方法是否能够在实际F P G A 芯片的测试中应用,第4 章提供了F P G A 一1 际测试作为实例。第5 章在第3 章的研究的基础上,针对F P G A 开关盒中各 故障,提出了一种自动生成与应用无关的测试配置集的方法。最后是对本论文 作的总结以及未来工作的展望。 8 2 F P G A 互连测试技术综述 2 FP G A 互连测试技术综述 2 1 F P G A 互连与测试 2 1 1 F P G A 测试基本概念 F P G A 在编程前,没有特定的功能,因而需要首先配置F P G

22、A 的功能然后 进行测试。F P G A 测试与一般电路测试不同,测试需要提供测试配置集和测试向 量集。 测试配置( T e s tC o n f i g u r a t i o n ) 是为了达到测试F P G A 芯片的目的下载 到F P G A 芯片中的特殊设计电路。 测试配置集( S e to fT e s tC o n f i g u r a t o n s ) :为测试F P G A 芯片需要对该 F P G A 设计的测试配置集合。 测试向量( T e s tV e c t o r ) - 当对F P G A 进行测试配置后,为测试故障而在输 入端所加的激励。 测试向量集( S

23、e to fT e s tV e c t o r s ) :为测试F P G A ,所需加的测试向量集 合。 2 1 2 F P G A 测试的目标 由于F P G A 具有特殊的电路结构,F P G A 的测试与A S I C 测试有着截然不同 的测试目标。文献【3 】【4 】讨论了F P G A 的测试特殊性: 1 F P G A 本身具有很好的可测性。因为F P G A 具有可编程特性,其它电路测试 中非常重要的内部节点可观察性( o b s e r v a b i l i t y ) 和可控性( c o n t r o l l a b i l i t y ) 在测 试中都能够轻易的达到

24、。 2 F P G A 结构规则,因而F P G A 测试应该采用阵列化的测试方案。 3 F P G A 的测试时间不是决定于施加测试矢量的时间,而是决定于对F P G A 进 行编程下载的总时间。编程下载时间往往是施加测试矢量时间的数百倍。 因为具有上述的测试特殊性,因而F P G A 测试的目标如下: 1 ) 高的测试覆盖率 选择的测试配置集和测试向量集要达到较高的测试覆盖率,理想情况是 10 0 。否则无法判定该芯片是否能正确工作。 2 l 较少的测试配置集和测试向量集 9 2 F P G A 互连测试技术综述 F P G A 测试的时间T t e s t ,由两部分构成,T t e s

25、 t = ( h d + t m ) 。其中t T d 为F P G A 编程下载时间,t T S i 为施加激励的时间。一般情况下F P G A 编程下载时间为施加 激励时间的数百倍。因此,T t 懿t 丝m 奎t T c i ,其中m 为测试配置集中元素的个数。 测试芯片的时间主要由编程下载的时间来决定【2 】。因而F P G A 的另一个目标是 用尽量少的测试配置来达到高的测试覆盖率,在此基础上,。也需要通过较少的测 试激励来检测故障。 2 1 3 F P G A 测试步骤 对F P G A 芯片进行测试,可以分为5 个步骤: 1 ) 确定需要测试的F P G A 资源: 2 ) 设计尽

26、可能少的待测资源的测试配置; 3 ) 将每个测试配置分别下载到F P G A 芯片中; 4 ) 施加测试激励; 5 ) 观察输出结果是否和预期结果一致,来判断是否存在故障。如果目的是故障 诊断,还需要通过结果来诊断故障的位置及类型。 2 1 4 F P G A 互连测试故障模型 互连线厶、未 1 0 2 F P G A 互连测试技术综述 ( | ) 正常情况 ( b ) 互连线段开路 线l 线l 线2 线2 ( c ) 正常情况 ( d ) 互连线段短路 线l 。 线2线l线2 L且 面 面 ( c ) 正常情况 P I P 常闭故障 线l线2 线1 盐缎儿 由 ( g ) 正常情况0 1 )

27、 P I P 常开故障 图3 故障类型说明 互连线段不能正常传输信号造成其开路故障,如图3 ( a ) ,( b ) 。两条互连线 段之间有金属线段相连,造成短路故障,如图3 ( c ) ,( d ) 。若其中有条互连线段 为V D D 或是G N D ,则表示固定1 故障或固定O 故障。固定1 故障或固定0 故 障通过施加适当的测试向量,可以检测出来【5 】。S R A M 的编程信息不能改变此 开关的状态为P I P 故障0 ,如图3 ( e ) ,( f ) ,( g ) 和( hJ 。图3 ( e J 中,配置P I P 为0 时,正常情况下线1 与线2 不连通,而由于P I P 常闭

28、故障,线1 与线2 仍是连 通的,如图3 ( f ) 。对于常闭故障,则情况刚好相反,如图3 ( g ) ,f h ) 。 2 2 互连资源的测试 F P G A 中配置位( C o n f i g u r a t i o nb i t s ) 由互连和逻辑块配置位共同组成,但大部分配 置位存在于互连中( 大约有9 0 ) 【6 】f 7 】,并且随着器件规模增大,互连结构越来越 复杂,出现故障的可能性也越来越大。因此,互连资源的测试面临巨大挑战:用 尽可能少的测试配置文件覆盖所有要求的故障类型。 2 2 1 互连资源故障检测 互连资源故障检测的方法按照测试向量的来源可以分为两类:内建自测试

29、B I S T ( B u i l t i ns e l f - t e s t ) 和非内建自测试。 2 F P G A 互连测试技术综述 2 211 内建自测试 内建自测试B I S T 指的是将测试电路使用F P G A 内部资源进行配置,一般包 含三种电路:待测线网W U T ( W i r e sU n d e rT e s t ) ,测试向量生成器T P G ( T e s t P a t t e r nG e n e r a t o r ) 和输出响应检验电路O R A ( O u t p u tR e s p o n s e A n a l y z e r ) 。T P G 产

30、生相应的测试向量施加到W U T s 上,将测试的结果输入o R A 进行比较,来检测F P G A 是否有故障。 与其他测试方法相比,内建自测试具有测试时间短,需要I o 端口少的特点, 并且能够与可编程逻辑单元( C L B ) 的B I S T 方法联合使用,同时测试整块芯片。 B I S T 还能在在线测试中应用。但B I S T 也有它的缺点,由于测试矢量是在内部产生, 贝J J F P G A 的l O 端口需要单独测试,不像传统的测试方法,由于需要通过I o 端口加 测试向量,同时检测了l o 端口是否无故障。 A I L 图4 互连资源内建自测试 文献【8 】配置两条待测线网,

31、由同一个T P G ( 测试向量生成对待测线网施加 相同的测试向量,输出的结果通过C L B 配置的O R A 进行比较,将最终的结果输 出,如图4 所示,粗线表示的是两条待测线网,黑色的点表示编程点连接,白 色表示没有连接。 与其他测试方法相比,该方法具有测试时间短,需要l o 端口少,成本低等 特点。但文献【8 】中O R A 分析结果的方法是比较两组线段结果是否一致,如果两 组线出现了同样的故障则不能识别。因此研究者通过将一组线和其相邻的两组线 比较减小混淆故障的概率,但这样仍然存在不能检测的故障。 为解决这个问题,文献【9 】提出将O R A 设计成奇偶校验电路的新方法将 F P G

32、A 分成上下两部分,当上一部分用于测试时,下半部分用于实现B I S T 电路。 然后交换位置再测试一次。测试时有K 根待测线,另外有一条线传输被测信号的 奇偶值,如图5 。奇偶校验位产生电路是K 位的异或逻辑,而比较器是两输入的 1 2 2 F P G A 互连测试技术综述 异或非逻辑。带有奇偶校验的那根线由不同的通道引到检测的地方,以免故障同 时影响被测线和表示奇偶的线。T P G 提供2 K 个测试矢量,如果某个测试矢量中的 故障不能检测出,可以在另外一组中检测出,除非故障影响所有的K + I 位。 厂一一一一一一一一一一一一一一一一一一一一一一一一一一一一一1 I I 司。1 丙 n

33、O R A _ _ 校验 _ 一 , 位产 生器 窒且 :6 田胁 5 亏削可俩但一 C L B 配置成 图5 奇偶校验故障检测电路 文献 1 0 1 最早提出将最大流算法运用到互连网络的测试研究。针对有多个源 点和终点的情况,添加了一个虚拟的总源点和总终点,运用最大流算法,其中点 的最大入度( 或出度) 就是配置文件的个数。但是其假设所有边的方向是由输入 指向输出的,同时不能够跨层连接,由于实际中互连网络相当复杂,所以实用价 值不高。 在此基础上,文献【1 1 】提出了更完备的测试方法。该文献首先将测试线网分 成两类:带缓冲器的待测线网和不带缓冲器的待测线网。不带缓冲器的线网仅由 P I P

34、 s 和金属线段构成,而带缓冲器的待测线网不仅包括P I P s 和金属线段,还包 括逻辑块和触发器。 图6 不带缓冲器的待测线网 1 3 2 F P G A 互连测试技术综述 可编 块块 l O 块 图7 带缓冲器的待测线网 不带缓冲器的待测线网,在测试的过程中,能够观测到的仅是I o B ,同时待 测线网一般都比较长,如果不带缓冲器,则线路的延时会比较大,如文献【12 】, 【1 3 1 ,【1 4 】,【1 5 】,【1 6 】中使用的方法。而带缓冲器的待测线网,能够观测的不 仅仅是I o B ,也可以将C L B 的引脚也作为控制和观测点。同时线路的延时也会 较小。同时该文献在将触发器

35、引入的同时也引入了一种“穿插( i n t e r l e a v i n g ) “ 的技术。 对于线网在开关盒的方向,该文献将之分为四种,分别为水平,竖直,左对 角线和右对角线方向,开关盒有四个方向,分别为东,西,南和北。水平连接即 两条线网在开关盒内水平连接。竖直连接即两条线网在开关盒内竖直连接。左对 角线连接即两条线网从西连接到北或者从南连接到东,或者方向相反。右对角线 类似。该文献认为对各个方向可以类似处理。 对于水平方向,其硬件结构如图8 。首先根据其硬件结构生成水平方向的开 关盒连接图,如图9 。在开关盒连接图中,金属线段是节点,开关盒是连接节点 的线段,方向代表了开关的连接方向

36、。然后在其开始端和末尾端各添加一个源端 点和末端点。 :二,c 。一:二x f 厂2 S c 厂 受 :o 芯片类型 Y 方向存在的线段类型 b l o c k 类型,如c l u s t e r ,i o 等 引脚类别及类型 引脚的名字,位于b l o c k 上的位置 C B 类型,如c l u s t e r ,i o 等 引脚的名称,及连接的t r a c k 号 通道类型,如水平,垂直等 线段的长度,连接的其他线段号码 S B 类型及尺寸 2 5 2 布线资源图及其表示方法 F P G A 的布线资源都可用图3 0 ( b ) 中的布线资源图( R o u t i n gR e s

37、o u r c e G r a p h ) 表示。布线资源图中节点的集合代表F P G A 的互连资源,这些节点可 2 F P G A 互连测试技术综述 以是C L B ,I o B 的输入输出管脚,也可以是互连线段。如图3 0 ( a 】,| 1 ,1 2 是C L B 的输入管脚,0 1 ,0 2 是l o B C L B 的输出管脚,L 1 一L 8 是互连线段。每条边代表 了节点间的一种可能的连接关系,也就是在两节点间存在一个P I P ,由于P I P 可 以由传输管或缓冲器构成,连接关系用有向边表示。如图3 0 ( a ) 0 1 与L 1 存在 连接关系,由于0 1 为输出管脚,

38、信号只会从0 1 流向L 1 ,因而在0 1 与L 1 间 存在一条单向边。而互连线段L 1 与L 8 之间通过传输管连接,在图3 0 ( b ) 中该 两节点间存在一条双向边,表示信号流动方向没有限制【2 7 】。 L lL 7 ,C “ B 1 0 8 I I C L B O l N 0N 1 j稍沙。 E ” 、C B 扒S BX :7 C B E 0i L f | i S O S l 0 2 1 0 B C B 1 2 C L B 1 3 I A ( a ) 图3 0 ( a ) 经典F P G A 的基本互连结构( b ) 对应的布线资源图 根据互连线段相对于开关盒的位置,可分为北,

39、南,西和东四类线。因而互 连线段之间的连接方向可以分为以下四类: 横向连接:连接横向的金属线段,即东西方向的金属线段的连接。如图3 0 ( a ) 中W 0 与E o 的连接; 竖向连接:连接竖向的金属线段,即南北方向的金属线段的连接。如图 3 0 f ( a ) 中N 1 与S 1 的连接; 左对角线连接:包括西北方向和东南方向的金属线段的连接。如图3 0 ( a ) 中W 1 与N O 及S 1 与E 1 的连接; 右对角线连接:包括东北方向和西南方向的金属线段的连接。如图3 0 ( a ) 中E o 与N 1 及W l 与S 0 的连接。 2 F P G A 互连测试技术综述 布线资源图

40、的文件描述如下: 对于每个节点,i n d e x 记录该节点的序号,t y p e 记录节点类型,包括s i n k , s o u r c e ,i p i n ,o p i n ,c h a n x ,c h a n y 类型。除了c h a n x ,c h a n y 类型以外的 节点,需要记录b l o c k 单元的类型,坐标位置,类别编号或者引脚编号以及容 量。对于c h a n x ,c h a n y 类型的节点,需要记录f r O m 和t o 信息,标记线段起 始坐标及t r a c k 编号以及容量。 t o n o d e 记录与该节点相连接的节点信息,包括连接节点

41、的编号及在开关盒 内部的连接方向。 2 5 3 位流生成 即使F P G A 芯片内部具有大量的码点,但是通过不同的数据线和地址线组 合可以准确唯一地确定一个独立的码点。位流生成的原理可以用下面的例子来说 明。如图3 1 ,我们在布线信息中找到布线资源A 与布线资源B 具有连接关系, 并且它们是通过开关管连接起来的。对基于S R A M 工艺的F P G A ,这个开关管 就会受到对应$ R A M 值的控制,即P I P 。在配置F P G A 时根据连接关系在芯片 配置库中找到开关管对应的码点,并且得到该码点所对应的数据线和地址线信 息,从而唯一确定该码点在生成的配置文件中的位置。芯片配置

42、库用来记录所有 P I P 对应的数据线和地址线信息的内容。假设码点值为“1 “ 时开关管导通,值 为“0 “ 时开关管断开。为了使布线资源A 与布线资源B 在硬件上能够相连,那 么在位流文件中相应的位置就应该以“1 “ 来表示它们之间的开关管是导通的。 ZF P G A 互连测试技术综述 位流文件 布线资源A 布线资 2 6 本章小结 图3 1 位流信息示意图 本章研究了目前各类F P G A 互连资源测试方法,并对其工作原理,特点等 进行了分析。如本章所述,F P G A 结构复杂,测试难度高,因此学术界和工业界 对这个问题都非常关注。虽然F P G A 互连测试方面的研究已进行了多年,但

43、目 前的大多数测试方法都仅针对特定的F P G A 硬件结构,人工设计尽量优化的测 试方案,这样的测试方案设计工作量大,不可重用,导致开发周期长,测试成本 高。目前F P G A 应用的领域越来越多,对F P G A 的性能要求也越来越高。F P G A 结构越来越复杂,其测试成本也有了明显的增加。一种可行的方案是为多种 F P G A 结构提供通用的测试方法。本论文在此基础上,提出了新的通用的方法, 对于任何形式的F P G A 结构,都能自动化生成相应的测试配置集,大大减少了 测试开发的时间。 3 F P G A 互连开路测试算法 3 F P G A 互连开路测试算法 F P G A 互连

44、开路测试算法由布线算法演化而来。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 的I o 端口。 3 1 F P

45、 G A 布线实现 布线模块的目的在于,在已经布局好的设计网表结果的基础上,利用 F P G A 1 芯片中的可编程连线资源来实现布线。 3 1 1 F P G A 布线流程 F P G A 1 布线系统流程如图3 2 所示 1 开始 2 读取硬件信息( a r c h 文件) 和网表文件 1 ) 命令行分解 解析命令行,得到文件路径、文件名称、布线方式等基本信息 2 ) 读取芯片结构文件 读取芯片结构文件,获得芯片的结构信息,包括芯片的整体描述和详细 描述,如管脚信息和管脚的连接关系,布线信息以及开关信息等。芯片 结构文件描述了整个芯片的硬件信息。 3 ) 读取工艺映射后文件 读取工艺映射后

46、的结果文件,获得1 0 、C L U S T E R 、R A M 等的线网的连 接关系,工艺映射后文件包含了所有线网的连接关系。同时读取I o 、 C L U S T E R 、R A M 、宏模块、时钟等的位置信息。 3 构建布线资源图,首先要给所有的布线资源分配布线资源点,每个布线资源 点都有相应的名字和编号,按照位置顺序来构建C L U S T E R 和J o 的布线资源 点,给I o 和C L U S T E R 中的每个管脚分配布线资源点,以及I O 和C L U S T E R 3 1 3 F P G A 互连开路测试算法 中的c l a s s ( 类别) 数目。给I o 和C L U S T E R 分配完布线资源以后,给时钟 中心( C L U S T E RC E N T E R ) 分配布线资源点,时钟中心的布线资源点分配和 I o 类似。R A M 的布线资源分配也和I o 类似。然后给布线通道分配布线资 源点。最后给所有的线网标注分配的布线资源点。获得该线网的边界盒 ( b o u n d i n gb o x ) 范围。 4 给线网的端点分配节点,这里面运用了虚拟节点( S o U R C E 、S I N

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1