hardware testing

Upload: hargobindb

Post on 07-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Hardware Testing

    1/48

    HARDWARE TESTING

  • 8/3/2019 Hardware Testing

    2/48

    HARDWARE TESTING

    Introduces digital system testing that makes the systems easier to test

    Testing of a system is an experiment in which the system is exercised and its

    resulting experience is analyzed to ascertain whether it behaved correctly.

    If incorrect behavior is detected locate the cause of the misbehavior or failure

    Problem: Normally we have access only to the inputs and outputs of the circuit

    Testing levels:

    VHDL test benches: to verify the overall design and algorithms used are correct

    Simulation at the logic level : to verify that a design is logically correct

    Hardware testing: to verify that the manufactured digital system functions properly

  • 8/3/2019 Hardware Testing

    3/48

    TOPICS COVERED

    Testing of combinational logic

    Testing of sequential logic

    Using distinguishing sequence

    Using scan testing

    Boundary scan testing

    Built in self test

  • 8/3/2019 Hardware Testing

    4/48

    TESTING OF COMBINATIONAL CIRCUITS

    Common faults: short circuits & Open circuits

    Fault model : Stuck at faults( s-a-f causes a line inthe circuit to behave as if it is permanently at logic

    0 or logic 1) Stuck at 0 faults(s-a-0)

    Stuck at 1 faults(s-a-1)

    To test a gate input for s-a-0 the gate input must be 1 so achange to 0 can be detected.

    To test a gate input for s-a-1 the gate input must be 0 so achange to 1 can be detected

  • 8/3/2019 Hardware Testing

    5/48

    TESTING AND & OR GATES FOR STUCK AT

    FAULTS

  • 8/3/2019 Hardware Testing

    6/48

    TESTING OF COMBINATIONAL LOGIC (EXAMPLE 1)

    1. Stuck at 0 fault

  • 8/3/2019 Hardware Testing

    7/48

    TESTING OF COMBINATIONAL LOGIC (EXAMPLE 1)

    Stuck-at-1 test

  • 8/3/2019 Hardware Testing

    8/48

    Test Vectors

  • 8/3/2019 Hardware Testing

    9/48

    FAULT DETECTION USING PATH SENSITIZATION-

    TESTING MULTILEVEL NETWORKS

    Path sensitization- Choose some path from the

    origin of the fault to the circuit output

    Choose a set of inputs that will excite that fault

    And then propagate the effect of that fault to

    the network output

    Forward trace: from fault to output and

    backward trace: back to input from fault

  • 8/3/2019 Hardware Testing

    10/48

    FAULT DETECTION USING PATH SENSITIZATION-

    TESTING MULTILEVEL NETWORKS- EXAMPLE 2

  • 8/3/2019 Hardware Testing

    11/48

    FAULT DETECTION USING PATH

    SENSITIZATION- EXAMPLE 3-HW

  • 8/3/2019 Hardware Testing

    12/48

    MINIMAL TEST SET

  • 8/3/2019 Hardware Testing

    13/48

    DETERMINE A MINIMUM SET OF TEST VECTORS

    TO TEST THE NETWORK- EXAMPLE 4

    *TEST INPUT FOR P S-A-1 :

    1. path A-a-p-v-f-F

    2. ABCD =0101 will test for faults a1, p1, v1, f1 and c1.

  • 8/3/2019 Hardware Testing

    14/48

    Assume that we can apply inputs to A,B,C,D

    and observe output at F

    And internal gate inputs and outputs cannot be

    accessed

  • 8/3/2019 Hardware Testing

    15/48

    1. Test input for p s-a-12. Choose A,B,C,D such that p=0

    3. And if p is s-a-1 ,we must propagate this fault to the output F

    so it can be observed.

    4. To propagate this fault ,Make c=0 and w=1 : C=0

    5. We can make w=1 ,by making t=1 or u= 1

    6. To make u=1 ,we must have d=1 and r=1 : D=1 and C= 0

    ( c=0 makes r=1)

    7. To make p=0 ,we choose A=0

    8. By choosing B=1 ,we can sensitize the path A-a-p-v-f-F

    9. ABCD =0101 will test for faults a1, p1, v1, f1 and c1.

  • 8/3/2019 Hardware Testing

    16/48

    TEST INPUT FOR P S-A-0

    1. path A-a-p-v-f-F

    2. ABCD = 1101 will test for faults a0,b0, p0,q1, r0 ,d0 , u0, v0, w0, f0

  • 8/3/2019 Hardware Testing

    17/48

    TEST INPUT FOR S S-A-1

    1. path B-b-s-t-w-f-F

    2. ABCD = 1011 will test for faults b1 , c0, s1, t0, v0, w0, f0

  • 8/3/2019 Hardware Testing

    18/48

    Test Vectors

  • 8/3/2019 Hardware Testing

    19/48

    EXAMPLE 5 - HWA)DETERMINE THE NECESSARY INPUTS TO THE FOLLOWING NETWORK TO TEST FOR V STUCK AT 0.

    B)FOR THIS SET OF INPUTS DETERMINE WHICH OTHER STUCK AT FAULTS CAN BE TESTED.

    C)REPEAT (A) AND ( B) FOR R STUCK AT 1.

  • 8/3/2019 Hardware Testing

    20/48

    EXAMPLE 6- HW

    Find the test sequences for C s-a-1 and D s-a-0

  • 8/3/2019 Hardware Testing

    21/48

    EXAMPLE 7- HW

    Find the test sequences for G s-a-1 and L s-a-0

  • 8/3/2019 Hardware Testing

    22/48

    TESTING SEQUENTIAL LOGIC

    Difficult than testing combinational logic

    Uses test sequences ( sequences of inputs for

    testing)

    Comparing the circuit to be tested with the

    correctly functioning network

  • 8/3/2019 Hardware Testing

    23/48

    TESTING SEQUENTIAL LOGIC

    X(t) sequence of inputs in time

    Z(t)- output sequence

    X,Z,Q can be single variable or

    vector

    I.One way to derive test sequences for a sequential network is to convert it into

    an iterative network

    Iterative network is a combinational network , we could then derive the test vectors for

    the iterative network using any standard methods for combinational networks

    Standard mealy sequential network

  • 8/3/2019 Hardware Testing

    24/48

    Iterative network, k identical copies

    K-length of sequence used to test the sequential network

    X(t)

    x(0),x(1),x(k)Z(t)->z(0),z(1),z(2).z(k)

    After the test vector have been derived for the iterative network ,these vectors

    become the input sequences used to test the original sequential network

  • 8/3/2019 Hardware Testing

    25/48

    TESTING SEQUENTIAL LOGIC

    Take 2 different state graphs for testing

    testing state graph

    correct state graph/ correct state diagram

    Given state diagram should be strongly connected

    (ie., other states can be reached from every state)

    Test strategy for strongly connected state diagram Find an input sequence that will distinguish each state from

    the other states

    1 Find distinguishing sequence (i/p sequence

  • 8/3/2019 Hardware Testing

    26/48

    EXAMPLE 1

    fig:State graph for test example

    1.Find distinguishing sequence (i/p sequence

    which distinguishes each state : finding by

    iteration)

    2. Verify each entry using distinguishing

    sequence

    3. Verify each transition given in the statediagram

    4. aim: to verify the transition what should be

    the test sequences?

    State table

    Distinguishing Sequence =11

    o/p for DS: s0=01,

    s1=11, s2=10, s3=00

    Assume that the sequential network being tested has a reset input so we can reset it

  • 8/3/2019 Hardware Testing

    27/48

    Assume that the sequential network being tested has a reset input so we can reset it

    to a known initial state, then apply the test sequence and observe the output sequence

    Test procedure: reset the network to initial state, apply a test sequence and observe the

    output sequence

    Reset ,test input, distinguishing sequence: test vector

    Last 2 bits of o/p are equal to corresponding states o/p. Hence the transition is verified

  • 8/3/2019 Hardware Testing

    28/48

    EXAMPLE 2:

    The state diagram consists of two

    sequential network

    1st indicated with bold line

    2nd indicated by dashed line

  • 8/3/2019 Hardware Testing

    29/48

    Correct state diagram-correctly

    functioning networkTesting state diagram-same m/c with

    malfunction

    Determine the shortest input sequence that will distinguish the two sequences

  • 8/3/2019 Hardware Testing

    30/48

    Find the distinguishing sequence of the

    following state table

    EXAMPLE 3

  • 8/3/2019 Hardware Testing

    31/48

    For each state of the flip flops and for each i/p

    combination , we need to verify that the

    network o/p s are correct & that the network

    o/p goes correct, n/w goes to correct next state

    possible way:

    to connect the o/p of each f/f within the IC being tested,

    to one of the IC pinsBut number of pins on IC is limited, not practical

    II. SCAN TESTING TESTING SEQUENTIAL LOGIC

  • 8/3/2019 Hardware Testing

    32/48

    Scan path test circuit using two port flip flops

    Can observe state

    of all flip flops

    Concept: flip flops are

    arranged to form a shift

    register

    We can shift out the

    state of the flip flops bit by bit

    using a single serial output

    pin on the IC

    2 D inputs D1,D2

    2 clock inputs-C1,C2

    When C1 is pulsed ,D1 is

    stored in the flip flop

    When C2 is pulsed D2 is

    stored in the flip flop

    APPROACHSCAN TESTING

  • 8/3/2019 Hardware Testing

    33/48

    Sequential n/w is splitted into

    a combinational logic part and

    a state register composed of f/fs

    Each f/f have two D i/p s and two clk i/ps

  • 8/3/2019 Hardware Testing

    34/48

    NORMAL MODE

    When the n/w is not being testedthe SCK is used ie.,C1

    A set of i/ps X1,X2,. Xn is applied and the outputsz1,z2,..zm are generated

    When SCK/C1 is pulsed , the D1 i/p is stored in the f/f

    The next state (Q1+ , Q2+ , Q3+.. QK+ ) generated by thecombinational logic, is loaded into f/fs when C1 is pulsed ,

    the new states Q1, Q2,Q3,.Qk feeds back intocombinational logic

  • 8/3/2019 Hardware Testing

    35/48

    TEST MODE

    When the n/w is being tested, the f/fs are set to a specified state by

    shifting the state code into the register using the scan data i/p (SDI)and the test clock(TCK)

    The Q o/p of each f/f connected to D2 i/p of the next f/f to form

    shift register

    The test vector x1,x2,xn is applied , the o/ps z1,z2,zm areverified & SCK is pulsed to take the n/w to the next state

    The next state is then verified by pulsing TCK to shift the state codeout of the scan data register via the scan data o/p

  • 8/3/2019 Hardware Testing

    36/48

    TEST PROCEDURE

  • 8/3/2019 Hardware Testing

    37/48

    EXAMPLE

    Present state Next state outputQ1 Q2Q3 Q1+ Q2+Q3+

    X=00 01 11 10

    Z1 Z2

    X=00 01 11 10

    1 0 1 010 110 011 111 10 11 00 01

    Seq n/w : 2 i/ps -> x1,x2

    f/fs ->Q1, Q2, Q3

    o/ps -> z1,z2

    101 shifted in using TCK

    Then x1,x2 = 00 is applied

    Apply SCK pulses: Z1,z2 read as 10

    Next state 010

    010 shifted out using TCK

  • 8/3/2019 Hardware Testing

    38/48

    BOUNDARY SCAN TEST

    BST is a method of testing PCBs

    Standard for BST is introduced by Joint Test ActionGroup(JTAG)- ieee standard 1149.1, standardtest access port and boundary scan architecture

    BST is intended to check for shorts or opens b/nICs mounted on a board

    Include BST on ASIC

    Core logic + Boundary scan logic

  • 8/3/2019 Hardware Testing

    39/48

    BOUNDARY SCAN

    Functions of TAP pins are:

    Introduced to test complex

    PC boards

  • 8/3/2019 Hardware Testing

    40/48

    One boundary scan cell is placed between each i/p or o/p pin & theinternal core logic

    Tap controller and BSR is added to the core logic

    To include BST on an ASIC , we add a special logic cell to each ASICI/O pad

    These cells are joined together to form a chain & create a boundaryscan shift register that extends around each ASIC

    The i/p to a boundary scan shift register is the test data input(TDI)

    The o/p of a bdry scan shift register is TDO

  • 8/3/2019 Hardware Testing

    41/48

    TD1, TD0, TCK, TMS are connected to TAP

    controller

    TAP controller is a state machine clocked on

    the rising edge of the TCK ,

    with state transitions controlled by the TMS signal

    TRST optional pin, to reset the controller

  • 8/3/2019 Hardware Testing

    42/48

    TYPICAL BOUNDARY SCAN CELL

  • 8/3/2019 Hardware Testing

    43/48

    When in normal mode , data from the i/p pin isrouted to the internal core logic in the IC, or datafrom core logic routed to the o/p pin

    When in the shift mode , serial data from theprevious cell is clocked into f/f Q1, at the same

    time as the data stored in Q1 is clocked in to the

    next boundary scan cell .After Q2 is updated , testdata can be supplied to the internal logic or to theo/p pin

    PC BOARD WITH SEVERAL BOUNDARY SCAN ICS

  • 8/3/2019 Hardware Testing

    44/48

    PC BOARD WITH SEVERAL BOUNDARY SCAN ICS

    Boundary scan registers linked together serially in a single chain with i/p TD1 and o/p TD0

    TCK,TMS, TRST are connected parallel to all of the ICs

    Using these signals test instructions and test data can be supplied to the internal logic or to

    o/p pin

  • 8/3/2019 Hardware Testing

    45/48

    BUILT IN SELF TEST (BIST) Built in self test (BIST) is a design technique in which parts of a circuit are

    used to test the circuit itself

    BIST is a design for testability methodology aimed at detecting faulty

    components in a system by incorporating test logic on chip

    Built in self test, is a set of structured test techniques for combinational and

    sequential logic, memories, multipliers and other embedded logic blocks

    In each case the principle is to generate test vectors apply them to the

    circuit under test and then check the response

    The resulting output is observed by the response monitor, which produces

    an error signal if an incorrect output pattern is observed

  • 8/3/2019 Hardware Testing

    46/48

    BUILT IN SELF TEST

    GENERIC BIST SCHEME

    Application: Testing memory

  • 8/3/2019 Hardware Testing

    47/48

    REFERENCE

    C H Roth , Digital System Design Using VHDL,

    chapter 10

  • 8/3/2019 Hardware Testing

    48/48

    THANK YOU