Built-In Self-Test for Field Programmable Gate Arrays funded by National Security Agency Chuck Stroud Electrical & Computer Engineering Auburn University.

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)
Commercial FPGAs: Altera Stratix Family Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 261 Lecture 26 Logic BIST Architectures n Motivation n Built-in Logic Block Observer (BILBO) n Test.
Sequential Logic Design
Programmable Logic Devices
Spartan II Features  Plentiful logic and memory resources –15K to 200K system gates (up to 5,292 logic cells) –Up to 57 Kb block RAM storage  Flexible.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR SRAM-based FPGA n SRAM-based LE –Registers in logic elements –LUT-based logic element.
B UILT -I N S ELF -T EST OF G LOBAL R OUTING R ESOURCES IN V IRTEX -4 FPGA S Jia Yao, Bobby Dixon, Charles Stroud and Victor Nelson Dept. of Electrical.
BIST for Logic and Memory Resources in Virtex-4 FPGAs Sachin Dhingra, Daniel Milton, and Charles Stroud Electrical and Computer Engineering Auburn University.
FPGA structure and programming - Eli Kaminsky 1 FPGA structure and programming.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Spring 08, Jan 15 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
Spring 07, Jan 16 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
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.
Programmable logic and FPGA
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Introduction to Field Programmable Gate Arrays (FPGAs) COE 203 Digital Logic Laboratory Dr. Aiman El-Maleh College of Computer Sciences and Engineering.
Multiplexers, Decoders, and Programmable Logic Devices
February 4, 2002 John Wawrzynek
Copyright 2001, Agrawal & BushnellDay-1 AM-1 Lecture 11 Testing Analog & Digital Products Dr. Vishwani D. Agrawal James J. Danaher Professor of Electrical.
ECE 7502 Class Discussion Seyi Ayorinde Tuesday, February 3rd, 2015
04/26/2006VLSI Design & Test Seminar Series 1 Phase Delay in MAC-based Analog Functional Testing in Mixed-Signal Systems Jie Qin, Charles Stroud, and Foster.
1. 2 FPGAs Historically, FPGA architectures and companies began around the same time as CPLDs FPGAs are closer to “programmable ASICs” -- large emphasis.
Built-In Self-Test of Programmable I/O Cells in Virtex-4 FPGAs Bradley F. Dutton, Lee W. Lerner, and Charles E. Stroud Dept. of Electrical & Computer Engineering.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Introduction to FPGA and DSPs Joe College, Chris Doyle, Ann Marie Rynning.
Introduction to FPGA’s FPGA (Field Programmable Gate Array) –ASIC chips provide the highest performance, but can only perform the function they were designed.
1 DIGITAL DESIGN I DR. M. MAROUF FPGAs AUTHOR J. WAKERLY.
General FPGA Architecture Field Programmable Gate Array.
Lecture 2: Field Programmable Gate Arrays September 13, 2004 ECE 697F Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays.
EE4OI4 Engineering Design Programmable Logic Technology.
EGRE 427 Advanced Digital Design Figures from Application-Specific Integrated Circuits, Michael John Sebastian Smith, Addison Wesley, 1997 Chapter 4 Programmable.
CPLD (Complex Programmable Logic Device)
Fault models Stuck-at Stuck-at-1 Reset coupling 0 0 Set coupling Inversion coupling Transition  /0 0 1 Transition  /1 1.
J. Christiansen, CERN - EP/MIC
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
Programmable Logic Devices
THE TESTING APPROACH FOR FPGA LOGIC CELLS E. Bareiša, V. Jusas, K. Motiejūnas, R. Šeinauskas Kaunas University of Technology LITHUANIA EWDTW'04.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Basic Sequential Components CT101 – Computing Systems Organization.
1 Fault Tolerance in Field Programmable Gate Arrays Nehir Sönmez 12/5/2005.
EE3A1 Computer Hardware and Digital Design
Efficient On-line Interconnect BIST in FPGAs with Provable Detectability for Multiple Faults Vishal Suthar and Shantanu Dutt Dept. of ECE University of.
Development of Programmable Architecture for Base-Band Processing S. Leung, A. Postula, Univ. of Queensland, Australia A. Hemani, Royal Institute of Tech.,
Section 1  Quickly identify faulty components  Design new, efficient testing methodologies to offset the complexity of FPGA testing as compared to.
CPLD Vs. FPGA Positioning Presentation
M.Mohajjel. Why? TTM (Time-to-market) Prototyping Reconfigurable and Custom Computing 2Digital System Design.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
EE121 John Wakerly Lecture #15
Mixed PLB and Interconnect BIST for FPGAs Without Fault-Free Assumptions Vishal Suthar and Shantanu Dutt Electrical and Computer Engineering University.
Delivered by.. Love Jain p08ec907. Design Styles  Full-custom  Cell-based  Gate array  Programmable logic Field programmable gate array (FPGA)
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
A Survey of Fault Tolerant Methodologies for FPGA’s Gökhan Kabukcu
TITLE : types of BIST MODULE 5.1 BIST basics
Programmable Logic Devices
Sequential Programmable Devices
Sequential Logic Design
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
We will be studying the architecture of XC3000.
The Xilinx Virtex Series FPGA
The Xilinx Virtex Series FPGA
Lecture 26 Logic BIST Architectures
Programmable logic and FPGA
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Built-In Self-Test for Field Programmable Gate Arrays funded by National Security Agency Chuck Stroud Electrical & Computer Engineering Auburn University

Outline of Presentation OverviewOverview  Built-In Self-Test (BIST)  Field Programmable Gate Arrays (FPGAs) BIST for FPGAsBIST for FPGAs  Logic resources  Routing resources Demonstration of FPGA logic BIST & DiagnosisDemonstration of FPGA logic BIST & Diagnosis

The Need for Test 2000 International Technology Roadmap for Semiconductors (by the Semiconductor Industry Association - SEMATECH ) predicts by 2014: Test machines will cost > $20MTest machines will cost > $20M It will cost more to test a transistor than to manufacture itIt will cost more to test a transistor than to manufacture it Built-In Self-Test (BIST) is a likely solutionBuilt-In Self-Test (BIST) is a likely solution  Analog BIST is needed for mixed-signal systems  Fault diagnosis is needed with BIST  Tools are needed for automating BIST

What is BIST? Basic idea: Add circuitry to IC or PCB to facilitate testing itselfBasic idea: Add circuitry to IC or PCB to facilitate testing itself  Only power and clock needed during BIST sequence  Pass/Fail result reported at end of BIST sequence  No need for external test equipment Necessary components:Necessary components:  Test Pattern Generator (TPG)  Output Response Analyzer (ORA)  For system level use:  Test controller  Input isolation Penalties: area overhead, performancePenalties: area overhead, performance Benefits: low testing time & costBenefits: low testing time & cost TPG ORA CircuitUnderTest TestControl MUXSystemInputsSystemOutputs Pass/Fail BIST Start

Overview of FPGAs Configuration MemoryConfiguration Memory Programmable Logic Blocks (PLBs)Programmable Logic Blocks (PLBs) Programmable Input/Output CellsProgrammable Input/Output Cells Programmable InterconnectProgrammable Interconnect Typical Complexity = 5M - 100M transistors

Basic FPGA Operation Load Configuration Memory Defines system functionDefines system function  Input/Output Cells  Logic in PLBs  Connections between PLBs & I/O cells Changing configuration memory => changes system function Can change at anytimeCan change at anytime  Even while system function is in operation  Run-time reconfiguration (RTR)

Programmable Logic Blocks PLBs can perform any logic functionPLBs can perform any logic function  Look-Up Tables (LUTs)  Combinational logic  Memory (RAM)  Flip-flops  Sequential logic  Special logic  Add, subtract, multiply  Count up and/or down  Dual port RAM Must be tested in all modes of operationMust be tested in all modes of operation #PLBs/FPGA: 100 to 50,000#PLBs/FPGA: 100 to 50,000 LUT/ RAM FF LUT/ RAM FF LUT/ RAM FF LUT/ RAM FF PLB architecture

Programmable Interconnect Wire segments & Programmable Interconnect Points (PIPs)  cross-point PIPs – connect/disconnect wire segments  To turn corners  break-point PIPs – connect/disconnect wire segments  To make long and short signal routes  multiplexer (MUX) PIPs select 1 of many wires for output  Used at PLB inputs  Primary interconnect media for new FPGAs configurationmemoryelement wire A wire B cross-point PIP wire A wire B wire A wire B break-point PIP wire A wire B output multiplexer PIP wire C

BIST for FPGAs Basic idea: reprogram FPGA to test itselfBasic idea: reprogram FPGA to test itself BIST logic disappears after testBIST logic disappears after test  No area overhead or performance penalties Applicable to all levels of testingApplicable to all levels of testing  A generic test for a generic component  Independent of system function Good diagnostic resolutionGood diagnostic resolution  Logic: Look-Up Table (LUT) or flip-flop  Routing: wire segment or switch  Reconfigure system function for fault-tolerance Cost: memory to store BIST configurationsCost: memory to store BIST configurations

BIST Architecture for PLBs TPGs BUTs ORAs BUTs ORAs BUTs ORAs BUTs TPGs BUTs ORAs BUTs ORAs BUTs ORAs BUTs TPGTPGBUT BUT ORA BUT BUT ORA BUT BUT ORA BUT BUT ORA Configure row (or columns) of PLBs as: Test Pattern Generators (TPGs) Output Response Analyzers (ORAs) Blocks Under Test (BUTs) Reverse rolls after testing 1 st set of BUTs

Diagnostic Procedure Step 1: Record ORA results Step 2: Mark known good BUTs Step 3: Mark implied good BUTs MULTIple faulty CELL LOcator MULTICELLO ? ?11 000? Step 4: Mark known faulty BUTs Step 5: Look for inconsistences => implies possible interconnect faults Step 6: If every PLB has been identified as fault-free or faulty, the group of faulty PLBs has been uniquely diagnosed => otherwise mark as unknown

Routing BIST Architecture Wires Under Test (WUTs)Wires Under Test (WUTs)  Wire segments connected via PIPs & PLBs to form WUTs  Opposite values on busses not under test (PIPs stuck-on)  All WUTs are 2-tested to detect equivalent faults TPGs & ORAs formed as in logic BISTTPGs & ORAs formed as in logic BIST  Exhaustive test patterns detect shorts, opens, & stuck-at faults  ORA compares two sets of WUTs (A WUTs & B WUTs) PLB TP G ORA A WUTs B WUTs

ORA TPG STAR Routing BIST Architecture Uses small Self-Test AReas (STARs) to test routing resources Good diagnostic resolutionGood diagnostic resolution  To STAR Higher speed testingHigher speed testing  Fewer series PIPs delays Run STARs in parallel V-STARs test vertical routingV-STARs test vertical routing H-STARs test horizontal routingH-STARs test horizontal routing Uses small Self-Test AReas (STARs) to test routing resources Good diagnostic resolutionGood diagnostic resolution  To STAR Higher speed testingHigher speed testing  Fewer series PIPs delays Run STARs in parallel V-STARs test vertical routingV-STARs test vertical routing H-STARs test horizontal routingH-STARs test horizontal routing ORA TPG STAR ORA TPG STAR ORA TPG STAR ORA TPG STAR ORA TPG STAR

Diagnostic Configurations Partition into smaller STARsPartition into smaller STARs  Identify faulty region of WUT TPG ORA TPG ORA TPG ORA Singlewire TPG ORA TPG ORA ORA ORA ORA Re-route portions of netRe-route portions of net  Identify faulty wire segment or PIP Add ORAs & change directionsAdd ORAs & change directions  Identify fault region of WUT TPGORA ORAORA TPGORA ORAORA ORAORA ORAORA

Test Results for Faulty FPGAs Failures from Chip 1  At least 1 fault  maybe at intersection of STARs V-STAR column position H-STAR row position Failures from Chip 2  At least 2 faults  maybe at intersection of STARs Diagnostic results  A short at row 10 column 8 Diagnostic results  A short at row 1 column 12  Short in 3 wires of 4-wire bus  row 5 columns 6-8

System or BIST config FPGA Fault Injection Emulator Faulty FPGA are difficult to findFaulty FPGA are difficult to find  1 FPGA with faulty PLB & 2 FPGAs with faulty routing We created a Fault Injection EmulatorWe created a Fault Injection Emulator  Intercepts & modifies configuration bits prior to download  Fault Emulator can create multiple faults in:  PLBs: LUTs, flip-flops, etc.  Interconnect: PIPs stuck-on & stuck-off Stuck-at values Fault mask Download file faults

BIST Demonstration Graphic User InterfaceGraphic User Interface  Shows what is happening inside FPGA during test  Provides interface to fault injection emulation Fault Injection EmulatorFault Injection Emulator  Inserts faults into configuration data file  Emulated faults are downloaded with BIST phases Logic BISTLogic BIST  MULTICELLO diagnostic algorithm incorporated Current demo for Xilinx 4010XL FPGACurrent demo for Xilinx 4010XL FPGA  20x20 PLB array with 100K PIPs & 25K wire segments  BIST phases automatically generated for any 4000 series FPGA by programs we have developed