Lglite + Load Board: Fundamentals of Fault Detection
Lglite + Load Board: Fundamentals of Fault Detection
Lglite + Load Board: Fundamentals of Fault Detection
Testing determines whether or not a device under test (DUT) operates correctly
by comparing known output to the DUT response. Functional testing refers to a
test procedure in which any functional or non-functional inputs may be applied to
a DUT to observe its behavior. LGLiteATE provides tools to apply patterns,
observe the response and evaluate the DUT for the specifications it has been
designed. To perform these tests the user has to develop a test flow, known as
test program, that tells the tester how a particular test needs to be run. Once the
test program is developed the DUT can be tested under varying operating
conditions.
Testing Semiconductor device for all possible failures is not feasible. We have to
restrict the class of faults to be considered. This restricted class is called a fault
model. Since there are many types of defects, such as bridging faults and stuck-
at faults, that need to be detected, a number of different test methods are often
used on an IC. Students learn various methods for generating test patterns to
study fault analysis.
Bridging fault refers to two or more signal lines shorted together. Sometimes, a
bridging fault can be regarded as 1-dominant (OR bridge) when the adjacent
shorted line is forced to 1. It can also be treated as 0-dominant (AND bridge)
when the adjecent-shorted line is forced to 0.
Simulation
When the design of circuit is being developed with EDA tools, the design needs
to be simulated to ensure all functions are correct before fabrication. In this step,
a VHDL net list of a design that has whole structure of the circuit, is simulated.
Some of the initial fabricated devices are used as samples to verify the operation
of a design, using full functional test and parametric tests (including DC and AC
parametric tests) before the design is sent to production.
In characterization test, there are number of tests that are designed for testing
electrical parameters. In this step, engineers are required to set up both ATE and
test programs
During Contact test for device packaging, tests are performed to identify
package pin is shorted to other pins or a package pin is open to the internal die.
Device DC parameters test such as leakage current, and input and output
voltage are tested to ensure tested values are within the electrical specifications.
Power supply current tests usually include gross IDD current test, static IDD
current test, dynamic IDD current test and power supply bump test. Power supply
Current test can measure current consumed when device is powered up. In this
test, measuring the current value from a power supply can determine if some
physical defects exist inside the chip.
IDDQ testing is a supplemental test method to find bridging and other faults in
CMOS circuits by measuring quiescent power supply current for a bridging fault,
the IDDQ test vector set generated by automatic test pattern generation (ATPG)
is to toggle on and off as many transistors as possible.
The main purpose of AC parametric test is to make sure that the device can
meet all timing specifications
The user creates Test programs that run on the ATE to perform device testing.
The Test program has three main inputs:
1. ATE to device pin mapping,
2. Test Vector List and
3. Test vector Sequence flow.
The ATE to device pin mapping describes the names of the DUT signal that is
connected to the ATE Drive or Response channels. The Test Vector lists the
names of each individual test vector and specifies the voltage level and signal
transition for each drive and response pin. The Test Vector Sequence
determines which predefined test vectors should be used and sequenced for a
specific test.
Test Pattern Generation for Digital Circuit Fault
The central element of the Digital Circuit Fault study is standard 74xx digital chip
based simple circuit implemented on Load Board with programmable shorts and
opens inserted using simple flying leads. LGLite with Load board allows you to
experiment with various aspects of faults in device testing.
The document describes learning methods for generating tests for simple faults
for combinational circuits on Load Board using NAND, NOR, AND, OR gates
which have no feedback loops or memory elements as shown above.
The berg stick and flying leads can be used to wire connection between gates to
implement the test circuit shown above. Also test faults can be easily inserted.
Basic fault models for LGLiteATE testing
1) Stuck-at fault model. A signal, or gate output, is stuck at a 0 or 1 value,
independent of the inputs to the circuit.
2) Bridging fault model. Two signals are connected together when they
should not be. Since there are n^2 potential bridging faults, we normally
restrict to signals that are physically adjacent in the design.
To generate a test pattern for above circuit with a wire stuck at 1, we must
ensure that the wire “E” in question should take on the logic value 0 in a correctly
functioning circuit. If this is not the case, the circuit outputs will be the same
whether or not the circuit is malfunctioning because the faulty circuit and the
good circuit would show the same values. The wire E is labeled with a 0/1 to
denote that wire E is the site of a fault such that E will carry the value 0 if the
circuit is functioning correctly and will carry the value 1 if the circuit is defective.
When a line has a different value in the faulted and un-faulted circuits, it is said to
have a discrepancy.
We now depict two different test patterns, the first one detects E stuck-at 1 and
the second test pattern does not detect E stuck-at 1. We say that the first test
pattern covers E stuck-at 1 and next test pattern fails to cover E stuck-at 1.
The Structural test pattern generation is performed using three basic operations:
1) Fault Sensitization
2) Fault Propagation and
3) Line Justification
Line justification is the process of assigning consistent values to all other lines
in the circuit that were not assigned values through fault sensitization or fault
propagation.
Specifying test sequence
Test Vectors should be created using Notepad editor line by line (each line is
interpreted as a separate vector in the sequence) by using “0” and “1” symbols.
The length of each vector should be equal to the number of inputs of selected
circuit. The test vector can be loaded using OpenVCTFile menu option.
Exhaustive test
Instead of entering test set manually you can use Pattern menu exhaustive
sequence. You can always save entered/generated test sequence to file by using
“Save…” button. Later the test set can be modified and loaded by opening this
test file.
Exhaustive test set will contain all the possible input test vectors for selected
circuit. For our 4 input example (A, B, C, D)” circuit the following vectors will be
required: “0000” , “0001”, “0010”, …….”1110”, ”1111”.
Random test
By pressing “Random Test” option in the pattern men, you will get a number of
test vectors that were generated randomly. The desired quantity of random
vectors can be adjusted using the field located next to the button. The length of
each vector will be equal to the number of inputs selected in the menu.
Test Fault Options:
First of all you can limit the scope of defects to test by inserting one of the
following faults using flying leads:
1. Stuck-at faults – either 0 or 1
2. Input shorts – shorting two different inputs
3. Input to output shorts
Interpreting results
The results of test that was applied to defect in the pattern testing mode should
be tabulated and shown as follows
Each row in the Test Vector column corresponds to test vector from the test set.
The first column lists the entire test vectors were applied to the device inputs.
The last column indicates whether the selected defect was detected (“FAIL”
condition) by the vector or not (“PASS” condition). The PASS/FAIL condition is
determined by comparing of expected output value X (correct value) with actually
received output during the test. That is shown in column “X”. Symbols “0” and “1”
mean the expected values of the output X. Marks “OK” or “Fail” indicate if the
actual value of output X (that was received during the test) was correct or not. If
at least one of the outputs gets incorrect value (“Fail”) then the corresponded test
will be marked as “FAIL”.
A logic analyzer is not meant to provide supply voltage to your DUT on Load-
board. If you attempt to do so, your chip may draw more current than the logic
analyzer can supply. So for any DUT, you will need to provide VCC & GND from
an external power supply.
The output of both the AND gates PIN #3(E) and #6(F) should now be connected
to 74LS32 OR gate PIN #1 and #2. The PIN #3 (X) of the OR Gate is the output.
Note, all components (the DUT, and all cables) must share a common-ground
point. This is true for any testing you do with LGLite.
The configure menu option allows the user to configure the channels in-group of
8 as LA or PG. We configure first 8 channels (1-8) as PG and next 8 channels
(9-16) as LA.
The PG channels will provide 'Drive' or a 'test pattern' to your DUT CHIP on the
Load board. LA channels will record output signals from your DUT CHIP in
response to the drive signal you create.
Set the clock frequency to match the clock frequency of your DUT. Note, even if
your device is combinational, it still has a frequency at which the data must be
presented to the chip. Clocking can be from 50Mhz to 1Khz.
Test engineers are valuable assets that provide a matter of expertise to the
development of test and measurement sequences. However, their productivity is
greatly enhanced by our unique and tested text based approach to test program
development without the need to resort to becoming a software developer,
engaging a software development team or to even think about the software
development process.
The following list summarizes the major objectives of Script based Test:
1. Be capable of storing test data for all semiconductor devices as file.
2. Provide a common format for storage and transmission of data.
3. Provide a basis for portable data reporting and analysis software.
4. Decouple data message format and database format
5. Provide support for optional (missing or invalid) data.
6. Provide complete and concise documentation for developers and users.
7. Make it easy for Engineers to write their own reports or reformat data for
their own database
The #VEC XXXX defines a new named Vector XXXX and the associated 32
bit binary REC data to be written in LGLite ATE memory. In a drive state, the
pin driver of the buffer is engaged and forces the voltage on the pin to be low
or high as determined by a 0 or 1 in the REC pattern. Compare states CMP
are no drive states that use the Logic Analyser inputs to assess incoming
data. To represent the compare states that a pin can take, L, H is defined in
the CMP pattern.
The #TRC XXXX command writes the named vector record sequentially in
LGLite memory.
Step 7: RUNNING THE TEST:
The Waveform window loads the test vector. Click on Go button. Make certain
that your DUT has “VDD” and “GND” properly connected to it from an outside
power supply, as discussed earlier.
The LGLite-ATE is our flagship ATE training product and is the first completely
codeless ATE training tool. Our unique approach to Text based Test program
development allows test engineers to interact with DUT and LGLite-ATE
hardware to allow for the shortest time to develop and learn device testing.
Through our Windows GUI application for test sequence loader, test engineers
can achieve very high levels of ATE training and deliver consistent, documented,
versioned and structured test labs without writing a single line of code. LGLite-
ATE removes the need for the test engineer to be software developers or to
interact with a software development team. Once the Test program is developed
without coding in Windows Notepad, the resulting Test program can be loaded
and executed using LGLite-ATE. The combination of Real time Logic Analyser
and Pattern Generator helps achieve consistent test executions since "what you
code is what you see”.