Modeling Microprocessor Faults on High-Level Decision Diagrams R. - - PowerPoint PPT Presentation

modeling microprocessor faults on high level decision
SMART_READER_LITE
LIVE PREVIEW

Modeling Microprocessor Faults on High-Level Decision Diagrams R. - - PowerPoint PPT Presentation

2nd Workshop on Dependable and Secure Nanocomputing Anchorage, June 27, 2008 Modeling Microprocessor Faults on High-Level Decision Diagrams R. Ubar, J.Raik, A.Jutman, M.Jenihhin Tallinn Technical University, Estonia M.Instenberg, H.-D.Wuttke


slide-1
SLIDE 1

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 1

  • R. Ubar, J.Raik, A.Jutman, M.Jenihhin

Tallinn Technical University, Estonia

M.Instenberg, H.-D.Wuttke

Ilmenau Technical University, Germany

Modeling Microprocessor Faults on High-Level Decision Diagrams

2nd Workshop on Dependable and Secure Nanocomputing

Anchorage, June 27, 2008

slide-2
SLIDE 2

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 2

Outline

  • Introduction
  • Motivations and contributions
  • Discussion: faults and tests
  • Fault modeling with Decision Diagrams
  • Modeling microprocessor faults
  • Experimental results
  • Conclusions
slide-3
SLIDE 3

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 3

Introduction

  • Fault models are needed for

– test generation, – test quality evaluation and – fault diagnosis

  • To handle real physical defects is too difficult
  • The fault model should

– reflect accurately the behaviour of defects, and – be computationably efficient

  • Usually combination of different fault models is used
  • Fault model free approaches (!)
slide-4
SLIDE 4

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 4

Introduction

  • Fault modeling levels

– Transistor level faults – Logic level faults

  • stuck-at fault model
  • bridging fault model
  • open fault model
  • delay fault model

– Register transfer level faults – ISA level faults (MP faults) – SW level faults

  • Hierarchical fault handling
  • Functional fault modeling

Low-Level models High-Level models

slide-5
SLIDE 5

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 5

Motivations

Current situation:

  • The efficiency of test generation (quality, speed) is highly

depending on – the description method (level, language), and – fault models

  • Because of the growing complexity of systems, gate level

methods have become obsolete

  • High-Level methods for diagnostic modeling are today

emerging, however they are not still mature

Main disadvantages:

  • The known methods for fault modeling are

– dedicated to special classes (i.e. for microprocessors, for RTL, VHDL etc. languages...), not general – not well defined and formalized

slide-6
SLIDE 6

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 6

Contributions

  • High-Level Decision Diagrams are proposed for

diagnostic modeling of digital systems

  • A novel DD-based node fault model is proposed
  • The fault model is simple and formalized
  • Traditional high-level fault models for different

abstraction levels of digital systems can be replaced by the new uniform fault model

  • As the result,

– the complexity of fault representation is reduced, and – the speed of test generation and fault simulation can be increased

slide-7
SLIDE 7

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 7

Register Level Fault Models

K: (If T,C) RD F(RS1, RS2, … RSm), N

RTL statement: K

  • label

T

  • timing condition

C

  • logical condition

RD

  • destination register

RS

  • source register

F

  • operation (microoperation)
  • data transfer

N

  • jump to the next statement

Components (variables)

  • f the statement:

RT level faults: K K’ - label faults T T’ - timing faults C C’ - logical condition faults RD RD - register decoding faults RS RS - data storage faults F F’

  • operation decoding faults
  • data transfer faults

N

  • control faults

(F) (F)’ - data manipulation faults

slide-8
SLIDE 8

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 8

Fault Models and Tests

Dedicated functional fault model for multiplexer:

– stuck-at-0 (1) on inputs, – another input (instead of, additional) – value, followed by its complement – value, followed by its complement on a line whose address differs in

  • ne bit

Functional fault model Test description

slide-9
SLIDE 9

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 9

Hierarchical Fault Modeling

Network of transistors

Fki Test Fk WFki WS

ki

F Test WSk

Network of modules

Wdki

WF

k interpretation:

Test – at the lower level Fault model – at the higher level Interface between levels

Fault model Functions Structure

System: Module Component:

Network of components

Higher level Module

k WF

k

WS

k Network of modules Bridge System

WF

k

Test

Lower level

slide-10
SLIDE 10

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 10

Logic Level Faults on SSBDDs

1 Path activation Fault Stuck-at-0 Fault activation Correct signal Error 1 0

7 6 5 4 3 2 1

) ( x x x x x x x y

  • =

x1 x2 x

3 = 1

x4 x

5

x6 x7 y F (X)

x1 x2 y x3 x4 x5 x6 x7 1 1 x1 x2 y x3 x4 x5 x6 x7 1 1 Fault modeling on Structurally Synthesized BDDs:

slide-11
SLIDE 11

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 11

Data Path in Digital Systems

R2 M3 e

+

M1 a

*

M2 b

  • R1

IN

  • c

d

y1 y2 y3 y4 M1

y1

Function M1 = R1

1

M1 = IN M2

y2

Function M2 = R1

1

M2 = IN M3

y3

Function M3 = M1+ R2

1

M3 = IN

2

M3 = R1

3

M3= M2* R2 R2

y4

Operation Function Reset R2 = 0

1

Hold R2 = R’2

2

Load R2 = M3

Data Path Control Path y x

slide-12
SLIDE 12

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 12

Decision Diagram of the Data Path

M1

y1

Function M1 = R1

1

M1 = IN M2

y2

Function M2 = R1

1

M2 = IN M3

y3

Function M3 = M1+ R2

1

M3 = IN

2

M3 = R1

3

M3= M2* R2 R2

y4

Operation Function Reset R2 = 0

1

Hold R2 = R’2

2

Load R2 = M3

y4 y3 y1 R1 + R2 IN + R

2

R1* R2 IN* R

2

y2 R2 1 2 1 1 1 #0 R2 IN R1 2 3

R2 R2 + M3 M1 M2

slide-13
SLIDE 13

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 13

Faults and High-Level Decision Diagrams

RTL-statement:

R2 M3 e

+

M1 a

*

M2 b

  • R1

IN

  • c

d

y1 y2 y3 y4

y4 y3 y1 R1 + R2 IN + R2 R1* R2 IN* R2 y2 R2 1 2 1 1 1 #0 R2 IN R1 2 3 Terminal nodes RTL-statement faults: data storage, data transfer, data manipulation faults Nonterminal nodes RTL-statement faults: label, timing condition, logical condition, register decoding,

  • peration decoding,

control faults K: (If T,C) RD F(RS1,RS2,…RSm), N

slide-14
SLIDE 14

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 14

Faults and High-Level Decision Diagrams

RTL-statement:

Terminal nodes RTL-statement faults: data storage, data transfer, data manipulation faults Nonterminal nodes RTL-statement faults: label, timing condition, logical condition, register decoding,

  • peration decoding,

control faults K: (If T,C) RD F(RS1,RS2,…RSm), N K K T C #N T C F(R) RD KNEW

Label (decoding) faults Timing faults Register or function decoding faults Data transfer, storage

  • r manipulation faults

Control (decoding) faults Control (storage) faults Data part: Control part:

slide-15
SLIDE 15

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 15

Fault Modeling on DDS

m y

1

m Y

1 2

h

Fk Fn

lm l1 l0 l0 l1 l2 lh lk lk+1

Fk+1

ln lm

Gy GY

Binary DD

with 2 terminal nodes and 2 outputs from each node

General case of DD

with n 2 terminal nodes and n 2 outputs from each node

slide-16
SLIDE 16

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 16

Fault Model for Decision Diagrams

  • Each path in a DD describes the behavior of the

system in a specific mode of operation

  • The faults having effect on the behaviour can be

associated with nodes along the path

  • A fault causes incorrect leaving the path activated by

a test

slide-17
SLIDE 17

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 17

Fault Model for Decision Diagrams

D1: the output edge for x(m) = i of a node m is always activated D2: the

  • utput

edge for x(m) = i of a node m is broken D3: instead of the given edge, another edge or a set of edges is activated

slide-18
SLIDE 18

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 18

Microprocessor Modeling with S-Graphs

IN OUT A R

I1, I6 I5 I2 - I5 I7 - I10 I1 , I3, I4 I6 - I

10

I4 I3 I2 I7, I8, I9

I1: MVI A,D A IN I2: MOV R,A R A I3: MOV M,R OUT R I4: MOV M,A OUT A I5: MOV R,M R IN I6: MOV A,M A IN I7: ADD R A A + R I8: ORA R A A R I9: ANA R A A R I10: CMA A,D A ¬ A Instruction set of a Microprocessor: S-Graph:

slide-19
SLIDE 19

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 19

Test Generation for Microprocessors

I1: MVI A,D A IN I2: MOV R,A R A I3: MOV M,R OUT R I4: MOV M,A OUT A I5: MOV R,M R IN I6: MOV A,M A IN I7: ADD R A A + R I8: ORA R A A R I9: ANA R A A R I10: CMA A,D A ¬ A

High-Level DDs for a microprocessor (example):

Instruction set: I R 3 A OUT 4 I A 2 R IN 5 R 1,3,4,6-10 I IN 1,6 A A 2,3,4,5 A + R 7 A R 8 A R 9 ¬ A 10 DD-model of the microprocessor:

slide-20
SLIDE 20

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 20

Decision Diagrams for Microprocessors

High-Level DD-based structure of the microprocessor (example):

I R 3 A OUT 4 I A 2 R IN 5 R 1,3,4,6-10 I IN 1,6 A A 2,3,4,5 A + R 7 A R 8 A R 9 ¬ A 10 DD-model of the microprocessor: OUT R A IN I

slide-21
SLIDE 21

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 21

Microprocessor Fault Model

Faults affecting the operation of microprocessor can be divided into the following classes:

  • addressing faults affecting register decoding;
  • addressing faults affecting the instruction

decoding and -sequencing functions;

  • faults in the data-storage function;
  • faults in the data-transfer function;
  • faults in the data-manipulation function.
slide-22
SLIDE 22

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 22

Microprocessor Fault Model

For multiplexers under a fault, for a given source address any

  • f

the following may happen:

F1: no source is selected F2: wrong source is selected; F3: more than one source is selected and the multiplexer

  • utput is either

a wired-AND

  • r a

wired-OR function of the sources, depending on the technology.

I IN 1,6 A 2,3,4,5 A + R 7 A R 8 A R 9 ¬ A 10 A F1 F2 F3

slide-23
SLIDE 23

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 23

Microprocessor Fault Model

For demultiplexers under a fault, for a given destination address:

F4: no destination is selected F5: instead of, or in addition to the selected correct destination, one or more

  • ther destinations are

selected

I R 3 A OUT 4 I A 2 R IN 5 R 1,3,4,6-10 I IN 1,6 A A 2,3,4,5 A + R 7 A R 8 A R 9 ¬ A 10 F4 F5

slide-24
SLIDE 24

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 24

Microprocessor Fault Model

Addressing faults affecting the execution

  • f

an instruction may cause the following fault effects:

F6: one or more microorders not activated by the microinstructions of I F7: microorders are erroneously activated by the microinstructions of I F8: a different set of microinstructions is activated instead of, or in addition to, the microinstructions of I

I IN 1,6 A 2,3,4,5 A + R 7 A R 8 A R 9 ¬ A 10 A F6 F7 F8

slide-25
SLIDE 25

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 25

Microprocessor Fault Model

The data storage faults:

F9: one or more cells stuck at 0 or 1; F10: one or more cells fail to make a 01 or 10 transitions; F11: two or more pairs of cells are coupled;

For buses under a fault:

F12: one or more lines stuck at 0 or 1; F13: one or more lines form a wired-OR

  • r wired-AND function due to

shorts or spurious coupling

I IN 1,6 A A 2,3,4,5 A + R 7 A R 8 A R 9 ¬ A 10

slide-26
SLIDE 26

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 26

Test Generation on DDS

m y

1

m Y

1 2

h

Fk Fn

lm l1 l0 l0 l1 l2 lh lk lk+1

Fk+1

ln lm

Gy GY

Binary DD

with 2 terminal nodes and 2 outputs from each node

General case of DD

with n 2 terminal nodes and n 2 outputs from each node

slide-27
SLIDE 27

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 27

Hierarchical Test Generation on DDs

R2 M3 e

+

M1 a

*

M2 b

  • R1

IN

  • c

d

y1 y2 y3 y4

y4 y3 y1 R1 + R2 IN + R2 R1* R2 IN* R2 y2 R2 1 2 1 1 1 #0 R2 IN R1 2 3

Single path activation in a single DD Data function R1* R2 is tested Data path Decision Diagram

Hierarhical test generation with DDs: Scanning test

Control: y1 y2 y3 y4 = x032 Data: For all specified pairs of (R1, R2) Test program: Low level test data (constraints W)

slide-28
SLIDE 28

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 28

Test Generation on High Level DDs

R2 M3 e

+

M1 a

*

M2 b

  • R1

IN

  • c

d

y1 y2 y3 y4

y4 y3 y1 R1 + R2 IN + R2 R1* R2 IN* R2 y2 R2 1 2 1 1 1 #0 R2 IN R1 2 3

Multiple paths activation in a single DD Control function y3 is tested Data path Decision Diagram

High-level test generation with DDs: Conformity test

Control: For D = 0,1,2,3: y1 y2 y3 y4 = 00D2 Data: Solution of R1+ R2 IN R1 R1* R2 Test program: Activating high-level faults:

slide-29
SLIDE 29

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 29

Test Generation for Microprocessors

I R 3 A OUT 4 I A 2 R IN 5 R 1,3,4,6-10 I IN 1,6 A A 2,3,4,5 A + R 7 A R 8 A R 9 ¬ A 10 DD-model of the microprocessor: Scanning test program for adder:

Instruction sequence T = I5 (R)I1 (A)I7 I4 for all needed pairs of (A,R)

OUT I4 A I7 A R I1 IN(2) IN(1) R I5

Time:

t t - 1 t - 2 t - 3

Observation Test Load

slide-30
SLIDE 30

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 30

Test Generation for Microprocessors

DD-model of the microprocessor: Conformity test program for decoding I:

Instruction sequence T = I5 I1 D I4 for all D{I1 - I10} at given A,R,IN(3)

OUT I4 A I = ID A R I1 IN(2) IN(1) R I5

Time:

t t - 1 t - 2 t - 3

Observation Test Load

I R 3 A OUT 4 I A 2 R IN 5 R 1,3,4,6-10 I IN 1,6 A A 2,3,4,5 A + R 7 A R 8 A R 9 ¬ A 10 IN(3)

slide-31
SLIDE 31

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 31

Experimental results

Bit Width 0.21 0.49 1.16 3.74 0.19 0.5 1.25 4.26 0.29 0.75 1.86 5.57 1 2 3 4 5 6 4 8 16 32 4 8 16 32 4 8 16 32 HTPG Synopsys 4 8 16 Instructions

HTPG – high level Synopsys – gate level Gate-level fault coverage – 100%

slide-32
SLIDE 32

Technical University Ilmenau, GERMANY Tallinn University of Technology, ESTONIA 32

Conclusions

  • Different fault models for different representation levels
  • f digital systems can be replaced on DDs by the

uniform node fault model

  • It allows to represent groups of structural faults through

groups of functional faults

  • As the result, the complexity of fault representation can

be reduced, and the simulation speed can be raised

  • The fault model on DDs can be regarded as a

generalization

– of the classical gate-level stuck-at fault model, and – of the known higher level fault models

www.pld.ttu.ee/~raiub/