SlideShare une entreprise Scribd logo
1  sur  4
Télécharger pour lire hors ligne
Deepthi.P, Vinay.P / International Journal of Engineering Research and Applications
                      (IJERA)          ISSN: 2248-9622    www.ijera.com
                     Vol. 2, Issue 5, September- October 2012, pp.1107-1110
 Pseudo Exhustive Test Patterns For Online And Offline Bist On
                             Fpga
                                           Deepthi.P, Vinay.P
                                     Department Of Ece, Jntuh, Hyderabad


Abstract
         In this paper we discuss the built-in self-     Circuit-Under-Test (CUT). This is crucial to the
test (BIST) or built-in test (BIT) techniques            quality component of testing. BIST can overcome
forreconfigurable        FPGAs.The      FPGA      is     pin limitations due to packaging, make efficient
configured with the BIST logic during offline            use of available extra chip area, and provide more
testing. Once the test is completed the BIST             detailed information about the faults present. A
configuration is erased and the PGA is                   generic approach to BIST is shown in Fig 1. On a
reconfigured to the original operation. In offline       very basic level, BIST needs a stimulus (the
the BIST logic for the programmable logic blocks         Test Pattern Generator - TPG), a circuit to be
and interconnections are mentioned.                      tested (CUT) and a way to analyze the results
         In online, the original operation of            (ORA). Additionally, there may be compression
FPGA can be configured as a processor ALU                schemes for the TPG and the ORA [2-3].
with built-in-self test (BIST) feature.
         Key features of the design including
FPGA array structure, it’s configuration for
BIST, ALU, application of design with RISC
architecture, data path, and simulation results
are presented. The design is implemented using
VHDL and verified on Xilinx ISE simulator

Keywords-RISC, BIST, VHDL, FPGA                                   programmable logic blocks, interconnects
                                                         and I/O       blocks used to implement both
I.INTRODUCTION                                           combinational and sequential logic by programming
          Field ProgrammableGate Arrays (FPGAs)          these circuit elements. There are several different
feature their ability to be configured in the field      FPGA testing strategies. The main test technique
to implement an arbitrary desired function               that we are going to address is built in self test
according to the real-time demands. This ability         (BIST) method Reduced Instruction Set Computer
of FPGAs can help people to achieve a faster             (RISC) focuses on reducing the number and
design cycle, lower development costs and a              complexity of instructions in the machine. An
reduced time-to market .Therefore, are widely used       arithmetic logic unit is a digital circuit that performs
in many applications such as networking,                 arithmetic and logical operations .The ALU is a
storage      systems, communication, and adaptive        fundamental building block of the central processing
computing.                                               unit of a computer. An ALU loads data from
          Field programmable Gate Arrays (FPGA)          input registers, an external control unit then tells the
are devices consisting of an array of proposed in [5].   ALU what operation to perform on that data, and
These methods are applicable only to reconfigurable      then the ALU stores it result into an output register.
FPGAs.In today’s Integrated Circuits (ICs), Built-
In- Self Test (BIST) is becoming increasingly                     The organization of the paper is as follows:
important as designs become more and more                In Section 2, we present the FPGA array
complicated.        Keeping the structural fault         structure, BIST for CLB and interconnections. In
coverage high along with maintaining an                  section 3, we represent BIST feature ALU, RISC
acceptable design overhead is          critical. It is   processor architecture, and data path of          the
important           to      achieve a          high      proposed design. Simulation results are also
level of reliability with minimum cost and time. It is   provided in this section. The paper concludes in
with this goal in mind that BIST has become a            section 4.
major design consideration in Design-For-
Testability (DFT) methods. BIST is beneficial in         II.BUILT IN SELF TEST (BIST)
many ways: First, it can reduce dependency on                     The Xilinx FPGA uses symmetrical
external Automatic Test Equipment (ATE). In              array structure and the logic blocks are called
addition, BIST can provide at speed, in system           Configurable Logic blocks (CLB). Figure 2 shows
testing of the                                           the basic array structure of a Xilinx FPGA [1].


                                                                                               1107 | P a g e
Deepthi.P, Vinay.P / International Journal of Engineering Research and Applications
                      (IJERA)          ISSN: 2248-9622    www.ijera.com
                     Vol. 2, Issue 5, September- October 2012, pp.1107-1110
                                                          reconfigures the FPGA with the BIST logic and 2)
                                                          initiates the test. 3) The BIST logic generates test
                                                          patterns within the FPGA and 4)               analyzes
                                                          responses and generates the pass/fail output. 5)
                                                          The test controller reads the test results. In steps
                                                          1, 2, 5 the test controller interacts with the FPGA
                                                          through the I/O pins and steps 3, 4 are internal to the
                                                          FPGA.




Fig.2.FPGA ARRAY STRUCTURE

A.TESTING THE CLB
        The CLB consists of 1) Multiplexers and 2)        Fig.3.FPGA configuration for BIST
LUT which together form the combinational part
and 3) Flip flops which form the sequential                         For conducting the self test in steps 3 and 4
module.                                                   some of the CLBs in the FPGA are configured as
                                                          test pattern generators (TPGs) and output response
         The reprogrammable nature of FPGAs can           analyzers (ORAs). The remaining            CLBs are
be used to an advantage for BIST. The FPGA                tested with pseudo exhaustive test patterns as
is configured with the BIST logic during offline          described in [5]. These CLBs are referred to as
testing. Once the test is completed the BIST              the blocks under test (BUTs). As every BUT in
configuration is erased and the FPGA is                   an FPGA is identical, the ORA has to compare the
reconfigured to the original operation. This implies      outputs of any two BUTs. Only if the two BUTs fail
that there is no overhead attached to the BIST in         in an identical manner will the fault escape
terms of additional circuitry or space. The BIST          detection which is highly unlikely. Another case
is applicable at all levels (wafer, package, board,       when the tests would be incomplete is when the two
system) and is performed at normal operating              BUTs are fed by the same faulty TPG. This
frequency [4].                                            problem is solved            by careful configuration
                                                          which ensures that an ORA compares BUTs tested
          A test controller is used to configure          by different TPGs and that all the TPGs are
the FPGA with the BIST logic, start the testing and       synchronized. Figure 3 shows the configuration
read the test results. Additional memory is required      for testing [6].
to store the BIST configuration as well as the                      The BUTs are completely tested for all
original FPGA configuration that is restored after        modes of operation in one test session. After the
the FPGA has been tested. This is the main cost           BUTs are tested the roles of the CLBs are reversed
of the BIST;but memory is available in the test           and the BUTs become TPGs and ORAs and vice
machine and hence no additional resources are             versa and the test session is repeated. At least 2
required of the device under test. Also as the testing    test sessions are required to test the CLBs. In one
is at-speed, the testing time is low and so the cost of   test session as all the BUTs are tested in parallel the
testing is          low.    The       BIST                time required for the BIST does not depend on
configuration is independent of the function              the size of the FPGA.
implemented in the FPGA, and is dependent only                      During most of the test configurations the
on the FPGA architecture so all the FPGAs of              TPGs behave as m-bit binary counters to supply
the same type can be tested by the same BIST              exhaustive test patterns to the m-input BUTs. As the
configuration. This reduces cost of testing because       numbers of inputs are more than number of
of reusability of the test.                               outputs many CLBs are required to generate the
                                                          m-bit counter. As different TPGs are required for
     The main steps of carrying out BIST on a             BUTs compared by the same ORA the number of
FPGA are: 1) The test controller machine                  TPGs required is equal to the number of BUT



                                                                                                1108 | P a g e
Deepthi.P, Vinay.P / International Journal of Engineering Research and Applications
                      (IJERA)          ISSN: 2248-9622    www.ijera.com
                     Vol. 2, Issue 5, September- October 2012, pp.1107-1110
outputs that can be compared by one ORA. An             does the actual operation of the ALU, and the
ORA is built from an LUT for comparing inputs           Testing Architecture, which comes into play only
and a flip-flop that provides feedback to the LUT       during testing. The         Operation Architectures
as shown in figure 3. The flip-flop records the first   consists of        five units, 4-bit Carry Look
error detected       and also disables further          Ahead adder (CLA), and a 4-bit AND, OR,XOR
comparisons by the LUT. All the inputs of the           and INVERTER gates. There is a PreCLA to
LUT except one for the feedback are connected           prepare the inputs based on the arithmetic
to the BUT outputs and the LUT compares the             operation to be done. There is a MUX which uses
values and if there is a mismatch it records it         the select pins to select one of the results from the
on the flip-flop.                                       above five units. The Testing Architecture has a
                                                        ROM which has the discovered test patterns stored
         The Xilinx XC4000 series has two 4- input      in. There is an address decoder to select which
LUTs in a CLB and two flip-flops. So three              of the test patterns will be applied. There is a
comparisons (number of inputs/LUT - 1) per LUT          TestMUX, which depending on the value on the
can be done and hence the number of TPGs                TestMode pin will present the test pattern or the
required is three. The number of inputs and outputs     actual inputs to be operated        upon, to
per CLB are 12 and 5 respectively. To generate a                 the      Operation Architecture.
12-bit counter 12 flip-flops i.e. 6 CLBs are required
for a TPG. All the three parts viz. LUTs, flip flops
and multiplexers of the FPGA are tested and the
fault coverage is 100%.

B.BIST for interconnect
          In [7], the BIST method is extended for
testing     the interconnect faults in both local
(multiplexer PS) and global (switch matrix) routing.
The fault model used covers all stuckoff (stuck-
on), stuck-open (stuck-short), stuck-at 0/1 in both
the wire segments and the PSs. A group of k
wires and PSs are combined to form the wires
under test (WUT), and exhaustive testing is done
by applying all 2k patterns to every group. Such a                          Fig .4. ALU
test that applies 0 and 1 values at one end of the
wire and expects the same value at the other end can    V.APPLICATION
detect any stuck-open fault on a wire with a closed               The RISC processor presented in this paper
PS, and also any stuck- at faults. To test the stuck-   consists of three components. Those are, the ALU
on fault of a PS, opposite values should be applied     with BIST feature, the Data Path, and the ROM.
to both the wire segments associated with that          The Central Processing Unit (CPU) has 33
PS. Multiplexer-based PSs can be tested using           instructions.
functional tests as before, by select all possible
data-inputs and with each data being tested for both
0 and 1 values. The BIST configuration is similar to
the one used for testing CLBs described in above
involving TPGs and ORAs. Test patterns generated
by a TPG are applied to two WUTs and the
outputs are compared by ORA. The path from
the TPG to the ORA consists of the WUTs and
intermediate PLBs that are configured to pass
data from inputs to outputs. This achieves both
local and global interconnect test coverage. The
number of configuration phases required is reduced
as multiple WUTs are tested in parallel. This
method has the same shortcomings as the BIST
for CLBs,          i.e.    identical faults appearing
on WUTs compared by the same ORA will escape                     Fig.5.RISC processor architecture
detection.

IV .BIST feature ALU
        The architecture of the ALU consists of
two parts, the Operation Architecture, which



                                                                                            1109 | P a g e
Deepthi.P, Vinay.P / International Journal of Engineering Research and Applications
                      (IJERA)          ISSN: 2248-9622    www.ijera.com
                     Vol. 2, Issue 5, September- October 2012, pp.1107-1110
                                                         and operation and testing ALU has been
                                                         designed. Every instruction is executed in two
                                                         clock cycles and corresponding result is verified
                                                         with test vectors in ROM. The design is verified
                                                         through exhaustive simulations.

                                                         REFERENCES
                                                           [1]    Stephen Brown and Jonathan Rose,
                                                                  Architecture of FPGAs and CPLDs: A
                                                                  Tutorial, University of Toronto.
                                                           [2].   R. N. Noyce and M. E. Hoff, “A History of
                                                                  Microprocessor Development at Intel,”
                                                                  IEEE Micro, vol. 1, no. 1, 1981, pp. 8-21.
                                                           [3].    J.L.    Hennessy,      "VLSI     Processor
                                                                  Architecture," IEEE Trans.Computers, vol.
        Fig.6. Data path for RISC Processor                       C-33, no. 12, Dec. 1984, pp. 1221-1246.
                                                           [4]    C. Stroud, S. Konala, P. Chen, M.
          The data to the processor is obtained from              Abramovici, Built-In Self-Test of Logic
the external world. The data is processed by the                  Blocks in FPGAs (Finally, a Free Lunch:
processor by apply control signals. The control                   BIST Without Overhead!), Proc. 14th
signal is designed in architecture of processor. After            VLSI Test Symposium, pp. 387-392, 1996.
processing the data its again sent along the data          [5]    E. McCluskey, Verification Testing - A
path of processor to external world.                              Pseudoexhaustive Test Technique, IEEE
                                                                  Transactions on Computers, Vol. C-33, No.
V.SIMULATION RESULTS OF RISC                                      6, pp.541-546, June 1984.
         The design is implemented using VHDL              [6]    R.Sharama,v.k.sehgal,nitin.pranav
and verified on Xilinx ISE simulator.                             bhasker,ishita    verma-     Design     and
                                                                  Implementation of a 64-bit RISC Processor
                                                                  using VHDL, UKSim 2009: 11th
                                                                  International Conference on Computer
                                                                  Modelling and Simulation.
                                                           [7]    C. Stroud, S. Wijesuriya, C. Hamilton, M.
                                                                  Abramovici,Built-in Self Test of FPGA
                                                                  Interconnect,Proc. IEEE International Test
                                                                  Conference., pp.404-411, 1998.




              Fig.7. simulation results

IV. CONCLUSION
          The most important requirement of a good
FPGA test is that it should be independent of the
end-application and the array size. BIST uses
pseudo exhaustive test pattern         that provides
maximum fault coverage without assuming a
fault model. Two           test configurations     are
required for complete testing and testing is
conducted at-speed. Other advantages that BIST
offers is that it does not require additional storage
space for the test vectors, since the CLBs        are
configured as TPGs to generate the test vectors.
The BIST approach generates the test vectors
internally. The comparator based BIST provides
complete test coverage for global and local
routing but fails to detect identical           faults
occurring in two WUTs compared by the same
ORA. RISC processor with 33 instruction set


                                                                                             1110 | P a g e

Contenu connexe

Tendances

An application specific reconfigurable architecture for fault testing and dia...
An application specific reconfigurable architecture for fault testing and dia...An application specific reconfigurable architecture for fault testing and dia...
An application specific reconfigurable architecture for fault testing and dia...eSAT Journals
 
FPGA TECHNOLOGY AND FAMILIES
FPGA TECHNOLOGY AND FAMILIESFPGA TECHNOLOGY AND FAMILIES
FPGA TECHNOLOGY AND FAMILIESrevathilakshmi2
 
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
 
PLA Minimization -Testing
PLA Minimization -TestingPLA Minimization -Testing
PLA Minimization -TestingDr.YNM
 
System Development for Verification of General Purpose Input Output
System Development for Verification of General Purpose Input OutputSystem Development for Verification of General Purpose Input Output
System Development for Verification of General Purpose Input OutputRSIS International
 
FPGA in outer space seminar report
FPGA in outer space seminar reportFPGA in outer space seminar report
FPGA in outer space seminar reportrahul kumar verma
 
UNIT-III CASE STUDIES -FPGA & CPGA ARCHITECTURES APPLICATIONS
UNIT-III CASE STUDIES -FPGA & CPGA ARCHITECTURES APPLICATIONSUNIT-III CASE STUDIES -FPGA & CPGA ARCHITECTURES APPLICATIONS
UNIT-III CASE STUDIES -FPGA & CPGA ARCHITECTURES APPLICATIONSDr.YNM
 
FPGAs : An Overview
FPGAs : An OverviewFPGAs : An Overview
FPGAs : An OverviewSanjiv Malik
 
ARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introductionARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introductionanand hd
 
FPGA Overview
FPGA OverviewFPGA Overview
FPGA OverviewMetalMath
 
Fundamentals of FPGA
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGAvelamakuri
 

Tendances (20)

An application specific reconfigurable architecture for fault testing and dia...
An application specific reconfigurable architecture for fault testing and dia...An application specific reconfigurable architecture for fault testing and dia...
An application specific reconfigurable architecture for fault testing and dia...
 
Lecture syn 024.cpld-fpga
Lecture syn 024.cpld-fpgaLecture syn 024.cpld-fpga
Lecture syn 024.cpld-fpga
 
Dt25720726
Dt25720726Dt25720726
Dt25720726
 
FPGA TECHNOLOGY AND FAMILIES
FPGA TECHNOLOGY AND FAMILIESFPGA TECHNOLOGY AND FAMILIES
FPGA TECHNOLOGY AND FAMILIES
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
FPGA
FPGAFPGA
FPGA
 
Fpga Knowledge
Fpga KnowledgeFpga Knowledge
Fpga Knowledge
 
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...
 
PLA Minimization -Testing
PLA Minimization -TestingPLA Minimization -Testing
PLA Minimization -Testing
 
System Development for Verification of General Purpose Input Output
System Development for Verification of General Purpose Input OutputSystem Development for Verification of General Purpose Input Output
System Development for Verification of General Purpose Input Output
 
FPGA in outer space seminar report
FPGA in outer space seminar reportFPGA in outer space seminar report
FPGA in outer space seminar report
 
UNIT-III CASE STUDIES -FPGA & CPGA ARCHITECTURES APPLICATIONS
UNIT-III CASE STUDIES -FPGA & CPGA ARCHITECTURES APPLICATIONSUNIT-III CASE STUDIES -FPGA & CPGA ARCHITECTURES APPLICATIONS
UNIT-III CASE STUDIES -FPGA & CPGA ARCHITECTURES APPLICATIONS
 
FPGA
FPGAFPGA
FPGA
 
FPGAs : An Overview
FPGAs : An OverviewFPGAs : An Overview
FPGAs : An Overview
 
ARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introductionARM 32-bit Microcontroller Cortex-M3 introduction
ARM 32-bit Microcontroller Cortex-M3 introduction
 
Session 2,3 FPGAs
Session 2,3 FPGAsSession 2,3 FPGAs
Session 2,3 FPGAs
 
FPGA Overview
FPGA OverviewFPGA Overview
FPGA Overview
 
CPLDs
CPLDsCPLDs
CPLDs
 
FPGA In a Nutshell
FPGA In a NutshellFPGA In a Nutshell
FPGA In a Nutshell
 
Fundamentals of FPGA
Fundamentals of FPGAFundamentals of FPGA
Fundamentals of FPGA
 

En vedette

Eleição 2014 una
Eleição 2014 unaEleição 2014 una
Eleição 2014 unaJorge Bahia
 
presentacion_diana
presentacion_dianapresentacion_diana
presentacion_dianadianalabajos
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionIn a Rocket
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanPost Planner
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting PersonalKirsty Hulse
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldabaux singapore
 

En vedette (9)

Fallas en los cueros
Fallas en los cuerosFallas en los cueros
Fallas en los cueros
 
test1
test1test1
test1
 
Eleição 2014 una
Eleição 2014 unaEleição 2014 una
Eleição 2014 una
 
presentacion_diana
presentacion_dianapresentacion_diana
presentacion_diana
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media Plan
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Similaire à Pseudo Exhaustive Test Patterns For Online And Offline Bist On Fpga

Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Spartan-II FPGA (xc2s30)
Spartan-II FPGA (xc2s30)Spartan-II FPGA (xc2s30)
Spartan-II FPGA (xc2s30)A B Shinde
 
4 article azojete vol 8 37 45
4 article azojete vol 8 37 454 article azojete vol 8 37 45
4 article azojete vol 8 37 45Oyeniyi Samuel
 
Fpga architectures and applications
Fpga architectures and applicationsFpga architectures and applications
Fpga architectures and applicationsSudhanshu Janwadkar
 
FPGA Architecture and application
FPGA Architecture and application FPGA Architecture and application
FPGA Architecture and application ADARSHJKALATHIL
 
Fpga implementation of encryption and decryption algorithm based on aes
Fpga implementation of encryption and decryption algorithm based on aesFpga implementation of encryption and decryption algorithm based on aes
Fpga implementation of encryption and decryption algorithm based on aeseSAT Publishing House
 
A Modified Design of Test Pattern Generator for Built-In-Self- Test Applications
A Modified Design of Test Pattern Generator for Built-In-Self- Test ApplicationsA Modified Design of Test Pattern Generator for Built-In-Self- Test Applications
A Modified Design of Test Pattern Generator for Built-In-Self- Test ApplicationsIJERA Editor
 
System designing and modelling using fpga
System designing and modelling using fpgaSystem designing and modelling using fpga
System designing and modelling using fpgaIAEME Publication
 
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
 
Seminar on field programmable gate array
Seminar on field programmable gate arraySeminar on field programmable gate array
Seminar on field programmable gate arraySaransh Choudhary
 
Fpga based motor controller
Fpga based motor controllerFpga based motor controller
Fpga based motor controllerUday Wankar
 
FPGA Design, Architecture and Applications
FPGA Design, Architecture and ApplicationsFPGA Design, Architecture and Applications
FPGA Design, Architecture and ApplicationsLogic Fruit Technologies
 
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
 

Similaire à Pseudo Exhaustive Test Patterns For Online And Offline Bist On Fpga (20)

Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
 
Spartan-II FPGA (xc2s30)
Spartan-II FPGA (xc2s30)Spartan-II FPGA (xc2s30)
Spartan-II FPGA (xc2s30)
 
4 article azojete vol 8 37 45
4 article azojete vol 8 37 454 article azojete vol 8 37 45
4 article azojete vol 8 37 45
 
Fpga architectures and applications
Fpga architectures and applicationsFpga architectures and applications
Fpga architectures and applications
 
FPGA Architecture and application
FPGA Architecture and application FPGA Architecture and application
FPGA Architecture and application
 
Fpg as 11 body
Fpg as 11 bodyFpg as 11 body
Fpg as 11 body
 
Fpga implementation of encryption and decryption algorithm based on aes
Fpga implementation of encryption and decryption algorithm based on aesFpga implementation of encryption and decryption algorithm based on aes
Fpga implementation of encryption and decryption algorithm based on aes
 
Fpga lecture
Fpga lectureFpga lecture
Fpga lecture
 
A Modified Design of Test Pattern Generator for Built-In-Self- Test Applications
A Modified Design of Test Pattern Generator for Built-In-Self- Test ApplicationsA Modified Design of Test Pattern Generator for Built-In-Self- Test Applications
A Modified Design of Test Pattern Generator for Built-In-Self- Test Applications
 
Convolution
ConvolutionConvolution
Convolution
 
Introduction to FPGAs
Introduction to FPGAsIntroduction to FPGAs
Introduction to FPGAs
 
System designing and modelling using fpga
System designing and modelling using fpgaSystem designing and modelling using fpga
System designing and modelling using fpga
 
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...
 
Seminar on field programmable gate array
Seminar on field programmable gate arraySeminar on field programmable gate array
Seminar on field programmable gate array
 
91 94
91 9491 94
91 94
 
91 94
91 9491 94
91 94
 
Intermediate Fabrics
Intermediate FabricsIntermediate Fabrics
Intermediate Fabrics
 
Fpga based motor controller
Fpga based motor controllerFpga based motor controller
Fpga based motor controller
 
FPGA Design, Architecture and Applications
FPGA Design, Architecture and ApplicationsFPGA Design, Architecture and Applications
FPGA Design, Architecture and Applications
 
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
 

Pseudo Exhaustive Test Patterns For Online And Offline Bist On Fpga

  • 1. Deepthi.P, Vinay.P / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 2, Issue 5, September- October 2012, pp.1107-1110 Pseudo Exhustive Test Patterns For Online And Offline Bist On Fpga Deepthi.P, Vinay.P Department Of Ece, Jntuh, Hyderabad Abstract In this paper we discuss the built-in self- Circuit-Under-Test (CUT). This is crucial to the test (BIST) or built-in test (BIT) techniques quality component of testing. BIST can overcome forreconfigurable FPGAs.The FPGA is pin limitations due to packaging, make efficient configured with the BIST logic during offline use of available extra chip area, and provide more testing. Once the test is completed the BIST detailed information about the faults present. A configuration is erased and the PGA is generic approach to BIST is shown in Fig 1. On a reconfigured to the original operation. In offline very basic level, BIST needs a stimulus (the the BIST logic for the programmable logic blocks Test Pattern Generator - TPG), a circuit to be and interconnections are mentioned. tested (CUT) and a way to analyze the results In online, the original operation of (ORA). Additionally, there may be compression FPGA can be configured as a processor ALU schemes for the TPG and the ORA [2-3]. with built-in-self test (BIST) feature. Key features of the design including FPGA array structure, it’s configuration for BIST, ALU, application of design with RISC architecture, data path, and simulation results are presented. The design is implemented using VHDL and verified on Xilinx ISE simulator Keywords-RISC, BIST, VHDL, FPGA programmable logic blocks, interconnects and I/O blocks used to implement both I.INTRODUCTION combinational and sequential logic by programming Field ProgrammableGate Arrays (FPGAs) these circuit elements. There are several different feature their ability to be configured in the field FPGA testing strategies. The main test technique to implement an arbitrary desired function that we are going to address is built in self test according to the real-time demands. This ability (BIST) method Reduced Instruction Set Computer of FPGAs can help people to achieve a faster (RISC) focuses on reducing the number and design cycle, lower development costs and a complexity of instructions in the machine. An reduced time-to market .Therefore, are widely used arithmetic logic unit is a digital circuit that performs in many applications such as networking, arithmetic and logical operations .The ALU is a storage systems, communication, and adaptive fundamental building block of the central processing computing. unit of a computer. An ALU loads data from Field programmable Gate Arrays (FPGA) input registers, an external control unit then tells the are devices consisting of an array of proposed in [5]. ALU what operation to perform on that data, and These methods are applicable only to reconfigurable then the ALU stores it result into an output register. FPGAs.In today’s Integrated Circuits (ICs), Built- In- Self Test (BIST) is becoming increasingly The organization of the paper is as follows: important as designs become more and more In Section 2, we present the FPGA array complicated. Keeping the structural fault structure, BIST for CLB and interconnections. In coverage high along with maintaining an section 3, we represent BIST feature ALU, RISC acceptable design overhead is critical. It is processor architecture, and data path of the important to achieve a high proposed design. Simulation results are also level of reliability with minimum cost and time. It is provided in this section. The paper concludes in with this goal in mind that BIST has become a section 4. major design consideration in Design-For- Testability (DFT) methods. BIST is beneficial in II.BUILT IN SELF TEST (BIST) many ways: First, it can reduce dependency on The Xilinx FPGA uses symmetrical external Automatic Test Equipment (ATE). In array structure and the logic blocks are called addition, BIST can provide at speed, in system Configurable Logic blocks (CLB). Figure 2 shows testing of the the basic array structure of a Xilinx FPGA [1]. 1107 | P a g e
  • 2. Deepthi.P, Vinay.P / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 2, Issue 5, September- October 2012, pp.1107-1110 reconfigures the FPGA with the BIST logic and 2) initiates the test. 3) The BIST logic generates test patterns within the FPGA and 4) analyzes responses and generates the pass/fail output. 5) The test controller reads the test results. In steps 1, 2, 5 the test controller interacts with the FPGA through the I/O pins and steps 3, 4 are internal to the FPGA. Fig.2.FPGA ARRAY STRUCTURE A.TESTING THE CLB The CLB consists of 1) Multiplexers and 2) Fig.3.FPGA configuration for BIST LUT which together form the combinational part and 3) Flip flops which form the sequential For conducting the self test in steps 3 and 4 module. some of the CLBs in the FPGA are configured as test pattern generators (TPGs) and output response The reprogrammable nature of FPGAs can analyzers (ORAs). The remaining CLBs are be used to an advantage for BIST. The FPGA tested with pseudo exhaustive test patterns as is configured with the BIST logic during offline described in [5]. These CLBs are referred to as testing. Once the test is completed the BIST the blocks under test (BUTs). As every BUT in configuration is erased and the FPGA is an FPGA is identical, the ORA has to compare the reconfigured to the original operation. This implies outputs of any two BUTs. Only if the two BUTs fail that there is no overhead attached to the BIST in in an identical manner will the fault escape terms of additional circuitry or space. The BIST detection which is highly unlikely. Another case is applicable at all levels (wafer, package, board, when the tests would be incomplete is when the two system) and is performed at normal operating BUTs are fed by the same faulty TPG. This frequency [4]. problem is solved by careful configuration which ensures that an ORA compares BUTs tested A test controller is used to configure by different TPGs and that all the TPGs are the FPGA with the BIST logic, start the testing and synchronized. Figure 3 shows the configuration read the test results. Additional memory is required for testing [6]. to store the BIST configuration as well as the The BUTs are completely tested for all original FPGA configuration that is restored after modes of operation in one test session. After the the FPGA has been tested. This is the main cost BUTs are tested the roles of the CLBs are reversed of the BIST;but memory is available in the test and the BUTs become TPGs and ORAs and vice machine and hence no additional resources are versa and the test session is repeated. At least 2 required of the device under test. Also as the testing test sessions are required to test the CLBs. In one is at-speed, the testing time is low and so the cost of test session as all the BUTs are tested in parallel the testing is low. The BIST time required for the BIST does not depend on configuration is independent of the function the size of the FPGA. implemented in the FPGA, and is dependent only During most of the test configurations the on the FPGA architecture so all the FPGAs of TPGs behave as m-bit binary counters to supply the same type can be tested by the same BIST exhaustive test patterns to the m-input BUTs. As the configuration. This reduces cost of testing because numbers of inputs are more than number of of reusability of the test. outputs many CLBs are required to generate the m-bit counter. As different TPGs are required for The main steps of carrying out BIST on a BUTs compared by the same ORA the number of FPGA are: 1) The test controller machine TPGs required is equal to the number of BUT 1108 | P a g e
  • 3. Deepthi.P, Vinay.P / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 2, Issue 5, September- October 2012, pp.1107-1110 outputs that can be compared by one ORA. An does the actual operation of the ALU, and the ORA is built from an LUT for comparing inputs Testing Architecture, which comes into play only and a flip-flop that provides feedback to the LUT during testing. The Operation Architectures as shown in figure 3. The flip-flop records the first consists of five units, 4-bit Carry Look error detected and also disables further Ahead adder (CLA), and a 4-bit AND, OR,XOR comparisons by the LUT. All the inputs of the and INVERTER gates. There is a PreCLA to LUT except one for the feedback are connected prepare the inputs based on the arithmetic to the BUT outputs and the LUT compares the operation to be done. There is a MUX which uses values and if there is a mismatch it records it the select pins to select one of the results from the on the flip-flop. above five units. The Testing Architecture has a ROM which has the discovered test patterns stored The Xilinx XC4000 series has two 4- input in. There is an address decoder to select which LUTs in a CLB and two flip-flops. So three of the test patterns will be applied. There is a comparisons (number of inputs/LUT - 1) per LUT TestMUX, which depending on the value on the can be done and hence the number of TPGs TestMode pin will present the test pattern or the required is three. The number of inputs and outputs actual inputs to be operated upon, to per CLB are 12 and 5 respectively. To generate a the Operation Architecture. 12-bit counter 12 flip-flops i.e. 6 CLBs are required for a TPG. All the three parts viz. LUTs, flip flops and multiplexers of the FPGA are tested and the fault coverage is 100%. B.BIST for interconnect In [7], the BIST method is extended for testing the interconnect faults in both local (multiplexer PS) and global (switch matrix) routing. The fault model used covers all stuckoff (stuck- on), stuck-open (stuck-short), stuck-at 0/1 in both the wire segments and the PSs. A group of k wires and PSs are combined to form the wires under test (WUT), and exhaustive testing is done by applying all 2k patterns to every group. Such a Fig .4. ALU test that applies 0 and 1 values at one end of the wire and expects the same value at the other end can V.APPLICATION detect any stuck-open fault on a wire with a closed The RISC processor presented in this paper PS, and also any stuck- at faults. To test the stuck- consists of three components. Those are, the ALU on fault of a PS, opposite values should be applied with BIST feature, the Data Path, and the ROM. to both the wire segments associated with that The Central Processing Unit (CPU) has 33 PS. Multiplexer-based PSs can be tested using instructions. functional tests as before, by select all possible data-inputs and with each data being tested for both 0 and 1 values. The BIST configuration is similar to the one used for testing CLBs described in above involving TPGs and ORAs. Test patterns generated by a TPG are applied to two WUTs and the outputs are compared by ORA. The path from the TPG to the ORA consists of the WUTs and intermediate PLBs that are configured to pass data from inputs to outputs. This achieves both local and global interconnect test coverage. The number of configuration phases required is reduced as multiple WUTs are tested in parallel. This method has the same shortcomings as the BIST for CLBs, i.e. identical faults appearing on WUTs compared by the same ORA will escape Fig.5.RISC processor architecture detection. IV .BIST feature ALU The architecture of the ALU consists of two parts, the Operation Architecture, which 1109 | P a g e
  • 4. Deepthi.P, Vinay.P / International Journal of Engineering Research and Applications (IJERA) ISSN: 2248-9622 www.ijera.com Vol. 2, Issue 5, September- October 2012, pp.1107-1110 and operation and testing ALU has been designed. Every instruction is executed in two clock cycles and corresponding result is verified with test vectors in ROM. The design is verified through exhaustive simulations. REFERENCES [1] Stephen Brown and Jonathan Rose, Architecture of FPGAs and CPLDs: A Tutorial, University of Toronto. [2]. R. N. Noyce and M. E. Hoff, “A History of Microprocessor Development at Intel,” IEEE Micro, vol. 1, no. 1, 1981, pp. 8-21. [3]. J.L. Hennessy, "VLSI Processor Architecture," IEEE Trans.Computers, vol. Fig.6. Data path for RISC Processor C-33, no. 12, Dec. 1984, pp. 1221-1246. [4] C. Stroud, S. Konala, P. Chen, M. The data to the processor is obtained from Abramovici, Built-In Self-Test of Logic the external world. The data is processed by the Blocks in FPGAs (Finally, a Free Lunch: processor by apply control signals. The control BIST Without Overhead!), Proc. 14th signal is designed in architecture of processor. After VLSI Test Symposium, pp. 387-392, 1996. processing the data its again sent along the data [5] E. McCluskey, Verification Testing - A path of processor to external world. Pseudoexhaustive Test Technique, IEEE Transactions on Computers, Vol. C-33, No. V.SIMULATION RESULTS OF RISC 6, pp.541-546, June 1984. The design is implemented using VHDL [6] R.Sharama,v.k.sehgal,nitin.pranav and verified on Xilinx ISE simulator. bhasker,ishita verma- Design and Implementation of a 64-bit RISC Processor using VHDL, UKSim 2009: 11th International Conference on Computer Modelling and Simulation. [7] C. Stroud, S. Wijesuriya, C. Hamilton, M. Abramovici,Built-in Self Test of FPGA Interconnect,Proc. IEEE International Test Conference., pp.404-411, 1998. Fig.7. simulation results IV. CONCLUSION The most important requirement of a good FPGA test is that it should be independent of the end-application and the array size. BIST uses pseudo exhaustive test pattern that provides maximum fault coverage without assuming a fault model. Two test configurations are required for complete testing and testing is conducted at-speed. Other advantages that BIST offers is that it does not require additional storage space for the test vectors, since the CLBs are configured as TPGs to generate the test vectors. The BIST approach generates the test vectors internally. The comparator based BIST provides complete test coverage for global and local routing but fails to detect identical faults occurring in two WUTs compared by the same ORA. RISC processor with 33 instruction set 1110 | P a g e