As in software world, bugs affect also hardware, with an important difference: while a software bug can be "easily" corrected, finding bugs post silicon production can procure onerous damages to companies, both in terms of money and reputation. For these reasons, companies have formed teams of engineers specialised in simulating the digital devices in order to find possibly all bugs present before silicon production: this activity is called Digital Verification, which on the software side can be related to Quality Assurance The most used technique in this phase is Coverage Driven Constrained Random Verification, which consists in generating random stimuli driven by constraints, to anal- yse the behaviour of the digital device in all possible configurations. In order to understand what data has been generated, software engineering techniques focused on Coverage are employed, with the aim of reaching Coverage Closure. Over the years, the complexity of the devices greatly increased. Given an increment in the amount of parameters to be analyzed, there is a subsequent increase in the burden of simulations, and therefore an extension of the time required to finish verification activities. Time plays a crucial role both in software and hardware development: placing a product on the market before other competitors do gives companies strategic advantages, and since Verification is stably on the critical path, it is important to always find new ways of speeding up the process. On this grounds, this thesis work aims to develop a tool that greatly enhances the speed of the Digital Verification process, optimizing it by retrieving the minimal set of randomized data that reaches Coverage Closure.

Come nel mondo del software, i bug colpiscono anche l’hardware, con un’importante differenza: mentre un bug del software può essere "facilmente" corretto, la scoperta di bug dopo la produzione del dispositivo sul silicio può procurare danni gravosi alle aziende, sia in termini di denaro che di reputazione. Per questi motivi, le aziende hanno formato team di ingegneri specializzati nella simu- lazione dei dispositivi digitali per trovare possibilmente tutti i bug presenti prima della produzione del dispositivo sul silicio: questa attività è chiamata Verifica Digitale, che dal punto di vista del software può essere correlata Quality Assurance. La tecnica più utilizzata in questa fase è la Coverage Driven Constrained Random Generation, che consiste nel generare stimoli casuali guidati da vincoli, per analizzare il comportamento del dispositivo digitale in tutte le configurazioni possibili. Per capire quali dati sono stati generati, si ricorre a tecniche di ingegneria del software incentrate sulla copertura, con l’obiettivo di raggiungere la Coverage Closure. Nel corso degli anni, la complessità dei dispositivi è aumentata notevolmente. Dato un aumento della quantità di parametri da analizzare, si assiste a un conseguente aumento del carico di lavoro delle simulazioni, e quindi un allungamento dei tempi necessari per portare a termine le attività di verifica. Il tempo riveste un ruolo cruciale sia nello sviluppo del software sia in quello hardware: immettere un prodotto sul mercato prima di altri concorrenti offre alle aziende vantaggi strategici, e poiché la verifica è stabilmente sul percorso critico, è importante trovare sempre nuovi modi per accelerare il processo. Su queste basi, il presente lavoro di tesi si propone di sviluppare uno strumento che au- menti la velocità del processo di verifica digitale, ottimizzandolo attraverso la generazione di un set minimo di dati randomizzati necessari per raggiungere la Coverage Closure.

Optimization of functional coverage closure

Vuolo, Gianmarco
2022/2023

Abstract

As in software world, bugs affect also hardware, with an important difference: while a software bug can be "easily" corrected, finding bugs post silicon production can procure onerous damages to companies, both in terms of money and reputation. For these reasons, companies have formed teams of engineers specialised in simulating the digital devices in order to find possibly all bugs present before silicon production: this activity is called Digital Verification, which on the software side can be related to Quality Assurance The most used technique in this phase is Coverage Driven Constrained Random Verification, which consists in generating random stimuli driven by constraints, to anal- yse the behaviour of the digital device in all possible configurations. In order to understand what data has been generated, software engineering techniques focused on Coverage are employed, with the aim of reaching Coverage Closure. Over the years, the complexity of the devices greatly increased. Given an increment in the amount of parameters to be analyzed, there is a subsequent increase in the burden of simulations, and therefore an extension of the time required to finish verification activities. Time plays a crucial role both in software and hardware development: placing a product on the market before other competitors do gives companies strategic advantages, and since Verification is stably on the critical path, it is important to always find new ways of speeding up the process. On this grounds, this thesis work aims to develop a tool that greatly enhances the speed of the Digital Verification process, optimizing it by retrieving the minimal set of randomized data that reaches Coverage Closure.
CUGOLA, GIANPAOLO
Allara, Alberto
Vincenzi, Massimo
ING - Scuola di Ingegneria Industriale e dell'Informazione
18-lug-2023
2022/2023
Come nel mondo del software, i bug colpiscono anche l’hardware, con un’importante differenza: mentre un bug del software può essere "facilmente" corretto, la scoperta di bug dopo la produzione del dispositivo sul silicio può procurare danni gravosi alle aziende, sia in termini di denaro che di reputazione. Per questi motivi, le aziende hanno formato team di ingegneri specializzati nella simu- lazione dei dispositivi digitali per trovare possibilmente tutti i bug presenti prima della produzione del dispositivo sul silicio: questa attività è chiamata Verifica Digitale, che dal punto di vista del software può essere correlata Quality Assurance. La tecnica più utilizzata in questa fase è la Coverage Driven Constrained Random Generation, che consiste nel generare stimoli casuali guidati da vincoli, per analizzare il comportamento del dispositivo digitale in tutte le configurazioni possibili. Per capire quali dati sono stati generati, si ricorre a tecniche di ingegneria del software incentrate sulla copertura, con l’obiettivo di raggiungere la Coverage Closure. Nel corso degli anni, la complessità dei dispositivi è aumentata notevolmente. Dato un aumento della quantità di parametri da analizzare, si assiste a un conseguente aumento del carico di lavoro delle simulazioni, e quindi un allungamento dei tempi necessari per portare a termine le attività di verifica. Il tempo riveste un ruolo cruciale sia nello sviluppo del software sia in quello hardware: immettere un prodotto sul mercato prima di altri concorrenti offre alle aziende vantaggi strategici, e poiché la verifica è stabilmente sul percorso critico, è importante trovare sempre nuovi modi per accelerare il processo. Su queste basi, il presente lavoro di tesi si propone di sviluppare uno strumento che au- menti la velocità del processo di verifica digitale, ottimizzandolo attraverso la generazione di un set minimo di dati randomizzati necessari per raggiungere la Coverage Closure.
File allegati
File Dimensione Formato  
VUOLO_thesis.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Thesis
Dimensione 2.86 MB
Formato Adobe PDF
2.86 MB Adobe PDF   Visualizza/Apri
VUOLO_executive_summary.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Executive Summary
Dimensione 907.15 kB
Formato Adobe PDF
907.15 kB 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/208282