משובצות- הרצאה 6 | Built-In Self Test

  • Upload
    ron

  • View
    227

  • Download
    0

Embed Size (px)

Citation preview

  • 7/30/2019 6 - | Built-In Self Test

    1/120

    1

    Embedded Systems DesignBuilt-In Self Test (BIST)

    83-651

  • 7/30/2019 6 - | Built-In Self Test

    2/120

    2

    General Introduction Previously we have discussed algorithmic

    methods for test generation and techniques fordesign for testability (DFT)

    These methods are primarily used when externaltesting is employed

    Built-in self-test (BIST) is a design technique inwhich parts of a circuit are used to test the circuititself

    The first part of this presentation covers the basicconcepts associated with BIST

    We then focus on the problem of built-ingeneration of test patterns

  • 7/30/2019 6 - | Built-In Self Test

    3/120

    3

    General Introduction

    Various ways of partitioning a circuit forself-testing are described, as are ways ofgenerating test patterns

    Test-pattern generation techniquesdiscussed include exhaustive testing,pseudorandom testing, andpseudoexhaustive testing

    The latter includes the concepts ofverification and segmentation testing

  • 7/30/2019 6 - | Built-In Self Test

    4/120

    4

    General Introduction Generic BIST architectures are described,

    including the major ways of characterizing sucharchitectures in terms of centralized versusdistributed BIST hardware and internal versusexternal BIST hardware

    Next many specific BIST architectures arepresented

    Finally several advanced BIST techniques arediscussed, including the identification of a

    minimal number of test sessions, the control ofBIST structures, and the notion of partial-intrusion BIST designs

  • 7/30/2019 6 - | Built-In Self Test

    5/120

    5

    Introduction to BIST Concepts

    Built-in self-testis the capability of acircuit (chip, board, or system) to test itself

    BIST represents a merger of the conceptsof built-in test(BIT) and self-test, and hascome to be synonymous with these terms

    The related term built-in-test equipment(BITE) refers to the hardware and/or

    software incorporated into a unit to provideDFT or BIST capability

  • 7/30/2019 6 - | Built-In Self Test

    6/120

  • 7/30/2019 6 - | Built-In Self Test

    7/120

    7

    Introduction to BIST Concepts

    In on-lineBIST, testing occurs during normalfunctional operating conditions; i.e., the circuitunder test (CUT) is not placed into a test modewhere normal functional operation is locked out

    Concurrent on-lineBIST is a form of testing thatoccurs simultaneously with normal functionaloperation

  • 7/30/2019 6 - | Built-In Self Test

    8/120

    8

    Introduction to BIST Concepts This form of testing is usually accomplished using

    coding techniques or duplication and comparison These techniques were described in more detail

    in previous lecture

    In nonconcurrent on-lineBIST, testing iscarried out while a system is in an idle state

    This is often accomplished by executingdiagnostic software routines (macrocode) ordiagnostic firmware routines (microcode)

    The test process can be interrupted at any timeso that normal operation can resume

  • 7/30/2019 6 - | Built-In Self Test

    9/120

  • 7/30/2019 6 - | Built-In Self Test

    10/120

    10

    Introduction to BIST Concepts

    Off-line testing does not detect errors inreal time, i.e., when they first occur, as ispossible with many on-line concurrent BISTtechniques

    Functional off-lineBIST deals with theexecution of a test based on a functionaldescription of the CUT and often employs afunctional, or high-level, fault model

    Normally such a test is implemented asdiagnostic software or firmware

  • 7/30/2019 6 - | Built-In Self Test

    11/120

    11

    Introduction to BIST Concepts

    Structural off-lineBIST deals with theexecution of a test based on the structureof the CUT

    An explicit structural fault model may be

    used Fault coverage is based on detecting

    structural faults

    Usually tests are generated and responsesare compressed using some form of anLFSR (Linear Feedback Shift Register)

  • 7/30/2019 6 - | Built-In Self Test

    12/120

    12

    Introduction to BIST Concepts

    Next we present list of several types of test

    structures used in BIST circuits:

    BILBO - built-in logic block observer (register)

    LFSR - linear feedback shift register

    MISR - multiple-input signature register ORA - (generic) output response analyzer

    PRPG - pseudorandom pattern generator, often referredto as a pseudorandom number generator

    SISR - single-input signature register SRSG - shift-register sequence generator; also a single-

    output PRPG

    TPG - (generic) test-pattern generator

  • 7/30/2019 6 - | Built-In Self Test

    13/120

    13

    Introduction to BIST Concepts

    Two common TPG circuits exist

    A pseudorandom pattern generator(PRPG) is a multioutput device normallyimplemented using -an LFSR

    A shift register pattern generator(SRPG)is a single-output autonomous LFSR

    For simplicity the student can consider a

    PRPG to represent a "parallel random-pattern generator," and a SRPG to be a"serial random-pattern generator

  • 7/30/2019 6 - | Built-In Self Test

    14/120

  • 7/30/2019 6 - | Built-In Self Test

    15/120

    15

    Theory and Operation of LinearFeedback Shift Registers

    Here we present some of the formal propertiesassociated with linear feedback shift registers

    These devices, as well as modified versions ofLFSRs, are used extensively in two capacities in

    DFT and BIST designs One application is as a source of pseudorandom

    binary test sequences

    The other is as a means to carry out responsecompression - known as signature analysis

  • 7/30/2019 6 - | Built-In Self Test

    16/120

  • 7/30/2019 6 - | Built-In Self Test

    17/120

    17

    Theory and Operation of LinearFeedback Shift Registers

    O

  • 7/30/2019 6 - | Built-In Self Test

    18/120

    18

    Theory and Operation of LinearFeedback Shift Registers

    Th d O i f Li

  • 7/30/2019 6 - | Built-In Self Test

    19/120

    19

    Theory and Operation of LinearFeedback Shift Registers

    For example, a binary counter consisting of nflip-flopswould go through the states 0, 1, ... , 2n-1, 0, 1, ....

    The maximum number of states for such a device is 2n

    The shift register shown in Figure (a) cycles through

    only two states If the initial state were 00 or 11, it would never change

    state

    An n-bitshift register cycles through at most nstates

    Notice that the output sequence generated by such adevice is also cyclic

    Th d O ti f Li

  • 7/30/2019 6 - | Built-In Self Test

    20/120

    20

    Theory and Operation of LinearFeedback Shift Registers

    The circuit of figure (b) starting in the initial state 111 (or000) produces a cyclic sequence of states of length 1

    In figure (c) we show the sequence generated for thecircuit of figure (b) if the initial state is 011

    (The student should analyze the case if the initial state is101)

    In Figure (d) we illustrate the case where the statesequence generated by the feedback shift register is oflength 23 - 1

    Note that for the class of circuits being illustrated, the all-0state leads to a state sequence of length 1, namely theall-0 state itself

  • 7/30/2019 6 - | Built-In Self Test

    21/120

    Th d O ti f Li

  • 7/30/2019 6 - | Built-In Self Test

    22/120

    22

    Theory and Operation of LinearFeedback Shift Registers

    A linear circuitis a logic network constructed from thefollowing basic components: unit delays or Dflip-flops

    modulo-2 adders

    modulo-2 scalar multipliers

    In the analysis of such circuits, all operations are donemodulo 2

    The truth table for modulo-2 addition and subtraction isshown below

    Thus x+ x=- x- x=x- x= 0

  • 7/30/2019 6 - | Built-In Self Test

    23/120

    Theory and Operation of Linear

  • 7/30/2019 6 - | Built-In Self Test

    24/120

    24

    Theory and Operation of LinearFeedback Shift Registers

    Theory and Operation of Linear

  • 7/30/2019 6 - | Built-In Self Test

    25/120

    25

    Theory and Operation of LinearFeedback Shift Registers

    Theory and Operation of Linear

  • 7/30/2019 6 - | Built-In Self Test

    26/120

    26

    Theory and Operation of LinearFeedback Shift Registers

    Here ci is a binary constant, and ci= 1 implies

    that a connection exists, while ci= 0 implies thatno connection exists

    When ci= 0 the corresponding XOR gate can bereplaced by a direct connection from its input toits output

  • 7/30/2019 6 - | Built-In Self Test

    27/120

    27

    Characteristic Polynomials

    A sequence of numbers a0, a1, a2, ... , am, ... can beassociated with a polynomial, called a generatingfunctionG(x), by the rule:

    G(x) = a0+ a1x + a2x2+ ... + amx

    m....

    Let { am} =a0, a1, a2, represent the outputsequence generated by an LFSR, where ai = 0 or 1

    Then this sequence can be expressed as

    Recall that polynomials can be multiplied and divided(modulo 2)

    m

    m

    mxaxG

    =

    =0

    )(

  • 7/30/2019 6 - | Built-In Self Test

    28/120

    Characteristic Polynomials

  • 7/30/2019 6 - | Built-In Self Test

    29/120

    29

    Characteristic Polynomials

    From the structure of the type 1 LFSR it is seenthat if the current state (CS) of Q

    i

    is am-i

    ,for i= 1, 2, ... , n, then

    Thus the operation of the circuit can be defined bya recurrence relation

    Let the initial state (IS) of the LFSR bea

    -1

    , a-2

    , ... , a-n+1

    , a-n The operation of the circuit starts nclock periods

    before generating the output a0

    im

    n

    i

    im aca ==

    1

  • 7/30/2019 6 - | Built-In Self Test

    30/120

    Characteristic Polynomials

  • 7/30/2019 6 - | Built-In Self Test

    31/120

    31

    Characteristic Polynomials

    Or

    Thus G(x) is a function of the initial statea-1, a-2, ... , a-nof the LFSR and the feedback

    coefficients c1, c2, ... , cn The denominator in the equation above, denoted

    by

    is referred to as the characteristic polynomialofthe sequence {am} and of the LFSR

  • 7/30/2019 6 - | Built-In Self Test

    32/120

    Characteristic Polynomials

  • 7/30/2019 6 - | Built-In Self Test

    33/120

    33

    Characteristic Polynomials

    And sand since the sequence { am} is cyclic withperiod p, last equation can be rewritten as

    Thus it is seen that P(x) evenly divides into 1 - xp

  • 7/30/2019 6 - | Built-In Self Test

    34/120

  • 7/30/2019 6 - | Built-In Self Test

    35/120

    Characteristic Polynomials

  • 7/30/2019 6 - | Built-In Self Test

    36/120

    36

    C a acte st c o y o a s For the circuit of Figure (b) (slide 17), P(x) = 1+ x+ x2+

    x3, and for Figure (d) (slide 18), P(x) = 1 + x2+ x3

    Characteristic Polynomials

  • 7/30/2019 6 - | Built-In Self Test

    37/120

    37

    y

    Referring to the shift operator (slide 34), let

    y-k

    ai(t) = ai(t-k) Then, carrying out the same algebraic manipulation as

    before, we obtain

    or equivalently

    Again the term in the brackets can be considered to bea characteristic polynomial of the LFSR

    Characteristic Polynomials

  • 7/30/2019 6 - | Built-In Self Test

    38/120

    38

    y Replacing yby xwe obtain

    P*(x) is said to be the reciprocal polynomialof P(x),since P*(x) = xnP(1/x)

    Thus every LFSR can be associated with two

    characteristic polynomials

  • 7/30/2019 6 - | Built-In Self Test

    39/120

    Characteristic Polynomials

  • 7/30/2019 6 - | Built-In Self Test

    40/120

    40

    y

    If in figure of type 1 LFSR (slide 24) one associates

    xi

    with Qithen p(x) can be read off directly from thefigure

    If, however, one associates xiwith Qn-iand labelsthe input to the first flip-flop Q

    0

    , then P*(x) can beread off directly from the figure

    Figure in next slide illustrates these two labelings

    Finally, note that a given characteristic polynomial,

    say Q(x), can be realized by two different LFSRsdepending on the labeling used

  • 7/30/2019 6 - | Built-In Self Test

    41/120

    Characteristic Polynomials

  • 7/30/2019 6 - | Built-In Self Test

    42/120

    42

    y

    Referring to figure of type 2 LFSR (SLIDE 25), we seethat for i = 2, 3, ... , n

    Ifwe define am(t) =0, then the equation is also true for

    i =1 Let xbe a "shift" operator such that xkai(t) = ai(t-k)

    Then the equations can be written as

    for i = 1, 2, ... , n

    Characteristic Polynomials

  • 7/30/2019 6 - | Built-In Self Test

    43/120

    43

    Multiplying the i-th equation by x-i+1we get

    Summing these nequations and canceling terms that

    appear on both sides of the equation yield

    Characteristic Polynomials

  • 7/30/2019 6 - | Built-In Self Test

    44/120

    44

    Or

    Multiplying by xnwe get

    The term in the brackets is the characteristicpolynomial for the type 2 LFSR

    Again it can be shown that a characteristic

    polynomial P(x) has two type 2 realizations, orconversely, a type 2 LFSR can be associated withtwo characteristic polynomials that are reciprocalsof each other

    Periodicity of LFSRs

  • 7/30/2019 6 - | Built-In Self Test

    45/120

    45

    y

    We have seen that an LFSR goes through a cyclic

    or periodic sequence of states and that the outputproduced is also periodic

    The maximum length of this period is 2n- 1, wherenis the number of stages

    Here we consider properties related to the periodof an LFSR

    Most results will be presented without proof

    Periodicity of LFSRs

  • 7/30/2019 6 - | Built-In Self Test

    46/120

    46

    Theorem: If the initial state of an LFSR is

    a-1 = a-2 =... = a1-n =0, and a-n= 1, then the LFSRsequence {am} is periodic with a period that is thesmallest integer kfor which P(x) divides (1-xk)

    Definition: If the sequence generated by an n-stage

    LFSR has period 2n- 1, then it is called a maximum-length sequence

    Definition: The characteristic polynomial associatedwith a maximum-length sequence is called a primitive

    polynomial

    Periodicity of LFSRs

  • 7/30/2019 6 - | Built-In Self Test

    47/120

    47

    Definition: An irreducible polynomialis one thatcannot be factored; i.e., it is not divisible by any otherpolynomial other than 1 and itself

    Theorem : An irreducible polynomial P(x) of degree nsatisfies the following two conditions:

    For n 2, P(x) has an odd number of terms including the 1term

    For n 4, P(x) must divide (evenly) into 1 + xk, where

    k= 2n- 1

    The next result follows from previous theorems

    Periodicity of LFSRs

  • 7/30/2019 6 - | Built-In Self Test

    48/120

    48

    Theorem: An irreducible polynomial is primitive if thesmallest positive integer kthat allows the polynomial todivide evenly into 1 + xkoccurs for k= 2n- 1, where nisthe degree of the polynomial

    The number of primitive polynomials for an n-stage

    LFSR is given by the formula

    Where

    and pis taken over all primes that divide n

    Periodicity of LFSRs

  • 7/30/2019 6 - | Built-In Self Test

    49/120

    49

    Next table shows some values of

    Figure in next slide gives one primitive polynomial forevery value of nbetween 1 and 36

    A shorthand notation is employed

  • 7/30/2019 6 - | Built-In Self Test

    50/120

    Characteristics of Maximum-LengthS

  • 7/30/2019 6 - | Built-In Self Test

    51/120

    51

    Sequences

    Sequences generated by LFSRs that are associatedwith a primitive polynomial are called pseudorandomsequences, since they have many properties like thoseof random sequences

    However, since they are periodic and deterministic, theyare pseudorandom, not random

    Some of these properties are listed next

    Characteristics of Maximum-LengthS

  • 7/30/2019 6 - | Built-In Self Test

    52/120

    52

    Sequences

    In the following, any string of 2

    n

    - 1 consecutive outputsis referred to as an m-sequence

    Property1. The number of 1s in an m-sequence differsfrom the number of 0s by one

    Property2. An m-sequence produces an equal numberof runs of 1s and 0s.

    Characteristics of Maximum-LengthS

  • 7/30/2019 6 - | Built-In Self Test

    53/120

    53

    Sequences

    Property3. In every m-sequence, one half the runshave length 1, one fourth have length 2, one eighth havelength 3, and so forth, as long as the fractions result inintegral numbers of runs

    These properties of randomness make feasible the useof LFSRs as test sequence generators in BIST circuitry

    Now we will return back to BIST

    Hardcore

  • 7/30/2019 6 - | Built-In Self Test

    54/120

    54

    Some parts of a circuit must be operational to

    execute a self-test This circuitry is referred to as the hardcore

    At a minimum the hardcore usually includes power,

    ground, and clock distribution circuitry The hardcore is usually difficult to test explicitly

    If faulty, the self-test normally fails

    Thus detection is often easy to achieve, but little ifany diagnostic capability exists

    Hardcore

  • 7/30/2019 6 - | Built-In Self Test

    55/120

    55

    If a circuit fails during self-test, the problem may be

    in the hardcore rather than in the hardwarepresumably being tested

    The hardcore is normally tested by external testequipment or is designed to be self-testable byusing various forms of redundancy, such asduplication or self-checking checkers (as wediscussed in previous lectures)

    Normally a designer attempts to minimize thecomplexity of the hardcore

    Levels of Test Production Testing

  • 7/30/2019 6 - | Built-In Self Test

    56/120

    56

    We refer to the testing of newly manufactured

    components as production testing Production testing can occur at many levels, such

    as the chip, board, or system levels

    Using BIST at these levels reduces the need forexpensive ATE in go/no-go testing and simplifiessome aspects of diagnostic testing

    Levels of Test Production Testing

  • 7/30/2019 6 - | Built-In Self Test

    57/120

    57

    For example, the Intel 80386 microprocessor

    employs about 1.8 percent area overhead for BISTto test portions of the circuit that would be difficultto test by other means

    The BIST aspects of several other chips and/orboards are discussed in the literature

    Levels of Test Production Testing

  • 7/30/2019 6 - | Built-In Self Test

    58/120

    58

    When implemented at the chip level along with

    boundary scan, BIST can be used effectively at alllevels of a system's hierarchy

    Since many BIST techniques can be run in realtime, this method is superior to many non-BISTapproaches and to some extent can be used fordelay testing

    It is not applicable, however, to parametric testing

    Levels of Test Field Testing

  • 7/30/2019 6 - | Built-In Self Test

    59/120

    59

    BIST can be used for field-level testing, eliminating

    the need for expensive special test equipment todiagnose faults down to field-replaceable units

    This can have a great influence on the

    maintainability and thus life-cycle costs of bothcommercial and military hardware

    For example, the U.S. military is attempting toimplement the concept of two-level maintenance

    Levels of Test Field Testing

  • 7/30/2019 6 - | Built-In Self Test

    60/120

    60

    Here a system must carry out a self-test and

    automatically diagnose a fault to a field-replaceable unit, such as a printed circuit board

    This board is then replaced "in the field" and the

    faulty board is either discarded or sent to a depotfor further testing and repair

    Test-Pattern Generation for BIST

  • 7/30/2019 6 - | Built-In Self Test

    61/120

    61

    Here, various TPG designs will be described

    We assume that the unit being tested is an n-input,m-outputcombinational circuit

    The various forms of testing and related TPGs are

    summarized next

    Test-Pattern Generation for BIST

  • 7/30/2019 6 - | Built-In Self Test

    62/120

    62

    Exhaustive testing

    Exhaustive test-pattern generators Pseudorandom testing

    Weighted test generator

    Adaptive test generator

    Pseudoexhaustive testing Syndrome driver counter

    Constant-weight counter

    Combined LFSR and shift register

    Combined LFSR and XOR gates Condensed LFSR

    Cyclic LFSR

  • 7/30/2019 6 - | Built-In Self Test

    63/120

  • 7/30/2019 6 - | Built-In Self Test

    64/120

    Pseudorandom Testing

  • 7/30/2019 6 - | Built-In Self Test

    65/120

    65

    Pseudorandom testingdeals with testing a circuit

    with test patterns that have many characteristics ofrandom patterns but where the patterns aregenerated deterministically and hence are

    repeatable Pseudorandom patterns can be generated with or

    without replacement

    Pseudorandom Testing

  • 7/30/2019 6 - | Built-In Self Test

    66/120

    66

    Generation with replacement implies that a test

    pattern may be generated more than once; withoutreplacement implies that each pattern is unique

    Not all 2ntest patterns need be generated

    Pseudorandom test patterns without replacementcan be generated by an autonomous LFSR

    Pseudorandom testing is applicable to both

    combinational and sequential circuits

    Pseudorandom Testing

  • 7/30/2019 6 - | Built-In Self Test

    67/120

    67

    Fault coverage can be determined by fault

    simulation

    The test length is selected to achieve anacceptable level of fault coverage

    Unfortunately, some circuits contain random-pattern-resistant faults and thus require longtest lengths to insure a high fault coverage

  • 7/30/2019 6 - | Built-In Self Test

    68/120

    Pseudorandom TestingConsider for example a 4 input AND gate

  • 7/30/2019 6 - | Built-In Self Test

    69/120

    69

    Consider, for example, a 4-input AND gate

    When applying unbiased random inputs, the probabilityof applying at least one 0 to any input is 15/16

    A 0 on any input makes it impossible to test any otherinput for s-a-0or s-a-1

    Thus there is a need to be able to generate test patternshaving different distributions of 0s and 1s

    Some results relating the effectiveness of testing interms of test length and fault coverage to the distribution

    characteristics of the test patterns have been reported inthe literature

    Weighted Test Generation

  • 7/30/2019 6 - | Built-In Self Test

    70/120

    70

    A weighted test generatoris a TPG where the

    distribution of 0s and 1s produced on the outputlines is not necessarily uniform

    Such a generator can be constructed using an

    autonomous LFSR and a combinational circuit For example, the probability distribution of 0.5 for a

    1 that is normally produced by a maximal-lengthLFSR can be easily changed to 0.25 or 0.75 toimprove fault coverage

    Weighted Test Generation

  • 7/30/2019 6 - | Built-In Self Test

    71/120

    71

    When testing a circuit using a weighted test

    generator, a preprocessing procedure is employedto determine one or more sets of weights

    Different parts of a circuit may be tested more

    effectively than other parts by pseudorandompatterns having different distributions

    Once these weights are determined, theappropriate circuitry can be designed to generatethe pseudorandom patterns having the desireddistributions

  • 7/30/2019 6 - | Built-In Self Test

    72/120

    Pseudoexhaustive Testing

  • 7/30/2019 6 - | Built-In Self Test

    73/120

    73

    Pseudoexhaustivetesting achieves many of the

    benefits of exhaustive testing but usually requiresfar fewer test patterns.

    It relies on various forms of circuit segmentation

    and attempts to test each segment exhaustively Because of the many subjects that are associated

    with pseudoexhaustive testing, we will first brieflyoutline the main topics to be discussed in this

    section

    Pseudoexhaustive Testing

  • 7/30/2019 6 - | Built-In Self Test

    74/120

    74

    A segment is a subcircuit of a circuit C

    Segments need not be disjoint

    There are several forms of segmentation, afew of which are listed below

    1. Logical segmentation

    a. Cone segmentation (verification testing)

    b. Sensitized path segmentation

    2. Physical segmentation

    Pseudoexhaustive Testing

  • 7/30/2019 6 - | Built-In Self Test

    75/120

    75

    When employing a pseudoexhaustive test to an

    n-inputcircuit, it is often possible to reconfigurethe input lines so that tests need only begenerated on mlines, where m< n, and these m

    lines can fanout and drive the nlines to the CUT These msignals are referred to as test signals

    A procedure for identifying these test signals will

    be presented

    Pseudoexhaustive Testing

  • 7/30/2019 6 - | Built-In Self Test

    76/120

    76

    Pseudoexhaustive testing can often be

    accomplished using constant-weight testpatterns

    Some theoretical results about such patterns

    will be presented We will also describe several circuit

    structures that generate these patterns as

    well as other patterns used inpseudoexhaustive testing

    Logical Segmentation - Conesegmentation

  • 7/30/2019 6 - | Built-In Self Test

    77/120

    77

    In cone segmentationan moutput circuit is

    logically segmented into mcones, each coneconsisting of all logic associated with one output

    Each cone is tested exhaustively, and all cones

    are tested concurrently This form of testing was originally suggested by

    McCluskey [1984] and is called verification

    testing

  • 7/30/2019 6 - | Built-In Self Test

    78/120

  • 7/30/2019 6 - | Built-In Self Test

    79/120

    Logical Segmentation Sensitized-Path Segmentation

  • 7/30/2019 6 - | Built-In Self Test

    80/120

    80

    Some circuits can be segmented based on the

    concept of path sensitization A trivial example is shown in next figure

    Logical Segmentation Sensitized-Path Segmentation

  • 7/30/2019 6 - | Built-In Self Test

    81/120

    81

    g

    To test C1

    exhaustively, patterns are appliedto A while Bis set to some value so that D= 1

    Thus a sensitized path is established from Cto F

    C2 is tested in a similar manner

    By this process, the AND gate is also completelytested

    Thus this circuit can be effectively tested usingonly test patterns, rather than

    1

    2

    n

    122 21 ++nn 212

    nn +

    Constant-Weight Patterns

  • 7/30/2019 6 - | Built-In Self Test

    82/120

    82

    Consider two positive integers nand k, where

    k n Let Tbe a set of binary n-tuples

    Then Tis said to exhaustively cover allk-subspacesif for all subsets of kbit positions,each of the 2kbinary patterns appears at leastonce among the Tn-tuples

    For example, the set Tshown in next slide,

    exhaustively covers all 2-spaces (all possible 2 1sin 3 bit tuples)

    Constant-Weight Patterns

  • 7/30/2019 6 - | Built-In Self Test

    83/120

    83

    If ITlmin is the smallest possible size for such a setT, then clearly 2k ITl

    min 2n

    A binary n-tupleis said to be of weight kif itcontains exactly k1s

    There are binary n-tupleshaving weight k

    The following results will be presented herewithout proof

    k

    n

  • 7/30/2019 6 - | Built-In Self Test

    84/120

    Constant-Weight Patterns Example 1: n= 20, k= 2, n- k+ 1 = 19

  • 7/30/2019 6 - | Built-In Self Test

    85/120

    85

    p , ,

    Case1: c=0

    Setting w= 0 mod 19 produces w= 0 and 19

    Thus T0consists of the all-0 patterns and 20patterns of weight 19

    Hence and

    Constant-Weight Patterns Case2: c=1

  • 7/30/2019 6 - | Built-In Self Test

    86/120

    86

    Setting w= 1 mod 19 results in w= 1, 20

    Therefore

    and

    Constant-Weight Patterns Case3: 2c 18

  • 7/30/2019 6 - | Built-In Self Test

    87/120

    87

    For 2c 18, w= cmod 19 implies that w= c

    Thus in each case Tcconsists of all weight-c

    binary n-tuples, and ITcI =

    Note that T0and T1 are the smallest among the 19 sets; in fact T1 and T0are complements of

    each other

    c

    n

    Constant-Weight Patterns Example 2: n= 20, k= 3, n- k+ 1 = 18

  • 7/30/2019 6 - | Built-In Self Test

    88/120

    88

    p

    Case1: c=0

    For w= 0 mod 18, w= 0 and 18

    Thus

    Case2: c = 1 For w=1 mod 18, w=1, 19 and

    Constant-Weight Patterns Case3: c = 2

  • 7/30/2019 6 - | Built-In Self Test

    89/120

    89

    For w= 2 mod 18, w =2, 20 and T2 is thecomplement of T0

    Case4: 3 c 17

    For w= cmod 18, 3 c 17, we have w= c

    Note that for both examples, for any value of w,0 w 20, all n-tuplesof weight wexist in exactlyone case considered

    The general situation is covered by the followingcorollary

    Constant-Weight Patterns Corollary 1: There are (n - k+1) solution sets Ti ,

  • 7/30/2019 6 - | Built-In Self Test

    90/120

    90

    0 i n- kobtained from Theorem 1, and these

    solution sets are disjoint and partition the set of all2nn-tuplesinto disjoint classes

    Since these are (n - k+1) solution sets thatpartition the set of 2ndistinct n-tuplesinto (n - k+1)disjoint sets, and the smallest set cannot be largerthan the average set, then an upper bound on thesize of ITlmin is

    Constant-Weight Patterns Theorem 2: Let Tcbe a set generated according

  • 7/30/2019 6 - | Built-In Self Test

    91/120

    91

    to Theorem 1

    Then Tcis minimal; i.e., no proper subset of Tcalso exhaustively covers all k-subspaces, if c kor c= n- k

    Example 3: n=6, k=2, n- k+ 1 =5 For c= 3, w= 3 mod 5, thus w= 3and

    One subset of T3that exhaustively covers all 2-subspaces is shown in next slide as T'3

    Constant-Weight Patterns

  • 7/30/2019 6 - | Built-In Self Test

    92/120

    92

    T'3is minimal and IT'3I = 6

    The upper bound of ITminI Bnis tight when kisclose to nand is loose when kis small

    Bngrows exponentially as nincreases,

    independent of the value of k

  • 7/30/2019 6 - | Built-In Self Test

    93/120

    Constant-Weight Patterns Case2: n= k+ 1

  • 7/30/2019 6 - | Built-In Self Test

    94/120

    94

    For this case w= cmod 2, and T0consists of theset of all binary n-tuples having odd parity

    and T1 consists of the set of all n-tuples havingeven parity

    This situation is shown below for the case of n= 4and k= 3

  • 7/30/2019 6 - | Built-In Self Test

    95/120

  • 7/30/2019 6 - | Built-In Self Test

    96/120

  • 7/30/2019 6 - | Built-In Self Test

    97/120

  • 7/30/2019 6 - | Built-In Self Test

    98/120

  • 7/30/2019 6 - | Built-In Self Test

    99/120

    Identification of Test SignalInputs

    Next figure shows a non-MTC circuit

  • 7/30/2019 6 - | Built-In Self Test

    100/120

    100

    e t gu e s o s a o C c cu t

    Here every output is a function of only two inputs,but three test signals are required

    However, each output can still be testedexhaustively by just four test patterns

  • 7/30/2019 6 - | Built-In Self Test

    101/120

    Identification of Test SignalInputs

    Each output is a function of only two inputs, but

  • 7/30/2019 6 - | Built-In Self Test

    102/120

    102

    Each output is a function of only two inputs, but

    five test patterns are required to exhaustively testall six outputs

    We next present a procedure for partitioning theinputs of a circuit to determine (1) the minimalnumber of signals required to test a circuit and (2)which inputs to the CUT can share the same testsignal

    We will also show how constant-weight patternscan be used to test the circuit

    Identification of Test SignalInputs The various steps of the procedure will be illustrated as

  • 7/30/2019 6 - | Built-In Self Test

    103/120

    103

    p p

    they are presented using the circuit C* shown infunctional form in next figure

    From these results it will be possible to identify MTCcircuits and to construct tests for MTC and non-MTCcircuits

    Identification of Test SignalInputs Procedure 1: Identification of Minimal Set of Test

  • 7/30/2019 6 - | Built-In Self Test

    104/120

    104

    Signals Step1: Partition the circuit into disjoint subcircuits

    C * consists of only one partition

    Step2: For each disjoint subcircuit, carry out the

    following stepsa. Generate a dependency matrix

    b. Partition the matrix into groups of inputs so that two or more

    inputs in a group do not affect the same output

    c. Collapse each group to form an equivalent input, called a testsignal input

    Identification of Test SignalInputs For an n-input, m-outputcircuit, the dependency

  • 7/30/2019 6 - | Built-In Self Test

    105/120

    105

    p p y

    matrixD =[dij]consists of mrows and ncolumns,where dij=1 if output idepends on input j; otherwisedij= 0

    For circuit C *, we have

    Identification of Test SignalInputs Reordering and grouping the inputs produce the

  • 7/30/2019 6 - | Built-In Self Test

    106/120

    106

    modified matrix Dg

    In each group there must be less than two 1s in eachrow and the number of groups should be minimal

    This insures that no output is driven by more than oneinput from each group

    Identification of Test SignalInputs Procedures for finding such a partition, which is a NP-

  • 7/30/2019 6 - | Built-In Self Test

    107/120

    107

    complete problem, can be found in the literature The collapsed equivalent matrix Dc is obtained by

    ORing each row within a group to form a singlecolumn

    The result for circuit C* is

  • 7/30/2019 6 - | Built-In Self Test

    108/120

    Identification of Test SignalInputs For Dc, we have p= 4 and w= 3

  • 7/30/2019 6 - | Built-In Self Test

    109/120

    109

    A universal minimal pseudoexhaustive test sethaving parameters (p,w) is a minimal set of test patterns

    that contains, for all subsets consisting

    of wof the psignal lines, all 2wtest patterns

    The properties of these test sets are determined by therelative values of pand w, where by definition, p w

    For a specific circuit, if all outputs are a function of winputs, then this test set is minimal in length

    w

    p

    Identification of Test SignalInputs Otherwise it may not be

  • 7/30/2019 6 - | Built-In Self Test

    110/120

    110

    Step4: Construct the test patterns for the circuitbased upon the following three cases:

    Case1: p= w

    Case2: p= w+ 1

    Case3: p> w+ 1

    Identification of Test SignalInputs Case1: p= w

  • 7/30/2019 6 - | Built-In Self Test

    111/120

    111

    This case corresponds to MTC circuits and the testconsists of all 2ptest patterns of pbits

    The test can be easily generated by a counter or acomplete LFSR

    Clearly this is a universal minimal pseudoexhaustivetest set

    This case applies to Figure in slide 98, where p= w= 2

    Referring to the prior discussion on constant weightpatterns, this case corresponds to the previous casewhere k= nresulting in the test set T0

  • 7/30/2019 6 - | Built-In Self Test

    112/120

    Identification of Test SignalInputs

  • 7/30/2019 6 - | Built-In Self Test

    113/120

    113

    Note that for any subset of three columns, all 23 binarytriplets occur

    This pseudoexhaustive test set consists of 8 patterns,while an exhaustive test would consist of 128 patterns

    Identification of Test SignalInputs Each column represents an input to each line in a

  • 7/30/2019 6 - | Built-In Self Test

    114/120

    114

    group; e.g., column A can be the input to lines aand cin the circuit shown in figure in slide 108

    This case also applies to the circuit shown in figure inslide 100, where p= 3 and test patterns of even parity

    are selected Case3: p> w+ 1

    For this case, the test set consists of two or more

    pattern subsets, each of which contains all possiblepatterns of pbits having a specific constant weight

    Identification of Test SignalInputs The total number of test patterns Tis a function of pand w

    Next figure shows the value of the constant weights and T for

  • 7/30/2019 6 - | Built-In Self Test

    115/120

    115

    Next figure shows the value of the constant weights and Tforvarious values of pand w

    Identification of Test SignalInputs Unfortunately, constant weights do not exist for all pairs of

    p and w

  • 7/30/2019 6 - | Built-In Self Test

    116/120

    116

    pand w

    For such cases, wcan be increased so as to achieve aconstant-weight pseudoexhaustive test, but it may not be

    minimal in length

    The minimal test set for p= 5 and w= 3 corresponding tothe constant-weight pair (1,4) (see figure in previousslide) is shown in next figure

    Identification of Test SignalInputs Unfortunately it is not always easy to construct a circuit to

    generate a pseudoexhaustive test set for p > w + 1 and the

  • 7/30/2019 6 - | Built-In Self Test

    117/120

    117

    generate a pseudoexhaustive test set for p> w+ 1, and the

    hardware overhead of some of these circuits is sometimesquite high

    In the next subsection several techniques for designingcircuits that generate pseudoexhaustive tests will be briefly

    described Many of these designs do not generate minimal test sets, but

    the techniques lead to efficient hardware designs

    Because most TPGs use some form of an LFSR, and since

    more than one test sequence is sometimes needed, oftenmore than one seed value is required for initializing the stateof the LFSR

    Test-Pattern enerators forPseudoexhaustive Tests Syndrome-Driver Counter

  • 7/30/2019 6 - | Built-In Self Test

    118/120

    118

    For the circuit shown in figure in slide 79, y1 = f1(x1,x3),y2= f2(x1,x2), y3= f3(x2,x3), and y4= f4(x3,x4)

    Thus no output is a function of both x1 and x4, or of x2and x4 (The width of this circuit is 3)

    Hence x1 and x4 (or x2 and x4) can share the sameinput during testing

    Thus this circuit can be pseudoexhaustively tested by

    applying all 23

    input to x1, x2, and x3, and by havingthe line driving x1 or x2 also drive x4

  • 7/30/2019 6 - | Built-In Self Test

    119/120

    Syndrome-Driver Counter In general the test patterns consisting of all 0s and all 1s

    are not required; hence 2p- 2 tests can be used

  • 7/30/2019 6 - | Built-In Self Test

    120/120

    120

    are not required; hence 2p- 2 tests can be used

    The major problem with this approach is that when pisclose in value to na large number of test patterns arestill required

    This testing scheme was proposed by Barzilai et al. anduses a syndrome-driver counter(SDC) to generatetest patterns

    The SDC can be either a binary counter or an LFSR

    and contains only pstorage cells