• No results found

Sequential Circuit Testing

N/A
N/A
Protected

Academic year: 2022

Share "Sequential Circuit Testing"

Copied!
31
0
0

Loading.... (view fulltext now)

Full text

(1)

Sequential Circuit Testing

Sequential Circuits and Finite State Machines

Priyank Kalla

Professor

Electrical and Computer Engineering, University of Utah [email protected]

http://www.ece.utah.edu/~kalla

Slides updated Dec 1, 2021

(2)

Agenda

Review of Sequential Circuits and Mealy Finite State Machines (FSM) The concept of FSM equivalence

Fault excitation and propagation conditions in FSM

Reset states, synchronizing sequences and redundant states Untestable faults in sequential circuits

(3)

Sequential Circuits

We consider sequential circuits with edge-triggered D-flip-flops Underlying a sequential circuit is a finite state machine (FSM)

We will consider only FSMs of the Mealy-type (Moore machine ATPG is similar)

An example of sequential circuit:

y1 y2 x

Y2 Y1

Z y1

y2

(4)

FSM and Circuit example

0/1

1/1

y1 0/0

1/0 0/0 1/0

0/0

10

11 01 00

y2

Y1

Z y2

y1 x

Y2 a/0

1/0

(5)

Sequential Circuit Testing: Sequential Miter

Fault−Free

Faulty In

In

Out

Out y Y

y Y

Find a sequence of inputs (or input vectors) that produces an output 1 at the miter output, sometime in the future clock cycles

(6)

FSM Equivalence

Two Machines, M1 and M2, are equivalent if They are identical; or

They have identical states but different encoding; or M1⊆ M2 or vice-versa; or

They have different reachable states but same distinguishable states (same condition as above); or

Different unreachable states, and unreachable states are a don’t care condition

Prove that two machines (sequential circuits) produce the same output response on application of all possible input sequences

(7)

Sequential ATPG is Harder than Combinational

Given: A sequential circuit, generate ATPG. Sometimes reset (starting) state available, sometimes not!

Procedure: Activate a fault, and propagate it to PO

Bottlenecks: Fault activation requires an “activation state”. How to get to the activation state? Fault can be propagated to the next-state line, but not to PO? Unroll the machine, or in other words, traverse to other states.

How to distinguish between Faulty and Fault-free machines? The concept of state distinguishing seqences.

In absence of resets, how to synchronize both faulty and fault-free machines to the same states. Concept of synchronizing sequences.

(8)

Untestable Faults in Sequential Circuits

A fault in a sequential circuit can be untestable due to four reasons:

Redundancy in a combinational logic

Lack of a common synchronizing sequence that can drive both faulty and fault-free machines to a common (starting) state

Sequential Redundancy: a fault causes a transition to a (faulty) state which may be equivalent to a fault-free state

Fault excitation or propagation requires getting to an unreachable state

We will look at all these cases!

(9)

First example: When reset state exists

Start the machine in a reset state (00), traverse FSM

At some point in the future, faulty and fault-free machines will diverge

0/1

1/1

y1 0/0

1/0 0/0 1/0

0/0

10

11 01 00

y2

Y1

Z y2

y1 x

Y2 a/0

1/0

Test: x0 = 1,x1 = 1,x2= 0,x3 = 1

(10)

First example: When reset state exists

Start the machine in a reset state (00), traverse FSM

At some point in the future, faulty and fault-free machines will diverge

0/1

1/1

y1 0/0

1/0 0/0 1/0

0/0

10

11 01 00

y2

Y1

Z y2

y1 x

Y2 a/0

1/0

Test: x0 = 1,x1 = 1,x2= 0,x3= 1

(11)

First example: When reset state exists

Start the machine in a reset state (00), traverse FSM

At some point in the future, faulty and fault-free machines will diverge

0/1

1/1

y1 0/0

1/0 0/0 1/0

0/0

10

11 01 00

y2

Y1

Z y2

y1 x

Y2 a/0

1/0

Test: x0 = 1,x1 = 1,x2= 0,x3= 1

(12)

First example: When reset state exists

Start the machine in a reset state (00), traverse FSM

At some point in the future, faulty and fault-free machines will diverge

0/1

1/1

y1 0/0

1/0 0/0 1/0

0/0

10

11 01 00

y2

Y1

Z y2

y1 x

Y2 a/0

1/0

Test: x0 = 1,x1 = 1,x2= 0,x3 = 1

(13)

Meaning of the above Test

Fault D or D gets into next state line.

Faulty and Fault-free machines go to different states.

Machine operation diverges....

Sometime in the future, you can catch that effect.

You can distinguish between faulty and faulty-free states of the machine.

How? Using state distinguishing experiments.

(14)

When there is no reset state?

Power up the machine, it can be in any (unknown) state

Does there exist a sequence of inputs that can drive the machine to some – singleton – state?

Some machines have a synchronizing sequence, others do not Given an FSM, how to find a synchronizing sequence?

For ATPG: we are not given the FSM, only the circuit

For ATPG: We need to find a synchronizing sequence for both the faulty and fault-free machines that can drive both to a common state.

This can be hard.

(15)

Synchronizing Sequence on an FSM

Table: State Transition Table P.S. Next State, Z

x= 0 x= 1

A B, 0 D, 0

B A, 0 B, 0

C D,1 A,0

D D,1 C,0

(16)

This machine has no Synchronizing Sequence

1/0 00

01

11 10

0/0 1/0

0/0

1/0

0/0 1/1

0/1

(17)

ATPG without Reset State

y1 y2

Y2 a/0 x

Z

Y1 Tf1: Y,=1,42--12=13

= -

- - - - - - - - -

i

!

c l 1

,

- --- " "Y------

-

-

L

,

s ! I

' 1

-n- n.

-

a

1 :

D :

\ :

\ =D

- -

- - . .

-

'

"

Fault excitation

state =

0,1

)

= current state

(18)

No Reset State Example: Test Exists

No reset state. Start w/ Fault excitation state: y1 = 0,y2 = 1.

x = 1 propagates the fault effect!

Problem: How to get to the fault excitation state?

Answer: Sequential backtrack! Unroll the m/c backwards until you can get unknown values in FFs. This implies there exists a state (backward in time from F.E. state) where you can “control” the FFs (control the state).

Called Self-Initializing tests! This test implies that both faulty and fault-free machines can be initialized to a “common initial state”; i.e., you can get a common starting point.

(19)

ATPG without Reset State

Y = Next state FF inputs, y = present state FF output Generate a self initializing test: Start in Time Frame (TF) 1:

Y2 = 1,Y1= 1,Z = D This requires: y1= 0,y2= 1,x = 1

y1 y2

Y2 a/0 x

Z

Y1

-

=L I

-

- Yi

1

- - y,

D

(20)

ATPG without Reset State

If in TF 1, present states are y1= 0,y2= 1, then in theprevious state TF 0: Y1 = 0,Y2 = 1. Make x = 1,y1= 0,y2= 0

y1 y2

Y2 a/0 x

Z

=\ 0 Y1

-

-9,

O

l l

-

-2

0 i

current state

Yi

-

0,72=0

. → In

previous

state TF

-2

YEO

,

YEO

(21)

ATPG without Reset State

In TF 0 : y1= 0,y2 = 0, then go back in time againTF -1:

Y1 = 0,Y2 = 0 is needed, so apply x = 0

y1 y2

Y2 a/0 x

Z

Y1

Test: TF -1 x = 0, TF 0 x = 1, TF 1 x = 1.

° -

°

-

☒ ←|FEmsFp?] long

.

3-

clock

sequence.

(22)

No Self Initializing Test without Reset

0/1

1/1

y1 0/0

1/0 0/0 1/0

0/0

10

11 01 00

y2

Y1

Z y2

y1 x

Y2 a/0

1/0

TF-f.gg?eedYi-1,Jz--o

. Go backtrace

y-E-e.si

° D

i&!

i i o , °l D0 D D D

-9,

l

8

o o

☒?-Jz

=☐

(23)

No Self Initializing Test without Reset

0/1

1/1

y1 0/0

1/0 0/0 1/0

0/0

10

11 01 00

y2

Y1

Z y2

y1 x

Y2 a/0

1/0

TFI

. Y,-_

1,42=0

. can we control Y,

-142--0 only

using

n= ?

I o

o

l l

l

I 0

0 1

,

0

I o 0

Need Lil

,

y ,=1

w/ set in TFO.

Gso back

(24)

No Self Initializing Test without Reset

0/1

1/1

y1 0/0

1/0 0/0 1/0

0/0

10

11 01 00

y2

Y1

Z y2

y1 x

Y2 a/0

1/0

TF -1

1=1,42--1

I °

o 1

"

I 1

I 0

o l l

I

=D I

Need Yz=l

91--0

w/ a= ,

in

previous

state TF-2

(25)

No Self Initializing Test without Reset

0/1

1/1

y1 0/0

1/0 0/0 1/0

0/0

10

11 01 00

y2

Y1

Z y2

y1 x

Y2 a/0

1/0

Therefore, no test exists, deduced after 4 clock cycles of sequential backtrace!

TF -2 Need Y,

-0,71=1

IF 0,92=0.

11

0 0

0

I 00

=? 0

I 0

O

O l

l I

-01 to 0

TF -3: Need

1%72--0

I wherewe

started

(26)

Untestable Faults: Unreachable State

-/1 0/1

0/0

Y2 = y1’x + y1 y2’

Y1 = y1 y2 +y1’ y2’ x’

1/1

01 11

-/1 10

00 a/0

X

Y2 Y1

y2’

y1 x y1’

y2 y1 x y2y1

iI÷É:ii\¥ ÷

: °☒n

.

0

(27)

Untestable Fault: Sequential Redundancy

100 010

110 000

1/0 001 0/1

0/1 0/1 1/0

1/1

0/0

1/1 0/0 1/0

States (110) and (010) are equivalent -> cannot be distinguished!

What if fault takes m/c to 110 (faulty state), instead of 010 (fault free)?

010

ooo

010

9-

110

.

-

110

000

r 110

,→°

010

FE-MMFP.IM#

(28)

Redundanct Circuit ATPG

y1’y2’y3’x’

x y3’ y2’

a/0

Y3

y1x’

y1’y2 x’

x y1’ y2’ Y1

Y2

Z

92=0

5--0--391=1

1 '

I 93=0

f

, too

, -

° Dyo

0 D FF. too

FIF

100

DAD

:O

I

°

g

/

of -1

I 0.. I

,

110 c- 010

:/ 0

Equiv

. states.

M

O O 0 =D

0

(29)

Simplify Sequential ATPG using Scan Design

Primary inputs = controllable, Primary outputs = observable Lack of controllability and observability of Flip-Flops

For testing purposes, make the flip-flops both controllable and observable

Approach: Introduce Scan-registers

Make a sequential circuit combinational for Testing-

-

' "

j

Po

.

¥=☐✓ *f¥o←

(30)

Scan Design

+ ¥ ±¥÷*÷¥÷÷j÷*

T.IE

(31)

Scan Design

References

Related documents

Hasil penelitian ini menunjukkan bahwa pemberian POC TOP G2 secara tunggal dengan konsentrasi 2 ml/liter air/plot, mampu menghasilkan tinggi tanaman hingga 146,77 cm,

To describe the motion represented by a graph, always look at the gradient. Check if it is constant, posrrive, negative or zero. For a displacement - time graph, the

Any prolongation of SDO from contracted deadline represents delay in provision of public service to Users which can endanger the realization of the PFI project goals (e.g. in

Apart from being the insurance broker for the Tata Group companies, Tata Motors Insurance Broking and Advisory Services Ltd (TMIBASL) is also a insurance broker for Ford, Nissan

Every team member takes pride in demonstrating respect, politeness and service with a smile.. • 101

The Kylemore Abbey Global Centre works with the Dublin Global Gateway to dynamically broaden Notre Dame’s engagement within Ireland and to foster international connectivity,

Real hourly wages are estimated to have increased by just over two per cent per annum in manufacturing over the period 1987-1994.26 The increase was most rapid in West and East Java