TOPIC : Partition Technique UNIT 3 : VLSI Testing Module 3.4: Functional Testing.

Post on 29-Mar-2015

234 views 0 download

Tags:

Transcript of TOPIC : Partition Technique UNIT 3 : VLSI Testing Module 3.4: Functional Testing.

TOPIC : Partition TechniqueTOPIC : Partition Technique

UNIT 3 : VLSI Testing

Module 3.4: Functional Testing

Partition TechniquePartition TechniqueThe previous technique is not applicable to

total-dependence circuits in which at least one PO depends on all PIs.

In case of total-dependence circuits, we can use partitioning technique.

The principle is to partition the circuit into segments.

The inputs of the segment may not be PIs and the outputs may not be POs.

To control the segment inputs from PIs and to observe its outputs, we use path sensitization.

Contd …Contd …

The steps involved in partitioning technique are:

Segmentation – partitioning the circuitRepresenting each segment by its functional

modelCombining the vectors in each of these

functional models into compact truth table.

This process can be easily explained by an example.

ExampleExample Apply the mentioned steps to this example.

No. of inputs=6, so 26=64 vectors are needed to test this circuit exhaustively.

The test size can be reduced by using partitioning technique.

Contd …Contd …Partition the given circuit into four segments

as shown.To test segment2 exhaustively, we need 8

vectors and for the output ‘h’ to propagate to PO ‘y’, we need ‘f’ to be 1. So the table starts with these values

No.

a b c d e f g h x y

1 0 0 0 1 1 1

2 0 0 1 1 1 1

3 0 1 0 1 1 1

4 0 1 1 1 0 0

5 1 0 0 1 1 1

6 1 0 1 1 1 1

7 1 1 0 1 1 1

8 1 1 1 1 1 1

Contd …Contd …Now, to test segment1 we need 4 vectors

and for its output ‘g’ to propagate to PO ‘x’, we need h=1.

If we observe in the table ‘h=1’ from 5th to 8th vector, so we can use those rows to test segment1.

No.

a b c d e f g h x y

1 0 0 0 1 1 1

2 0 0 1 1 1 1

3 0 1 0 1 1 1

4 0 1 1 1 0 0

5 0 0 1 0 0 1 0 1 0 1

6 0 1 1 0 1 1 1 1 1 1

7 1 0 1 1 0 1 1 1 1 1

8 1 1 1 1 1 1 1 1 1 1

Contd …Contd … To test segment4: 2 out of 4 vectors are

already covered in the table, so add the other two vectors (f,h)={00,01} to the table. Sensitize primary inputs for h=0 and h=1.

No.

a b c d e f g h x y

1 0 0 0 1 1 1

2 0 0 1 1 1 1

3 0 1 0 1 1 1

4 0 1 1 1 0 0

5 0 0 1 0 0 1 0 1 0 1

6 0 1 1 0 1 1 1 1 1 1

7 1 0 1 1 0 1 1 1 1 1

8 1 1 1 1 1 1 1 1 1 1

9 0 1 1 0 0 0

10 0 1 1 0 1 0

Contd …Contd … To test segment3: if we observe the table

(g,h)={00,10} are missing. Its output is PO, so no need to take care of propagation to PO. Sensitize the primary inputs for g=0 and g=1.

No.

a b c d e f g h x y

1 0 0 0 1 1 1

2 0 0 1 1 1 1

3 0 1 0 1 1 1

4 0 0 0 1 1 1 0 0 0 0

5 0 0 1 0 0 1 0 1 0 1

6 0 1 1 0 1 1 1 1 1 1

7 1 0 1 1 0 1 1 1 1 1

8 1 1 1 1 1 1 1 1 1 1

9 0 1 0 1 1 0 1 0 0 0

10 0 1 1 0 1 0

Contd …Contd …

The unfilled blocks can be any value. They are don’t cares.

In the table one can see that all the test cases for each gate have been covered.

Partitioning technique has reduced the test size of the given circuit from 64 to 10 to test the circuit exhaustively.