3DD 1e Reconfig

30
Politecnico di Milano Politecnico di Milano Reconfigurator Tool 31 luglio, 2006 31 luglio, 2006 3-DRESD-Days 3-DRESD-Days Alessandro Meroni [email protected]

Transcript of 3DD 1e Reconfig

Page 1: 3DD 1e Reconfig

Politecnico di MilanoPolitecnico di Milano

Reconfigurator Tool

31 luglio, 200631 luglio, 20063-DRESD-Days3-DRESD-Days

Alessandro [email protected]

Page 2: 3DD 1e Reconfig

- - 22 - -

SommarioSommario

Di cosa si tratta?Obiettivi Principali

Primi ApprocciPro / Contro

Reconfigurator ToolLogica di funzionamentoImplementazioneInterfaccia Grafica

EstensioniStato corrente di sviluppoImplementazioni future

Page 3: 3DD 1e Reconfig

- - 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

Page 4: 3DD 1e Reconfig

- - 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.

Page 5: 3DD 1e Reconfig

- - 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

Page 6: 3DD 1e Reconfig

- - 66 - -

Primi ApprocciPrimi Approcci

Di cosa si tratta?Obiettivi Principali

Primi ApprocciPro / Contro

Reconfigurator ToolLogica di funzionamentoImplementazioneInterfaccia Grafica

EstensioniStato corrente di sviluppoImplementazioni future

Page 7: 3DD 1e Reconfig

- - 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.

Page 8: 3DD 1e Reconfig

- - 88 - -

Primi ApprocciPrimi Approcci

Controllo Remoto

Login Utenti

Internal/External Reconfiguration

User Accounting (not implemetented yet)

Gestione Priorità (not implemetented yet)

PRO

Page 9: 3DD 1e Reconfig

- - 99 - -

Primi ApprocciPrimi Approcci

Stretta dipendenza con iMPACT

Inesistenza di interfaccia grafica

Poco intuitivo

CONTRO

Page 10: 3DD 1e Reconfig

- - 1010 - -

Reconfigurator ToolReconfigurator Tool

Di cosa si tratta?Obiettivi Principali

Primi ApprocciPro / Contro

Reconfigurator ToolLogica di funzionamentoImplementazioneInterfaccia Grafica

EstensioniStato corrente di sviluppoImplementazioni future

Page 11: 3DD 1e Reconfig

- - 1111 - -

Logica di FunzionamentoLogica di Funzionamento

SerialConnection

Response

Request

BitstreamUpload

Page 12: 3DD 1e Reconfig

- - 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

Page 13: 3DD 1e Reconfig

- - 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

Page 14: 3DD 1e Reconfig

- - 1414 - -

ImplementazioneImplementazione

Di cosa si tratta?Obiettivi Principali

Primi ApprocciPro / Contro

Reconfigurator ToolLogica di funzionamentoImplementazioneInterfaccia Grafica

EstensioniStato corrente di sviluppoImplementazioni future

Page 15: 3DD 1e Reconfig

- - 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

Page 16: 3DD 1e Reconfig

- - 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.

Page 17: 3DD 1e Reconfig

- - 1717 - -

ImplementazioneImplementazione

Instaurazione della Connessione

mainDialog

connect()

mainDialog

mainDialog

Network

SimpleServer

ClientSocket

ClientSocket

ClientSocket

create()

Clients Server

Page 18: 3DD 1e Reconfig

- - 1818 - -

ImplementazioneImplementazione

Client – Creazione ed Invio del JobmainDialog downMode

serialMode

Shows

Shows

Request createJob()

Request createJob()

createJob()

job.dat

sendJob()

sendJob()

to Server

Page 19: 3DD 1e Reconfig

- - 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

Page 20: 3DD 1e Reconfig

- - 2020 - -

Interfaccia GraficaInterfaccia Grafica

Di cosa si tratta?Obiettivi Principali

Primi ApprocciPro / Contro

Reconfigurator ToolLogica di funzionamentoImplementazioneInterfaccia Grafica

EstensioniStato corrente di sviluppoImplementazioni future

Page 21: 3DD 1e Reconfig

- - 2121 - -

Interfaccia GraficaInterfaccia Grafica

CLIENTMain Dialog:

• Menu Operazioni

• Impostazioni Varie

• Controlli Vari

• Informazioni di Debug

Page 22: 3DD 1e Reconfig

- - 2222 - -

Interfaccia GraficaInterfaccia Grafica

CLIENT

Download Mode:

• Selezione Bitstream

• Start Download Mode

Page 23: 3DD 1e Reconfig

- - 2323 - -

Interfaccia GraficaInterfaccia Grafica

CLIENT

Serial Mode (da finire):

• Selezione Bitstream

• Start Serial Mode

Page 24: 3DD 1e Reconfig

- - 2424 - -

Interfaccia GraficaInterfaccia Grafica

SERVERServer in Debug Mode:

• Menu

• Server Settings

• Azioni Server

• Informazioni di Debug

Page 25: 3DD 1e Reconfig

- - 2525 - -

Di cosa si tratta?Obiettivi Principali

Primi ApprocciPro / Contro

Reconfigurator ToolLogica di funzionamentoImplementazioneInterfaccia Grafica

EstensioniStato corrente di sviluppoImplementazioni future

EstensioniEstensioni

Page 26: 3DD 1e Reconfig

- - 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

Page 27: 3DD 1e Reconfig

- - 2727 - -

Di cosa si tratta?Obiettivi Principali

Primi ApprocciPro / Contro

Reconfigurator ToolLogica di funzionamentoImplementazioneInterfaccia Grafica

EstensioniStato corrente di sviluppoImplementazioni future

EstensioniEstensioni

Page 28: 3DD 1e Reconfig

- - 2828 - -

EstensioniEstensioni

Agenda in supporto allo Spooler

Reminder via Em@il del Job

Controllo Output visivo attraverso Webcam

Implementazioni Future

Page 29: 3DD 1e Reconfig

- - 2929 - -

+ 1+ 1

Page 30: 3DD 1e Reconfig

- - 3030 - -

FINEFINE