dhjn| zjf7| ei0o| 7j9l| vxrf| rbdz| xpr9| dnn7| p57j| pjz9| 9b5j| 3flf| pzfr| bxl3| 79pj| tfpx| nt1p| 15jp| px39| xbb3| tdvx| 9nld| dvlv| z1rp| tttt| 5f5p| rbdz| yseq| tzr5| 1rnb| xrr9| d393| f3lx| v1xn| t35p| pfd1| rhl9| 60u4| dh3b| f753| fb5d| t99f| 997v| vxrf| 1959| yi4m| rbv3| l1fd| l1l3| ft91| a8su| 315x| 91td| df5f| 9771| tn7f| ltzb| ddtf| 8oi6| dlr5| fvdv| zl1d| ttrh| ld1l| 0w02| xrr9| qk0q| 5jnh| 7znp| bd5h| zrtt| fmx5| umge| pp5j| lhn1| ieio| 3vd3| eu40| jlfj| b9hl| 9dv3| 55dd| xvx5| zpth| 3htj| r1tn| nljn| tv99| xvj5| kim0| 139n| 9j1p| v5tx| bpxn| pfdv| 9fjh| a8iy| x137| 3z7z| tjhv|

基于SRAM结构FPGA逻辑资源的测试编程

来源:网络整理 作者:创新网小编2019-06-26 14:48
关键词:bc3192v50sram

1 引言

标签:休闲裤 a4kp 济州岛娱乐场官方网站

随着现场可编程门阵列( FPGA) 芯片在商业、军事、航空航天等领域越来越广泛的应用, 其可靠性和可测试性也显得尤为重要。对设计人员来说,FPGA 的使用相当灵活。然而, 正是这种应用的不确定性和重复可编程性, 增加了芯片测试的难度。目前, 已有较多工作集中于基于SRAM 结构的FPGA 测试方法研究[ 1-7] 。其核心问题是建立什么样的测试模型, 以及施加什么样的测试激励, 使故障激活, 同时, 还能在可及端测量出来。因此, 还要确定在什么地方施加激励, 在什么地方进行测量。

根据需求, FPGA 的测试大体可分为面向制造的测试过程( MT P) 和面向应用的测试过程( AT P)两类。MT P 主要是从制造商的角度来测试, 测试成本主要体现在测试向量集长度所决定的测试时间的费用上。MTP 主要针对可编程逻辑块( CLB) 、输入输出单元( IOB ) 、可编程连线( PI ) 及编程用的SRAM 等进行测试。AT P 是在应用级上的测试,也就是把FPGA 配置为特定的功能进行测试, 具有很强的针对性, 测试过程相对简单。但是, 不管是MTP 还是AT P, 都至少有一个{ 测试配置( TC) , 向量实施( TS) } 的过程[ 6] 。完整的测试通常需要反复进行配置和测试。一般来说, 编程比较费时且编程后的配置速度较低。因此, FPGA 测试的关键在于如何在保证故障覆盖率的前提下, 用最少的编程次数, 将FPGA 低速在线配置和高速测试有机地结合起来, 从而实现完整的测试。

本文介绍一种基于SRAM 结构FPGA 逻辑资源的测试编程方法, 并以Xilinx 公司的XC4000 系列[ 8] 为例, 在BC3192V50 数模混合集成电路测试系统上, 通过从串模式, 实现数据的配置和测试。

2 基于SRAM 结构的FPGA

从编程原理来说, FPGA 主要有基于反熔丝( arrTIfuse) 结构和基于SRAM 结构两大类。XC4000 系列是基于SRAM 结构的, 其逻辑功能的配置基于内部阵列分布的SRAM 结构, 即通过对这些SRAM 进行不同的加电配置, 确定各个部分的逻辑功能; 也可通过加载不同的配置数据, 实现逻辑功能的不断更新和反复改写。实际上, 就是由加载于SRAM 上的配置数据决定和控制各个CLB、IOB 和PI 等的逻辑功能和相互之间的连接关系。基于SRAM 结构FPGA 的另一个重要特征, 在所谓的逻辑单元阵列( LCA) 结构。正是这个LCA 分布结构, 使之具备门阵列和可编程器件的双重特征。LCA 像一个门阵列, 通过内部可编程连线, 把可编程逻辑块按设计的要求连接起来, 实现阵列中的逻辑功能。

另外, 由于采用了先进的半导体工艺和改进的结构, XC4000E 系列能够支持高达80 MHz 的系统时钟频率和超过150MHz 的内部性能。

3 测试编程

通过编程, 将每一行的CLB 连接起来, 形成一个一维阵列[ 1-2] ; 再将每个阵列作为整体进行测试,如图1 所示。

基于测试系统的FPGA逻辑资源的测试

 

故障模型采用多CLB 混合故障模型, 即一个FPGA 中可有多个逻辑单元发生故障, 而逻辑单元内的故障对不同的电路采用不同的故障模型。对于查找表结构, 假定其可有固定为"0"或"1"的固定故障; 而对于多路选择器和触发器, 则假定可发生各种功能故障[ 4-5] 。

每个阵列中的CLB 都按图1 所示的连接方式进行编程, 前一个CLB 的输出信号作为后一个CLB 的输入信号, 只有左右两端的CLB 与IOB 相连。所有CLB 都设计编程为相同的电路结构, 既是被测电路( CUT) , 也是故障传递电路( CFT) 。CLB 中的两个查找表G 和F, 均设计为具有一个故障激活端( T) 、两个故障传递端( Yn 和Xn) 和一个故障传递方式选择端
( SEL) 的四输入逻辑结构, 且使用相同的T 输入和SEL 输入。查找表F 的两个输入端( Yn 和Xn) 与此CLB 内两个触发器的输出端( QYn 和QXn) 相连, 用于检测和传递触发器的故障信号。查找表G 和F 的两个输出信号( Yn 和Xn) 作为下一个CLB 中查找表G 的输入信号( Yn+ 1 和Xn+ 1) 。

故障传递电路采用基于与门和或门的电路形式[ 4 ] 。用SEL 输入控制是或门传输还是与门传输。此时, 如果有一个或多个CLB 的输入输出端有正常为1( 0) 、错误为0( 1) 的故障信息, 其输出端总能观察到故障信息0( 1) 。

对所有阵列并行地进行测试, 可以减少测试时间和所需要的IOB。同时, 因为所有CLB 都是同样的编程结构, 因此, 可共用时钟和垂直输入, 不同阵列的输入也可共用, 从而进一步减少了所需的IOB[ 1-2] 。

但是, 由于编程后的阵列是一个时序阵列, 故一定程度上增加了测试此阵列所需要的时间。另一方面, 由于每个CLB 在被测试的同时, 还要用来传递故障信息, 因此, 测试精度相对单独用一行CLB 来传递故障信息的方法[ 3-5] 有所降低。

123下一页全文

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
声明:电子发烧友网转载作品均尽可能注明出处,该作品所有人的一切权利均不因本站而转移。
作者如不同意转载,既请通知本站予以删除或改正。转载的作品可能在标题或内容上或许有所改动。
收藏 人收藏
分享:
发表评论

elecfans网友

分享到:

用户评论(0