2 基于SRAM的FPGA结构简介
FPGA通常有三个基本的组成部分,即可编程逻辑单元((Sonfigurable Logic Block,以下简称CLB)、可编程输入输出单元(Input and Output Block,以下简称IOB)及可编程连线资源。通常CLB包含组合逻辑部分和时序逻辑部分,组合逻辑一般包括查询表(Look—up Table)和相关的多路选择器(Multiplexer)。而时序逻辑部分包含触发器(DFF)和一些相关的多路选择器。IOB则提供了FPGA内部和外部的一个接口,连线资源则提供CLB与IOB之间以及各CLB之间的通讯。
FPGA芯片的基本结构如图l所示,现在的FPGA芯片结构越来越复杂,但都包含这些基本的组成部分。开关盒(Switch Box,以下简称SB)将水平和竖直连线资源进行切换。连接盒(Connection Box,以下简称CB)连接CLB的输入输出到连线资源中。在FPGA芯片中,由于连线资源比较复杂,所以测试花费时间会很长。其中把开关盒抽出来可以构造开关盒资源图,其中包括开关盒内部的可编程开关以及开关盒之间的连接线段,如图2(a)所示。
FPGA开关盒资源模型包括m×m个SB以及相邻的SB之间连接开关盒的k条连接线段,其中SB内部的连接关系如图2(b)所示。其中粗线代表一个NMOS管作为传输管,用来控制线段的连接,传输管的开和闭由编程信息来控制,编程信息存储在SRAM单元中。SB内部有很多传输管,其中两条线段之间有传输管相连的,称为可连接线段,没有传输管的,称为不可连接线段。图2(c)是抽象的开关盒连接关系,其中四个方向分别为T,B,L,R,黑点表示此方向的连接线段的集合,每条连接线段可以另外三条连接线段连接,这三条连接线段分别位于其他三个方向,其中的数字表示传输管的编号。比如3,表示左边的连接线段连接上边的连接线段。
在FPGA连线资源中,主要包含连接线段,传输管和CB中的连线资源。连接盒一般和逻辑资源放在一起进行测试,本文着重于开关盒连线资源的测试。
3 测试所需要的配置
3.1 测试采用的故障模型
1)线段开路故障,线段在制造过程中中间断开,不能正常传输信号,输出端的状态固定;
2)线段的固定O故障,不管输入信号是0还是l,线段总固定在0状态;
3)线段的固定l故障,不管输入信号是0还是1,线段总固定在1状态;
4)传输管的固定0故障,也就是常开故障,SRAM编程信息不能改变此开关的状态;
5)传输管的固定l故障,也就是常闭故障,SRAM编程信息不能改变此开关的状态;
6)线段的桥接故障,两条线段之间短路,当分别在桥接的两条金属线上加相反的信号时,因为桥接两线的输出信号是相同的。
3.2 测试所需配置
在测试之前,需要将配置信息下载到FPGA芯片中,然后施加测试矢量进行测试。本文以[3]中的配置为例说明此可测性设计,在此采用Wilton开关盒结构,配置原理与[3]一样。测试配置如图3所示。