• No results found

Sequential Circuit Testing

N/A
N/A
Protected

Academic year: 2022

Share "Sequential Circuit Testing"

Copied!
37
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

(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

(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

Y1

(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.

(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

(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

(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

(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!

(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

G. In

(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)?

(28)

Redundanct Circuit ATPG

y1’y2’y3’x’

x y3’ y2’

a/0

Y3

y1x’

y1’y2 x’

x y1’ y2’ Y1

Y2

Z

Excite 11--1,13=0,92--0

I

Propagate

1 I

1,10

y,=

/

1 Yo=D

i D='G Excitation state

1=-61

o0 " 9,4293=100

° 1

Next state

o= ° 0

'

!

92 Y

,

¥Yz=D

/ O

O o FF = 110

o= 0°

Faulty

-_ 010

2=0

(29)

Redundanct Circuit ATPG

y1’y2’y3’x’

x y3’ y2’

a/0

Y3

y1x’

y1’y2 x’

x y1’ y2’ Y1

Y2

Z

Next dkcydey

,YzYz=ps=DlO_

0

0

Propagate from Gz→2

92--1

yf.co

2=0.

D-o 92 °

ÉG3T

I

G3→z

1--1=>2--0

reyd

.

But '=L

D-113=1 @ 2

II

D 65 D l

Fault

masked

!

(30)

Redundanct Circuit ATPG

y1’y2’y3’x’

x y3’ y2’

a/0

Y3

y1x’

y1’y2 x’

x y1’ y2’ Y1

Y2

Z

what about NS

line

o @

42 ?

Y

,

Yay

>=D 10

0

§

I

I

1 '

[

=/

O- D

o

D

No test

D

(31)

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

DFT

=

Design for Test

LSSD

(32)

Scan Flip-Flop Design

SI/SO: Scan value in/Scan value out D Q 0

1

0 1

Clk

Y =NS y = PS

TI TO

SI SO

TI/TO: Test input/output

normal mode T I = T-0=0

☐-- r.ms?=.-iTI--

I

-10--1

¥ ?÷÷-☒"

(33)

Scan Based ATPG: Use Shift-register Scan Chain

y2

SI SO

Y1 y1

a/0 x

y1

y1 y2

Y2

D Q 0

1

0 1

Clk

TI TO

SI SO

D Q 0

1

0 1

Clk

TI TO

TIENE

'

III -10=1

,-

for

¥

0T¥

I :O

=o ', ' ×"- - i- i -

yg

:-#

Partial

scan

TETRAMA

(34)

Other Test Problems: False Paths

r2

r3 r1 o4

o3

o2 o1

i5 i4

i3

i2

i1

Input i3 → r1 → o2 is a multi-cycle False Path

Cannot be sensitized: Need o3 = 1 in clock cycle 1, and o3= 0 in clock cycle 2. Not possible

i ÷ OH -0

.

(35)

IDDQ Testing: Measure Leakage Current

Fault Location in Transistors: Test IDDQ

Transistor can be stuck-ON or stuck-open. CMOS gates comsume NO static power.

Test for Nc stuck-open: #V1,V3$ Two vector test

a b

c

a

b

c

N stuck−open c

F + VDD

stuck−ON V1: a=b=c=0 V2: a=b=1 ? V3: a=b=0, c=1 F--

abt

÷÷&? ¥

..

(36)

Delay Fault Testing

Gates do not switch at desired speed Find vectors that detect delay faults!

Big challenge in Test Application: How to apply 2-vector tests using scan flip-flops at speed?

a

b c

V1: <111>

V2: <101>

1

1

slow

BIST

=

built-in

.

Self

-

Test

¥_÷÷ ñ¥

"

(37)

Delay Fault Testing

Gates do not switch at desired speed Find vectors that detect delay faults!

Big challenge in Test Application: How to apply 2-vector tests using scan flip-flops at speed?

a

b c

V1: <111>

V2: <101>

1

1

slow

References

Related documents

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

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

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

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