Università di Roma “Tor Vergata” Facoltà di Ingegneria Elettronica Tesi di laurea in Ingegneria Elettronica Studio e realizzazione di un sistema Studio e realizzazione di un sistema di trasmissione dati per IEEM di trasmissione dati per IEEM Laureando Relatore Laureando Relatore Alessandro Ortu Dott. Stefano Bertazzoni Alessandro Ortu Dott. Stefano Bertazzoni Correlatore Correlatore Ing. Marcello Salmeri Ing. Marcello Salmeri
Sommario IEEM, la scheda, la FIFO Il progetto myFIFO Test del progetto Test del progetto Risultati: Simulazione, Sintesi e Implementazione
D.I.E. Tor Vergata 3 Alessandro Ortu IONS main chamber lens mirror sample lens Hg lamp PSD or CCD beam monitors Einzel lens deceleration stage MCP+phosphor lamina Immersion lens IEEM Il sistema IEEM permette di effettuare test sulla sensibilità delle memorie Il sistema IEEM permette di effettuare test sulla sensibilità delle memorie SDRAM. SDRAM. I vantaggi del sistema IEEM : dimensioni ridotte, la possibilità di focalizzare il I vantaggi del sistema IEEM : dimensioni ridotte, la possibilità di focalizzare il fascio di ioni con risoluzione millimetrica. fascio di ioni con risoluzione millimetrica.
D.I.E. Tor Vergata 4 Alessandro Ortu La scheda RABBITRABBIT PLDPLD INTERFACCIAMEMORIEINTERFACCIAMEMORIE HOTSDRAMHOTSDRAM UNITA’ ANALOGICA COLDSDRAMCOLDSDRAM LPT RJ-45 La test board gestisce l’esperimento effettuato con l’IEEM: raccoglie i dati estratti dalla SDRAM e li invia all’esterno. raccoglie i dati estratti dalla SDRAM e li invia all’esterno. monitora alcuni parametri sensibili. monitora alcuni parametri sensibili. in caso di errore riavvia il test. in caso di errore riavvia il test.
D.I.E. Tor Vergata 5 Alessandro Ortu Schema a blocchi FIFO La FIFO realizzata è stata la prima finalità di questa tesi. La FIFO realizzata è stata la prima finalità di questa tesi. La struttura a coda FIFO (First in First out) prevede che il primo dato che entra sia La struttura a coda FIFO (First in First out) prevede che il primo dato che entra sia il primo ad uscire. La funzione principale è quella di interfacciare due dispositivi il primo ad uscire. La funzione principale è quella di interfacciare due dispositivi con una velocità del flusso dati differente. con una velocità del flusso dati differente. RAM ARRAY 256 x x x 9 RAM ARRAY 256 x x x 9 READ POINTER POINTERREAD WRITEPOINTERWRITEPOINTER WRITE CONTROL CONTROLWRITE READ READ Data Input Data Output Full Almost Full Almost Empty Empty Read Enable Write Enable Reset Reset
Obiettivo del progetto myFIFO DUT0 DUT2 DUT3 DUT1 DUT INTERFACE ENVIRONMENT UNIT LU_HDLR BUS_HDLR COMPARE DG INTERNALFIFO COMPRESSOR EXTERNALFIFO LPT INTERFACE REF_DEV PLD FIFO INTERFACE INTERFACE LITTLEFIFO STIMULUSSTIMULUS BIGFIFO D.I.E. Tor Vergata 6 Alessandro Ortu IPU
D.I.E. Tor Vergata 7 Alessandro Ortu Sistema di trasmissione Sistema di trasmissione StimulusStimulus BigFIFOBigFIFO FIFOInterfaceFIFOInterface LittleFIFOLittleFIFO Il progetto myFIFO è stato realizzato con il linguaggio Verilog con il software Active- HDL Stimulus genera il flusso dati, la sequenza scelta è la successione dei numeri interi. Big Fifo è la FIFO più profonda con 64 locazioni e indirizzo di 9 bit, sostituisce la fifo esterna; implementata sulla PLD, aumenta lo spazio disponibile sulla scheda e alleggerisce la trasmissione dei dati. FIFO Interface ha lo scopo di leggere i dati su Big FIFO e scriverli sull’Internal FIFO, sostituisce il blocco compressore in Phase3. Little FIFO è la Internal FIFO, rispetto alla FIFO esterna è pù piccola con solo 16 locazioni.
D.I.E. Tor Vergata 8 Alessandro Ortu IO_HandlerIO_Handler DataHandlerDataHandler Interfaccia con il Pc IO_Handler esegue operazioni di multiplexing/demultiplexing in questo progetto abilita la lettura sulla Little FIFO. Data_Handler è l’interfaccia con l’esterno: i bufferLPT inviati dal Pc vengono interpretati da questo blocco. Nel progetto i buffer trasmessi scaricano la FIFO, il dato viene inviato sempre attraverso il Data_Handler verso il Pc. Pc o i blocchi di simulazione gestiscono il test sul progetto myFIFO inviando e ricevendo il buffer LPT.
D.I.E. Tor Vergata 9 Alessandro Ortu Test bench myFIFOmyFIFO EnviromentEnviroment HostHost I moduli utilizzati per il test di prova sono : I moduli utilizzati per il test di prova sono : Enviroment è in grado di generare il clock, il reset, abilita la generazione del flusso dati e seleziona il dispositivo che deve essere comandato. Host è il modulo che simula il Pc inviando i comandi verso la PLD e ricevendo i dati richiesti, tramite un opportuno pacchetto viene scaricata la Little FIFO. myFIFO è il sistema di trasmissione dati composto da sottoblocchi con diverse caratteristiche. Il progetto myFIFO una volta implementato sulla PLD dialogherà con un Pc per scaricare i dati. In ambiente VHDL è necessario creare una test bench che simuli il calcolatore.
D.I.E. Tor Vergata 10 Alessandro Ortu Buffer LPT LPT_DEVOPCB_ADDN_DATIDATA Il Buffer LPT contiene nei vari campi le informazioni per comandare la scheda e quindi gestire tutti i test. Nel progetto myFIFO questo buffer contiene i dati per eseguire una lettura sulla Little FIFO e visualizzare il dato prelevato. OPC (Operative Code) definisce l’operazione che l’interfaccia remota dovrà effettuare (Write or Read). B_ADD (Base Address) è l’indirizzo base dell’operazione. N_DATI (Number of Data) definisce il numero di dati che devono essere scambiati e che sono contenuti nel BufferLPT in caso di WR o che dovranno trovarsi nel pacchetto di risposta nel caso di RD. DATA sono i dati trasmessi nel caso di WR.
D.I.E. Tor Vergata 11 Alessandro Ortu Risultati: Simulazione La simulazione effettuata con Active-HDL ha permesso di verificare la funzionalità del sistema rilevando alcune imperfezioni poi corrette. funzionalità del sistema rilevando alcune imperfezioni poi corrette. Il sistema è stato simulato a tre livelli differenti: la FIFO, il sistema di trasmissione e infine tutto myFIFO. sistema di trasmissione e infine tutto myFIFO. I due segnali mostrano che ogni volta che il buffer LPT viene inviato si abilita la lettura sulla Little FIFO e il dato viene scaricato e visulizzato. abilita la lettura sulla Little FIFO e il dato viene scaricato e visulizzato. REN1 è il Read Enable per Little FIFO. REN1 è il Read Enable per Little FIFO. Dataout è il dato che deve essere letto e inviato verso l’host. Dataout è il dato che deve essere letto e inviato verso l’host REN1 Dataout
D.I.E. Tor Vergata 12 Alessandro Ortu Sintesi Il programma di sintesi utilizzato è Synplify 7.0. L’obiettivo del sintetizzatore: controllare la correttezza della struttura RTL. controllare la correttezza della struttura RTL. trasformare il linguaggio Verilog in uno schema a porte logiche che tenga trasformare il linguaggio Verilog in uno schema a porte logiche che tenga conto della tecnologia con cui si sta operando. conto della tecnologia con cui si sta operando. ottimizzare lo schema RTL e introdurre i tempi di propagazione. ottimizzare lo schema RTL e introdurre i tempi di propagazione. La sintesi del progetto myFIFO ha dato esito positivo producendo schemi RTL, Technology, informazioni sui tempi di propagazione e critical path. clockclock Parte combinatoria Parte sequenziale `timescale 1ps / 1ps module wptr_full (wfull,rbin...,); module wptr_full (wfull,rbin...,); parameter ADDRSIZE=6 parameter ADDRSIZE=6 output wfull, output wfull, input a; input a; reg b; reg b;... (posedge wclk or negedge wrst_n) (posedge wclk or negedge wrst_n) if (!wrst_n) if (!wrst_n) begin begin … endmodule endmodule Ambiente VHDL
Fpga e Implementazione Fpga e ImplementazioneAPEXEP20K200EDeviceAPEXEP20K200EDevice 2x 64Kx16 SRAM Debug Headers Prototyping Area I/O Headers RS-232RS-232 LEDsLEDs A/D Converter D/A Converter External Clock 40-Mhz Oscillator JTAG Connector LPFLPF LPFLPF Quartus II ha creato diversi registri dove si trovano tutte i dati dell’implementazione più importanti : il numero di LE sfruttati, le diverse interconnessioni realizzate, la lunghezza delle carry chains, i tempi di ritardo dovuti alle connessioni stabilite tra LABs. Quartus II ha creato diversi registri dove si trovano tutte i dati dell’implementazione più importanti : il numero di LE sfruttati, le diverse interconnessioni realizzate, la lunghezza delle carry chains, i tempi di ritardo dovuti alle connessioni stabilite tra LABs. Una volta settati i pins tutto è pronto per essere caricato sulla FPGA e testato tramite Pc e un analizzatore di stati logici per leggere i dati in uscita. Una volta settati i pins tutto è pronto per essere caricato sulla FPGA e testato tramite Pc e un analizzatore di stati logici per leggere i dati in uscita. D.I.E. Tor Vergata 13 Alessandro Ortu
Università di Roma “Tor Vergata” Facoltà di Ingegneria Elettronica Tesi di laurea in Ingegneria Elettronica Studio e realizzazione di un sistema Studio e realizzazione di un sistema di trasmissione dati per IEEM di trasmissione dati per IEEM Laureando Relatore Laureando Relatore Alessandro Ortu Dott. Stefano Bertazzoni Alessandro Ortu Dott. Stefano Bertazzoni Correlatore Correlatore Ing. Marcello Salmeri Ing. Marcello Salmeri