While different options to retrieve a FPGA system's code can be utilized, system designers tend to use flash memories to hold the system's data, when it is expected that the final user does not need to perform several upgrades at his own site. This process does imply some problems, when it needs to be conducted by a common user: even if new configuration data is provided by the designer, this cannot be updated without specific instrumentation. It is also to be considered that in general the user is not interested with the design development process, and could not possess the knowledge needed for these operations. To face this inconveniences, in this thesis is presented a solution that employs a SPI protocol based memory programmer which allows to update or rewrite the firmware. This offers a simple method to update the system design at will through general purpose hardware already at disposal with desktop computers, with no need for expensive or specific hardware devices. Software requirements are also limited, since it does not rely on heavy tools, and the operation can be embedded in graphical interfaces. First, an appropriate configuration method is selected, to result as simple and automatic as possible. Properties of the memory controller are presented, then the system is correlated with a communication mechanism which is independent from the physical protocol which is utilized, to be able to communicate with the memory programmer on the FPGA internal buses simply by sending the configuration data as a stream on a generic serial interface. To complete the system, problems which could arise on the user's part are faced and solved. In particular, first it is presented a mechanism that allows to protect against failure during the updating process, by employing a backup firmware for these occasions. Afterwards, a method through which solve problems related to firmware which presents a design error is introduced. When these two mechanisms are used together, it is possible for the final user to solve any error that can follow the writing operation without having to fall back to the developer. The complete system has also been fully verified, both in simulation and on hardware.

Per recuperare il codice di sistemi basati su FPGA possono essere utilizzate diverse opzioni, solitamente gli sviluppatori usano memorie flash per conservare i dati, quando non è previsto che l'utilizzatore finale debba aggiornare il sistema frequentemente. Questo processo presenta dei problemi quando deve essere condotto da un utilizzatore generico: anche se nuovi dati di configurazione sono forniti dallo sviluppatore, questi non possono essere aggiornati senza strumentazione specifica. È anche necessario considerare che in generale l'utente non è interessato nel processo di sviluppo, e potrebbe non possedere le conoscenze necessarie per condurre queste operazioni. Per risolvere questi inconvenienti, in questa tesi è presentata una soluzione che utilizza un programmatore di memoria flash basata su protocollo SPI, che permette di aggiornare o riscrivere il firmware, Questo offre un metodo semplice per aggiornare il sistema attraverso strumenti generici che sono già a disposizione con computer desktop, senza bisogno di costosi o specifici dispositivi hardware. Anche i requisiti software sono limitati, dato che il sistema non dipende da programmi pesanti, inoltre l'operazione può essere integrata in interfacce grafiche. Inizialmente è scelto un metodo di configurazione appropriato, che risulti semplice ed automatico. Le proprietà del programmatore di memoria sono presentate, ed il sistema è poi ampliato con un meccanismo di comunicazione che risulta indipendente dal protocollo fisico che viene effettivamente utilizzato, in modo da comunicare con il programmatore sui bus interni al FPGA attraverso una generica interfaccia seriale. Per completare il sistema, problemi che possono essere incontrati dall'utilizzatore sono analizzati e risolti. In particolare, è prima presentato un meccanismo che permette di proteggere il sistema da errori che possono avvenire durante l' aggiornamento, offrendo la possibilità di utilizzare un firmware di backup in queste occasioni; dopodichè è introdotto un metodo attraverso cui è possibile risolvere problemi relativi ad errori da parte dello sviluppatore nel firmware. Quando questi due meccanismi sono utilizzati insieme, l'utente finale può risolvere ogni errore causato da un'operazione di aggiornamento. Il sistema finale è stato completamente verificato, sia in simulazione che su hardware.

Failsafe extensible management and communication system for FPGA platforms

TAVAZZANI, LUCA
2019/2020

Abstract

While different options to retrieve a FPGA system's code can be utilized, system designers tend to use flash memories to hold the system's data, when it is expected that the final user does not need to perform several upgrades at his own site. This process does imply some problems, when it needs to be conducted by a common user: even if new configuration data is provided by the designer, this cannot be updated without specific instrumentation. It is also to be considered that in general the user is not interested with the design development process, and could not possess the knowledge needed for these operations. To face this inconveniences, in this thesis is presented a solution that employs a SPI protocol based memory programmer which allows to update or rewrite the firmware. This offers a simple method to update the system design at will through general purpose hardware already at disposal with desktop computers, with no need for expensive or specific hardware devices. Software requirements are also limited, since it does not rely on heavy tools, and the operation can be embedded in graphical interfaces. First, an appropriate configuration method is selected, to result as simple and automatic as possible. Properties of the memory controller are presented, then the system is correlated with a communication mechanism which is independent from the physical protocol which is utilized, to be able to communicate with the memory programmer on the FPGA internal buses simply by sending the configuration data as a stream on a generic serial interface. To complete the system, problems which could arise on the user's part are faced and solved. In particular, first it is presented a mechanism that allows to protect against failure during the updating process, by employing a backup firmware for these occasions. Afterwards, a method through which solve problems related to firmware which presents a design error is introduced. When these two mechanisms are used together, it is possible for the final user to solve any error that can follow the writing operation without having to fall back to the developer. The complete system has also been fully verified, both in simulation and on hardware.
GARZETTI, FABIO
CORNA, NICOLA
ING - Scuola di Ingegneria Industriale e dell'Informazione
28-apr-2021
2019/2020
Per recuperare il codice di sistemi basati su FPGA possono essere utilizzate diverse opzioni, solitamente gli sviluppatori usano memorie flash per conservare i dati, quando non è previsto che l'utilizzatore finale debba aggiornare il sistema frequentemente. Questo processo presenta dei problemi quando deve essere condotto da un utilizzatore generico: anche se nuovi dati di configurazione sono forniti dallo sviluppatore, questi non possono essere aggiornati senza strumentazione specifica. È anche necessario considerare che in generale l'utente non è interessato nel processo di sviluppo, e potrebbe non possedere le conoscenze necessarie per condurre queste operazioni. Per risolvere questi inconvenienti, in questa tesi è presentata una soluzione che utilizza un programmatore di memoria flash basata su protocollo SPI, che permette di aggiornare o riscrivere il firmware, Questo offre un metodo semplice per aggiornare il sistema attraverso strumenti generici che sono già a disposizione con computer desktop, senza bisogno di costosi o specifici dispositivi hardware. Anche i requisiti software sono limitati, dato che il sistema non dipende da programmi pesanti, inoltre l'operazione può essere integrata in interfacce grafiche. Inizialmente è scelto un metodo di configurazione appropriato, che risulti semplice ed automatico. Le proprietà del programmatore di memoria sono presentate, ed il sistema è poi ampliato con un meccanismo di comunicazione che risulta indipendente dal protocollo fisico che viene effettivamente utilizzato, in modo da comunicare con il programmatore sui bus interni al FPGA attraverso una generica interfaccia seriale. Per completare il sistema, problemi che possono essere incontrati dall'utilizzatore sono analizzati e risolti. In particolare, è prima presentato un meccanismo che permette di proteggere il sistema da errori che possono avvenire durante l' aggiornamento, offrendo la possibilità di utilizzare un firmware di backup in queste occasioni; dopodichè è introdotto un metodo attraverso cui è possibile risolvere problemi relativi ad errori da parte dello sviluppatore nel firmware. Quando questi due meccanismi sono utilizzati insieme, l'utente finale può risolvere ogni errore causato da un'operazione di aggiornamento. Il sistema finale è stato completamente verificato, sia in simulazione che su hardware.
File allegati
File Dimensione Formato  
2021_04_Tavazzani.pdf

non accessibile

Descrizione: Testo della tesi
Dimensione 6.97 MB
Formato Adobe PDF
6.97 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/174026