SlideShare a Scribd company logo
Reconfigurator Tool 31 luglio, 2006 3-DRESD-Days Alessandro Meroni [email_address]
Sommario Di cosa si tratta? Obiettivi Principali Primi Approcci Pro / Contro Reconfigurator Tool Logica di funzionamento Implementazione Interfaccia Grafica Estensioni Stato corrente di sviluppo Implementazioni future
Di cosa si tratta? Di cosa si tratta? Obiettivi Principali Primi Approcci Pro / Contro Reconfigurator Tool Logica di funzionamento Implementazione Interfaccia Grafica Estensioni Stato corrente di sviluppo Implementazioni future
Di cosa si tratta? Il Reconfigurator Tool è una utility che permette di effettuare riconfigurabilità. La riconfigurazione avviene attraverso il download di uno o più bitstream, di cui si è in possesso, su dispositivi riconfigurabili (FPGA, FLASH, ...). La grande potenzialità di questo Tool è il poter accedere alla scheda, da qualunque postazione.  Di conseguenza non esiste più il vincolo di stare per forza in laboratorio per effettuare test od altro sulle FPGA.
Di cosa si tratta? Obiettivi Principali Avere un Tool che semplifichi l’utilizzo di FPGA all’interno del laboratorio Rendere indipendente dal “luogo” la Riconfigurazione Creare, attraverso l’unione di tutti i Tool utili alla sezione DRESD, un unico Main Frame da poter distribuire ai nuovi arrivati nel laboratorio agevolando il loro lavoro
Primi Approcci Di cosa si tratta? Obiettivi Principali Primi Approcci Pro / Contro Reconfigurator Tool Logica di funzionamento Implementazione Interfaccia Grafica Estensioni Stato corrente di sviluppo Implementazioni future
Primi Approcci Una prima versione del Reconfigurator si basava principalmente sull’utilizzo di una console, attraverso la quale veniva eseguito il programma con in seguito tutti i parametri necessari al suo corretto funzionamento.
Primi Approcci Controllo Remoto Login Utenti Internal/External Reconfiguration User Accounting (not implemetented yet) Gestione Priorità (not implemetented yet) PRO
Primi Approcci Stretta dipendenza con iMPACT Inesistenza di interfaccia grafica Poco intuitivo CONTRO
Reconfigurator Tool Di cosa si tratta? Obiettivi Principali Primi Approcci Pro / Contro Reconfigurator Tool Logica di funzionamento Implementazione Interfaccia Grafica Estensioni Stato corrente di sviluppo Implementazioni future
Logica di Funzionamento Serial Connection Response Request Bitstream Upload
Logica di Funzionamento Login Settaggio impostazioni Reconfigurator Creazione ed invio del Job (l’ordine) al Server Attesa dell’output, da parte del server Azioni lato Client
Logica di Funzionamento In attesa di connessioni da parte di Client Gestione di eventuali richieste di configurazione (es. Detect Chain Position) Ricezione del pacchetto Job dal Client Controllo della Coda Esecuzione della riconfigurazione richiesta Invio dell’output al Client Azioni lato Server
Implementazione Di cosa si tratta? Obiettivi Principali Primi Approcci Pro / Contro Reconfigurator Tool Logica di funzionamento Implementazione Interfaccia Grafica Estensioni Stato corrente di sviluppo Implementazioni future
Implementazione CLIENT Le classi principali del Client sono: mainDialog ->  Gestione connessioni e ricezione di informazioni downMode ->  Creazione ed invio del Job in modalità Download serialMode ->  Creazione ed invio del Job in modalità Serial job ->  Classe contenente tutte le informazioni per effettuare la riconfigurazione
Implementazione SERVER Le classi principali del Server sono: serverGui ->  Effettua la creazione del server (SimpleServer), e gestisce la connessione di Client SimpleServer->  Questa classe gestisce le nuove connessioni al server. Per ogni client che si connette, crea un ClientSocket – questa istanza sarà responsabile della comunicazione con quel preciso client. ClientSocket  ->  Per ogni Client che si connette al Server, quest’ultimo crea una nuova istanza di questa classe. E’ qua che vengono interpretati i comandi, ed eseguite le richieste.
Implementazione Instaurazione della Connessione mainDialog connect() mainDialog mainDialog Network SimpleServer ClientSocket ClientSocket ClientSocket create() Clients Server
Implementazione Client – Creazione ed Invio del Job mainDialog downMode serialMode Shows Shows Request createJob() Request createJob() createJob() job.dat sendJob() sendJob() to Server
Implementazione Server – Ricezione ed Analisi del Job (Ideale) job.dat ClientSocket riceve il job checkSpooler() Free jobParser Create Bitstream/s Begin Reconfiguration Busy End Reconfiguration counter-- Create File: Job-counter.dat counter++ Time Out
Interfaccia Grafica Di cosa si tratta? Obiettivi Principali Primi Approcci Pro / Contro Reconfigurator Tool Logica di funzionamento Implementazione Interfaccia Grafica Estensioni Stato corrente di sviluppo Implementazioni future
Interfaccia Grafica CLIENT Main Dialog: Menu Operazioni Impostazioni Varie Controlli Vari Informazioni di Debug
Interfaccia Grafica CLIENT Download Mode: Selezione Bitstream Start Download Mode
Interfaccia Grafica CLIENT Serial Mode (da finire): Selezione Bitstream Start Serial Mode
Interfaccia Grafica SERVER Server in Debug Mode: Menu Server Settings Azioni Server Informazioni di Debug
Di cosa si tratta? Obiettivi Principali Primi Approcci Pro / Contro Reconfigurator Tool Logica di funzionamento Implementazione Interfaccia Grafica Estensioni Stato corrente di sviluppo Implementazioni future Estensioni
Estensioni Login  – da Implementare Reconfigurator Remoto  - Implementato Creazione / Invio / Ricezione Job  – fase di Testing Analisi del Job  – da Implementare Spooler  – da Implementare Stato Corrente di Sviluppo
Di cosa si tratta? Obiettivi Principali Primi Approcci Pro / Contro Reconfigurator Tool Logica di funzionamento Implementazione Interfaccia Grafica Estensioni Stato corrente di sviluppo Implementazioni future Estensioni
Estensioni Agenda in supporto allo Spooler Reminder via Em@il del Job Controllo Output visivo attraverso Webcam Implementazioni Future
+ 1
FINE Bella… siamo in vacanza!!!

More Related Content

3DD 1e Reconfig

  • 1. Reconfigurator Tool 31 luglio, 2006 3-DRESD-Days Alessandro Meroni [email_address]
  • 2. Sommario Di cosa si tratta? Obiettivi Principali Primi Approcci Pro / Contro Reconfigurator Tool Logica di funzionamento Implementazione Interfaccia Grafica Estensioni Stato corrente di sviluppo Implementazioni future
  • 3. Di cosa si tratta? Di cosa si tratta? Obiettivi Principali Primi Approcci Pro / Contro Reconfigurator Tool Logica di funzionamento Implementazione Interfaccia Grafica Estensioni Stato corrente di sviluppo Implementazioni future
  • 4. Di cosa si tratta? Il Reconfigurator Tool è una utility che permette di effettuare riconfigurabilità. La riconfigurazione avviene attraverso il download di uno o più bitstream, di cui si è in possesso, su dispositivi riconfigurabili (FPGA, FLASH, ...). La grande potenzialità di questo Tool è il poter accedere alla scheda, da qualunque postazione. Di conseguenza non esiste più il vincolo di stare per forza in laboratorio per effettuare test od altro sulle FPGA.
  • 5. Di cosa si tratta? Obiettivi Principali Avere un Tool che semplifichi l’utilizzo di FPGA all’interno del laboratorio Rendere indipendente dal “luogo” la Riconfigurazione Creare, attraverso l’unione di tutti i Tool utili alla sezione DRESD, un unico Main Frame da poter distribuire ai nuovi arrivati nel laboratorio agevolando il loro lavoro
  • 6. Primi Approcci Di cosa si tratta? Obiettivi Principali Primi Approcci Pro / Contro Reconfigurator Tool Logica di funzionamento Implementazione Interfaccia Grafica Estensioni Stato corrente di sviluppo Implementazioni future
  • 7. Primi Approcci Una prima versione del Reconfigurator si basava principalmente sull’utilizzo di una console, attraverso la quale veniva eseguito il programma con in seguito tutti i parametri necessari al suo corretto funzionamento.
  • 8. Primi Approcci Controllo Remoto Login Utenti Internal/External Reconfiguration User Accounting (not implemetented yet) Gestione Priorità (not implemetented yet) PRO
  • 9. Primi Approcci Stretta dipendenza con iMPACT Inesistenza di interfaccia grafica Poco intuitivo CONTRO
  • 10. Reconfigurator Tool Di cosa si tratta? Obiettivi Principali Primi Approcci Pro / Contro Reconfigurator Tool Logica di funzionamento Implementazione Interfaccia Grafica Estensioni Stato corrente di sviluppo Implementazioni future
  • 11. Logica di Funzionamento Serial Connection Response Request Bitstream Upload
  • 12. Logica di Funzionamento Login Settaggio impostazioni Reconfigurator Creazione ed invio del Job (l’ordine) al Server Attesa dell’output, da parte del server Azioni lato Client
  • 13. Logica di Funzionamento In attesa di connessioni da parte di Client Gestione di eventuali richieste di configurazione (es. Detect Chain Position) Ricezione del pacchetto Job dal Client Controllo della Coda Esecuzione della riconfigurazione richiesta Invio dell’output al Client Azioni lato Server
  • 14. Implementazione Di cosa si tratta? Obiettivi Principali Primi Approcci Pro / Contro Reconfigurator Tool Logica di funzionamento Implementazione Interfaccia Grafica Estensioni Stato corrente di sviluppo Implementazioni future
  • 15. Implementazione CLIENT Le classi principali del Client sono: mainDialog -> Gestione connessioni e ricezione di informazioni downMode -> Creazione ed invio del Job in modalità Download serialMode -> Creazione ed invio del Job in modalità Serial job -> Classe contenente tutte le informazioni per effettuare la riconfigurazione
  • 16. Implementazione SERVER Le classi principali del Server sono: serverGui -> Effettua la creazione del server (SimpleServer), e gestisce la connessione di Client SimpleServer-> Questa classe gestisce le nuove connessioni al server. Per ogni client che si connette, crea un ClientSocket – questa istanza sarà responsabile della comunicazione con quel preciso client. ClientSocket -> Per ogni Client che si connette al Server, quest’ultimo crea una nuova istanza di questa classe. E’ qua che vengono interpretati i comandi, ed eseguite le richieste.
  • 17. Implementazione Instaurazione della Connessione mainDialog connect() mainDialog mainDialog Network SimpleServer ClientSocket ClientSocket ClientSocket create() Clients Server
  • 18. Implementazione Client – Creazione ed Invio del Job mainDialog downMode serialMode Shows Shows Request createJob() Request createJob() createJob() job.dat sendJob() sendJob() to Server
  • 19. Implementazione Server – Ricezione ed Analisi del Job (Ideale) job.dat ClientSocket riceve il job checkSpooler() Free jobParser Create Bitstream/s Begin Reconfiguration Busy End Reconfiguration counter-- Create File: Job-counter.dat counter++ Time Out
  • 20. Interfaccia Grafica Di cosa si tratta? Obiettivi Principali Primi Approcci Pro / Contro Reconfigurator Tool Logica di funzionamento Implementazione Interfaccia Grafica Estensioni Stato corrente di sviluppo Implementazioni future
  • 21. Interfaccia Grafica CLIENT Main Dialog: Menu Operazioni Impostazioni Varie Controlli Vari Informazioni di Debug
  • 22. Interfaccia Grafica CLIENT Download Mode: Selezione Bitstream Start Download Mode
  • 23. Interfaccia Grafica CLIENT Serial Mode (da finire): Selezione Bitstream Start Serial Mode
  • 24. Interfaccia Grafica SERVER Server in Debug Mode: Menu Server Settings Azioni Server Informazioni di Debug
  • 25. Di cosa si tratta? Obiettivi Principali Primi Approcci Pro / Contro Reconfigurator Tool Logica di funzionamento Implementazione Interfaccia Grafica Estensioni Stato corrente di sviluppo Implementazioni future Estensioni
  • 26. Estensioni Login – da Implementare Reconfigurator Remoto - Implementato Creazione / Invio / Ricezione Job – fase di Testing Analisi del Job – da Implementare Spooler – da Implementare Stato Corrente di Sviluppo
  • 27. Di cosa si tratta? Obiettivi Principali Primi Approcci Pro / Contro Reconfigurator Tool Logica di funzionamento Implementazione Interfaccia Grafica Estensioni Stato corrente di sviluppo Implementazioni future Estensioni
  • 28. Estensioni Agenda in supporto allo Spooler Reminder via Em@il del Job Controllo Output visivo attraverso Webcam Implementazioni Future
  • 29. + 1
  • 30. FINE Bella… siamo in vacanza!!!