State automata are implemented in numerous ways and technologies - from simple traffic light controls to high-performance microprocessors comprising thousands of different states. Highly-integrated microprocessors get more and more susceptible to transient faults induced by radiation, extreme clocking, temperature and decreasing voltage supplies. A transient fault in form of a single event-upset (SEUs) can change the current state of an automaton to another valid state, thus causing a control-flow error. From control-flow based simulations of a microprogrammable automaton we determine the number of effective, overwritten and latent faults. Faults can be detected by counting the number of transitions to the ending state and the comparison with a precomputed value being part of the microcode and the number of counted cycles. Faults cannot be detected if the original state is transferred to another valid state, reaching the ending state in the same number of transitions. We further determine the number of faults which can be detected by using this simple scheme and propose to encode these states in a way that a bit-flip will result in a state with a different distance from the ending state without any additional space consumption for the code.
[1]
Bernhard Fechner,et al.
Microcode with Embedded Timing Constraints
,
2006,
ARCS Workshops.
[2]
Jih-Jong Wang,et al.
The impact of software and CAE tools on SEU in field programmable gate arrays
,
1999
.
[3]
Clifford Stein,et al.
Introduction to Algorithms, 2nd edition.
,
2001
.
[4]
Lorenzo Alvisi,et al.
Modeling the effect of technology trends on the soft error rate of combinational logic
,
2002,
Proceedings International Conference on Dependable Systems and Networks.
[5]
Jörg Keller,et al.
Web server protection by customized instruction set encoding
,
2006,
Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.
[6]
Richard W. Wieler,et al.
Simulating Static and Dynamic Faults in BIST Strucutres with a FPGA Based Emulator
,
1994,
FPL.