Institut für Technik der Informationsverarbeitung

Error Detection Hardware Accelerators for Embedded Multi-Core Processors

Error Detection Hardware Accelerators for Embedded Multi-Core Processor



Embedded electronic systems are subject to a variety of different requirements. Above all, the demand for computing power has steadily increased for decades. To cover this, the use of modern processors in Multi-Core and networked architectures is unavoidable. Increases in complexity however make such architectures more susceptible to random failures, causing potentially catastrophic effects.
Safety-critical environments in domains such as avionics, aerospace and automated driving pose a massive challenge to the evolution of computational power: despite the complexity of using such advanced technologies, the system must still meet existing reliability and availability requirements. The use of multi-core processors in an efficient manner in a safety-critical environment is the subject of this research.


Tasks description

The main objective of this work is the development of a hardware error-detection unit for a modern embedded microprocessor. This subsystem should be able to read and analyse execution data and detect any anomalous execution flow.
Execution data is extracted from the processor through a dedicated program trace interface. Decoding the trace in real-time is the first step in for the implementation of the control flow error detection unit. With static software analysis, we can generate a graph that contains the necessary control flow information (jumps and branches) of the program before having to execute it in the platform. This graph is the program’s Control Flow Graph (CFG). By comparing the output of the decoded trace with the CFG, we can identify any control flow errors or synchronization errors among cores.
Once it identifies an error, the monitor can notify a management unit or supervisor system and the appropriate action based on the type and criticality of application can be taken.



The theoretical part of this thesis requires knowledge of embedded electronic systems. For the practical part, good programming and FPGA development skills are required. A detailed list of skills follows:

  • Experience in VHDL programming and development is required.
  • Experience with LEON3 Processor is helpful.
  • Knowledge in embedded C programming is helpful.
  • Knowledge in embedded CPU architectures is helpful.