Académique Documents
Professionnel Documents
Culture Documents
DOI 10.1007/s10836-015-5515-7
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
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
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.
3.2 ORA
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
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
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