Section 1  Quickly identify faulty components  Design new, efficient testing methodologies to offset the complexity of FPGA testing as compared to.

Slides:



Advertisements
Similar presentations
Interconnect Testing in Cluster Based FPGA Architectures Research by Ian G.Harris and Russel Tessier University of Massachusetts. Presented by Alpha Oumar.
Advertisements

Survey of Detection, Diagnosis, and Fault Tolerance Methods in FPGAs
FPGA (Field Programmable Gate Array)
Lecture 15 Finite State Machine Implementation
Architecture-Specific Packing for Virtex-5 FPGAs
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 261 Lecture 26 Logic BIST Architectures n Motivation n Built-in Logic Block Observer (BILBO) n Test.
EGRE 427 Advanced Digital Design Figures from Application-Specific Integrated Circuits, Michael John Sebastian Smith, Addison Wesley, 1997 Chapter 5 Programmable.
Built-In Self-Test for Field Programmable Gate Arrays funded by National Security Agency Chuck Stroud Electrical & Computer Engineering Auburn University.
ECE 506 Reconfigurable Computing Lecture 6 Clustering Ali Akoglu.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Minimizing Clock Skew in FPGAs
Programmable Logic Devices
Defect Tolerance for Yield Enhancement of FPGA Interconnect Using Fine-grain and Coarse-grain Redundancy Anthony J. Yu August 15, 2005.
Defect Tolerance for Yield Enhancement of FPGA Interconnect Using Fine-grain and Coarse-grain Redundancy Anthony J. Yu August 15, 2005.
Modern VLSI Design 2e: Chapter 4 Copyright  1998 Prentice Hall PTR Topics n Switch networks. n Combinational testing.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
The Spartan 3e FPGA. CS/EE 3710 The Spartan 3e FPGA  What’s inside the chip? How does it implement random logic? What other features can you use?  What.
Lecture 5 Fault Modeling
Evolution of implementation technologies
Build-In Self-Test of FPGA Interconnect Delay Faults Laboratory for Reliable Computing (LaRC) Electrical Engineering Department National Tsing Hua University.
Multiplexers, Decoders, and Programmable Logic Devices
Techniques and Algorithms for Fault Grading of FPGA Interconnect Test Configurations Mehdi Baradaran Tahoori and Subhasish Mitra IEEE Transactions on Computer-Aided.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Fault Modeling.
EGRE 427 Advanced Digital Design Figures from Application-Specific Integrated Circuits, Michael John Sebastian Smith, Addison Wesley, 1997 Chapter 7 Programmable.
Lecture 2: Field Programmable Gate Arrays September 13, 2004 ECE 697F Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Switch networks. n Combinational testing.
Documentation Standards Circuit specification. –Description of what the system is supposed to do, including a description of all inputs and outputs and.
J. Christiansen, CERN - EP/MIC
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
THE TESTING APPROACH FOR FPGA LOGIC CELLS E. Bareiša, V. Jusas, K. Motiejūnas, R. Šeinauskas Kaunas University of Technology LITHUANIA EWDTW'04.
Logic BIST Logic BIST.
Design for Testability By Dr. Amin Danial Asham. References An Introduction to Logic Circuit Testing.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS
A Routing Approach to Reduce Glitches in Low Power FPGAs Quang Dinh, Deming Chen, Martin D. F. Wong Department of Electrical and Computer Engineering University.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Basic Sequential Components CT101 – Computing Systems Organization.
1 EE 587 SoC Design & Test Partha Pande School of EECS Washington State University
Appendix A Example of a Testability Design Checklist Route test/control points edge connector to enable monitoring and driving of internal board functions.
Appendix A Example of a Testability Design Checklist  Route test/control points edge connector to enable monitoring and driving of internal board functions.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #4 – FPGA.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Efficient On-line Interconnect BIST in FPGAs with Provable Detectability for Multiple Faults Vishal Suthar and Shantanu Dutt Dept. of ECE University of.
1 A Min-Cost Flow Based Detailed Router for FPGAs Seokjin Lee *, Yongseok Cheon *, D. F. Wong + * The University of Texas at Austin + University of Illinois.
EE434 ASIC & Digital Systems Partha Pande School of EECS Washington State University
TOPIC : Controllability and Observability
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
CS/EE 3700 : Fundamentals of Digital System Design
FPGA CAD 10-MAR-2003.
Jan. 26, 2001VLSI Test: Bushnell-Agrawal/Lecture 51 Lecture 5 Fault Modeling n Why model faults? n Some real defects in VLSI and PCB n Common fault models.
Logic and Computer Design Fundamentals, Fifth Edition Mano | Kime | Martin Copyright ©2016, 2008, 2004 by Pearson Education, Inc. All rights reserved.
FPGA Logic Cluster Design Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Lecture 17: Dynamic Reconfiguration I November 10, 2004 ECE 697F Reconfigurable Computing Lecture 17 Dynamic Reconfiguration I Acknowledgement: Andre DeHon.
ECE 506 Reconfigurable Computing Lecture 5 Logic Block Architecture Ali Akoglu.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 51 Lecture 5 Fault Modeling n Why model faults? n Some real defects in VLSI and PCB n Common fault.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
A Survey of Fault Tolerant Methodologies for FPGA’s Gökhan Kabukcu
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #22 – Multi-Context.
1 Architecture of Datapath- oriented Coarse-grain Logic and Routing for FPGAs Andy Ye, Jonathan Rose, David Lewis Department of Electrical and Computer.
Sequential Logic Design
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
Andy Ye, Jonathan Rose, David Lewis
We will be studying the architecture of XC3000.
Overview: Fault Diagnosis
Lecture 26 Logic BIST Architectures
FIGURE 5-1 MOS Transistor, Symbols, and Switch Models
CprE / ComS 583 Reconfigurable Computing
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Section 1

 Quickly identify faulty components  Design new, efficient testing methodologies to offset the complexity of FPGA testing as compared to ASIC testing › Defect location information is an important modern strategy as FPGAs can be reconfigured to avoid faults › Increased test generation complexity › Increased test application time › Multiple configurations to test assortment of switch settings

 High complexity for test generation  Increased test application time  Need for external controllability and observability  Multiple configurations to test assortment of switch settings, compared to a single configuration for an ASIC › As FPGAs have more programmable switch points, this becomes a bigger issue

 FPGA testing has been divided into interconnect testing and FPGA logic testing  Reduction in the need for I/O pads for testing › Several configurations are required to ensure all FPGA logic is tested in some configuration  Unutilized FPGA logic and routing are being used to implement modular redundancy  Faults can be targeted for the entire FPGA structure, or those that are application- specific

 Need for external controllability and observability has also been reduced using iterative logic array (ILA) test architecture › one-dimensional configuration with one direction for signal propagation › A complete array of m x m LUT/RAM modules requires 4 test configurations independent of size of array and of modules [11]  Problems of defining a set of test configurations for cluster-based architectures and diagnosis

 The use of LUTs with logic checkers to implement testing schemes in interconnects  Using LUTs to form shift registers to easily check the output of the test pattern  Built-in Self Test (BIST) architecture to locate any single and most multiple fault PLBs › This is FPGA logic  Cluster-based FPGA test methodologies › Does not cover specific fault extra-cluster

 Increased defect rates  Increased device variation  Increased change in device parameters  Increased single die capacity  Increased susceptibility to transient upsets

 If device failure renders a bitop or an interconnect unusable, the device should be reconfigured to avoid these failing areas › Substitute good resources for bad ones › As defect rates increase, spare resources should be strategically reserved

 Not all unused units will be substitutable, as location strongly affects interconnections to other logic blocks  Preferable to have fewer large pools of mostly interchangeable resources

 Primitive logic components are grouped into coarse-grained clusters  Richness of internal connectivity means large range of potential interconnect patterns  External access to internal test points becomes increasingly difficult as device sizes scale  Cluster I/O are the input and output pins of the cluster  Tile I/O pins include the endpoint of wire segments which can connect to a neighboring tile via programmable interconnect points

 BIST overhead not an issue › Easily inserted and removed by reconfiguration  Test logic inside the FPGA enables test access to internal components  Each BISTER is composed of › Test pattern generator › Output response analyzer › Two blocks under test

 To guarantee testing of all tiles, the FPGA is reconfigured to shift the BISTERs across the entire array › All tiles will be tested by acting as a BUT  Perimeter tiles are tested by using the I/O pads to access the periphery  Total test application time is related to the area of the TPG/ORA logic  Decomposes the problem into many identical problems of a size which is determined by the test requirements for a single tile

 High density of internal cluster interconnect makes test access difficult  Must test intra-cluster interconnect and extra-cluster interconnect  Four classes of faults › Permanent connection  PIP off › Permanent disconnection  PIP on › Stuck-at 0 › Stuck-at 1

 Defines testability and diagnosis requirements of each fault and fault pair  Some test pattern must exist to detect each fault and differentiate each fault pair  All LUTs are configured as 4 input XOR gates  The detectability of each fault can be expressed as a function of the tile I/O

 Faulty line segment s1 must be both controllable by at least one tile input and observable by at least one tile output

 A faulty pair of segments must be both controllable, separately controllable, and both observable  The PIP between the two segments must be switched off

 If s2 is the floating segment, then the non-floating segment must be controllable and the floating segment must be observable  PIP between the two segments must be switched on

 Equivalent faults cannot be differentiated  Fault equivalence is determined by the FPGA configuration › Faults that are equivalent in one configuration may not be equivalent in another  Maximum diagnostic resolution is achieved when every pair of faults is non-equivalent in at least one configuration  Two faults are equivalent if their corresponding faulty machines produce the same output with all possible test patterns, at all outputs of the circuit  Two segments are test equivalent in a configuration if the segments have identical control sets and identical observe sets

 Two segments are test equivalent when they are controlled by the same set of tile inputs and observed by the same set of tile outputs

 Each segment in a faulty segment pair must be test equivalent to a segment in the other faulty segment pair

 Pair of faults may be equivalent if a segment which is not driven by a signal floats to a ‘v’ value  The two faults are equivalent if the floating segment is test equivalent to the segment associated with the stuck-at ‘v’ fault  The segment with the stuck-at fault and the floating segment must be controlled by the same set of tile inputs and observed by the same set of tile outputs

 The pair of segments involved in one fault are test equivalent to the pair of segments involved in the other fault  Each segment in a faulty segment pair must be test equivalent to a segment in the other faulty segment pair

 Identifies a set of configurations for the tiles acting as BUTs in a BISTER  Size of configuration should be minimized to reduce test application time  Intra-cluster configurations are defined separately from extra-cluster configurations

 Fault effect on a cluster input must propagate to at least one cluster output  Cluster outputs must be separately controllable

 Observability of cluster inputs and BLE output branches must be achieved by propagating fault effects  Controllability of the BLE outputs must be achieved through the BLEs  Each BLE is composed of a LUT and a multiplexer › Both must be configured › Each LUT acts as a 4-input XOR gate › Good controllability because output value can be determined by controlling any single input › Good observability because a fault effect on any input will propagate to output  Majority of test configurations bypass the flip-flop › A single configuration will test the interconnect associated with the flip-flops

 Input muxes determine controllability of BLE outputs by determining the function which defines the output of each BLE ‘n’  BLE output function: › All inputs XORed together  Multiplexers are not configured to create loops  All BLE outputs are separately controllable from each other, and from all cluster inputs  Each input multiplexer is configured to select data from each of its inputs in at least one configuration  There is a sensitized path from each cluster input stem to a cluster output in every configuration

 Defines current flow paths through the extra-cluster interconnect  Modeled as a flow graph  Create flow paths between tile I/O nodes which allow the detection criteria of each fault to be satisfied in at least one configuration  Flow paths are created from tile I/Os to every cluster input, and from every cluster output to tile I/Os

 Assumptions › Cluster inputs and outputs are equally distributed around the sides of the cluster › Each cluster I/O on the north face may connect to all horizontal tracks via a set of PIPs › West face I/O connects to all vertical tracks › Cluster I/O for east and south faces connect directly to tracks in neighboring tiles  Results › Intra-cluster configuration, and two sets of extra-cluster configuration  Extra-Cluster (specific) is for when the fault independent algorithm has reached its coverage limit › By using the fault specific extra-cluster configuration algorithm, 100% fault coverage can be guaranteed  At a cost of increased number of configurations › Fault Coverage Achieved › Percent of fault pairs which are differentiated across all configurations  A small set of test configurations can detect and diagnose nearly all targeted interconnect faults

 Approach is encompassing, can guarantee 100% fault detection › Does require good deal of computation time for extra-cluster  Does a good job of describing fault classes › I personally believe they could have described it using less mathematical jargon, so that it would make more sense to a digital logic engineer  Algorithms are described neatly in pseudocode  All details are covered

Section 2

 Let’s discuss the logical ways to test circuitry for the various faults › Permanent open › Permanent closed › Stuck-at 0 › Stuck-at 1  How could you design test patterns without access to all internal signals?

 Algorithms › Intra-cluster › Extra-cluster

 Defect mapping  Annealing placers › Marks physical location of defective units as  Costly  Invalid  Routers › Marks wires and switches that are defective as  In use  High cost  Avoids these defective components of the FPGA

 Parity