Nowadays, due to the ever-growing employment in digital electronics systems of Field-Programmable Gate Arrays (FPGAs) and Application-Specific Integrated Circuits (ASICs), the hardware verification process represents a critical and extremely relevant phase during the creation of such complex and detailed structures. In fact, the hardware designs have to be carefully and extensively verified to identify and correct issues and weaknesses affecting them, to increase their optimization in operational situations and, last but not least, to reduce their manufacturing cost. In fact, the correction of bugs and errors affecting an already manufactured digital electronics design can be extremely costly (in the case of FPGAs) or even impossible (in the case of ASICs) and it can potentially lead to the retirement of a certain product from the market, representing a relevant economic and credibility loss for a company. For these reasons, the hardware verification, which is an expensive process in terms of time and resources, is fundamental to avoid harmful repercussions in the development of a product.At the same time, the verification process should not represent a bottleneck in the overall system design course and should be compliant with the high pace of nowadays technology progress, allowing the achievement of the lowest time-to-market possible. In this work, the verification aimed to achieve the improvement of the reliability and stability of two critical components of the infrastructure of a high-performance digital electronics system, developed by the Digital Electronics Lab (DigiLab) of Politecnico di Milano, is presented by analyzing in detail the setups and motivations of the tests, along with the produced results. The verification of such complex structures was achieved thanks to the employment of a novel and relatively recent Python-based methodology, whose roots are to be found in the same philosophy as the current standard in the hardware verification field, that is the Universal Verification Methodology (UVM). However, this novel approach offers a set of crucial advantages, with respect to the standard procedures, which has made it a strong and interesting alternative to UVM for many test engineers and researchers and has led to its current wide diffusion and adoption in the hardware verification community. For the above-mentioned reasons, this thesis work allowed both the improvement of the reliability of the DigiLab system through the verification process and the validation of the potentialities and strengths of the Python-based methodology.

Oggigiorno, a causa del sempre crescente impiego nei sistemi elettronici digitali di Field-Programmable Gate Array (FPGA) e di Application-Specific Integrated Circuit (ASIC), il processo di verifica hardware rappresenta una fase critica ed estremamente rilevante nella creazione di strutture complesse ed articolate. Infatti, i design hardware richiedono una verifica attenta ed esaustiva, in grado di identificare e correggere i problemi e le debolezze che li affliggono, incrementare la loro ottimizzazione in situazioni di operatività e, ultimo ma non meno importante, ridurne il costo di produzione. Infatti, la correzione di bug ed errori che affliggono un design digitale nello stadio di post-produzione può rivelarsi estremamente costosa (nel caso di sistemi basati su FPGA) o addirittura impossibile (per quanto riguarda gli ASIC) e potenzialmente può portare al ritiro dal mercato di un certo prodotto, rappresentando un'importante perdita economica e di credibilità per un'azienda. Per queste ragioni, la verifica hardware, che è un processo dispendioso in termini di tempo e risorse, è fondamentale per evitare dannose ripercussioni nello sviluppo di un prodotto. Allo stesso tempo, il processo di verifica non deve rappresentare una limitazione nello sviluppo del design dell'intero sistema e deve essere compatibile con l'attuale alto ritmo sostenuto dal progresso tecnologico, consentendo il conseguimento del più basso time-to-market possibile. In questo lavoro di tesi, la verifica attuata per il raggiungimento di un miglioramento dell'affidabilità e della stabilità di due componenti critiche dell'infrastrutture di un sistema elettronico digitale ad alte prestazioni, sviluppato dal Digital Electronics Lab (DigiLab) del Politecnico di Milano, viene presentata grazie all'analisi dettagliata delle configurazioni e delle motivazioni dei test, accompagnate dai risultati da essi prodotti. La verifica di strutture di questa complessità è stata possibile grazie all'utilizzo di una metodologia innovativa e relativamente recente, fondata sull'impiego di Python, le cui radici sono da ricercare nella filosofia abbracciata dall'attuale standard nel campo della verifica hardware, ossia dalla Universal Verification Methodology (UVM). Nonostante ciò, questo approccio innovativo offre una serie di importanti vantaggi, rispetto alle procedure standard, che l'hanno reso una valida ed interessante alternativa alla sopracitata UVM per molti test engineer e ricercatori e ne hanno definito l'attuale ampia diffusione ed adozione nella comunità di verifica hardware. Per le ragioni sopracitate, questo lavoro di tesi ha permesso sia il miglioramento dell'affidabilità del sistema sviluppato dal DigiLab attraverso il processo di verifica sia la validazione delle potenzialità e dei punti di forza della metodologia Python impiegata.

Hardware verification of a high-performance digital electronics system infrastructure through Python-based methodology

Bucci, Luca
2019/2020

Abstract

Nowadays, due to the ever-growing employment in digital electronics systems of Field-Programmable Gate Arrays (FPGAs) and Application-Specific Integrated Circuits (ASICs), the hardware verification process represents a critical and extremely relevant phase during the creation of such complex and detailed structures. In fact, the hardware designs have to be carefully and extensively verified to identify and correct issues and weaknesses affecting them, to increase their optimization in operational situations and, last but not least, to reduce their manufacturing cost. In fact, the correction of bugs and errors affecting an already manufactured digital electronics design can be extremely costly (in the case of FPGAs) or even impossible (in the case of ASICs) and it can potentially lead to the retirement of a certain product from the market, representing a relevant economic and credibility loss for a company. For these reasons, the hardware verification, which is an expensive process in terms of time and resources, is fundamental to avoid harmful repercussions in the development of a product.At the same time, the verification process should not represent a bottleneck in the overall system design course and should be compliant with the high pace of nowadays technology progress, allowing the achievement of the lowest time-to-market possible. In this work, the verification aimed to achieve the improvement of the reliability and stability of two critical components of the infrastructure of a high-performance digital electronics system, developed by the Digital Electronics Lab (DigiLab) of Politecnico di Milano, is presented by analyzing in detail the setups and motivations of the tests, along with the produced results. The verification of such complex structures was achieved thanks to the employment of a novel and relatively recent Python-based methodology, whose roots are to be found in the same philosophy as the current standard in the hardware verification field, that is the Universal Verification Methodology (UVM). However, this novel approach offers a set of crucial advantages, with respect to the standard procedures, which has made it a strong and interesting alternative to UVM for many test engineers and researchers and has led to its current wide diffusion and adoption in the hardware verification community. For the above-mentioned reasons, this thesis work allowed both the improvement of the reliability of the DigiLab system through the verification process and the validation of the potentialities and strengths of the Python-based methodology.
CORNA, NICOLA
ING - Scuola di Ingegneria Industriale e dell'Informazione
15-dic-2020
2019/2020
Oggigiorno, a causa del sempre crescente impiego nei sistemi elettronici digitali di Field-Programmable Gate Array (FPGA) e di Application-Specific Integrated Circuit (ASIC), il processo di verifica hardware rappresenta una fase critica ed estremamente rilevante nella creazione di strutture complesse ed articolate. Infatti, i design hardware richiedono una verifica attenta ed esaustiva, in grado di identificare e correggere i problemi e le debolezze che li affliggono, incrementare la loro ottimizzazione in situazioni di operatività e, ultimo ma non meno importante, ridurne il costo di produzione. Infatti, la correzione di bug ed errori che affliggono un design digitale nello stadio di post-produzione può rivelarsi estremamente costosa (nel caso di sistemi basati su FPGA) o addirittura impossibile (per quanto riguarda gli ASIC) e potenzialmente può portare al ritiro dal mercato di un certo prodotto, rappresentando un'importante perdita economica e di credibilità per un'azienda. Per queste ragioni, la verifica hardware, che è un processo dispendioso in termini di tempo e risorse, è fondamentale per evitare dannose ripercussioni nello sviluppo di un prodotto. Allo stesso tempo, il processo di verifica non deve rappresentare una limitazione nello sviluppo del design dell'intero sistema e deve essere compatibile con l'attuale alto ritmo sostenuto dal progresso tecnologico, consentendo il conseguimento del più basso time-to-market possibile. In questo lavoro di tesi, la verifica attuata per il raggiungimento di un miglioramento dell'affidabilità e della stabilità di due componenti critiche dell'infrastrutture di un sistema elettronico digitale ad alte prestazioni, sviluppato dal Digital Electronics Lab (DigiLab) del Politecnico di Milano, viene presentata grazie all'analisi dettagliata delle configurazioni e delle motivazioni dei test, accompagnate dai risultati da essi prodotti. La verifica di strutture di questa complessità è stata possibile grazie all'utilizzo di una metodologia innovativa e relativamente recente, fondata sull'impiego di Python, le cui radici sono da ricercare nella filosofia abbracciata dall'attuale standard nel campo della verifica hardware, ossia dalla Universal Verification Methodology (UVM). Nonostante ciò, questo approccio innovativo offre una serie di importanti vantaggi, rispetto alle procedure standard, che l'hanno reso una valida ed interessante alternativa alla sopracitata UVM per molti test engineer e ricercatori e ne hanno definito l'attuale ampia diffusione ed adozione nella comunità di verifica hardware. Per le ragioni sopracitate, questo lavoro di tesi ha permesso sia il miglioramento dell'affidabilità del sistema sviluppato dal DigiLab attraverso il processo di verifica sia la validazione delle potenzialità e dei punti di forza della metodologia Python impiegata.
File allegati
File Dimensione Formato  
lbucci_thesis.pdf

non accessibile

Descrizione: Thesis
Dimensione 2.86 MB
Formato Adobe PDF
2.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/170475