The SoC solution represents a common choice in the embedded world due to the high level of integration reachable in developing Hardware/Software systems. From a technological point of view, FPGAs are widely used to implement systems not only for prototyping purposes but also for the final product. This is possible thanks to the recent technological improvements that make the FPGA technology more performance and with a high cost/benefit ratio. The present work concerns the study of the issues regarding the development and the validation of SoCs. In detail, the focus has been oriented on the monitoring approach and on the collection of internal information transiting on the system’s communication channel. That information may be exploited in order to support designers not only during the debugging and validation phases but also to develop and implement advanced functionalities to improve the system behavior. For example monitored data may be used to implement security mechanisms, performance analysis, memory histograms and so on. The first step has concerned a great analysis of the state of the art. Several solutions have been analyzed both in the literature and in the present market. This analysis has shown different weaknesses in terms of flexibility and re-usability of the proposed solutions: this analysis has revealed the need to define a new and innovative methodology to overcome some of the current limitations concerning the monitoring approach. The second step has been the definition of the mentioned methodology. MICOS (Methodology to Improve Controllability and Observability of SoCs) has born with the aim to lead the designer to develop a monitoring IP core implementing intrinsic features: flexibility in terms of monitoring functionalities, flexibility in terms of resources occupation and flexibility in terms of integration into the system to be monitored. In addition, the resulting IP core is highly configurable and it provides the possibility to automate the entire design process without affecting the common SoC design flow. The third step has concerned a MICOS implementation to validate the proposed methodology. Several technology choices have been made in terms of communication channel and physical device. In addition, five monitoring functionalities has been developed according with the methodology features. The support for two different integration approaches has been provided: the ONLINE mode and the OFFLINE mode. The fourth step has concerned the realization of two different cases of study to validate the MICOS implementation in a realistic scenario. The introduction of the MICOS core in a pre-existent system has required the development of a software layer to properly manage the underlying architecture. In details, three different applications has been developed: the library to support the ONLINE approach; the firmware and a Windows host application to support the OFFLINE approach. The last step has been the collection and the consequent analysis of hardware and software results derived from the MICOS implementation. This analysis has permitted to verify the preservation of the key features provided by the MICOS methodology. Results concerning resources usage have been detailed both for hardware and software layers as well. The present work has demonstrate the possibility to create an IP core able to perform monitoring activities with a high degree of flexibility and configurability. In this way it is possible to implements several advanced monitoring functionalities both at design-time and at run-time: this behavior is absent in existent solutions.

Attualmente il mondo dei sistemi embedded vede come frontiera di sviluppo i sistemi basati su architettura SoC, in quanto consentono un approccio di sviluppo integrato per sistemi Hardware/Software. Dal punto di vista tecnologico si stanno affermando i dispositivi FPGA. Dapprima utilizzati in fase prototipale per la loro versatilità di programmazione, oggi sono utilizzati anche per la realizzazione di sistemi in produzione dati i progressi tecnologici nei dispositivi e negli strumenti di sviluppo, ed il loro rapporto costi/benefici. Il presente lavoro di tesi è orientato allo studio del problema di verifica di un sistema SoC. Il lavoro si concentra sull’osservazione e il controllo delle informazioni interne al sistema e sull’utilizzo delle informazioni estratte a supporto del progettista sia nelle fasi di verifica e debug sia per l’implementazione di funzionalità avanzate all’interno del sistema stesso. L’obiettivo del lavoro di tesi è la definizione di una metodologia di lavoro che consenta di aumentare l’osservabilità ed il controllo sul sistema, minimizzando l’impatto sul flusso di progetto standard. Il primo passo per il raggiungimento dell’obiettivo è stato l’analisi dello stato dell’arte delle odierne soluzioni riguardanti il monitoring di SoC. L’analisi ha preso in considerazione sia la letteratura sia le soluzioni commerciali e ha consentito di individuare alcuni limiti in termini di flessibilità e riutilizzabilità delle soluzioni proposte, facendo emergere la necessità di definire una nuova metodologia. Il secondo passo è stato pertanto la definizione della metodologia stessa. MICOS (Methodology to Improve Controllability and Observability in SoC) si pone l’obiettivo di guidare il progettista nella realizzazione di una soluzione integrata per l’analisi di SoC, che fornisca flessibilità in termini di funzionalità di monitoraggio, di risorse fisiche utilizzate e di modalità d’integrazione nel sistema da osservare e controllare. Il tutto supportato da un’elevata configurabilità e dalla possibilità di automatizzare il processo implementativo. Il terzo passo è stato l’implementazione di MICOS per validare le caratteristiche della metodologia stessa. Dopo aver effettuato le scelte a livello implementativo e tecnologico, è stato realizzato un IP core in grado di supportare cinque differenti funzionalità di osservazione e controllo, e quattro modalità di lavoro. In accordo con la metodologia, questo core risulta essere configurabile tramite un opportuno meccanismo che ne rende possibile l’utilizzo in diversi contesti, senza necessità di riprogettazione o riscrittura del codice. L’implementazione proposta supporta inoltre due diverse modalità d’integrazione chiamate rispettivamente ONLINE e OFFLINE. Nella prima modalità, il core è controllato direttamente dal sistema che si vuole analizzare: ciò consente un approccio integrato ed autocontenuto, ma ha un impatto sul sistema originale. Nella seconda modalità, il core di analisi è controllato da un sistema esterno che non interferisce con l’esecuzione dell’applicazione da osservare. Il quarto passo è stato la realizzazione di due casi di studio per validare l’implementazione di MICOS. I casi di studio proposti rappresentano degli scenari realistici in cui poter integrare il core secondo le due modalità sviluppate e descritte in precedenza. L’introduzione del core MICOS all’interno dei due sistemi ha richiesto lo sviluppo di diverse soluzioni software per la gestione dello strato hardware sottostante. In particolar modo sono state realizzate una libreria per la gestione della modalità ONLINE, un firmware per la comunicazione nel caso OFFLINE e un’applicazione Windows per gestire la comunicazione con un sistema host. Il quinto e ultimo passo è stato la raccolta e l’analisi dei dati derivanti dall’implementazione e dai casi di studio. E’ stato quindi determinato l’utilizzo di risorse dell’IP core sviluppato sia per quanto riguarda la componente hardware che quella software. È stato inoltre verificato il rispetto delle caratteristiche richieste dalla metodologia progettuale descritta in precedenza. Il lavoro di tesi dimostra come sia possibile implementare diverse funzionalità di osservazione e controllo in un unico IP core mantenendo un elevato grado di configurabilità ed estensibilità sia a in fase di progettazione sia in fase di esecuzione, tenendo sotto controllo l’utilizzo delle risorse fisiche disponibili. Questo fa sì che lo strumento sviluppato possa essere riutilizzato non solo per effettuare compiti a livello di debug ma anche per migliorare e incrementare le funzionalità del sistema originale: tale caratteristica è assente nelle soluzione attualmente disponibili.

MICOS : a new methodology to improve controllability and observability of SoCs

GALLI, MATTEO;FAUSTINI, NICHOLAS
2011/2012

Abstract

The SoC solution represents a common choice in the embedded world due to the high level of integration reachable in developing Hardware/Software systems. From a technological point of view, FPGAs are widely used to implement systems not only for prototyping purposes but also for the final product. This is possible thanks to the recent technological improvements that make the FPGA technology more performance and with a high cost/benefit ratio. The present work concerns the study of the issues regarding the development and the validation of SoCs. In detail, the focus has been oriented on the monitoring approach and on the collection of internal information transiting on the system’s communication channel. That information may be exploited in order to support designers not only during the debugging and validation phases but also to develop and implement advanced functionalities to improve the system behavior. For example monitored data may be used to implement security mechanisms, performance analysis, memory histograms and so on. The first step has concerned a great analysis of the state of the art. Several solutions have been analyzed both in the literature and in the present market. This analysis has shown different weaknesses in terms of flexibility and re-usability of the proposed solutions: this analysis has revealed the need to define a new and innovative methodology to overcome some of the current limitations concerning the monitoring approach. The second step has been the definition of the mentioned methodology. MICOS (Methodology to Improve Controllability and Observability of SoCs) has born with the aim to lead the designer to develop a monitoring IP core implementing intrinsic features: flexibility in terms of monitoring functionalities, flexibility in terms of resources occupation and flexibility in terms of integration into the system to be monitored. In addition, the resulting IP core is highly configurable and it provides the possibility to automate the entire design process without affecting the common SoC design flow. The third step has concerned a MICOS implementation to validate the proposed methodology. Several technology choices have been made in terms of communication channel and physical device. In addition, five monitoring functionalities has been developed according with the methodology features. The support for two different integration approaches has been provided: the ONLINE mode and the OFFLINE mode. The fourth step has concerned the realization of two different cases of study to validate the MICOS implementation in a realistic scenario. The introduction of the MICOS core in a pre-existent system has required the development of a software layer to properly manage the underlying architecture. In details, three different applications has been developed: the library to support the ONLINE approach; the firmware and a Windows host application to support the OFFLINE approach. The last step has been the collection and the consequent analysis of hardware and software results derived from the MICOS implementation. This analysis has permitted to verify the preservation of the key features provided by the MICOS methodology. Results concerning resources usage have been detailed both for hardware and software layers as well. The present work has demonstrate the possibility to create an IP core able to perform monitoring activities with a high degree of flexibility and configurability. In this way it is possible to implements several advanced monitoring functionalities both at design-time and at run-time: this behavior is absent in existent solutions.
FARINA, ROBERTO
ING V - Scuola di Ingegneria dell'Informazione
4-ott-2012
2011/2012
Attualmente il mondo dei sistemi embedded vede come frontiera di sviluppo i sistemi basati su architettura SoC, in quanto consentono un approccio di sviluppo integrato per sistemi Hardware/Software. Dal punto di vista tecnologico si stanno affermando i dispositivi FPGA. Dapprima utilizzati in fase prototipale per la loro versatilità di programmazione, oggi sono utilizzati anche per la realizzazione di sistemi in produzione dati i progressi tecnologici nei dispositivi e negli strumenti di sviluppo, ed il loro rapporto costi/benefici. Il presente lavoro di tesi è orientato allo studio del problema di verifica di un sistema SoC. Il lavoro si concentra sull’osservazione e il controllo delle informazioni interne al sistema e sull’utilizzo delle informazioni estratte a supporto del progettista sia nelle fasi di verifica e debug sia per l’implementazione di funzionalità avanzate all’interno del sistema stesso. L’obiettivo del lavoro di tesi è la definizione di una metodologia di lavoro che consenta di aumentare l’osservabilità ed il controllo sul sistema, minimizzando l’impatto sul flusso di progetto standard. Il primo passo per il raggiungimento dell’obiettivo è stato l’analisi dello stato dell’arte delle odierne soluzioni riguardanti il monitoring di SoC. L’analisi ha preso in considerazione sia la letteratura sia le soluzioni commerciali e ha consentito di individuare alcuni limiti in termini di flessibilità e riutilizzabilità delle soluzioni proposte, facendo emergere la necessità di definire una nuova metodologia. Il secondo passo è stato pertanto la definizione della metodologia stessa. MICOS (Methodology to Improve Controllability and Observability in SoC) si pone l’obiettivo di guidare il progettista nella realizzazione di una soluzione integrata per l’analisi di SoC, che fornisca flessibilità in termini di funzionalità di monitoraggio, di risorse fisiche utilizzate e di modalità d’integrazione nel sistema da osservare e controllare. Il tutto supportato da un’elevata configurabilità e dalla possibilità di automatizzare il processo implementativo. Il terzo passo è stato l’implementazione di MICOS per validare le caratteristiche della metodologia stessa. Dopo aver effettuato le scelte a livello implementativo e tecnologico, è stato realizzato un IP core in grado di supportare cinque differenti funzionalità di osservazione e controllo, e quattro modalità di lavoro. In accordo con la metodologia, questo core risulta essere configurabile tramite un opportuno meccanismo che ne rende possibile l’utilizzo in diversi contesti, senza necessità di riprogettazione o riscrittura del codice. L’implementazione proposta supporta inoltre due diverse modalità d’integrazione chiamate rispettivamente ONLINE e OFFLINE. Nella prima modalità, il core è controllato direttamente dal sistema che si vuole analizzare: ciò consente un approccio integrato ed autocontenuto, ma ha un impatto sul sistema originale. Nella seconda modalità, il core di analisi è controllato da un sistema esterno che non interferisce con l’esecuzione dell’applicazione da osservare. Il quarto passo è stato la realizzazione di due casi di studio per validare l’implementazione di MICOS. I casi di studio proposti rappresentano degli scenari realistici in cui poter integrare il core secondo le due modalità sviluppate e descritte in precedenza. L’introduzione del core MICOS all’interno dei due sistemi ha richiesto lo sviluppo di diverse soluzioni software per la gestione dello strato hardware sottostante. In particolar modo sono state realizzate una libreria per la gestione della modalità ONLINE, un firmware per la comunicazione nel caso OFFLINE e un’applicazione Windows per gestire la comunicazione con un sistema host. Il quinto e ultimo passo è stato la raccolta e l’analisi dei dati derivanti dall’implementazione e dai casi di studio. E’ stato quindi determinato l’utilizzo di risorse dell’IP core sviluppato sia per quanto riguarda la componente hardware che quella software. È stato inoltre verificato il rispetto delle caratteristiche richieste dalla metodologia progettuale descritta in precedenza. Il lavoro di tesi dimostra come sia possibile implementare diverse funzionalità di osservazione e controllo in un unico IP core mantenendo un elevato grado di configurabilità ed estensibilità sia a in fase di progettazione sia in fase di esecuzione, tenendo sotto controllo l’utilizzo delle risorse fisiche disponibili. Questo fa sì che lo strumento sviluppato possa essere riutilizzato non solo per effettuare compiti a livello di debug ma anche per migliorare e incrementare le funzionalità del sistema originale: tale caratteristica è assente nelle soluzione attualmente disponibili.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2012_10_FAUSTINI_GALLI.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Testo della Tesi
Dimensione 3.86 MB
Formato Adobe PDF
3.86 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/67502