Vous êtes sur la page 1sur 9

J Electron Test (2015) 31:207215

DOI 10.1007/s10836-015-5515-7

A Shift-Register Based BIST Architecture for FPGA Global


Interconnect Testing and Diagnosis
Igor Gadelha Pereira Leonardo Alves Dias
Cleonilson Protasio de Souza

Received: 8 April 2014 / Accepted: 11 February 2015 / Published online: 13 March 2015
Springer Science+Business Media New York 2015

Abstract This paper describes the implementation of a to ASIC prototyping and for the designing of high relia-
shift-register based Built-In Self-Test (BIST) architecture bility systems. A typical FPGA architecture is composed
for FPGA global interconnection resources testing. Through of repeated and regular configurable logic blocks (CLBs),
this, it is possible to configure FPGA resources that need input/output blocks (IOBs), and programmable interconnec-
to be tested in order to obtain high reliability FPGA-based tion resources (IRs) interconnecting all its internal elements
systems. The proposed BIST approach takes advantage of [7, 10, 12], as shown in Fig. 1.
FPGA low-level resources in order to generate cyclic test In order to guarantee proper and reliable operation,
patterns, analyse testing response and store test results FPGAs need to be tested, that is, its internal elements
in a simple way. Additionally, the same BIST configura- should be verified to find out if they are fault-free before
tion set is capable of diagnosing the tested interconnection programming the final application.
resources with no additional configurations thereby reduc- It is known that the main feature of FPGAs, namely
ing time requirements. This paper presents the proposed their reprogrammability, makes them more difficult to test
BIST architecture and its diagnosis scheme, its implemen- than non-reprogrammable devices [2, 9]. However, it also
tation on a Xilinx FPGA, and experimental results. makes it feasible for them to be configured with built-in
self-test (BIST) logic in order to test their internal resources.
Keywords Built-in self-test Field-programmable gate A basic BIST scheme is composed mainly of a test pat-
array Global interconnection resource testing FPGA tern generator (TPG), an output response analyser (ORA)
testing and diagnosis and a block under test (BUT) for CLB/IOB testing or inter-
connection under test (so called IUT) for programmable
interconnection testing [8, 11, 12]. It is important to note
1 Introduction that using the BIST approach testability is achieved without
any overhead, since the BIST configurations are removed
Field-Programmable Gate Arrays (FPGAs) are silicon when the FPGA is reconfigured to its normal operation
devices that can be (re)programmed in the field to imple- [8, 12].
ment any user-defined functions and are mainly applied A complete FPGA test is composed of logic testing
(CLBs, IOBs and other embedded logics) and testing of
Responsible Editor: V. D. Agrawal interconnection resources (IRs). The FPGA IRs consist
of wire segments and switch matrices (SMs) made up of
I. G. Pereira L. A. Dias C. P. de Souza ()
programmable interconnect points (PIPs) [10] that are con-
Departement of Electrical Engineering, Federal University
of Paraba - UFPB, Joao Pessoa, Paraba, Brazil trolled by configuration memory bits, which are the set of
e-mail: protasio@cear.ufpb.br all programming bits that establishes a configuration which
I. G. Pereira determines the function of the device [12].
e-mail: igor.pereira@cear.ufpb.br Testing of FPGA IR is very important because the inter-
L. A. Dias connection resources of FPGAs comprises almost 90 % of
e-mail: leonardo.dias@cear.ufpb.br the total area of FPGAs [1, 5, 6, 10, 15]. Indeed, IR has a
208 J Electron Test (2015) 31:207215

Fig. 1 A typical FPGA


architecture

higher fault probability since they require an area larger than way, which is the case of some families from Altera. An
other FPGA resources [15]. In this way, IR testing becomes interesting feature which is specific to Xilinx FPGAs is that
one of the most important procedures of FPGA testing. This the LUTs of some groups of CLBs (called SLICEM) can
paper focuses on IR testing. be configured as an n-bit shift register, where n could be
IR testing involves studying the FPGA IR architecture 16 or 32. For Altera FPGAs, it is supported to configure
in order to propose a specific test scheme. Next, test con- shift-register chains using logic elements (LEs) combina-
figurations based on the test scheme are derived and the tion. This is the case of high-end FPGAs like Stratix IV,
set of all test configurations must meet the requirements of Stratix III, Stratix II, Stratix GX, Stratix; mid-end FPGAs
both high IR coverage and reasonable small number of test like Arria II, Arria GX; and low-end FPGAs like Max10,
configurations since the total test time is dominated by this Cyclone IV, Cyclone III, Cylone II, Cyclone. Other FPGA
[10]. manufactures also support this characteristic.
Dixon [4] describes the most common strategies for The BIST scheme proposed in this paper is implemented
BIST-based interconnection testing, simulation results and as a CLB-based TPG/ORA combination where some CLBs
the way these strategies apply test vectors to IUTs. Of these are configured as combinational ORA and others in the
strategies, the most relevant one is the cross-coupled par- same group are configured as shift-register based TPG using
ity dual counter. Based on this strategy, the cross-coupled the shift-register chain featured in the FPGA. Taking this
parity routing BIST architecture proposed in [15] is capable into consideration, up to 8 IUTs per configuration can be
of testing 6 IUTs per configuration and a total of 51 test tested at once, resulting in the reduction of the number of
configurations are needed to test all of the global routing test configurations.
resources in a case study considering Xilinx Virtex-4 series This paper describes the proposed BIST architecture in
FPGAs where its main limitation is the use of feedback lines Section 2. Section 3 shows an implementation of the pro-
for response analysing that limits the number of IUTs per posed BIST in a Spartan 3E FPGA. Section 4 describes a
configuration (details in next section). BIST based diagnosis to locate the faulty wire based on test
Since, in general, the main goal of any interconnection results. The tools used are shown in Section 5 followed by
testing is to minimize the number of test configurations by experimental results in Section 6. Conclusions are given in
maximizing the number of IUTs for any given test configu- Section 7.
ration, this paper presents a BIST approach in order to test
global routing resources in FPGA using the total capability
of the look-up tables (LUTs), that is, using all their inputs 2 Proposed BIST Architecture
with no feedback lines.
The CLBs of most of the FPGA families can be config- In this paper, both stuck-at fault model and bridge fault
ured as shift-register chain either in a direct way, which is model for fault modelling in FPGA interconnections have
the case of all the families from Xilinx, or in an indirect been used. The stuck-at fault model considers that faulty
J Electron Test (2015) 31:207215 209

b
Fig. 2 a The cross-coupled parity routing BIST. b Compact view
a b
interconnections are stuck at logical 1 or 0 and bridge fault Fig. 4 a Altera shift register chain. b Xilinx SLICEM LUT as 16-bit
model assumes that shorted wires and open wires may occur shift register
between interconnections. PIP faults, such as PIP stuck-
close (stuck-on) and stuck-open (stuck-off), are considered
in interconnect testing as they are equivalent to stuck-at dual counter proposed in [15] where the BIST architecture
faults in the configuration memory bits [15]. This paper is implemented in each CLB of the FPGA which, in turn,
addresses the aforementioned fault models and does not consists of four slices where each slice contains two flip-
consider delay faults. flops and two 4-input LUTs. Each slice is configured either
As described in the last section, the most relevant BIST as an odd parity TPG (Odd TPG), an even parity TPG (Even
for FPGA interconnection testing is the cross-coupled parity TPG), an odd parity ORA (Odd ORA) or an even parity
ORA (Even ORA), as shown in Fig. 2a or in Fig. 2b in
a compact view. The reason for testing only 6 IUTs per

Fig. 3 Proposed general BIST architecture Fig. 5 Arrangement of slices within the Xilinx CLB
210 J Electron Test (2015) 31:207215

Fig. 6 Spartan 3E global


routing lines [13]

configuration is that each ORA uses a feedback line which the ORA output is feedback to shift-register TPG provided
limits the input number of the corresponding LUT to 3. that no interconnection faults have occurred. As explained
In this paper, a BIST architecture for interconnection later, this proposal is capable of testing and diagnosing
testing is proposed which is composed of a TPG based faulty interconnections.
on shift register chain (featured in most FPGA families) As described, the main ideas of the proposed BIST are
and of a combinational-logic based ORA, as shown in the uses of a combinational ORA and a shift-register chain
Fig. 3. The proposed BIST is able to test up to 8 IUTs at based TPG. With respect to the shift-register chain based
once, since there is no feedback line in the ORA scheme TPG, advantage is taken of a feature which uses special
as shown in [15]. Additionally, a cyclic test pattern (for routing resources in order to chain registers together in
instance, 0xAAAA... = 101010101010...) has been cho- a CLB to act as a shift register [3]. Figure 4a shows a
sen as shift-register TPG seed in conjunction with a specific configuration of shift-register chain used in many FPGA
combination logic for ORA (based only on XOR operation) families from Altera. Figure 4b shows a configuration of
in order to maintain the cyclical sequence generation when shift-register chain used in all FPGA families from Xilinx.

Fig. 7 Proposed BIST


architecture
J Electron Test (2015) 31:207215 211

resources, such as CLBs, IOBs, and dedicated embedded


resources (RAMs, DSPs). Each logic resource has a switch-
box (SB) which provides a connection between the logic
resources and global routing network [14].
There are three types of global interconnection wire seg-
ments on Spartan 3E and they are classified according to the
number of CLBs they span [13], namely Double Lines (span
two CLBs); Hex Lines (span six CLBs, three-by-three); and
Long Lines (span the whole die in both directions and span
six-by-six CLBs), as shown in Fig. 6. Additionally, double
and hex lines are directional and propagate in all directions
(north, south, east and west) being present in an 8-line bus,
and long lines are bidirectional and can be sourced from any
Fig. 8 The CLB-based TPG/ORA combination point of the line, being present in a 24-line bus [13].
For double and hex lines, the wire segment terminals are
named BEG (begin), MID (middle) and END (end). These
Section 3 is focused on implementing the proposed BIST names are used to distinguish a given SB terminal with
on the interconnect resources testing of Xilinx FPGAs. respect to its relationship to the source or destinations of the
wire segment [13]. So, in each SB there are 32 BEG termi-
nals, 32 MID terminals and 32 END terminals connected to
3 An Implementation of the Proposed BIST double lines and hex lines in all directions.
Since each CLB of Spartan-3E FPGA is composed of
Considering Xilinx FPGAs, hardware resources are indi- four slices (namely, 2 SLICEMs and 2 SLICELs) and each
cated by the number of slices that an FPGA has, where a slice has 2 LUTs, the proposed BIST architecture is imple-
slice is comprised of LUTs and flip-flops (FFs). In turn, mented as follows: the two SLICEL are configured as ORA
each CLB comprises a number of interconnected slices, as (where the LUTs are configured as 4-input combinational
shown in Fig. 5, where the slices that support both logic and logic) and the two SLICEM are configured as shift-register
memory functions are called SLICEM and the slices that based TPGs (where the LUTs are configured as 16-bit shift-
support logic only, are called SLICEL. In general, half the register, called SRL16), as shown in Fig. 7. Figure 8 shows
LUTs support both logic and memory (including shift regis- a view of the BIST architecture where it is possible to see
ters chain feature) while half support logic only, and the two the internal connections from the PASS/FAIL signals to the
types alternate throughout the array columns. The amount of inputs of the shift-register based TPG with the result that
LUTs and FFs in a slice depends on the specific family. For the ORA responses are fedback into the shift-register based
example: Virtex-II (2 LUTs and 2 FFs), Spartan-3 (2 LUTs TPG.
and 2 FFs), Virtex-6 (4 LUTs and 8 FFs), Artix-7 (4 LUTs The basic operational testing block set of the proposed
and 8 FFs). BIST architecture, called Test Set (TS), is shown in Fig. 9
Focusing on testing the interconnection resources of Xil- which consists of three CLB (CLBi , CLBi + 1p and
inx Spartan 3E FPGA family, which has been chosen as CLBi +2p), each configured as the TPG/ORA combination
an example, its programmable interconnection network con- (as shown in Fig. 8), where i is the relative position of the
sists of horizontal and vertical wire segments with different CLB with respect to a FPGA row or a FPGA column and
length that operate in conjunction with PIPs. Global rout- p is the span of the wire segment. For example, in Spartan
ing resources are used to interconnect programmable logic 3E FPGA, p is equal to 1, 3, or 6 meaning that a given wire

Fig. 9 Test set formed by three


CLB (CLBi , CLBi + 1p and
CLBi + 2p)
212 J Electron Test (2015) 31:207215

FPGA maintains the same cyclic sequence. If not, the FPGA


is fault. Additionally, FPGA diagnosis is possible, as shown
in Section 4, by analysing the obtained test response.

3.1 Shift-register Based TPG

As shown in Fig. 4b, each one of the four available SLICEM


LUTs can be configured as a SRL16-based TPG. In this
way, each TPG can source two signals, one from any of its
FFs (addressable by MUX A[3:0]) and the other from the
Q15 output (the last FF). As a result, by using four TPGs
(that is, a CLB), it is possible to source 8 signals from each
CLB. A cyclic test pattern seed is preloaded in SRL16 as
an initial condition and test patterns are generated in every
Fig. 10 Complete FPGA test scheme
clock cycle. This approach does not depend on any feedback
network for TPG proper operation, eliminating faults that
segment spans one-by-one CLBs (Double Lines), three-by- occur in the local network of each CLB. The chosen cyclic
three CLBs (Hex Lines), or six-by-six CLBs (Long Lines), test pattern seed is 0xAAAA which is a periodic vector with
respectively. period 2.
As shown in Fig. 9, the TPG of CLBi applies test vectors To be able to detect interconnection faults, these 8 sig-
into the ORA of CLBi + 1p (through MID inputs) and into nals, which are output from BEG terminals, are jointly
the ORA of CLBi + 2p (through END inputs) in order to applied in the MID input terminals and in the END input
test FPGA wire segments labelled as A, B and C. terminals of two subsequent CLBs. In this way, the proposed
Figure 10 shows the complete configuration of the pro- ORA is implemented in two SLICELs of each CLB where
posed BIST architecture considering only the horizontal two 4-input LUTs of one SLICEL analyse the MID input
segment channels of the FPGA (the same configuration can signal and the other two 4-input LUTs of the other SLICEL
be applied to the vertical segment channels. For simplicity, it analyse the END input signal. The obtained LUT results are
is not shown) where T Si is the i-th test block. It is important shifted back to each one of the SRL16 register TPGs, as seen
to note that CLB0 + 1p and CLB0 + 2p of T S0 comprise in Fig. 11.
the CLB1 and CLB1 + 1p of T S1 and so on. It is important to observe that by applying more than
The FPGA test response is obtained by reading back the 16 clock cycles, test responses are outputted from the
status of all SRL16s (this process is called readback) that SRL16 register and then reapplied to the IUTs. Also, by
form the TPGs after a specified clock cycle running. As the applying less than 16 clock cycles, the test results are
TPG seed is a cyclic sequence, the test response of a good incomplete.

Fig. 11 Proposed shift-register


based BIST
J Electron Test (2015) 31:207215 213

Fig. 13 XDL example

TPG. Configuring SRL16 registers to work with 16-bit posi-


tions, it is possible to apply 16 clock cycles and store 16
test results in each SRL16 register. The strategy of storing
test results in SRL16 registers allows the use of readback in
order to obtain the test result of the entire FPGA.
To guarantee that the feedback of the ORA output to
the SRL16-based TPG input does not change the cyclic
test pattern sequence, each LUT-based ORA is programmed
with XOR SUM of IUTs values in such a way that the
LUT-based ORA responses are also cyclic, that is,
10101010.., provided that there is no faulty IUT.

4 Proposed Diagnosis Scheme

The proposed BIST approach is capable of diagnosing and


locating a faulty wire segment in double or hex lines, due
to the ORA results on MID and END terminals. Double
and hex lines can be divided in three wire segments, as
seen in Fig. 12, namely A, B and C. It is important to note
that ORA1 checks for errors in the END terminals and
ORA0 checks for errors in the MID terminals. In this way,

Fig. 12 Diagnosis scheme

3.2 ORA

In the proposed BIST strategy, the ORA scheme is emulated


by SLICEL LUTs. In this way, during every clock cycle,
signals are applied to IUTs by the SRL16-based TPG, anal-
ysed by the proposed ORAs of the two subsequent CLBs,
and then the results are shifted back to the SRL16-based

Table 1 Interconnection diagnosis

ORAMI D ORAEN D Fault

Location
Ok Faulty C
Faulty Ok B
Faulty Faulty A
Ok Ok None
Fig. 14 Overall procedure of the proposed method
214 J Electron Test (2015) 31:207215

Fig. 15 Example: data file piece


with SRL16 registers values

if any ORA detects a fault, the fault can be located through program that reads this logic allocation file (.ll) and looks
indications that are summarized in Table 1. for specific bit positions in the readback bitstream. The pro-
The prominent feature of the proposed BIST scheme is gram generates a .data file that contains the test results
that test and diagnosis are performed with the same set of from SRL16 registers. These test results can be used to show
configurations reducing time requirements. if the device is OK or faulty. An example of a piece of an
obtained .data file is shown in Fig. 15. Note that these
lines are followed by another in byte intervals, so two lines
5 Tools contain SRL16 internal register states.
Experimental results were obtained on a PCB platform
This section describes the tools used to obtain experimen- developed in this research that comprises a Spartan 3E
tal results considering the proposed BIST approach. Results xc3s100e device and the communication between the FPGA
have been obtained from implementations based on XDL and the host computer is carried out by a JTAG interface.
(Xilinx Design Language) that provides access to
every logical resource of the FPGA. In general, as XDL
is used by Xilinxs internal work and it is not well docu- 6 Experimental Results
mented, a trial-and-error process has be done to obtain some
information about how XDL works. An example of an XDL The proposed BIST strategy has been simulated using ASL
piece, specifying nets and activating PIPs, can be seen in (Auburn Simulator Language) and AUSIM (Auburn Simu-
Fig. 13. lator) using the defined SRL16 initial states and the defined
Due to the low level XDL implementations that create LUT functions. Simulation results are presented in Fig. 16
extensive and complex files with thousands of lines, a C- and compared with the state-of-the-art [15]. The simulation
based program has been developed in order to generate results were obtained with only one SRL16 in single fault
.XDL files automatically. condition, 7 IUTs and generating 16 test vectors at 16 clock
Figure 14 shows the complete procedure in order to cycles.
implement the proposed BIST strategy for FPGA intercon- As can be seen in Fig. 16, both BIST strategies achieve
nect testing. 100 % fault coverage for stuck-at and bridge faults (Dom-
After the procedures shown in Fig. 14, the readback data inant and Dominant AND/OR). The main difference is
in .bin files are then submitted to a developed C-based related to the amount of IUTs that they can source and

Table 2 Number of BIST configurations

Routing Resource Directions Config.

North South East West

Double Lines 2 2 2 2 8
Hex Lines 2 2 2 2 8
Non-CLB Double Lines 2 2 0 0 4
Non-CLB Hex Lines 2 2 0 0 4
Total Configurations in our work 24
Total Configurations in [15] 41
Fig. 16 Fault coverage
J Electron Test (2015) 31:207215 215

analyse. SRL16 BIST based strategy can analyse 7 IUTs 7. Peng YL, Kwai DM, Chou YF, Wu CW (2014) Application-
(since not all of the 8 TPG signals sources could be routed to independent testing of 3-D field programmable gate array
interconnect faults. IEEE Trans Very Large Scale Integr Syst
global network for Spartan 3E xc3s100e) per test configura-
22(2):207219
tion while cross coupled parity strategy can analyse 6 IUTs 8. Rehman SU, Benabdenbi M, Anghel L (2013) BIST for logic and
per test configuration. Table 2 summarizes the total number local interconnect resources in a novel mesh of cluster FPGA.
of configurations to test the FPGA double and hex lines. In: Proceedings of IEEE International Symposium on Defect and
Fault Tolerance in VLSI and Nanotechnology Systems, pp 296
301
9. Rehman SU, Benabdenbi M, Anghel L (2014) Test and diagno-
7 Conclusion sis of FPGA cluster using partial reconfiguration. In: Proceedings
of 10th Conference on Ph.D. Research in Microelectronics and
Electronics, pp 14
This paper has described a shift-register based BIST archi-
10. Ruan A, Yang J, Wan L, Jie B, Tian Z (2013) Insight into a
tecture that takes advantage of FPGA hardware resources generic interconnect resource model for xilinx virtex and spartan
in order to emulate TPGs and ORAs for testing global series FPGAs. IEEE Trans Circ Syst II: Express Briefs 60(11):
interconnection resources of FPGA. It was shown that the 801805
11. Souza CP, De Assis FM, Freire RCS (2010) A new architecture of
BIST approach is capable of generating cyclic test patterns,
test response analyzer based on the Berlekamp-Massey Algorithm
analysing testing response and storing test results. It was for BIST. IEEE Trans Instrum Meas 59(12):31683173
also shown that the BIST approach tests more interconnec- 12. Stroud C, Wijesuriya S, Hamilton C, Abramovici M (1998) Built-
tions per configuration with a reduced set of configurations. in self-test of FPGA interconnect. In: Proceedings of International
A prominent feature of the approach is that testing and diag- Test Conference, pp 404411
13. Xilinx Inc (2011) Spartan 3e user guide ug331, xilinx inc. http://
nosis are performed with the same set of configurations www.xilinx.com/support/documentation/user guides/ug331.pdf
reducing time requirements. 14. Xilinx Inc (2013) Spartan 3e datasheet ds312. http://www.xilinx.
com/support/documentation/data sheets/ds312.pdf
Acknowledgments This project was financially supported by the 15. Yao J, Dixon B, Stroud C, Nelson V (2009) System-level built-
CNPq-Brazil (PNM-GM, Grant Procs. 550123/2013-0), and CNPq- in self-test of global routing resources in Virtex-4 FPGAs. In:
Brazil (Grant Procs. 573738/2008-4 INCT NAMITEC). Proceedings of 41st Southeastern Symposium on System Theory,
pp 2932

References Igor Gadelha Pereira graduated in Electrical Engineering in 2011


from Federal Institute of Paraba, Brazil and received the M.Sc. degree
1. Abdul-Aziz M, Tahoori M (2010) Soft error reliability aware in Electrical Engineering in 2014 from Federal University of Paraba,
placement and routing for FPGAs. In: Proceedings of International Brazil. His research interests include VLSI testing, FPGA, sip-core,
Test Conference, pp 19 medical images, biological signals and data compression.
2. Abramovici M, Stroud C (2001) BIST-based test and diagnosis
of FPGA logic blocks. IEEE Trans Very Large Scale Integr Syst
9(1):159172 Leonardo Alves Dias graduated in Industrial Technologist in 2014
3. Altera Corporation (2003) An analytical review of FPGA logic from Federal Institute of Paraba, Brazil and is studying for Mas-
efficiency in Stratix, Virtex-II, Virtex-II Pro Devices. http://www. ters degree in Electrical Engineering at Federal University of Paraba,
altera.com/literature/wp/wp stx logic efficiency.pdf Brazil. His research interests include VLSI testing and FPGA testing.
4. Dixon BE (2008) Built-in self-test of the programmable inter-
connect in field programmable gate arrays. M.S. thesis, Auburn
University Cleonilson Protasio de Souza is currently a professor at Federal Uni-
5. Elshafey K (2004) On-line diagnosis of interconnect faults in versity of Paraba - Brazil. He graduated in Electrical Engineering in
FPGA-based systems. In: Proceedings of 16th International Con- 1989 and received the M.Sc. degree in Electrical Engineering in 2001
ference on Microelectronics, pp 396399 from Federal University of Maranhao, Brazil. He received the doc-
6. Farooq U, Marrakchi Z, Mehrez H (2012) FPGA architectures: torate degree in 2005 from Federal University of Campina Grande -
An overview. In: Tree-based Heterogeneous FPGA Architectures. Brazil. His research interests include VLSI testing, Energy Harvesting
Springer, New York, pp 748 and Wireless Sensor Network.

Vous aimerez peut-être aussi