polito.it
Politecnico di Torino (logo)

Studio, implementazione e verifica in ambiente UVM di algoritmi embedded per sensori MEMS = Study, Implementation, and Verification in UVM Environment of Embedded Algorithms for MEMS Sensors

Enrico Longo

Studio, implementazione e verifica in ambiente UVM di algoritmi embedded per sensori MEMS = Study, Implementation, and Verification in UVM Environment of Embedded Algorithms for MEMS Sensors.

Rel. Maurizio Martina, Laura Maestri, Andrea Michele Lopinto. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Elettronica (Electronic Engineering), 2024

Abstract:

Il lavoro di tesi si concentra sullo studio, sviluppo e l'implementazione di una metodologia di verifica per la macchina a stati finiti (FSM) di un Application Specific Integrated Circuit (ASIC) destinato a sensori Micro-Electro Mechanical Systems (MEMS). L'obiettivo principale è di ottenere un modello affidabile della FSM e integrarlo efficacemente nell'ambiente di verifica, al fine di garantire un comportamento corretto del dispositivo. Questo lavoro viene svolto in una fase di pre-produzione, durante la quale la verifica avviene direttamente sul Register Transfer Level (RTL). La verifica a livello RTL permette di identificare e correggere eventuali anomalie o malfunzionamenti prima che il dispositivo vada in produzione. I sensori MEMS prodotti da STMicroelectronics utilizzano la tecnologia dual-chip system-in-package, che integra sia un MEMS che un ASIC nello stesso chip. Quest’ultimo permette la conversione analogico-digitale e l'elaborazione digitale del segnale, definendo così i sensori intelligenti. I MEMS sono dispositivi che combinano parti meccaniche, elementi elettrici, sensori e attuatori su scala micro e nanometrica. Per soddisfare requisiti di complessità nei nuovi dispositivi realizzati vengono integrati elementi di riconoscimento di eventi direttamente all’interno del sensore. Per questo motivo STMicroelectronics ha introdotto in alcuni dispositivi un blocco FSM in grado di elaborare i dati provenienti dal sensore grazie alla possibilità di implementare un massimo di 16 programmi. Ogni programma tipicamente genera un interrupt al verificarsi di una specifica gesture. Nel gruppo di design, verifica e validazione in cui ho svolto il lavoro di tesi era già stato sviluppato un modello python della FSM utilizzato per la validazione del silicio. Il mio lavoro è iniziato con la ricerca di un metodo per l’integrazione di tale modello modello nell’ambiente di verifica Universal Verification Methodology (UVM) scritto in SystemVerilog utilizzato per la verifica pre-silicio. Poiché i linguaggi python e SystemVerilog non dispongono di metodi nativi per la comunicazione, la ricerca ha esplorato diverse soluzioni, tra cui l'embedding di python in C, l'utilizzo della memoria condivisa e l'implementazione di un socket. La soluzione finale adottata ha combinato l'uso di embedding python, socket e il meccanismo delle Direct Programming Interfaces (DPI), stabilendo una comunicazione efficace tra SystemVerilog e python. Sono stati sviluppati differenti test UVM per assicurare la corretta integrazione del modello python della FSM nell’ambiente di verifica. Sono stati creati appositi componenti UVM: sequencer, scoreboard e coverage collector per garantire una verifica completa e accurata del sistema. Sono stati sviluppati test che permettono di verificare programmi custom FSM e successivamente sono stati sviluppati test per verificare programmi randomici FSM. Di questi ultimi è stata raccolta e analizzata la coverage. In conclusione, integrando un modello python nell’ambiente di verifica scritto in SystemVerilog, ho sviluppato una metodologia di verifica efficace della FSM per assicurarne il corretto comportamento e la conformità alle specifiche. Questo approccio ha migliorato la copertura dei test ed ha contribuito a garantire l'affidabilità del dispositivo. Inoltre, apre la strada ad eventuali sviluppi futuri dell’ambiente di verifica poiché’ ha definito una metodologia per le integrazioni di generici modelli python in un ambiente di verifica UVM scritto in SystemVerilog.

Relatori: Maurizio Martina, Laura Maestri, Andrea Michele Lopinto
Anno accademico: 2024/25
Tipo di pubblicazione: Elettronica
Numero di pagine: 75
Informazioni aggiuntive: Tesi secretata. Fulltext non presente
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Elettronica (Electronic Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-29 - INGEGNERIA ELETTRONICA
Ente in cotutela: KARLSRUHE INSTITUTE OF TECHNOLOGY (GERMANIA)
Aziende collaboratrici: STMicroelectronics (Plant-Les-Ouates)
URI: http://webthesis.biblio.polito.it/id/eprint/33818
Modifica (riservato agli operatori) Modifica (riservato agli operatori)