POLITECNICO DI TORINO Facoltà di Ingegneria Corso di laurea in Ingegneria Elettronica |
|
|
|
Tesi di laureaTecniche simboliche per l’analisi di Macchine a Stati Finiti nell’ambito della verifica formale di correttezza di circuiti
Relatore: Dott.Gianpiero Cabodi Dicembre 1997
IntroduzioneNella progettazione dei circuiti digitali ha assunto grande importanza la verifica di correttezza del progetto. La verifica può essere effettuata in diversi modi. Il primo metodo è la simulazione del circuito. La simulazione può essere adatta per circuiti di piccole dimensioni e aiuta ad aumentare la confidenza col circuito; è tuttavia inadeguata per circuiti di grosse dimensioni dove determinare per simulazione ogni possibile mal funzionamento diventa altamente improbabile (oppure può diventare troppo costoso in termini di consumo di tempo). La verifica formale consiste nel disporre di un modello matematico col quale rappresentare il sistema, un linguaggio col quale esprimere le proprietà da verificare e, infine, un metodo di dimostrazione per verificare che il modello soddisfa le proprietà desiderate.
Figura 1:
Macchina a Stati Finiti: schema strutturale (a sinistra) e La tesi di laurea si articola in due parti principali. La prima parte analizza l’aspetto teorico riguardante le tecniche simboliche di attraversamento delle Macchine a Stati Finiti e della verifica formale di correttezza dei circuiti. La seconda parte è applicativa e riguarda la realizzazione di un pacchetto software denominato PdTrav (acronimo di Politecnico di Torino Traversal) che è in grado di attraversare macchine a stati finiti con i metodi esposti nella parte teorica. Tale software, sviluppato sia per il sistema operativo UNIX che per il sistema operativo Windows 95, è stato realizzato dall’ing. Giampiero Cabodi (co-relatore di questa tesi), dall’ing. Stefano Quer del dipartimento di Automatica e Informatica del Politecnico di Torino, dal sottoscritto Luca Galli e dal tesista Fabio Maino. I capitoli principali in cui è stata suddivisa la tesi di laurea sono sei; sono preceduti da un capitolo introduttivo e sono terminati da tre brevi appendici. Il capitolo 2 affronta lo studio teorico dei BDD (Binary Decision Diagram). I BDD permettono di rappresentare funzioni booleane in modo canonico, compatto ed efficiente. Grazie all’introduzione dei BDD, gli algoritmi di attraversamento e di verifica formale hanno raggiunto un alto grado di efficienza e, in particolare, è possibile analizzare circuiti digitali di grande complessità. Un esempio di BDD è riportato in figura 2. Il capitolo 3 studia le tecniche di attraversamento delle macchine a stati finiti.
Figura 2: Esempio di BDD Il capitolo 4 analizza le tecniche di verifica formale dei circuiti digitali. Particolare enfasi verrà posta nella descrizione del paradigma del model checking, una tecnica di verifica formale particolarmente automatizzata e flessibile. Il capitolo 5 studia in modo approfondito il pacchetto software VIS (Verification Interacting with Syntesis), sviluppato presso l’Università della California a Berkeley in collaborazione con l’Università del Colorado a Boulder. Il capitolo 6 analizza in modo dettagliato il pacchetto software CUDD (Colorado University Decision Diagram) sviluppato presso l’Università del Colorado a Boulder. Il capitolo 7 descrive il software PdTrav. Il programma verrà analizzato sotto due punti di vista differenti. Per primo, verrà descritto il funzionamento dal punto di vista dell’interfaccia utente. Tutte le funzioni e i dettagli implementativi sono nascosti ed il loro controllo avviene attraverso le opzioni che possono essere specificate. Questa prima parte si può considerare come il manuale dell’utente. Il pacchetto Pdtrav è stato suddiviso in cinque sotto pacchetti: DDI, FSM, TR, TRAV, PDUTIL. |
|
|
|
Ultimo aggiornamento: 28/3/2000 Questa pagina è stata realizzata da Luca Galli (luca.galli@tiscalinet.it) Home Page : http://web.tiscalinet.it/LucaGalli/index.htm |