A S. x sa1 Z 1/0 1/0

Similar documents
BIST for Logic and Memory Resources in Virtex-4 FPGAs

L12: Reconfigurable Logic Architectures

BIST-Based Diagnostics of FPGA Logic Blocks

L11/12: Reconfigurable Logic Architectures

Testability: Lecture 23 Design for Testability (DFT) Slide 1 of 43

EN2911X: Reconfigurable Computing Topic 01: Programmable Logic. Prof. Sherief Reda School of Engineering, Brown University Fall 2014

Why FPGAs? FPGA Overview. Why FPGAs?

An Application Specific Reconfigurable Architecture Diagnosis Fault in the LUT of Cluster Based FPGA

Evaluation of Advanced Techniques for Structural FPGA Self-Test

An Application Specific Reconfigurable Architecture Diagnosis Fault in the LUT of Cluster Based FPGA

VLSI Test Technology and Reliability (ET4076)

In-System Testing of Configurable Logic Blocks in Xilinx 7-Series FPGAs

Field Programmable Gate Arrays (FPGAs)

Using on-chip Test Pattern Compression for Full Scan SoC Designs

VLSI System Testing. BIST Motivation

Reconfigurable Architectures. Greg Stitt ECE Department University of Florida

Built-In Self-Test (BIST) Abdil Rashid Mohamed, Embedded Systems Laboratory (ESLAB) Linköping University, Sweden

Scan. This is a sample of the first 15 pages of the Scan chapter.

Overview: Logic BIST

Design for Testability

CSE140L: Components and Design Techniques for Digital Systems Lab. CPU design and PLDs. Tajana Simunic Rosing. Source: Vahid, Katz

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

March 13, :36 vra80334_appe Sheet number 1 Page number 893 black. appendix. Commercial Devices

CAD for VLSI Design - I Lecture 38. V. Kamakoti and Shankar Balachandran

Testing Digital Systems II

FIELD programmable gate arrays (FPGA s) are widely

RELATED WORK Integrated circuits and programmable devices

Bit Swapping LFSR and its Application to Fault Detection and Diagnosis Using FPGA

Testing Sequential Circuits

CMOS Testing-2. Design for testability (DFT) Design and Test Flow: Old View Test was merely an afterthought. Specification. Design errors.

Testing Digital Systems II

LFSR TEST PATTERN FOR FAULT DETECTION AND DIAGNOSIS FOR FPGA CLB CELLS

Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory. National Central University

Introduction Actel Logic Modules Xilinx LCA Altera FLEX, Altera MAX Power Dissipation

Design of Fault Coverage Test Pattern Generator Using LFSR

FPGA Design. Part I - Hardware Components. Thomas Lenzi

Department of Electrical and Computer Engineering University of Wisconsin Madison. Fall Final Examination CLOSED BOOK

A Fast Constant Coefficient Multiplier for the XC6200

Fault Location in FPGA-Based Reconfigurable Systems

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Built-In Self-Test of Embedded SEU Detection Cores in Virtex-4 and Virtex-5 FPGAs

Instructions. Final Exam CPSC/ELEN 680 December 12, Name: UIN:

Lecture 23 Design for Testability (DFT): Full-Scan (chapter14)

for Digital IC's Design-for-Test and Embedded Core Systems Alfred L. Crouch Prentice Hall PTR Upper Saddle River, NJ

Lecture 23 Design for Testability (DFT): Full-Scan

Chapter 8 Design for Testability

Examples of FPLD Families: Actel ACT, Xilinx LCA, Altera MAX 5000 & 7000

Lecture 2: Basic FPGA Fabric. James C. Hoe Department of ECE Carnegie Mellon University

ISSN (c) MIT Publications

Unit 8: Testability. Prof. Roopa Kulkarni, GIT, Belgaum. 29

Available online at ScienceDirect. Procedia Computer Science 46 (2015 ) Aida S Tharakan a *, Binu K Mathew b

K.T. Tim Cheng 07_dft, v Testability

A Briefing on IEEE Standard Test Access Port And Boundary-Scan Architecture ( AKA JTAG )

High Performance Carry Chains for FPGAs

International Journal of Scientific & Engineering Research, Volume 5, Issue 9, September ISSN

FPGA Design with VHDL

CDA 4253 FPGA System Design FPGA Architectures. Hao Zheng Dept of Comp Sci & Eng U of South Florida

Testing Sequential Logic. CPE/EE 428/528 VLSI Design II Intro to Testing (Part 2) Testing Sequential Logic (cont d) Testing Sequential Logic (cont d)

UNIT IV CMOS TESTING. EC2354_Unit IV 1

Design for Testability Part II

12-bit Wallace Tree Multiplier CMPEN 411 Final Report Matthew Poremba 5/1/2009

OF AN ADVANCED LUT METHODOLOGY BASED FIR FILTER DESIGN PROCESS

[Krishna*, 4.(12): December, 2015] ISSN: (I2OR), Publication Impact Factor: 3.785

Chapter. Sequential Circuits

EECS150 - Digital Design Lecture 18 - Circuit Timing (2) In General...

BIST to Diagnosis Delay Fault in the LUT of Cluster Based FPGA

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

TKK S ASIC-PIIRIEN SUUNNITTELU

Self-Test and Adaptation for Random Variations in Reliability

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-III SEQUENTIAL CIRCUITS

2.6 Reset Design Strategy

EEM Digital Systems II

Lucent ORCA OR2C15A-2S208 FPGA Circuit Analysis

ECE 407 Computer Aided Design for Electronic Systems. Testing and Design for Testability. Instructor: Maria K. Michael. Overview

Final Exam CPSC/ECEN 680 May 2, Name: UIN:

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS150, Spring 2011

An Efficient High Speed Wallace Tree Multiplier

Chapter 2. Digital Circuits

Diagnosis of Resistive open Fault using Scan Based Techniques

VLSI Technology used in Auto-Scan Delay Testing Design For Bench Mark Circuits

Logic Devices for Interfacing, The 8085 MPU Lecture 4

INTERMEDIATE FABRICS: LOW-OVERHEAD COARSE-GRAINED VIRTUAL RECONFIGURABLE FABRICS TO ENABLE FAST PLACE AND ROUTE

Lecture 17: Introduction to Design For Testability (DFT) & Manufacturing Test

Investigation of Look-Up Table Based FPGAs Using Various IDCT Architectures

Reconfigurable FPGA Implementation of FIR Filter using Modified DA Method

Based on slides/material by. Topic 14. Testing. Testing. Logic Verification. Recommended Reading:

CPE 628 Chapter 5 Logic Built-In Self-Test. Dr. Rhonda Kay Gaede UAH. UAH Chapter Introduction

Cyclone II EPC35. M4K = memory IOE = Input Output Elements PLL = Phase Locked Loop


VU Mobile Powered by S NO Group

Lecture 18 Design For Test (DFT)

CS150 Fall 2012 Solutions to Homework 4

Performance Driven Reliable Link Design for Network on Chips

VLSI Design Verification and Test BIST II CMPE 646 Space Compaction Multiple Outputs We need to treat the general case of a k-output circuit.

Microprocessor Design

Further Details Contact: A. Vinay , , #301, 303 & 304,3rdFloor, AVR Buildings, Opp to SV Music College, Balaji

Design for Test. Design for test (DFT) refers to those design techniques that make test generation and test application cost-effective.

Designing for High Speed-Performance in CPLDs and FPGAs

Experiment # 4 Counters and Logic Analyzer

Module 8. Testing of Embedded System. Version 2 EE IIT, Kharagpur 1

Transcription:

FPGA Characteristics Configuration memory 32Kbits 79Mbits Array of Programmable Logic Blocks (PLBs) 25,92 PLBs per FPGA 8 8 4-input LUTs and 8 flip-flops flops per PLB Programmable interconnect network Wire segments 45 46 per PLB Programmable switches 4 4, per PLB Programmable I/O cells Bi-direction buffer with flip-flops/latchesflops/latches 62,2 per FPGA

Important Trends in FPGAs Dynamic partial reconfiguration Incorporating specialized cores RAMs - single-port, dual-port, FIFO, ECC 28-8K bits per RAM 4-576 per FPGA DSPs including multipliers, accumulators, etc. Up to 52 per FPGA Embedded processor cores Up to 2 hard cores per FPGA Also support soft processor cores synthesized in FPGA Internal access to configuration memory Write and read access by embedded processor core FPGAs becoming more like SoCs ASICs & SoCs now incorporate FPGA cores 2

FPGA Testing Challenges Programmability Must test all modes of operation Architectures designed for applications Testing issues/problems left to product/test engineers CAD tools designed for high-level synthesis Do not support control of proper test conditions Constantly growing sizes Reconfiguration dominates test time Constantly changing architectures Architectural features/limitations directly affect testability and test development Incorporation of many new/different cores 3

CAD Tool Features vs. Testability Controlling test conditions with CAD tools Oriented for design Oriented for synthesis For testing we need to: Control unselected inputs to logic multiplexers Test for stuck-at faults A S B x sa Control opposite logic values on at least one unselected input for MUX PIPs Test for PIP stuck-on faults # # test configurations = # MUX inputs DRC complaints about antennas & stubs Delete signals for test conditions Z / / 4

FPGA Testing Typically partitioned for logic and routing But both resources needed to test each other External testing Good for manufacture testing only Tests applied via I/O pins Package dependent and limited by I/O pins Boundary Scan (only with INTEST) Extremely long test time Internal Testing (BIST) Good for manufacturing & system-level test Good for embedded FPGA cores 5

FPGA Testing Application independent testing Test all resources in FPGA Good for manufacturing testing Requires many test configurations Long test time - downloads dominate test time No area/performance penalty in system Application specific testing Test only resources used by system function Requires fewer configurations But requires new tests for new applications Good for system-level testing only Area/performance penalty for test circuitry 6

System-Level FPGA Testing System-level test of FPGA-based designs Diagnostic software for test in system mode Many months of diagnostic code development Good diagnostic resolution difficult to achieve DFT/BIST in FPGA (for system-level test) Area penalty typically -3% Performance penalty typically 2-3 gate delays Less logic for system function May require larger or more FPGAs Longer design time 7

BIST for FPGAs Basic idea: reprogram FPGA to test itself BIST logic disappears after test No area overhead or performance penalties Applicable to all levels of testing Application independent testing A A generic test for a generic component Good diagnostic resolution Cost: To faulty PLB or wire segment/switch within FPGA No diagnostic code development or DFT design Memory to store BIST configurations Goal: minimize number of configurations Download time to execute BIST configurations Goal: minimize downloads 8

FPGA Architectures Early FPGAs NxN array of unit cells Unit cell = CLB + routing Special routing along center axes I/O cells around perimeter Next Generation FPGAs 9 MxN array of unit cells Added small block RAMs at edges More Recent FPGAs Added larger block RAMs in array Added multipliers Added Processor Cores (PC) Latest FPGAs Added DSP cores w/multipliers I/O cells along columns for BGA PC PC PC PC

Using multiplexer example Configuration memory holds truth table Input signals connect to select inputs of multiplexers to select output value of truth table for any given input value Look-up Tables Z B A S Multiplexer A B S Truth table S A B Z Z

Look-up Table Based RAMs Normal LUT mode performs read Data In en en operations en2 Address decoder In en3 In with write enable Z In2 en4 generates load signals to latches en5 for write operations en6 Address decoder Small RAMs but can be combined for larger RAMs Write Address Write Enable Address s Decoder en7 In In In2 Read Address

Test Configurations for a Simple PLB Two 3-input LUTs Can implement any 4-input combinational logic function flip-flopflop Programmable: Active levels Clock edge Set/reset 22 configuration memory bits 8 per LUT C-7 S-7 6 controls CB-7 D2- D3 3 Config Bits Configuration # Configuration #2 Configuration #3 LUT C (C 7 -C ) XNOR () XOR () XOR () LUT S (S 7 -S ) XOR () XNOR () XNOR () CB -CB 5 Individual FC 49/74 = 85.6% 49/74 = 85.6% 8/74 = 62.% Cumulative FC 85.6% 97.7% % CB 5 Clock Enable Set/Reset Clock LUT C 8x LUT S 8x D2- LUT C 7 Smux CB CB CB 2 C 6 C 5 C 4 C 3 C 2 C C CEmux CB 3 SRmux CB out FF CB 4 2 Cout SOmux Sout = Configuration Memory Bit

Input/Output Cells Bi-directional buffers 3 Programmable for input or output signals Tri-state control for bi-directional operation Flip-flops/latches for improved timing Set Set-up and hold times Clock-to-output output delay Pull-up/down up/down resistors Routing resources to/from internal routing resource s Connections to core of array Tri-state Control Output Data Input Data Bidirectional Pad Buffer Programmable I/O voltage & current levels

Interconnect Network Wire segments of varying length xn = N PLBs in length Typical values of N =, 2, 4, 6, 8 Long lines xh = half the array in length xl = full array in length config bit Programmable Interconnect Points (PIPs) Wire A Wire B Transmission gate connects to 2 wire segments Controlled by configuration memory bit Four basic types of PIPs 4

Programmable Interconnect Points Break-point PIP Connect or isolate 2 wire segments Cross-point PIP 2 2 nets straight through net turns corner and/or fans out Compound cross-point PIP 5 Collection of 6 break-point PIPs Can route 2 isolated signal nets Multiplexer PIP Directional and buffered Main routing resource in recent FPGAs Select -of-n inputs for output Decoded MUX PIP N configuration bits select from 2 N inputs Non-decoded MUX PIP configuration bit per input

On-line BIST, Diagnosis & FT Roving Self Testing AReas (STARs) Test programmable logic & interconnect in FPGA Horizontal STAR (roves up and down FPGA) Tests horizontal routing resources Vertical STAR (roves across FPGA) Tests logic and vertical routing resources V-STAR + + = FPGA H-STAR System Function Self-Testing 6

On-Line BIST, Diagnosis, & FT Exploits dynamic partial reconfiguration STARs rove across FPGA performing BIST Diagnosis when faults are detected Reconfiguration of system function to avoid faults when STAR moves to new position 7

FPGA BIST Configurations ORCA Atmel Cypress Xilinx FPGA Logic Routing 2C 9 27 (48) 2CA 4 48 AT94K/4K 4 56 39K 2 49 4E/Spartan 2 28 4XL/XLA 2 26 Virtex-I/Spartan-IIII 2 283 Virtex-4 5 86 Notes: Logic BIST configurations typically applied 2 times Configurations for embedded cores not included 8

BIST start First Logic BIST Approach Schematic entry difficult Manual placement needed to test all PLBs Routing difficult with larger NxN arrays Routing complexity = O(N 2 )... Global routing resources heavily used m m......... O O O O C+ C+ LUT LUT.. FF. FF pass/fail pass/fail 9

Iterative Logic Array) Second Logic BIST (Iterative Logic Array global routing helper ILA cell Advantages: local routing helper ILA cell local routing from other ILA helper ILA cell G(s) Ts Help ers Linear routing complexity Easily scaleable Algorithmic PLB placement & routing with NCL Disadvantages: 3 3 test sessions Difficult to propagate test patterns through s Particularly for sequential logic functions Helpers s Helpers s Helpers s unused Helpers s Helpers PLBs s Helpers s Helpers s Helpers s Help ers Ts 2

Third Logic BIST (Hybrid) Global routing Local routing Local routing Two test sessions Global routing Row or column orientation Good balance of global & local routing Algorithmic placement & routing Good for dynamic partial reconfiguration Easily scalable with NCL = = = Test Session 2 2

Output Response Analyzers Comparison-based XOR with OR feedback from flip-flopflop Latches mismatches observed due to faults Results retrieval 22 with shift register Requires additional logic Configuration memory readback Read contents of flip-flopsflops Good with partial configuration memory readback capabilities j output k output j output k output j output n k output n j output k output shift data shift mode Pass/ Fail Pass/ Fail Pass / Fail

Pathological Case To escape detection all of the following must be true: X X & Y have same position in both s in row V V & Z have same position in both s in row 8 X X & Y have equivalent faults X Y V V & Z have equivalent faults X X & Y cause s in row to skip patterns that detect V & Z V V & Z cause s in row 8 to V Z skip patterns that detect X & Y But rotating test sessions will detect these faults!! 23 Row 2 3 4 5 6 7 8

Diagnosis Based on BIST Results Step : Record results Step 2: Mark s good between consecutive s with s Step 3: Mark s good for every two adjacent s followed by empty cell Step 4: Mark s bad for every consecutive and followed by empty cell Step 5: Inconsistencies mean fault in or in routing resources Step 6: Unique diagnosis if all s marked faulty or fault-freefree row B O 2 B 2 O 23 B 3 O 34 B 4 O 45 B 5 O 56 2 3 4 5 6 56 B 6 Note: Row 4: s & 2 have equivalent faults Ambiguities: Row 2: 6 may be faulty or fault-freefree Row 6: 6 may be faulty or fault-freefree Row 3: 5 and/or 6 is faulty Row 5: s & 2 may be fault-free free or faulty (with equivalent faults) rotate BIST 9 to remove ambiguities 24

Circular-Comparison Comparison BIST Circular comparison of s Better diagnostic resolution Possibly better fault detection Need s Embedded processor Other cores DSP Embedded RAM DSP counter reads RAM (ROM) with test patterns Need sufficient routing resources Available in many newer FPGAs = = = Test Test Session #2 # 25

Circular Comparison Diagnosis Step : Record results Step 2: Mark all CUTs associated with two or more consecutive s with s (=fault-free) free) Step 3: Recursively mark CUTs with (=faulty) for every consecutive and followed by empty cell Step 4: Inconsistencies mean fault in CUT-to- routing resources or in s it they have not been tested and known to be fault-freefree Step 5: Unique diagnosis if all CUTs marked faulty or fault-freefree Notes: No loss of diagnostic resolution at edge of array - there are no edges C3 and C4 have equivalent faults O 9 9 C O 2 C 2 O 23 C 3 O 34 C 4 O 45 C 5 O 56 C 6 O 67 C 7 O 78 C 8 O 89 C 9 O 9 CUT=Circuit Under Test (CLBs, DSPs, RAMs, etc.) 26

Logic BIST for Large FPGAs Need to manage loading on s Signals degrade completely after 2 PIPs Quad BIST structures in large arrays Small number of rows with BIST structure across all columns Repeat to fill array 27

Virtex-4 Logic BIST s constructed from DSPs Accumulates constant x69 Produces pseudo-exhaustive exhaustive patterns Two s per 4 rows of CLBs Each drives alternating 45 4 columns of s s in alternate columns 2 2 test sessions needed s Logic slices need configs Memory slices need 2 configs # Faults Detec ected Not counting LUT RAMs Includes 2 for testing Shift Registers All slices test concurrently Memory CLB Logic (4 slices) Slice = = = 9 3 35 9 Individual FC 8 Individual FC 25 8 Cumulative Cumulative FC FC7 3 7 2 6 25 6 5 2 5 5 4 4 5 3 3 2 2 5 5 2 2 333 4 4 55 5 66 67 8 7 9 8 9 2 Test Session BIST Configuration # # BIST Configuration # 28 % Fault Cover erage

Reducing Test Time Orient BIST architecture to configuration memory Keep routing constant between configuations Downloading BIST configurations Partial reconfiguration Reduce # frames written between configurations Keep routing constant between configuations Optimize ordering of BIST configurations Retrieving BIST results Partial configuration memory readback Eliminates logic for scan chain Allows concurrent testing of more resources Reduce # frames read Dynamic partial reconfiguration Read BIST results after a series of BIST configurations Slight loss of diagnostic resolution 29

Reducing Test Time Optimized Partial Reconfig Partial Reconfig Full Config Download Technique End Partial 7 Mem RB Partial Mem RB 6 End Shift Reg Shift Reg Full Mem RB 5 4 3 2 Results Retrieval Technique 3 sets of BIST Initial Virtex-4 configs Results: 7x test time due speed-up to Partial Reconfig 8x test time w/ speed-up scan Optimized chain Partial Reconfig Memory Reduction Test Time Speed-up 2 3 4 5 6 Virtex I Logic BIST Test Time Speed-up/Memory Reduction 3

Programmable Routing Network Wire segments of varying length xn = N PLBs in length N =, 2, 4, 6 are common xh = half the array in length xl = length of full array config bit Wire A Wire B Programmable Interconnect Points (PIPs) Also known as Configurable Interconnect Points (CIPs) Transmission gate connects to 2 wire segments Controlled by configuration memory bit = wires disconnected = wires connected 3

Programmable Interconnect Points Break-point PIP Connect or isolate 2 wire segments Cross-point PIP 2 nets straight through net turns corner and/or fans out Compound cross-point PIP Collection of 6 break-point PIPs Can route to two isolated signal nets Significant resource in 4 series Multiplexer PIP Directional and buffered Main routing resource in Virtex FPGAs Select -of-n inputs for output Decoded MUX PIP N config bits select from 2 N inputs Non-decoded MUX PIP config bit per input Minimum # test configs Largest N=37 in Virtex-4 32 2 2 3 N

Routing BIST Program PLBs as s and s Like in logic BIST Program groups of wires under test Wire segments Programmable Interconnect Points Tests partitioned for local and global routing resources Must route through PLBs for local routing Fault models Bridging faults and opens in wire segments Line stuck-at faults Shorts to Vdd and Vss PIPs stuck-on and stuck-off Test conditions Opposite logic values on wires/pips Monitor both logic values PLB 33

First Routing BIST Approach Original thinking - logic BIST will test routing resources Not true (only 55% in ORCA) Comparison-based s compare two groups of WUTs Similar to logic BIST Try to test as much routing as possible at one time Poor diagnostic resolution Difficult to develop configurations WUTs comparison- based 34

Second Routing BIST Developed during on-line BIST project Testing restricted to routing resources for 2 rows or columns of PLBs Small Self-Test AReas (STARs) Comparison-based BIST Applied to off-line BIST Fill FPGA with STARs Tests run concurrently Diagnostic resolution to STAR Easier BIST development But more BIST configurations 27 vs. 48 for ORCA 2C T T WUTs STAR T T FPGA 35 T O O O O O

Other Routing BIST Approaches Parity-based (Sun and Chan) Xilinx 4 Parity bit routed over fault-free free resources What is fault-free free until you ve tested it? Harris and Tessier Used comparison-based approach Pointed out 2-testing requirement Renovell and Zorian Minimum test configurations for switch boxes Modified parity-based approach WUTs parity bit parity- based 36

Newer Routing BIST Comparison-based BIST No good for small PLBs and difficult to route Modified parity-based approach N-bit up-counter with even parity, and N-bit down-counter with odd parity Gives opposite logic values for Stuck-on PIPs & bridging faults Parity used as test pattern N+ wires under test Good for small PLBs Make STARs as small as possible Latest: cross-coupled coupled parity WUTs Par O R A Cn + 37 CO Pass/Fail

Routing BIST Comparing FPGAs Routing resources per PLB 4XL/XLA has 25% more than ORCA 2C/2CA ORCA 2C/2CA has 48% more than 4E/Spartan Routing BIST configurations 26 for 4XL/XLA 48 for ORCA 2C/2CA 28 for 4E/Spartan Number and size of multiplexer PIPs N=5 for ORCA 2C multiplexer PIPs N=35 for 4XL/XLA multiplexer PIPs Bad News: more & larger MUX PIPs in new FPGAs Even more routing BIST configurations 38

Comparing Routing Architectures PLB input/output access to busses More difficulty routing to/from wires = more configs Shared vs. dedicated busses to each PLB Routing conflicts from s to s = more configs SB Xilinx FGC4 Y/YQ FGC3 FGC X/XQ FGC2 SB Atmel F-4 G-4 C-4 O-4 ORCA SB SB repeaters long lines by- lines by-4 lines 39

Routing Diagnostic Configurations Partition into smaller STARs Identify faulty region of WUT Add s & change directions Identify fault region of WUT Re Re-route portions of net Identify faulty wire segment or PIP Single wire 4

Results for Actual Faulty FPGAs ORCA 2C5A that fails manufacturing tests Diagnosis of Chip Single fault Location: row column 8 Short to Vdd H-STAR row po osition 3 5 7 9 3 5 7 9 V-STAR column position 3 5 7 9 3 5 7 9 4

Results for Actual Faulty FPGAs Diagnosis of Chip 2 Fault # Location: row 5 columns 6-8 Short between 3 wires in 4-wire bus Fault #2 Location: row column 2 Short to Vdd H-STAR row pos sition 3 5 7 9 3 5 7 9 V-STAR column position 3 5 7 9 3 5 7 9 42

Virtex-4 Routing BIST 6-bit parity-based BIST architecture count-up/even up/even parity (3-bits) count-down/odd parity (3-bits) Opposite logic values Bridging faults PIPs stuck-on BIST logic Algorithmic in XDL Initial development For local routing Wires under test Develop router Similar to prior work 3 3 3 3 odd parity even parity even parity odd parity count-down odd parity count-up even parity Count-up/Evenup/Even Count-down/Odd Par C C Par C C Podd Cd Cd Peven Cu Cu G LUT F LUT Podd C C G LUT G LUT G LUT F LUT 43 Pass /Fail Pass /Fail Peven Cu Cu