26.12.2013 Views

Scan design techniques – solutions to recommended exercises

Scan design techniques – solutions to recommended exercises

Scan design techniques – solutions to recommended exercises

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Introduction <strong>to</strong> DFT Techniques in Digital Circuits - ©2002 jmf@fe.up.pt<br />

<strong>Scan</strong> <strong>design</strong> <strong>techniques</strong> <strong>–</strong> <strong>solutions</strong> <strong>to</strong> <strong>recommended</strong> <strong>exercises</strong><br />

1- Yes, since an error signal (F=0/1) will be present at the primary output,<br />

between the first and second clock pulses.<br />

(initial value > after 1st CLK pulse > after 2nd CLK pulse)<br />

D<br />

Q<br />

0 > 0 > 1<br />

0 > 0 > 1<br />

CLK<br />

1 > 1 > 0<br />

F<br />

1/1 > 0/1 > 1/1<br />

A=1<br />

CLK<br />

D<br />

CLK<br />

Q<br />

0 > 1 > 1<br />

X s@1<br />

1/1 > 0/1 > 0/1<br />

1/1 > 0/1 > 0<br />

Exercise 1<br />

2- Set A=1 and apply one clock pulse.<br />

F<br />

0/0 > 1/0<br />

A=1<br />

D<br />

Q<br />

0/0 > 1/0 X s@0<br />

D<br />

Q<br />

0 > 0<br />

CLK<br />

CLK<br />

/Q<br />

CLK<br />

/Q<br />

1 > 1<br />

Exercise 2<br />

3- No, because A=0 does not activate the fault (a 0 is driven <strong>to</strong> node X s@0, and as<br />

such we’ll never know whether or not it could be driven <strong>to</strong> 1).<br />

4- Exercise 4-a): set (A,B)=(0,1) and apply one clock pulse. The initial state is not<br />

relevant, since the proposed test procedure enables fault activation and error<br />

signal propagation regardless of the initial value present at the FF output.<br />

Exercise 4-b): Assuming that the initial state is Q=0, set (A,B)=(0,0) and apply<br />

one clock pulse. If the initial state is Q=1, the error signal does not propagate<br />

through the lower AND gate. However, the application of one clock pulse will<br />

reset the FF (since D=0 when Q=1), and the previous procedure will be<br />

applicable once again: simply set (A,B)=(0,0) and apply another clock pulse.<br />

<strong>Scan</strong> <strong>design</strong> <strong>techniques</strong> <strong>–</strong> <strong>solutions</strong> <strong>to</strong> <strong>recommended</strong> <strong>exercises</strong> Page 1 / 3


Introduction <strong>to</strong> DFT Techniques in Digital Circuits - ©2002 jmf@fe.up.pt<br />

A=0<br />

B=1<br />

X<br />

0/1<br />

X s@1<br />

0/1<br />

D<br />

Q<br />

F=0/1<br />

0<br />

X<br />

0<br />

CLK<br />

CLK<br />

/Q<br />

Exercise 4-a)<br />

A=0<br />

1<br />

0<br />

B=0<br />

1/0<br />

D<br />

Q<br />

F=1/0<br />

X<br />

s@0<br />

1/0<br />

1<br />

1<br />

1/0<br />

CLK<br />

CLK<br />

/Q<br />

Exercise 4-b)<br />

5- (Entrada primária: Primary input; Saída primária: Primary output; Estado seguinte:<br />

Next state; Estado actual: Present state; Modo de teste: Test mode; Entr. série: Serial<br />

input; Saída série: Serial output) Setting (X,Y)=(0,0) and (Q1,Q0)=(X,1) will<br />

activate the fault and propagate the error signal <strong>to</strong> the output of the OR gate.<br />

As such, the following sequence may be used:<br />

- Set (Y,X)=(0,0), so that the fault is activated when we get <strong>to</strong> state<br />

(Q1,Q0)=(X,1)<br />

- Set (serial input, test mode)=(1,1) <strong>to</strong> move in<strong>to</strong> scan mode and prepare <strong>to</strong><br />

scan 1s<br />

- Apply two clock pulses (the fault will be activated when the second clock<br />

pulse is applied)<br />

- Set (serial input, test mode)=(X,0) <strong>to</strong> capture the error signal in<strong>to</strong> Q1<br />

- Apply one clock pulse (<strong>to</strong> capture the error signal present at the OR gate<br />

output)<br />

- Set (serial input, test mode)=(X,1) <strong>to</strong> move in<strong>to</strong> scan mode (so that the<br />

error signal may be shifted out)<br />

- Apply one clock pulse: this will bring the error signal in<strong>to</strong> the serial output<br />

<strong>Scan</strong> <strong>design</strong> <strong>techniques</strong> <strong>–</strong> <strong>solutions</strong> <strong>to</strong> <strong>recommended</strong> <strong>exercises</strong> Page 2 / 3


Introduction <strong>to</strong> DFT Techniques in Digital Circuits - ©2002 jmf@fe.up.pt<br />

6- Applying a 0 <strong>to</strong> primary input A is sufficient, since this is enough <strong>to</strong> activate the<br />

fault and propagate the error signal <strong>to</strong> primary output D0 (no clock pulses are<br />

required).<br />

0<br />

A<br />

X s@0<br />

0<br />

1<br />

1/0<br />

0<br />

0<br />

0<br />

D1<br />

0<br />

1/0<br />

1/0<br />

1<br />

0<br />

0<br />

1/0<br />

D0<br />

0<br />

0<br />

Q1<br />

Q<br />

D<br />

D1<br />

1<br />

/Q1<br />

Q<br />

CLK<br />

0<br />

Q0<br />

Q<br />

D<br />

D0<br />

1<br />

/Q0<br />

Q<br />

CLK<br />

CLK<br />

Exercise 6<br />

<strong>Scan</strong> <strong>design</strong> <strong>techniques</strong> <strong>–</strong> <strong>solutions</strong> <strong>to</strong> <strong>recommended</strong> <strong>exercises</strong> Page 3 / 3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!