Sie sind auf Seite 1von 4

VLSI Design Verification and Testing Overview

 Motivation and introduction


Functional Testing  Structure independent approach
 Structure dependant approach
 Organization/architecture dependant
approach
 Microprocessor testing
Mohammad Tehranipoor  Memory testing
Electrical and Computer Engineering  Summary
University of Connecticut

1 2

Motivation and Introduction Structure independent approach

 Ref: Abramovici, et. Al Reference book Section  Combinational circuit testing


18.2 of the text (for understanding the problem)  Exhaustive testing of circuits that do not have
 Motivation very large number of inputs
 Structural information can facilitate testing we show  Note: if a fault can cause the circuit to behave
this for combinational and sequential circuits like a circuit with states (i.e. causes increase
 Organization/Architecture information can make testing in the number of states combinational circuit
of microprocessors and memories practical becomes sequential in nature) then exhaustive
 Develop fault models when we are to use this kind of testing may not fully test the circuit. Example
information of such a fault is stuck-open fault in a CMOS
implementation

3 4

Structure independent approach Structure independent approach


 Combinational circuit testing (contd.)
 Combinational circuit testing (contd.)
 A non-exhaustive functional test must be  A fully specified test can potentially be (the one that
carefully designed otherwise it may not repeats values in the test) as follows:
achieve the desired objective. Consider a 2-to-
S A B D
1 mux. A non-exhaustive functional test is
given below: 0 0 0 0 A
A D
S A B D 0 1 1 1 B
D
0 0 x 0 B 1 0 0 0
S
0 1 x 1 S 1 1 1 1
1 x 0 0 Exhaustive = 8 patterns  This test cannot test stuck-at fault on the control line S
1 x 1 1 Non-exhaustive = 6 patterns

5 6

1
Structure independent approach Structure dependent approach

 Sequential circuit testing


 An example of this method and its limitations  Combinational circuit testing
has been discussed in detail in the checking  Structure can potentially provide the
experiment approach to testing information about dependence of outputs on
inputs. This leads to two methods of structure
dependent functional testing
 Pseudo-exhaustive testing
 Sensitized partition testing

7 8

Structure dependent approach Structure dependent approach

 Pseudo-exhaustive testing  Sensitized partition testing


The circuit will require 128 A B C D E F G  Testing an ALU control signals are determined
patterns for exhaustive and applied in such a way that each smaller part
testing (say 4-bit ALU) is exhaustively tested
Function description may not  An example from the book by Abramovici et. al.
tell us the dependence of the
output on partial input set
Both f1 and f2 can be tested
exhaustively with 16 pattern
each, thus requiring a total of
32 patterns f1 f2

9 10

Structure dependent approach Organization/architecture dependent approach

 Sequential circuit testing


 Testing iterative logic arrays  In many cases architecture and/or
 Machine partitioning approach to testing organization information is available and
 Substantial literature in this area but has not been
applied to real application of today such information can be used to facilitate
 An example testing of Shift Register testing. We will show two applications of
A simple test 0 1 1 0 0 x x x x x can test this approach.
the shift register completely. This test is often
used in testing scan chains; to be discussed
under DFT and BIST methods

11 12

2
Microprocessor testing Microprocessor testing

 Basic concept
 References  Need to develop test programs that can be
 Reference book Abramovici et. Al. executed on the processor
 Thatte and Abraham, Test generation of  Need an open loop strategy to force instructions in
microprocessors, IEEE Transactions on the order we wish to execute e.g. after a jump
Computers, June 1980, pp. 429-441 instruction we may wish to execute an instruction
from an address different from the address
provided by jump instruction
 Develop a model (or models) for faults in different
organizational sub-units of the microprocessor

13 14

Microprocessor testing Microprocessor testing

 What do we know?  Method


 Different sub-units  Test each instruction
 Register file, bus, ALU, memory (cache),  Test each sub-unit such as ALU
 How instructions are executed  Test busses
 How data moves from one sub-unit to other sub-  Test register file and decoders
units  Test sequencing of instructions
 Data movement from and to the external world  Key Concept
 Sequencing and timing  Start small test components and instructions that are
 Number of clocks, atomic and semi-atomic actions, small and easy to test and then use the tested parts to
e.g. PUSH causes increment PC, send SP as test other parts
address, send register as data, increment SP, etc.

15 16

Microprocessor testing Microprocessor testing

 Model development  Fault model development


 Busses: stuck-at and bridging faults
 Determine which instructions are easy to execute
such as those that use fewest resources, fewest cycles  ALU: stuck-at (assume that the structural information
easy to control and observe (graph model) is available)
 Use such instructions to read and write register file to  Register file: stuck-at, arbitrary decoder failure this
test register file(s) and address decoding logic will use similar fault model and tests as used for
testing memories
 Test busses by moving different types of data on
busses  Instruction decoder:
 Test ALU by executing ALU related instructions such as  No instruction is executed (Ij/)
ADD, SUB,  Different instruction is executed (Ij/Ik)
  An additional instruction is also executed (Ij/Ij+Ik)

17 18

3
Microprocessor testing Microprocessor testing
 Results (case study on an 8-bit HP processors)
 Algorithm development
 Program size 1K FC about 90%
 Develop simple sub-programs for each sub-  Additional complexities introduced in the test program (8K
unit testing program) raised the coverage by 6%
 Put them together  Other faults were associated with the power-up logic,
initialization, interrupts, (hard to test by functional tests)
 Testing jumps and call will require
 Limitations
intervention of tester open loop strategy of  Lack of good and practical model of modern microprocessors
testing microprocessor  Automating the program generation difficult and
impractical
 Structural methods with the use of DFT provide better
coverage with fewer test vectors

19 20

Memory testing Summary

 Basic reasoning
Logic design methods may not be applicable


 Special design methods


 Described structure independent and structure
 Not designed using logic gates dependent methods of testing logic
 Cutting edge technology  Microprocessor testing using organization
 High density
 Novel and non-traditional design methods and layout information model, fault model, test
 Can be stand alone or embedded algorithms, results and limitations
 Need to develop  Memory testing it needs
 Fault model
 Test algorithms  Model, fault model and test algorithms to be
discussed next

21 22

Das könnte Ihnen auch gefallen