SlideShare a Scribd company logo
1 of 5
Download to read offline
Mrs.Jamuna.S, Dr. V.K. Agrawal / International Journal of Engineering Research and
                   Applications (IJERA) ISSN: 2248-9622 www.ijera.com
                    Vol. 3, Issue 1, January -February 2013, pp.1517-1521
  Partially reconfigured self test controller for fault detection and
                       correction for FPGAs
                          Mrs.Jamuna.S1,                   Dr. V.K. Agrawal2
                           1Associate Professor, Department of ECE, DSCE, Bangalore
                                       2 Director,CORI,PESIT , Bangalore


Abstract
         Field programmable gate arrays                     testing paradigms. Integrated circuits are presently
(FPGAs) are the reconfigurable logic devices                tested using a number of structured designs for
which are widely used in many applications like             testability (DFT) techniques. These techniques use
system prototyping, complex computing systems,              the general concept of making all or some state
automotive electronics and mobile devices.                  variables controllable and observable [2].
Configurable Logic Blocks (CLBs) are the main                         A Field-Programmable Gate Array (FPGA)
logic resources for implementing sequential as              is a logic device that can be programmed to
well as combinatorial circuits in FPGA.                     implement a variety of digital circuits. FPGAs are
However, increase in density and complexity also            widely used both in product prototyping and
has resulted in more probability of faults. To              development because of their ability for
effectively deal with the increased defect density,         configuration and re-configuration. Some of the
we need efficient methods for fault detection and           advantages are reduced design time and low non-
correction. Many methods have been developed                recurring engineering cost. FPGA consists of an
for fault detection, fault diagnosis and fault              array of configurable logic blocks inter connected
tolerance. Partial reconfiguration [PR] is a                by programmable routing resources, and
powerful solution which extends the capabilities            programmable I/O cells. The set of all programming
of FPGAs. PR is a technique, which allows a                 bits establishes a configuration which determines
portion of an FPGA to be reconfigured while                 the function of the device. With the increase in
other regions of the device continue to operate             density, capability and speed, FPGAs have become
without any interruption. It is very useful for the         more vulnerable to faults, as it is the case for all
devices operating in mission-critical applications          integrated circuits. A percentage of manufactured
which cannot be disrupted while some                        FPGA chips are determined to be faulty after initial
subsystems are being reconfigured. Here, we                 application-independent tests. Faulty FPGAs can
introduce an approach for FPGA testing that                 also be found after delivery to users, during system
exploits the reprogram ability of a FPGA to                 development or operation. They may be still usable
create the self-test logic by configuring it using          for some particular application if only a portion of
partial reconfiguration process. We have                    the circuitry is defective.
designed a reconfigurable built-in self test                          Reconfigurable Built-In Self Test is a
controller (RBIST) for coordinating the                     technique of integrating the functionality of an
operations like detection and correction of faults.         automatic test system onto CLBs of FPGA. It is a
This technique is based on high level description           Design for Test technique in which testing (test
without modifying the device architecture. All              generation and test application) is accomplished
the reconfigurable modules are designed and                 through built in hardware features. The general
implemented using Xilinx ISE 12.4 and ML 507                RBIST architecture has a self test controller which
FPGA board.                                                 controls entire tester circuit, test pattern generator
                                                            which generates the test address sequence, response
Key words – Configurable logic block, Field                 verification as a comparator which compares the
programmable gate array, Partial Reconfiguration,           memory output response with the expected correct
RBuilt-in self test, SRAM,                                  data and a circuit under test (CUT). Testability is
                                                            achieved without disturbing normal system
I. INTRODUCTION                                             functionality and with no area overhead, since the
         As integrated circuits are produced with           RBIST logic is configured on the CLBs which are
greater and greater levels of circuit density, efficient    not utilized by system function. We have utilized the
testing schemes that guarantee very high fault              flexibility of on-site programming and re-
coverage while minimizing test costs and chip area          programming of FPGA for implementing the fault
overhead have become essential [1]. As the                  detection      correction   technique.         Partial
complexity of circuits continues to increase, high          Reconfiguration (PR) is a process of modifying a
fault coverage of several types of fault models             subset of logic in an operating FPGA design by
becomes more difficult to achieve with traditional          downloading a partial configuration file [3]. In this



                                                                                                 1517 | P a g e
Mrs.Jamuna.S, Dr. V.K. Agrawal / International Journal of Engineering Research and
                   Applications (IJERA) ISSN: 2248-9622 www.ijera.com
                    Vol. 3, Issue 1, January -February 2013, pp.1517-1521
paper we explain how faults can be detected and          properly. Yet, defects created during the
corrected using RBIST. PR concept is been taken          manufacturing process are unavoidable and, as a
as a base for RBIST.                                     result, some number of FPGA’s is expected to be
   In this paper section II presents overview of         faulty; therefore, testing is required to guarantee
FPGA CLB architecture, types of faults and fault         fault free FPGA’s.Faults can be divided into two
models and previous techniques. Section III explains     categories:
partial reconfiguration concept and self test            1. Permanent Faults
controller. Section IV gives Implementation results      2. Transient Faults
and concludes with V.                                              Fabrication faults and design faults are
                                                         among the permanent faults. Transient faults,
II. General FPGA and CLB Architecture of                 commonly called single event upsets (SEUs), are
VIRTEX5:                                                 brief incorrect values resulting from external forces
         There are several families of FPGAs             (terrestrial radiation, particles from solar flares,
available from different semiconductor companies.        cosmic rays, and radiation from other space
These device families slightly differ in their           phenomena) altering the balance or locations of
architecture and feature set, however most of them       electrons, usually in a small area of the system.
follow a common approach: A regular, flexible,           Fault models are required for emulation of faults or
programmable architecture of Configurable Logic          defects in a simulation environment. Because of the
Blocks (CLBs), surrounded by a perimeter of              diversity of defects, it is difficult to generate tests
programmable Input/output Blocks (IOBs). These           for real defects. Fault models are necessary for
functional elements are interconnected by a              generating and evaluating a set of test vectors.
powerful hierarchy of versatile routing channels.        Fault models can be divided into three types
                                                              1. Interconnect fault model
A. CLB and Slice Description:                                 2. Logic Block fault model
     Each CLB contains two Slices- SliceL(logic               3. Delay Fault
slice ) and SliceM(memory slice).Each Slice has
four basic logic elements. Logic element intern has       C. Previous Approaches:
a logic function generator (Look up table), a storage             In the related research, there are different
element, Multiplexers and Carry logic.The basic          approaches targeting fault detection in SRAM-
Virtex-5 logic element is illustrated in Fig1. It is     based FPGAs. The first group aims at testing the
composed of a 6-input look-up table (LUT), a             FPGA by using the reconfigurability and the
configurable flip-flop/latch, and multiplexers to        programming facilities of the device [4]–[12]. The
control the combinational logic output and the           second group aims at the modification of the
registered output (flip-flop/latch input).Fig.1 shows    original FPGA hardware to a new structure to make
block diagram of a CLB.                                  testing easy [13]–[16]. Conventionally, this class is
                                                         named design for testability (DFT).
                                                         Testing of a single CLB: FPGA consists of NxN
                                                         array of CLBs (2-D array). Testing can be done
                                                         considering a single CLB at a time but in order to
                                                         test all CLBs more time is required. Number of
                                                         configurations applied depends on the number of
                                                         CLB i/ps. Therefore testing a single CLB at a time
                                                         becomes impractical. To reduce test time, [4], [5]
                                                         [10] & [11] aimed to minimize the number of
                                                         configurations. In [15], 21 CLB configurations were
                                                         used for testing XC4000family.M.Renovell et al [4]
         Fig.1 Structure of CLB                          Used 8 configurations. While T. Inoue et al [1]
                                                         technique used only 4 configurations. C.Stroud et al
                                                         [5] achieved maximal fault coverage only during
B. Fault & Fault Models
          A fault is the representation of a defect      offline testing. It used pseudo exhaustive testing
reflecting a physical condition that causes a circuit    excluding functionality of the FPGA.
to fail to perform in a required manner. A circuit
error is a wrong output signal produced by a             III. PR concept and Self test controller
defective circuit. The reduction in feature size                  Partial reconfiguration is a powerful
increases the probability that a manufacturing defect    solution that can dramatically extend the capabilities
in the IC will result in a faulty chip. FPGA’s are no    of FPGAs. In addition to the potential for reducing
exception from this. A very small defect can easily      size, weight, power, and cost, partial reconfiguration
found when the feature size of the device is less than   enables new types of FPGA designs that provide
100 nm. Furthermore, it takes only one faulty CLB        efficiencies unattainable with conventional design
or wire to make the entire FPGA fail to function         techniques[17]. PR takes this flexibility of FPGAs



                                                                                               1518 | P a g e
Mrs.Jamuna.S, Dr. V.K. Agrawal / International Journal of Engineering Research and
                   Applications (IJERA) ISSN: 2248-9622 www.ijera.com
                    Vol. 3, Issue 1, January -February 2013, pp.1517-1521
one step further, allowing the modification of an
operating FPGA design by loading a partial
configuration file, usually a partial bit file. After a
full bit file configures the FPGA, partial bit files can
be downloaded to modify reconfigurable regions in
the FPGA without compromising the integrity of the
applications running on those parts of the device
that are not being reconfigured.[18].
           In an SRAM-based FPGA, all user-
programmable features are controlled by memory
cells that are volatile and must be configured on
power-up. These memory cells are known as the
configuration memory, and they define the look-up
table (LUT) equations, signal routing, input/output
block (IOB) voltage standards, and all other aspects
of the design[R]. In order to program the
configuration memory, instructions for the
configuration control logic and data for the
configuration memory are provided in the form of a
bit stream, which is downloaded to the device
through a suitable configuration interface. An FPGA
can be partially reconfigured using a partial bit
stream. This partial bit stream in turn changes logic
of a selected part of the design while rest of the
device continues to operate.
           We have designed an online self tester
using PR for detection and correction of faults in the
CLBs. HDL model of a CLB of VIRTEX5 is taken
as circuit under test[CUT] . Two copies of the CLB
are considered at a time. Faults are introduced at
random locations in one and other is configured as
fault free. CLB where faults are introduced is
defined as Partial blocks using Plan ahead tool of
ISE software.

Self test controller: RBIST Controller is a finite
state machine, whose state transition is controlled by
the Test Mode (TM) input. It provides the clock
signal to the test pattern generator (LFSR), Circuit
Under Test (CUT) and the signature generation
circuit (MISR). The RBIST controller also decides
the input to the circuit under test based on whether
the module is in normal mode or test mode on
seeing the Test Mode (TM) input. Fig. 2 depicts the
procedure.

                                                           Fig. 2 flowchart for fault detection procedure.

                                                           Fault correction: once identification of stuck – at
                                                           faults is over, fault correction logic is applied. Fault
                                                           correction logic block also is implemented as a PR
                                                           block as it has to take multiple configuration bit files
                                                           depending on the position of fault. Correction of
                                                           faults is done by modifying the content of CLB.
                                                           Faulty cells of the logic slice are avoided with the
                                                           help of partial reconfiguration. For fault correction,
                                                           configuration memory is accessed through the
                                                           internal configuration access port (ICAP).Detected
                                                           faults are avoided by shifting the bits of
                                                           configuration memory content as per the design



                                                                                                 1519 | P a g e
Mrs.Jamuna.S, Dr. V.K. Agrawal / International Journal of Engineering Research and
                   Applications (IJERA) ISSN: 2248-9622 www.ijera.com
                    Vol. 3, Issue 1, January -February 2013, pp.1517-1521
requirement. Partial bit files are generated and
downloaded on to the device depending on the
position of fault. We have applied this technique for
detection and correction of single as well as multiple
faults. RTL schematic of the technique is as in fig.3




                                                         Fig 5. routed design on VIRTEX5 FPGA.
Fig. 3 RTL schematic.

IV. Implementation Results:
         As we can see in fig .4, reconfigurable self
tester and fault correction blocks have been defined
as partially reconfigurable blocks and implemented
successfully. Interconnected structure of the design
is as shown in fig 5.Bit files are generated for the
previously defined partial blocks which are then
down loaded to VIRTEX5 on the ML507 board.




                                                         Fig. 6 result after bit file generation.

                                                         V. Conclusion
                                                                   In this paper we have explained about
                                                         detection and correction of stuck-at faults which
                                                         occur in CLB of an FPGA. VHDL is used for
                                                         modeling the device under test. Partial
                                                         reconfiguration concept is used for correcting the
                                                         faults through ICAP configuration interface. Using
                                                         this single as well as multiple faults can be detected
                                                         and corrected. As we can optimize placement and
                                                         mapping of the logic blocks in plan ahead tool of
                                                         XILINX        ISE12.4,     area      overhead      and
                                                         implementation time is reduced.
Fig.4. Implemented Pblocks of RBIST and FC




                                                                                                    1520 | P a g e
Mrs.Jamuna.S, Dr. V.K. Agrawal / International Journal of Engineering Research and
                Applications (IJERA) ISSN: 2248-9622 www.ijera.com
                 Vol. 3, Issue 1, January -February 2013, pp.1517-1521
REFERENCES                                            channel FPGAs,” in Proc. ACMInt. Symp.
  [1].   M.Bushnell and V.D. Agarwal, “ Essentials              on FPGAs, Feb. 1995, pp. 125–131.
         of Electronic Testing for Digital, Memory         [14] A. Doumar, T. Ohmameuda, and H. Ito,
         and Mixed-signal VLSI Circuits” Kluwer                 “Design of an automatic testing for
         Academic Publishers, 2000.                             FPGAs,” in Proc. IEEE Euro. Test
  [2]    C. Metra, G. Mojoli, S. Pastore, D. Salvi,             Workshop, May 1999.
         and G.Sechi, “Novel technique for testing         [15] Fast testable design for SRAM-based
         FPGAs,” Proc. IEEE Design Automation                   FPGAs,” IEICE Trans. Inform. Sys., vol.
         and Test in Europe, pp. 89–94, 1998.                   E83-D, no. 5, pp. 116–1127, May 2000.
  [3]    Xilinx,    “Two      Flows    for      Partial    [16] “Virtex-5 FPGA User Guide,”          user
         Reconfiguration: Module Based or                       manual: UG190 (v5.3)., May 17, 2010.
         Difference Based,” XAPP290,                      [17] WP374 (v1.0) July 23, 2010, Partial
 [4]     L.T. Wang, Cheng- Wen Wu and Xiaoqing                  Reconfiguration ofVirtex FPGAs in ISE 12
         Wen,      “VLSI     Test    Principles      &    [18] ug702 Partial Reconfiguration User Guide
         Architectures Design for testability”.
  [5]    C. Stroud, S. Konala, P. Chen, and
         M.Abramovici, “Built-in self-test of logic
         in FPGAs,” in Proc. 14th Very Large Scale
         Integration (VLSI) Test Symp., 1996, pp.
         387–392.
  [6]    W. K. Huang, M. Y. Zhang, F. J. Meyer,
         and F. Lombardi, “A XOR-tree based
         technique for constant testability of
         configurable FPGAs,” in Proc. Asian Test
         Symp., 1997, pp. 248–253.
  [7]    W. K. Huang, F. J. Meyer, and F.
         Lombardi, “Multiple fault detection in
         logic resources of FPGAs,” in Proc. Defect
         and Fault Tolerance in Very Large Scale
         Integration (VLSI) Systems, 1997, pp. 186–
         194.
 [8],    “Testing configurable LUT-basedFPGAs,”
         IEEE Trans. VLSI Syst., vol. 6, pp. 276–
         283,June 1998.
  [9]    W. K. Huang and F. Lombardi, “An
         approach for testing programmable/
         configurable field programmable gate
         arrays,” in Proc. IEEE Very Large Scale
         Integration (VLSI) Test Symp., Princeton,
         NJ, 1996, pp. 450–455.
  [10]   T. Inoue, H. Fujiwara, H. Michinishi,
         T.Yokohira, and T. Okamoto, “Universal
         test complexity of field-programmable
         gate arrays,” in Proc. 4th IEEE Asian Test
         Symp., Nov. 1995, pp. 259–265.
  [11]   M. Renovell, J. Figueras, and Y. Zorian,
         “Test of RAM-based FPGA: Methodology
         and      application to the interconnect
         structure,” in Proc.       15th IEEE Very
         Large Scale Integraton (VLSI) Test Symp.,
         1997, pp. 204–209.
  [12]   F. Ferrandi, F. Fummi, L. Pozzi, and M. G.
         Sami, “Configuration-specific test pattern
         extraction for field programmable gate
         arrays,” in Proc. Defect and Fault
         Tolerance in Very Large Scale Integration
         (VLSI) Systems, 1997, pp. 85–93.
  [13]   T. Liu, W. K. Huang, and F. Lombardi,
         “Testing of uncustomized segmented




                                                                                         1521 | P a g e

More Related Content

What's hot

Xilinx Cool Runner Architecture
Xilinx Cool Runner ArchitectureXilinx Cool Runner Architecture
Xilinx Cool Runner Architecturedragonpradeep
 
Field-programmable gate array
Field-programmable gate arrayField-programmable gate array
Field-programmable gate arrayPrinceArjun1999
 
Microcontroller Based Testing of Digital IP-Core
Microcontroller Based Testing of Digital IP-CoreMicrocontroller Based Testing of Digital IP-Core
Microcontroller Based Testing of Digital IP-CoreVLSICS Design
 
Tieng Nguyen resume
Tieng Nguyen resumeTieng Nguyen resume
Tieng Nguyen resumeTieng Nguyen
 
FPGA Overview
FPGA OverviewFPGA Overview
FPGA OverviewMetalMath
 
FPGAs : An Overview
FPGAs : An OverviewFPGAs : An Overview
FPGAs : An OverviewSanjiv Malik
 
PLA Minimization -Testing
PLA Minimization -TestingPLA Minimization -Testing
PLA Minimization -TestingDr.YNM
 
Semi Custom Integrated Circuit Design
 Semi Custom Integrated Circuit Design Semi Custom Integrated Circuit Design
Semi Custom Integrated Circuit DesignDr.YNM
 
Re usable continuous-time analog sva assertions
Re usable continuous-time analog sva assertionsRe usable continuous-time analog sva assertions
Re usable continuous-time analog sva assertionsRégis SANTONJA
 
FPGA Intro
FPGA IntroFPGA Intro
FPGA Intronaito88
 
Overview of digital design with Verilog HDL
Overview of digital design with Verilog HDLOverview of digital design with Verilog HDL
Overview of digital design with Verilog HDLanand hd
 
EEL4851writeup.doc
EEL4851writeup.docEEL4851writeup.doc
EEL4851writeup.docbutest
 
Upgrading to System Verilog for FPGA Designs, Srinivasan Venkataramanan, CVC
Upgrading to System Verilog for FPGA Designs, Srinivasan Venkataramanan, CVCUpgrading to System Verilog for FPGA Designs, Srinivasan Venkataramanan, CVC
Upgrading to System Verilog for FPGA Designs, Srinivasan Venkataramanan, CVCFPGA Central
 

What's hot (18)

Xilinx Cool Runner Architecture
Xilinx Cool Runner ArchitectureXilinx Cool Runner Architecture
Xilinx Cool Runner Architecture
 
What is FPGA?
What is FPGA?What is FPGA?
What is FPGA?
 
Lecture syn 024.cpld-fpga
Lecture syn 024.cpld-fpgaLecture syn 024.cpld-fpga
Lecture syn 024.cpld-fpga
 
Field-programmable gate array
Field-programmable gate arrayField-programmable gate array
Field-programmable gate array
 
Microcontroller Based Testing of Digital IP-Core
Microcontroller Based Testing of Digital IP-CoreMicrocontroller Based Testing of Digital IP-Core
Microcontroller Based Testing of Digital IP-Core
 
Asic
AsicAsic
Asic
 
Tieng Nguyen resume
Tieng Nguyen resumeTieng Nguyen resume
Tieng Nguyen resume
 
FPGA Overview
FPGA OverviewFPGA Overview
FPGA Overview
 
FPGAs : An Overview
FPGAs : An OverviewFPGAs : An Overview
FPGAs : An Overview
 
PLA Minimization -Testing
PLA Minimization -TestingPLA Minimization -Testing
PLA Minimization -Testing
 
Semi Custom Integrated Circuit Design
 Semi Custom Integrated Circuit Design Semi Custom Integrated Circuit Design
Semi Custom Integrated Circuit Design
 
Asic
AsicAsic
Asic
 
ASIC
ASICASIC
ASIC
 
Re usable continuous-time analog sva assertions
Re usable continuous-time analog sva assertionsRe usable continuous-time analog sva assertions
Re usable continuous-time analog sva assertions
 
FPGA Intro
FPGA IntroFPGA Intro
FPGA Intro
 
Overview of digital design with Verilog HDL
Overview of digital design with Verilog HDLOverview of digital design with Verilog HDL
Overview of digital design with Verilog HDL
 
EEL4851writeup.doc
EEL4851writeup.docEEL4851writeup.doc
EEL4851writeup.doc
 
Upgrading to System Verilog for FPGA Designs, Srinivasan Venkataramanan, CVC
Upgrading to System Verilog for FPGA Designs, Srinivasan Venkataramanan, CVCUpgrading to System Verilog for FPGA Designs, Srinivasan Venkataramanan, CVC
Upgrading to System Verilog for FPGA Designs, Srinivasan Venkataramanan, CVC
 

Viewers also liked

Cometarios39 40
Cometarios39 40Cometarios39 40
Cometarios39 40maicolas
 
Presentation1
Presentation1Presentation1
Presentation1Ffaaffaa
 
C:\Fakepath\Puerto Usb
C:\Fakepath\Puerto UsbC:\Fakepath\Puerto Usb
C:\Fakepath\Puerto Usbguest86bf3e9
 
nowGoogle.com adalah Multiple Search Engine Popular SEO GGUIDER
nowGoogle.com adalah Multiple Search Engine Popular SEO GGUIDERnowGoogle.com adalah Multiple Search Engine Popular SEO GGUIDER
nowGoogle.com adalah Multiple Search Engine Popular SEO GGUIDERTeknik Biasa
 
ordenagailuaren osagaiak
ordenagailuaren osagaiakordenagailuaren osagaiak
ordenagailuaren osagaiaksusperregi
 
Presentación de apoyo a las actividades en linea en la plataforma tellmemore
Presentación de apoyo a las actividades en linea en la plataforma tellmemorePresentación de apoyo a las actividades en linea en la plataforma tellmemore
Presentación de apoyo a las actividades en linea en la plataforma tellmemoresena
 
Habilidades e competencias_do_administrador_de
Habilidades e competencias_do_administrador_deHabilidades e competencias_do_administrador_de
Habilidades e competencias_do_administrador_deUCPel
 
Se Un Angel 2009 Enlazando Esfuerzos
Se Un Angel 2009 Enlazando EsfuerzosSe Un Angel 2009 Enlazando Esfuerzos
Se Un Angel 2009 Enlazando EsfuerzosHannia
 
Apresentação ti cs publicando slides
Apresentação ti cs publicando slidesApresentação ti cs publicando slides
Apresentação ti cs publicando slideslucicler
 
Oficio "Ayudante de Apicultor."
Oficio "Ayudante de Apicultor."Oficio "Ayudante de Apicultor."
Oficio "Ayudante de Apicultor."guestd03fc9
 
Autismoa ikt
Autismoa iktAutismoa ikt
Autismoa iktnerea89
 

Viewers also liked (20)

Hn3114461450
Hn3114461450Hn3114461450
Hn3114461450
 
Vol2d
Vol2dVol2d
Vol2d
 
N
NN
N
 
Resume2
Resume2Resume2
Resume2
 
Cometarios39 40
Cometarios39 40Cometarios39 40
Cometarios39 40
 
Presentation1
Presentation1Presentation1
Presentation1
 
C:\Fakepath\Puerto Usb
C:\Fakepath\Puerto UsbC:\Fakepath\Puerto Usb
C:\Fakepath\Puerto Usb
 
nowGoogle.com adalah Multiple Search Engine Popular SEO GGUIDER
nowGoogle.com adalah Multiple Search Engine Popular SEO GGUIDERnowGoogle.com adalah Multiple Search Engine Popular SEO GGUIDER
nowGoogle.com adalah Multiple Search Engine Popular SEO GGUIDER
 
ordenagailuaren osagaiak
ordenagailuaren osagaiakordenagailuaren osagaiak
ordenagailuaren osagaiak
 
New Designation
New DesignationNew Designation
New Designation
 
Presentación de apoyo a las actividades en linea en la plataforma tellmemore
Presentación de apoyo a las actividades en linea en la plataforma tellmemorePresentación de apoyo a las actividades en linea en la plataforma tellmemore
Presentación de apoyo a las actividades en linea en la plataforma tellmemore
 
Habilidades e competencias_do_administrador_de
Habilidades e competencias_do_administrador_deHabilidades e competencias_do_administrador_de
Habilidades e competencias_do_administrador_de
 
Se Un Angel 2009 Enlazando Esfuerzos
Se Un Angel 2009 Enlazando EsfuerzosSe Un Angel 2009 Enlazando Esfuerzos
Se Un Angel 2009 Enlazando Esfuerzos
 
Exodo 22 18
Exodo 22 18Exodo 22 18
Exodo 22 18
 
Apresentação ti cs publicando slides
Apresentação ti cs publicando slidesApresentação ti cs publicando slides
Apresentação ti cs publicando slides
 
Hallgrím péturson
Hallgrím pétursonHallgrím péturson
Hallgrím péturson
 
George berkeley
George berkeleyGeorge berkeley
George berkeley
 
Oficio "Ayudante de Apicultor."
Oficio "Ayudante de Apicultor."Oficio "Ayudante de Apicultor."
Oficio "Ayudante de Apicultor."
 
Autismoa ikt
Autismoa iktAutismoa ikt
Autismoa ikt
 
ardora 01
ardora 01ardora 01
ardora 01
 

Similar to Ia3115171521

DESIGN APPROACH FOR FAULT TOLERANCE IN FPGA ARCHITECTURE
DESIGN APPROACH FOR FAULT TOLERANCE IN FPGA ARCHITECTUREDESIGN APPROACH FOR FAULT TOLERANCE IN FPGA ARCHITECTURE
DESIGN APPROACH FOR FAULT TOLERANCE IN FPGA ARCHITECTUREVLSICS Design
 
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...IRJET Journal
 
Fpga based motor controller
Fpga based motor controllerFpga based motor controller
Fpga based motor controllerUday Wankar
 
FPGA Debug Using Incremental Trace Buffer
FPGA Debug Using Incremental Trace BufferFPGA Debug Using Incremental Trace Buffer
FPGA Debug Using Incremental Trace Bufferpaperpublications3
 
978-1-4577-1343-912$26.00 ©2014 IEEE Reliability an.docx
978-1-4577-1343-912$26.00 ©2014 IEEE  Reliability an.docx978-1-4577-1343-912$26.00 ©2014 IEEE  Reliability an.docx
978-1-4577-1343-912$26.00 ©2014 IEEE Reliability an.docxevonnehoggarth79783
 
Field programable gate array
Field programable gate arrayField programable gate array
Field programable gate arrayNeha Agarwal
 
IRJET- Review on Dynamic Reconfiguration of Filters for Signal Processing
IRJET- Review on Dynamic Reconfiguration of Filters for Signal ProcessingIRJET- Review on Dynamic Reconfiguration of Filters for Signal Processing
IRJET- Review on Dynamic Reconfiguration of Filters for Signal ProcessingIRJET Journal
 
Selective fitting strategy based real time placement algorithm for dynamicall...
Selective fitting strategy based real time placement algorithm for dynamicall...Selective fitting strategy based real time placement algorithm for dynamicall...
Selective fitting strategy based real time placement algorithm for dynamicall...eSAT Publishing House
 
Programmable logic controller performance enhancement by field programmable g...
Programmable logic controller performance enhancement by field programmable g...Programmable logic controller performance enhancement by field programmable g...
Programmable logic controller performance enhancement by field programmable g...ISA Interchange
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)ijceronline
 

Similar to Ia3115171521 (20)

DESIGN APPROACH FOR FAULT TOLERANCE IN FPGA ARCHITECTURE
DESIGN APPROACH FOR FAULT TOLERANCE IN FPGA ARCHITECTUREDESIGN APPROACH FOR FAULT TOLERANCE IN FPGA ARCHITECTURE
DESIGN APPROACH FOR FAULT TOLERANCE IN FPGA ARCHITECTURE
 
Gb2511071110
Gb2511071110Gb2511071110
Gb2511071110
 
Fpg as 11 body
Fpg as 11 bodyFpg as 11 body
Fpg as 11 body
 
Convolution
ConvolutionConvolution
Convolution
 
Introduction to FPGAs
Introduction to FPGAsIntroduction to FPGAs
Introduction to FPGAs
 
Fpga lecture
Fpga lectureFpga lecture
Fpga lecture
 
Subhadeep fpga-vs-mcu
Subhadeep fpga-vs-mcuSubhadeep fpga-vs-mcu
Subhadeep fpga-vs-mcu
 
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
IRJET- A Review- FPGA based Architectures for Image Capturing Consequently Pr...
 
Fpga based motor controller
Fpga based motor controllerFpga based motor controller
Fpga based motor controller
 
FPGA Debug Using Incremental Trace Buffer
FPGA Debug Using Incremental Trace BufferFPGA Debug Using Incremental Trace Buffer
FPGA Debug Using Incremental Trace Buffer
 
Fpga intro1
Fpga intro1Fpga intro1
Fpga intro1
 
91 94
91 9491 94
91 94
 
91 94
91 9491 94
91 94
 
978-1-4577-1343-912$26.00 ©2014 IEEE Reliability an.docx
978-1-4577-1343-912$26.00 ©2014 IEEE  Reliability an.docx978-1-4577-1343-912$26.00 ©2014 IEEE  Reliability an.docx
978-1-4577-1343-912$26.00 ©2014 IEEE Reliability an.docx
 
Field programable gate array
Field programable gate arrayField programable gate array
Field programable gate array
 
IRJET- Review on Dynamic Reconfiguration of Filters for Signal Processing
IRJET- Review on Dynamic Reconfiguration of Filters for Signal ProcessingIRJET- Review on Dynamic Reconfiguration of Filters for Signal Processing
IRJET- Review on Dynamic Reconfiguration of Filters for Signal Processing
 
Selective fitting strategy based real time placement algorithm for dynamicall...
Selective fitting strategy based real time placement algorithm for dynamicall...Selective fitting strategy based real time placement algorithm for dynamicall...
Selective fitting strategy based real time placement algorithm for dynamicall...
 
Programmable logic controller performance enhancement by field programmable g...
Programmable logic controller performance enhancement by field programmable g...Programmable logic controller performance enhancement by field programmable g...
Programmable logic controller performance enhancement by field programmable g...
 
Fpga Knowledge
Fpga KnowledgeFpga Knowledge
Fpga Knowledge
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 

Ia3115171521

  • 1. Mrs.Jamuna.S, Dr. V.K. Agrawal / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 3, Issue 1, January -February 2013, pp.1517-1521 Partially reconfigured self test controller for fault detection and correction for FPGAs Mrs.Jamuna.S1, Dr. V.K. Agrawal2 1Associate Professor, Department of ECE, DSCE, Bangalore 2 Director,CORI,PESIT , Bangalore Abstract Field programmable gate arrays testing paradigms. Integrated circuits are presently (FPGAs) are the reconfigurable logic devices tested using a number of structured designs for which are widely used in many applications like testability (DFT) techniques. These techniques use system prototyping, complex computing systems, the general concept of making all or some state automotive electronics and mobile devices. variables controllable and observable [2]. Configurable Logic Blocks (CLBs) are the main A Field-Programmable Gate Array (FPGA) logic resources for implementing sequential as is a logic device that can be programmed to well as combinatorial circuits in FPGA. implement a variety of digital circuits. FPGAs are However, increase in density and complexity also widely used both in product prototyping and has resulted in more probability of faults. To development because of their ability for effectively deal with the increased defect density, configuration and re-configuration. Some of the we need efficient methods for fault detection and advantages are reduced design time and low non- correction. Many methods have been developed recurring engineering cost. FPGA consists of an for fault detection, fault diagnosis and fault array of configurable logic blocks inter connected tolerance. Partial reconfiguration [PR] is a by programmable routing resources, and powerful solution which extends the capabilities programmable I/O cells. The set of all programming of FPGAs. PR is a technique, which allows a bits establishes a configuration which determines portion of an FPGA to be reconfigured while the function of the device. With the increase in other regions of the device continue to operate density, capability and speed, FPGAs have become without any interruption. It is very useful for the more vulnerable to faults, as it is the case for all devices operating in mission-critical applications integrated circuits. A percentage of manufactured which cannot be disrupted while some FPGA chips are determined to be faulty after initial subsystems are being reconfigured. Here, we application-independent tests. Faulty FPGAs can introduce an approach for FPGA testing that also be found after delivery to users, during system exploits the reprogram ability of a FPGA to development or operation. They may be still usable create the self-test logic by configuring it using for some particular application if only a portion of partial reconfiguration process. We have the circuitry is defective. designed a reconfigurable built-in self test Reconfigurable Built-In Self Test is a controller (RBIST) for coordinating the technique of integrating the functionality of an operations like detection and correction of faults. automatic test system onto CLBs of FPGA. It is a This technique is based on high level description Design for Test technique in which testing (test without modifying the device architecture. All generation and test application) is accomplished the reconfigurable modules are designed and through built in hardware features. The general implemented using Xilinx ISE 12.4 and ML 507 RBIST architecture has a self test controller which FPGA board. controls entire tester circuit, test pattern generator which generates the test address sequence, response Key words – Configurable logic block, Field verification as a comparator which compares the programmable gate array, Partial Reconfiguration, memory output response with the expected correct RBuilt-in self test, SRAM, data and a circuit under test (CUT). Testability is achieved without disturbing normal system I. INTRODUCTION functionality and with no area overhead, since the As integrated circuits are produced with RBIST logic is configured on the CLBs which are greater and greater levels of circuit density, efficient not utilized by system function. We have utilized the testing schemes that guarantee very high fault flexibility of on-site programming and re- coverage while minimizing test costs and chip area programming of FPGA for implementing the fault overhead have become essential [1]. As the detection correction technique. Partial complexity of circuits continues to increase, high Reconfiguration (PR) is a process of modifying a fault coverage of several types of fault models subset of logic in an operating FPGA design by becomes more difficult to achieve with traditional downloading a partial configuration file [3]. In this 1517 | P a g e
  • 2. Mrs.Jamuna.S, Dr. V.K. Agrawal / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 3, Issue 1, January -February 2013, pp.1517-1521 paper we explain how faults can be detected and properly. Yet, defects created during the corrected using RBIST. PR concept is been taken manufacturing process are unavoidable and, as a as a base for RBIST. result, some number of FPGA’s is expected to be In this paper section II presents overview of faulty; therefore, testing is required to guarantee FPGA CLB architecture, types of faults and fault fault free FPGA’s.Faults can be divided into two models and previous techniques. Section III explains categories: partial reconfiguration concept and self test 1. Permanent Faults controller. Section IV gives Implementation results 2. Transient Faults and concludes with V. Fabrication faults and design faults are among the permanent faults. Transient faults, II. General FPGA and CLB Architecture of commonly called single event upsets (SEUs), are VIRTEX5: brief incorrect values resulting from external forces There are several families of FPGAs (terrestrial radiation, particles from solar flares, available from different semiconductor companies. cosmic rays, and radiation from other space These device families slightly differ in their phenomena) altering the balance or locations of architecture and feature set, however most of them electrons, usually in a small area of the system. follow a common approach: A regular, flexible, Fault models are required for emulation of faults or programmable architecture of Configurable Logic defects in a simulation environment. Because of the Blocks (CLBs), surrounded by a perimeter of diversity of defects, it is difficult to generate tests programmable Input/output Blocks (IOBs). These for real defects. Fault models are necessary for functional elements are interconnected by a generating and evaluating a set of test vectors. powerful hierarchy of versatile routing channels. Fault models can be divided into three types 1. Interconnect fault model A. CLB and Slice Description: 2. Logic Block fault model Each CLB contains two Slices- SliceL(logic 3. Delay Fault slice ) and SliceM(memory slice).Each Slice has four basic logic elements. Logic element intern has C. Previous Approaches: a logic function generator (Look up table), a storage In the related research, there are different element, Multiplexers and Carry logic.The basic approaches targeting fault detection in SRAM- Virtex-5 logic element is illustrated in Fig1. It is based FPGAs. The first group aims at testing the composed of a 6-input look-up table (LUT), a FPGA by using the reconfigurability and the configurable flip-flop/latch, and multiplexers to programming facilities of the device [4]–[12]. The control the combinational logic output and the second group aims at the modification of the registered output (flip-flop/latch input).Fig.1 shows original FPGA hardware to a new structure to make block diagram of a CLB. testing easy [13]–[16]. Conventionally, this class is named design for testability (DFT). Testing of a single CLB: FPGA consists of NxN array of CLBs (2-D array). Testing can be done considering a single CLB at a time but in order to test all CLBs more time is required. Number of configurations applied depends on the number of CLB i/ps. Therefore testing a single CLB at a time becomes impractical. To reduce test time, [4], [5] [10] & [11] aimed to minimize the number of configurations. In [15], 21 CLB configurations were used for testing XC4000family.M.Renovell et al [4] Fig.1 Structure of CLB Used 8 configurations. While T. Inoue et al [1] technique used only 4 configurations. C.Stroud et al [5] achieved maximal fault coverage only during B. Fault & Fault Models A fault is the representation of a defect offline testing. It used pseudo exhaustive testing reflecting a physical condition that causes a circuit excluding functionality of the FPGA. to fail to perform in a required manner. A circuit error is a wrong output signal produced by a III. PR concept and Self test controller defective circuit. The reduction in feature size Partial reconfiguration is a powerful increases the probability that a manufacturing defect solution that can dramatically extend the capabilities in the IC will result in a faulty chip. FPGA’s are no of FPGAs. In addition to the potential for reducing exception from this. A very small defect can easily size, weight, power, and cost, partial reconfiguration found when the feature size of the device is less than enables new types of FPGA designs that provide 100 nm. Furthermore, it takes only one faulty CLB efficiencies unattainable with conventional design or wire to make the entire FPGA fail to function techniques[17]. PR takes this flexibility of FPGAs 1518 | P a g e
  • 3. Mrs.Jamuna.S, Dr. V.K. Agrawal / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 3, Issue 1, January -February 2013, pp.1517-1521 one step further, allowing the modification of an operating FPGA design by loading a partial configuration file, usually a partial bit file. After a full bit file configures the FPGA, partial bit files can be downloaded to modify reconfigurable regions in the FPGA without compromising the integrity of the applications running on those parts of the device that are not being reconfigured.[18]. In an SRAM-based FPGA, all user- programmable features are controlled by memory cells that are volatile and must be configured on power-up. These memory cells are known as the configuration memory, and they define the look-up table (LUT) equations, signal routing, input/output block (IOB) voltage standards, and all other aspects of the design[R]. In order to program the configuration memory, instructions for the configuration control logic and data for the configuration memory are provided in the form of a bit stream, which is downloaded to the device through a suitable configuration interface. An FPGA can be partially reconfigured using a partial bit stream. This partial bit stream in turn changes logic of a selected part of the design while rest of the device continues to operate. We have designed an online self tester using PR for detection and correction of faults in the CLBs. HDL model of a CLB of VIRTEX5 is taken as circuit under test[CUT] . Two copies of the CLB are considered at a time. Faults are introduced at random locations in one and other is configured as fault free. CLB where faults are introduced is defined as Partial blocks using Plan ahead tool of ISE software. Self test controller: RBIST Controller is a finite state machine, whose state transition is controlled by the Test Mode (TM) input. It provides the clock signal to the test pattern generator (LFSR), Circuit Under Test (CUT) and the signature generation circuit (MISR). The RBIST controller also decides the input to the circuit under test based on whether the module is in normal mode or test mode on seeing the Test Mode (TM) input. Fig. 2 depicts the procedure. Fig. 2 flowchart for fault detection procedure. Fault correction: once identification of stuck – at faults is over, fault correction logic is applied. Fault correction logic block also is implemented as a PR block as it has to take multiple configuration bit files depending on the position of fault. Correction of faults is done by modifying the content of CLB. Faulty cells of the logic slice are avoided with the help of partial reconfiguration. For fault correction, configuration memory is accessed through the internal configuration access port (ICAP).Detected faults are avoided by shifting the bits of configuration memory content as per the design 1519 | P a g e
  • 4. Mrs.Jamuna.S, Dr. V.K. Agrawal / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 3, Issue 1, January -February 2013, pp.1517-1521 requirement. Partial bit files are generated and downloaded on to the device depending on the position of fault. We have applied this technique for detection and correction of single as well as multiple faults. RTL schematic of the technique is as in fig.3 Fig 5. routed design on VIRTEX5 FPGA. Fig. 3 RTL schematic. IV. Implementation Results: As we can see in fig .4, reconfigurable self tester and fault correction blocks have been defined as partially reconfigurable blocks and implemented successfully. Interconnected structure of the design is as shown in fig 5.Bit files are generated for the previously defined partial blocks which are then down loaded to VIRTEX5 on the ML507 board. Fig. 6 result after bit file generation. V. Conclusion In this paper we have explained about detection and correction of stuck-at faults which occur in CLB of an FPGA. VHDL is used for modeling the device under test. Partial reconfiguration concept is used for correcting the faults through ICAP configuration interface. Using this single as well as multiple faults can be detected and corrected. As we can optimize placement and mapping of the logic blocks in plan ahead tool of XILINX ISE12.4, area overhead and implementation time is reduced. Fig.4. Implemented Pblocks of RBIST and FC 1520 | P a g e
  • 5. Mrs.Jamuna.S, Dr. V.K. Agrawal / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 3, Issue 1, January -February 2013, pp.1517-1521 REFERENCES channel FPGAs,” in Proc. ACMInt. Symp. [1]. M.Bushnell and V.D. Agarwal, “ Essentials on FPGAs, Feb. 1995, pp. 125–131. of Electronic Testing for Digital, Memory [14] A. Doumar, T. Ohmameuda, and H. Ito, and Mixed-signal VLSI Circuits” Kluwer “Design of an automatic testing for Academic Publishers, 2000. FPGAs,” in Proc. IEEE Euro. Test [2] C. Metra, G. Mojoli, S. Pastore, D. Salvi, Workshop, May 1999. and G.Sechi, “Novel technique for testing [15] Fast testable design for SRAM-based FPGAs,” Proc. IEEE Design Automation FPGAs,” IEICE Trans. Inform. Sys., vol. and Test in Europe, pp. 89–94, 1998. E83-D, no. 5, pp. 116–1127, May 2000. [3] Xilinx, “Two Flows for Partial [16] “Virtex-5 FPGA User Guide,” user Reconfiguration: Module Based or manual: UG190 (v5.3)., May 17, 2010. Difference Based,” XAPP290, [17] WP374 (v1.0) July 23, 2010, Partial [4] L.T. Wang, Cheng- Wen Wu and Xiaoqing Reconfiguration ofVirtex FPGAs in ISE 12 Wen, “VLSI Test Principles & [18] ug702 Partial Reconfiguration User Guide Architectures Design for testability”. [5] C. Stroud, S. Konala, P. Chen, and M.Abramovici, “Built-in self-test of logic in FPGAs,” in Proc. 14th Very Large Scale Integration (VLSI) Test Symp., 1996, pp. 387–392. [6] W. K. Huang, M. Y. Zhang, F. J. Meyer, and F. Lombardi, “A XOR-tree based technique for constant testability of configurable FPGAs,” in Proc. Asian Test Symp., 1997, pp. 248–253. [7] W. K. Huang, F. J. Meyer, and F. Lombardi, “Multiple fault detection in logic resources of FPGAs,” in Proc. Defect and Fault Tolerance in Very Large Scale Integration (VLSI) Systems, 1997, pp. 186– 194. [8], “Testing configurable LUT-basedFPGAs,” IEEE Trans. VLSI Syst., vol. 6, pp. 276– 283,June 1998. [9] W. K. Huang and F. Lombardi, “An approach for testing programmable/ configurable field programmable gate arrays,” in Proc. IEEE Very Large Scale Integration (VLSI) Test Symp., Princeton, NJ, 1996, pp. 450–455. [10] T. Inoue, H. Fujiwara, H. Michinishi, T.Yokohira, and T. Okamoto, “Universal test complexity of field-programmable gate arrays,” in Proc. 4th IEEE Asian Test Symp., Nov. 1995, pp. 259–265. [11] M. Renovell, J. Figueras, and Y. Zorian, “Test of RAM-based FPGA: Methodology and application to the interconnect structure,” in Proc. 15th IEEE Very Large Scale Integraton (VLSI) Test Symp., 1997, pp. 204–209. [12] F. Ferrandi, F. Fummi, L. Pozzi, and M. G. Sami, “Configuration-specific test pattern extraction for field programmable gate arrays,” in Proc. Defect and Fault Tolerance in Very Large Scale Integration (VLSI) Systems, 1997, pp. 85–93. [13] T. Liu, W. K. Huang, and F. Lombardi, “Testing of uncustomized segmented 1521 | P a g e