Upload
callie-reynolds
View
43
Download
0
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