Politecnico di MilanoPolitecnico di Milano
Reconfigurator Tool
31 luglio, 200631 luglio, 20063-DRESD-Days3-DRESD-Days
Alessandro [email protected]
- - 22 - -
SommarioSommario
Di cosa si tratta?Obiettivi Principali
Primi ApprocciPro / Contro
Reconfigurator ToolLogica di funzionamentoImplementazioneInterfaccia Grafica
EstensioniStato corrente di sviluppoImplementazioni future
- - 33 - -
Di cosa si tratta?Di cosa si tratta?
Di cosa si tratta?Obiettivi Principali
Primi ApprocciPro / Contro
Reconfigurator ToolLogica di funzionamentoImplementazioneInterfaccia Grafica
EstensioniStato corrente di sviluppoImplementazioni future
- - 44 - -
Di cosa si tratta?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.
- - 55 - -
Di cosa si tratta?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
- - 66 - -
Primi ApprocciPrimi Approcci
Di cosa si tratta?Obiettivi Principali
Primi ApprocciPro / Contro
Reconfigurator ToolLogica di funzionamentoImplementazioneInterfaccia Grafica
EstensioniStato corrente di sviluppoImplementazioni future
- - 77 - -
Primi ApprocciPrimi 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.
- - 88 - -
Primi ApprocciPrimi Approcci
Controllo Remoto
Login Utenti
Internal/External Reconfiguration
User Accounting (not implemetented yet)
Gestione Priorità (not implemetented yet)
PRO
- - 99 - -
Primi ApprocciPrimi Approcci
Stretta dipendenza con iMPACT
Inesistenza di interfaccia grafica
Poco intuitivo
CONTRO
- - 1010 - -
Reconfigurator ToolReconfigurator Tool
Di cosa si tratta?Obiettivi Principali
Primi ApprocciPro / Contro
Reconfigurator ToolLogica di funzionamentoImplementazioneInterfaccia Grafica
EstensioniStato corrente di sviluppoImplementazioni future
- - 1111 - -
Logica di FunzionamentoLogica di Funzionamento
SerialConnection
Response
Request
BitstreamUpload
- - 1212 - -
Logica di FunzionamentoLogica di Funzionamento
Azioni lato Client
Login
Settaggio impostazioni Reconfigurator
Creazione ed invio del Job (l’ordine) al Server
Attesa dell’output, da parte del server
- - 1313 - -
Logica di FunzionamentoLogica di Funzionamento
Azioni lato Server
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
- - 1414 - -
ImplementazioneImplementazione
Di cosa si tratta?Obiettivi Principali
Primi ApprocciPro / Contro
Reconfigurator ToolLogica di funzionamentoImplementazioneInterfaccia Grafica
EstensioniStato corrente di sviluppoImplementazioni future
- - 1515 - -
ImplementazioneImplementazione
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
- - 1616 - -
ImplementazioneImplementazione
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.
- - 1717 - -
ImplementazioneImplementazione
Instaurazione della Connessione
mainDialog
connect()
mainDialog
mainDialog
Network
SimpleServer
ClientSocket
ClientSocket
ClientSocket
create()
Clients Server
- - 1818 - -
ImplementazioneImplementazione
Client – Creazione ed Invio del JobmainDialog downMode
serialMode
Shows
Shows
Request createJob()
Request createJob()
createJob()
job.dat
sendJob()
sendJob()
to Server
- - 1919 - -
ImplementazioneImplementazione
Server – Ricezione ed Analisi del Job (Ideale)
job.dat
ClientSocket riceve il
job
checkSpooler()
Free
jobParser
Create Bitstream/s
Begin Reconfigurati
on
Busy
End Reconfigurati
on
counter--
Create File:Job-counter.dat
counter++
Time Out
- - 2020 - -
Interfaccia GraficaInterfaccia Grafica
Di cosa si tratta?Obiettivi Principali
Primi ApprocciPro / Contro
Reconfigurator ToolLogica di funzionamentoImplementazioneInterfaccia Grafica
EstensioniStato corrente di sviluppoImplementazioni future
- - 2121 - -
Interfaccia GraficaInterfaccia Grafica
CLIENTMain Dialog:
• Menu Operazioni
• Impostazioni Varie
• Controlli Vari
• Informazioni di Debug
- - 2222 - -
Interfaccia GraficaInterfaccia Grafica
CLIENT
Download Mode:
• Selezione Bitstream
• Start Download Mode
- - 2323 - -
Interfaccia GraficaInterfaccia Grafica
CLIENT
Serial Mode (da finire):
• Selezione Bitstream
• Start Serial Mode
- - 2424 - -
Interfaccia GraficaInterfaccia Grafica
SERVERServer in Debug Mode:
• Menu
• Server Settings
• Azioni Server
• Informazioni di Debug
- - 2525 - -
Di cosa si tratta?Obiettivi Principali
Primi ApprocciPro / Contro
Reconfigurator ToolLogica di funzionamentoImplementazioneInterfaccia Grafica
EstensioniStato corrente di sviluppoImplementazioni future
EstensioniEstensioni
- - 2626 - -
EstensioniEstensioni
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
- - 2727 - -
Di cosa si tratta?Obiettivi Principali
Primi ApprocciPro / Contro
Reconfigurator ToolLogica di funzionamentoImplementazioneInterfaccia Grafica
EstensioniStato corrente di sviluppoImplementazioni future
EstensioniEstensioni
- - 2828 - -
EstensioniEstensioni
Agenda in supporto allo Spooler
Reminder via Em@il del Job
Controllo Output visivo attraverso Webcam
Implementazioni Future
- - 2929 - -
+ 1+ 1
- - 3030 - -
FINEFINE