Politecnico di Torino (logo)

Functional test of peripheral devices

Riccardo Coggiola

Functional test of peripheral devices.

Rel. Matteo Sonza Reorda, Riccardo Cantoro. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Elettronica (Electronic Engineering), 2019

PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (1MB) | Preview

The present work covers a software based test of the SPI peripheral included in the Pulpissimo SOC and, in particular, of its internal controller. Functional test of peripheral controllers can be a very difficult task, since they are very deeply embedded in the peripheral and therefore very difficult to access and their responses are hard to observe. In the case of the Pulpissimo the task was not straightforward, as the built-in functions present in the C library didn’t test the SPI controller, and therefore an ad hoc driver had to be written, in order to send arbitrary commands and get the finite state machine of the SPI controller to reach all possible states, thus achieving an adequate coverage. At first an evolutionary approach was tried: the initial test program was divided into several small tasks that were recombined using MicroGP in order to achieve higher coverage values. Sadly this approach didn’t bring substantial results, as the controller coverage did not benefit from an increase in program size and number of tests. Going back to a manual approach, writing and optimizing a test program that adequately stimulates the controller eventually led to a satisfying result, since the global stuck-at fault coverage achieved for the entire SPI peripheral was 84%, with a 74% coverage on the controller module, and the test duration was around 500ms, whereas a regular test program written with the built-in functions would run for several seconds, reaching coverage results around 70% for the entire SPI peripheral, with no more than 23% fault coverage on the controller module.

Relators: Matteo Sonza Reorda, Riccardo Cantoro
Academic year: 2019/20
Publication type: Electronic
Number of Pages: 50
Corso di laurea: Corso di laurea magistrale in Ingegneria Elettronica (Electronic Engineering)
Classe di laurea: New organization > Master science > LM-29 - ELECTRONIC ENGINEERING
Aziende collaboratrici: UNSPECIFIED
URI: http://webthesis.biblio.polito.it/id/eprint/13210
Modify record (reserved for operators) Modify record (reserved for operators)