Sequential Circuit Test Generation 1 Introduction Almost all - - PowerPoint PPT Presentation

sequential circuit test generation
SMART_READER_LITE
LIVE PREVIEW

Sequential Circuit Test Generation 1 Introduction Almost all - - PowerPoint PPT Presentation

Sequential Circuit Test Generation 1 Introduction Almost all practical digital systems are sequential circuits. Their testing is more complex than that of combinational circuits, due to two reasons: Internal memory states 1.


slide-1
SLIDE 1

1

Sequential Circuit Test Generation

slide-2
SLIDE 2

2

Introduction

  • Almost all practical digital systems are sequential

circuits.

  • Their testing is more complex than that of

combinational circuits, due to two reasons:

1.

Internal memory states

  • State not known at the beginning of test.
  • The test must initialize the circuit to a known state.

2.

Long test sequences

  • <continued on next slide>
slide-3
SLIDE 3

3

2.

Long test sequences

  • A test for a fault in a sequential circuit essentially

consists of three parts:

Initialization of the internal memory.

Combinational test to activate the fault, and bring its effect to the boundary of the combinational logic.

If the fault is in the memory elements, observation of the faulty state in one of the primary outputs.

  • Thus the test for a fault may be a sequence of several

vectors that must be applied in the specified order.

slide-4
SLIDE 4

4

Model of a Synchronous Sequential Circuit

Combinational Logic Flip-flops

PI PO Clock

slide-5
SLIDE 5

5

Assumptions

We consider synchronous sequential circuits. All memory elements are under the control of a

clock signal.

Vectors at the primary inputs are synchronized

with the clock.

A new vector is applied just after the active edge of the

clock.

To avoid any simultaneous change of the data and clock

signals at a flip-flop (possibly causing a race).

Outputs reach their steady-state values just before the

next active edge of the clock.

Time of signal propagation through the

combinational logic does not exceed the clock period.

slide-6
SLIDE 6

6

A Simplified Model

The combinational part is modeled at the gate level. All single stuck-at faults are considered in it. Flip-flops are treated as ideal memory elements. Clock signal is not explicitly represented, and no

faults in the clock signals are modeled.

Internal faults in flip-flops are not modeled. Input/output faults on flip-flops are modeled as

faults on output and input signals of the combinational logic.

slide-7
SLIDE 7

7

Test Generation Methods

  • Can be classified into two categories:

1.

Time frame expansion

  • A model of the circuit is created such that tests can be

generated by a combinational ATPG tool.

  • Very efficient for circuits described at the gate level.
  • Efficiency degrades significantly with cyclic structure,

multiple-clocks, or asynchronous logic.

2.

Simulation-based methods

  • A fault simulator and a test vector generator are used to

derive tests.

  • Circuits modeled at other levels (RTL, transistor, etc.)

can be treated.

slide-8
SLIDE 8

8

Time Frame Expansion Method

slide-9
SLIDE 9

9

Point to Note

  • Two basic differences between combinational and

sequential circuits.

1.

A test for a fault in a sequential circuit may consist of several vectors.

  • A combinational ATPG is capable of generating only a

single vector for a target fault.

2.

Presence of uninitialized states of the sequential circuit.

  • A combinational ATPG can deal with unknown (X)

signal states.

  • 5-valued logic, usually effective for combinational

circuits, is insufficient for sequential circuits.

slide-10
SLIDE 10

10

Example: A Serial Adder

FF An Bn Cn Cn+1 Sn s-a-0 1 1 1 1 1 X X X D D Combinational logic

slide-11
SLIDE 11

11

How the adder works? Initialization: say, by applying 00 input. Serial addition: applied bit by bit. To apply combinational ATPG procedures: We can “unroll” the sequential circuit into a larger

combinational circuit.

Called time frame expansion. For the adder example: The fault cannot be propagated to Sn. We repeat the combinational logic twice to

generate a 2-vector test.

slide-12
SLIDE 12

12

Time-Frame Expansion

An Bn FF Cn Cn+1

1 X X

Sn

s-a-0 1 1 1 1 D D Combinational logic

Sn-1

s-a-0 1 1 1 1 X D D Combinational logic

Cn-1

1 1 D D X

An-1 Bn-1

Time-frame -1 Time-frame 0

slide-13
SLIDE 13

13

The leftmost block has its state input in the X state. Since the fault is present in all frames, it is modeled

as a multiple fault.

It is possible to propagate a D to the output. All four input bits justified to be 1’s. Thus the test is an initialization vector 11 followed

by another 11 vector that produces a D at the

  • utput.
slide-14
SLIDE 14

14

Concept of Time-Frames

If the test sequence for a single stuck-at fault contains

n vectors,

Replicate combinational logic block n times Place fault in each block Generate a test for the multiple stuck-at fault using

combinational ATPG with 9-valued logic Comb. block Fault

Time- frame Time- frame

  • 1

Time- frame

  • n+1

Unknown

  • r given
  • Init. state

Vector 0 Vector -1 Vector -n+1 PO 0 PO -1 PO -n+1 State variables Next state

slide-15
SLIDE 15

15

Necessity of Nine-Valued Logic

Five valued system 0, 1, D, D’, X Nine valued system 0, 1, 1/0, 0/1, 1/X, 0/X, X/0, X/1, X We show an example to illustrate the advantage of

the nine-valued system.

A s-a-1 fault cannot be propagated using 5-valued

logic.

Can be propagated using 9-valued logic.

slide-16
SLIDE 16

16

Example for Logic Systems

FF2 FF1 A B s-a-1

slide-17
SLIDE 17

17

Five-Valued Logic (Roth) 0,1, D, D, X

A B X X X s-a-1 D A B X X X s-a-1 D FF1 FF1 FF2 FF2 D D Time-frame -1 Time-frame 0

slide-18
SLIDE 18

18

Nine-Valued Logic (Muth)

0,1, 1/0, 0/1, 1/X, 0/X, X/0, X/1, X

A B X X X s-a-1 0/1 A B 0/X 0/X 0/1 X s-a-1 X/1 FF1 FF1 FF2 FF2 0/1 X/1 Time-frame -1 Time-frame 0

slide-19
SLIDE 19

19

Implementation of ATPG

Select a PO for fault detection based on drivability

analysis.

Place a logic value, 1/0 or 0/1, depending on fault

type and number of inversions.

Justify the output value from PIs, considering all

necessary paths and adding backward time-frames.

If justification is impossible, then use drivability to

select another PO and repeat justification.

If the procedure fails for all reachable POs, then the

fault is untestable.

If 1/0 or 0/1 cannot be justified at any PO, but 1/X or

0/X can be justified, the the fault is potentially detectable.

slide-20
SLIDE 20

20

Drivability Example

d(0/1) = 4 d(1/0) = (CC0, CC1) = (6, 4) s-a-1 (4, 4) (10, 15) (11, 16) (10, 16) (22, 17) (17, 11) (5, 9) d(0/1) = 9 d(1/0) = d(0/1) = 109 d(1/0) = d(0/1) = 120 d(1/0) = 27 d(0/1) = d(1/0) = 32 (6, 10) 8 8 8 8 FF d(0/1) = d(1/0) = 20 8 CC0 and CC1 are SCOAP combinational controllabilities d(0/1) and d(1/0) of a line are effort measures for driving a specific fault effect to that line

slide-21
SLIDE 21

21

Complexity of ATPG

Synchronous circuit -- All flip-flops controlled by clocks; PI and

PO synchronized with clock: Cycle-free circuit – No feedback among flip-flops: Test generation for a fault needs no more than dseq + 1 time- frames, where dseq is the sequential depth. Cyclic circuit – Contains feedback among flip-flops: May need 9Nff time-frames, where Nff is the number of flip-flops.

Asynchronous circuit – Higher complexity!

Time- Frame Time- Frame max-1 Time- Frame max-2 Time- Frame

  • 2

Time- Frame

  • 1

S0 S1 S2 S3 Smax max = Number of distinct vectors with 9-valued elements = 9Nff

slide-22
SLIDE 22

22

Cycle-Free Circuits

Characterized by absence of cycles among flip-flops and

a sequential depth, dseq.

dseq is the maximum number of flip-flops on any path

between PI and PO.

Both good and faulty circuits are initializable. Test sequence length for a fault is bounded by dseq + 1.

slide-23
SLIDE 23

23

Cycle-Free Example

F1 F2 F3 Level = 1 2 F1 F2 F3 Level = 1 2 3 3

dseq = 3

s - graph Circuit All faults are testable.

slide-24
SLIDE 24

24

Cyclic Circuit Example

F1 F2 CNT Z Modulo-3 counter s - graph F1 F2

slide-25
SLIDE 25

25

Modulo-3 Counter

Cyclic structure Sequential depth is undefined. Circuit is not initializable. No tests can be generated for any stuck-at fault. After expanding the circuit to 9Nff = 81, or fewer, time-

frames ATPG program calls any given target fault untestable.

Circuit can only be functionally tested by multiple

  • bservations.

Functional tests, when simulated, give no fault

coverage.

slide-26
SLIDE 26

26

Adding Initializing Hardware

F1 F2 CNT Z Initializable modulo-3 counter s - graph F1 F2 CLR s-a-0 s-a-1 s-a-1 s-a-1

Untestable fault Potentially detectable fault

slide-27
SLIDE 27

27

Benchmark Circuits

Circuit PI PO FF Gates Structure

  • Seq. depth

Total faults Detected faults Potentially detected faults Untestable faults Abandoned faults Fault coverage (%)

  • Max. sequence length

Total test vectors Gentest CPU s (Sparc 2) s1196 14 14 18 529 Cycle-free 4 1242 1239 3 99.8 3 313 10 s1238 14 14 18 508 Cycle-free 4 1355 1283 72 94.7 3 308 15 s1488 8 19 6 653 Cyclic

  • 1486

1384 2 26 76 93.1 24 525 19941 s1494 8 19 6 647 Cyclic

  • 1506

1379 2 30 97 91.6 28 559 19183

slide-28
SLIDE 28

28

Asynchronous Circuit

An asynchronous circuit contains unclocked memory. Often realized by combinational feedback. Almost impossible to build, let alone test, a large

asynchronous circuit.

Typical examples of asynchronous circuits: Clock generators Signal synchronizers Flip-flops Many large synchronous systems contain small portions of

localized asynchronous circuitry.

slide-29
SLIDE 29

29

Asynchronous Model

Clocked Flip-flops Feedback delays Synchronous PIs Synchronous POs System Clock, CK Fast model Clock, FMCK CK CK Feedback-free Combinational Logic

C

Combinational Feedback Paths PPO PPI

slide-30
SLIDE 30

30

  • To isolate the combinational logic, we split the

asynchronous logic into two parts:

1.

Feedback-free combinational logic.

2.

A set of delay elements synchronized with a fast clock FMCK.

  • FMCK runs much faster than the system clock.
  • Its purpose is to repeatedly evaluate the combinational

logic and stabilize asynchronous signals before CK clocks the flip-flops.

slide-31
SLIDE 31

31

  • A time-frame expansion type of test generator deals

with the circuit in two phases:

1.

System clock (CK) phase.

  • The operation of the circuit is synchronous with respect

to CK.

2.

Fast modeling clock (FMCK) phase.

  • Following the system clock phase, which provides new

inputs to the combinational logic, a series of fast time- frames exercise the logic until signals become stable.

  • For practical reasons, a small fixed number of time-

frames is used.

  • If it does not become stable, assume oscillation.
slide-32
SLIDE 32

32

Time-Frame Expansion

Time-frame k Time-frame

  • k+1

Time-frame

  • k-1

C FMCK C FMCK C FMCK C CK Asynchronous feedback stabilization PI PO Feedback set PPI PPO Feedback set Vector k

slide-33
SLIDE 33

33

Asynchronous Example

A

s-a-0 s-a-0 s-a-0 s-a-0 s-a-0 s-a-0 s-a-0 s-a-1 1 1 1 1 Vectors 1 2 3 4 1 1 X X 1 1 1 1 Outputs 1 2 3 4

Gentest results:

Faults: total 23, detected 15, untestable 8 (shown in red), potentially detectable none Vectors: 4 Sparc 2 CPU time: test generation 33ms, fault simulation 16ms R S Q Q’

slide-34
SLIDE 34

34

Observations

Not all faults identified as untestable are really

untestable.

They are actually untestable by a single-vector

test.

The s-a-0 fault on the Q input of the OR gate A is

testable by two vectors, (S,R) = (1,0), (0,0).

Fortunately, the generated test sequence does not

cause a race condition in the fault-free circuit.

Such race conditions should be found by a

simulator, and the vectors causing them should be discarded or modified.

slide-35
SLIDE 35

35

Summary

Combinational ATPG algorithms are extended:

Time-frame expansion unrolls time as combinational array Nine-valued logic system Justification via backward time

Cycle-free circuits:

Require at most dseq time-frames Always initializable

Cyclic circuits:

May need 9Nff time-frames Circuit must be initializable Partial scan can make circuit cycle-free

Asynchronous circuits:

High complexity Low coverage and unreliable tests Simulation-based methods are more useful