6
공공공공 > IT 공공공 Embedded Processor Design Chapter 8: Test EMBEDDED SYSTEM DESIGN 공공공공 > IT 공공공 Embedded Processor Design Presenter: Yvette E. Gelogo Professor: Prof. Ihn-Han Bae

공과대학 > IT 공학부

Embed Size (px)

DESCRIPTION

공과대학 > IT 공학부. 공과대학 > IT 공학부. Embedded Processor Design. Embedded Processor Design. Chapter 8: Test. EMBEDDED SYSTEM DESIGN. Presenter: Yvette E. Gelogo Professor: Prof. Ihn -Han Bae. Contents. 8. 1. SCOPE 8.2. TEST PROCEDURES 8.2.1. Test Pattern Generation for Gate Level Model - PowerPoint PPT Presentation

Citation preview

공과대학 > IT 공학부Embedded Processor Design

Chapter 8: TestEMBEDDED SYSTEM DESIGN

공과대학 > IT 공학부Embedded Processor Design

Presenter: Yvette E. GelogoProfessor: Prof. Ihn-Han Bae

Contents

8. 1. SCOPE

8.2. TEST PROCEDURES

8.2.1. Test Pattern Generation for Gate Level Model

8.2.2. Self-test Program

8.3. EVALUATION OF TEST PATTERN SETS AND SYSTEM ROBUSTNESS

8.3.1. Fault Coverage

8.3.2. Fault Simulation

8.3.3. Fault Injection

8. 4. DESIGN FOR TESTABILITY

8.1. Motivation

8. 1. SCOPE The purpose of testing is to make sure that a manufactured embedded system

behaves as intended. Fabrication testing Field testing

Testing of embedded systems needs special attention for several reasons: Embedded/cyber-physical systems integrated into a physical environment

may be safety-critical. Testing of timing-critical systems has to validate the correct timing

behavior. Testing embedded/cyber-physical systems in their real environment may

be dangerous. Preparations for testing should be done no later than at the end of the design

phase. System under design (SUD) as the device under test (DUT) Test Patterns- the input of the system, observe its behavior and

compare this behavior with the expected behavior. Testing includes a number of different actions:

1 test pattern generation2 test pattern application3 response observation4 result comparison

8.2. TEST PROCEDURES8.2.1. Test Pattern Generation for Gate Level Model Test Pattern Generation -> fault models

- identify a set of test patterns which distinguishes a correctly working from an incorrectly working system.

Stuck-at-fault model is a frequently used fault model. Suppose that we would like to check if there is a stuck-at-1 fault for signal

f.

8.2.2 Self-test programs

Signal f='1' if there is an errora='0', b='0' in order to have f='0' if there is no errorg='1' in order to propagate errorc='1' in order to have g='1' (or set d='1')e='1' in order to propagate error i='1' if there is no error & i='0' if there is

In order to test for stuck-at-faults at the input of the ALU, we can execute a small test program:

store pattern of all ’1’s in the register file; perform XOR between constant "0000...00" and

register, test if result contains ’0’ bit, if yes, report error; otherwise start test for next fault

8.3 EVALUATION OF TEST PATTERN SETS AND SYSTEM ROBUSTNESS

8.3.1. Fault Coverage Fault coverage is the percentage of potential faults that can be found for a

given test pattern set: - at least 98 to 99 %.

8.3.2 Fault simulation fault simulation - system models are modified to reflect the behavior of

the system in the presence of a certain fault The goals of fault simulation include:

to know the effect of a fault of the components at the system level. to know whether or not mechanisms for improving fault tolerance

actually help.8.3.3 Fault injection Fault simulation may be too time-consuming for real systems. If actual

systems are available, fault injection can be used instead. Two types of fault injection

local faults within the system faults in the environment (behaviors which do not correspond to the

specification).

8.4.1 Motivation For circuits implementing state machines (automata), test pattern generation

is more difficult. Consider this example:

Suppose that we would like to test the transition from state C to state D. This requires us to get into state C first, by applying an appropriate sequence of input patterns. Next, we must generate input event i and check, if output y is generated. Also, we need to check if we reached state D. This procedure is rather complicated, takes a lot of time and is susceptible to interference with other errors.

In order to simplify tests, special hardware can be added such that testing becomes easier. The process of designing for better testability is called design for testability, or DfT.

8.4 DESIGN FOR TESTABILITY