Deterministic Cache-based Execution of On-line Self-Test Routines in Multi-core Automotive System-on-Chips
Andrea Floridia1, Tzamn Melendez Carmona1, Davide Piumatti1, Annachiara Ruospo1, Ernesto Sanchez1, Sergio De Luca2, Rosario Martorana2 and Mose Alessandro Pernice2
1Dipartimento di Automatica e Informatica, Politecnico di Torino, Italy
2STMicroelectronics, Italy
ABSTRACT
Traditionally, the usage of caches and deterministic execution of on-line self-test procedures have been considered two mutually exclusive concepts. At the same time, software executed in a multi-core context suffers of a limited timing predictability due to the higher system bus contention. When dealing with selftest procedures, this higher contention might lead to a fluctuating fault coverage or even the failure of some test programs. This paper presents a cache-based strategy for achieving both deterministic behaviour and stable fault coverage from the execution of self-test procedures in multi-core systems. The proposed strategy is applied to two representative modules negatively affected by a multi-core execution: synchronous imprecise interrupts logic and pipeline hazard detection unit. The experiments illustrate that it is possible to achieve a stable execution while also improving the state-of-the-art approaches for the on-line testing of embedded microprocessors. The effectiveness of the methodology was assessed on all the three cores of a multi-core industrial Systemon- Chip intended for automotive ASIL D applications.