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

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

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

Page 1: 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

Page 2: TOPIC : 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.

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

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.

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

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.

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

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

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

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

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

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

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

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

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

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.