BOARD XSA50 Struttura e funzionamento della scheda XSA50.

40
BOARD XSA50 BOARD XSA50 Struttura e funzionamento della scheda XSA50

Transcript of BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Page 1: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

BOARD XSA50BOARD XSA50

Struttura e funzionamento della scheda XSA50

Page 2: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Uno sguardo generale

Page 3: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Dotazione

• FPGA Spartan XC2S50• CPLD XC9572 XL• Generatore di Clock Programmabile DS1075• Memoria RAM sincrona (SDRAM) da 16 Mbyte• Memoria Flash da 256K• alcuni “jumpers” da usarsi in fase di “configurazione”

Page 4: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Periferiche

• 4 micro interruttori• 1 pulsante• 1 display a 7 segmenti• 1 pota parallela (interfacciata verso la CPLD)• 1 Uscita VGA pilotata direttamente dalla FPGA• 1 interfaccia PS2 • 1 slot di espansione con 84 reofori

Page 5: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

L’architettura

Page 6: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Scheda d’espansione

Page 7: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Periferiche

• 8 micro interruttori• 4 pulsanti• 2 display a 7 segmenti• 1 barra di LED• 1 pota USB • 1 porta RS232• 2 convertitori audio A/D e D/A stereo• Interfaccia IDE• Prototyping Area

Page 8: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Passi FONDAMENTALI

• Procurarsi la documentazione della scheda– file: xsa-manual-v1_2.pdf (48 pagine)– sito: www.xess.com

• Utile perche’:– Descrive il funzionamento del software della XESS– Descrive il layout della scheda, in special modo

• Piedinatura dei componenti• Segnali condivisi tra i vari dispositivi• Impiego della CPLD come interfaccia

– Illustra gli schemi realizzativi LINK

Page 9: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Test della scheda

• Test autodiagnostico della scheda• Configura prima la CPLD e poi la FPGA• Se tutto va bene compare uno “O” sul display• In caso contrario compare una “E”• E’ molto comune un problema sulla porta parallela, nel qualcaso provare a seguire le istruzioni contenute nel file read.me

Page 10: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Configurazione del CLOCK

• Si puo’ configurare tra 100 MHz e 48,7 KHz (oppure esterno)• Sfrutta la configurabilita’ del DS1075 per modificare il clock del

sistema portando gli opportuni segnali tramite porta parallela • Ci si attenga “STRETTAMENTE” alle istruzioni che compaiono sullo

schermo e nell’ESATTO ORDINE !• La frequenza viene memorizzata su un supporto NON VOLATILE

Page 11: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Configurazione del CLOCK

Se in fase di accensione la linea I/O risulta alta il disp. si mette in uno stato di attesa per una configurazione che gli verra’ fornita in forma seriale tramite la stessa linea di I/O

Page 12: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Configurazione del CLOCK

Per garantire I/O allo stato alto in accensione si deve:

• ponticellare J6

• disconnettere la parallela

NC

NC

p64

Vcc

Vcc

I/O

Page 13: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Download su FPGA

• Il tool consente di – configurare la FPGA e/o la CPLD– Inserire dati nella RAM– Inserire il programma nella EEPROM (non Volatile)

• Tutte queste configurazioni prevedono una pre- configurazione opportuna della CPLD (funziona da interfaccia fra la parallela ed i dispositivi)

Page 14: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Configurazione EEPROM

• Per configurare la EEPROM– Verificare che i 4

Swithes siano OFF

– il display a 7 segmenti si illuminera’durante la fase di configurazione

Page 15: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Display e switches

• I segmenti si illuminano quando viene fornito loro un segnale logico alto

• I swithes hanno una resistenza di pull-up ossia si ottiene lo statologico alto quando lo switche’ OFF

• I segnali sono condivisi traFPGA, CPLD, FLASH

• Quando non impiegati e’ opportuno che gli swithessiano tutti OFF

Page 16: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Porta PS2

• I dati sulla porta PS2 viaggiano in forma seriale su due segnali:– CLOCK– DATA

• Sul segnale DATA e’ connessoun pulsante con resistenzadi pull-up– quando premuto si ottiene sulla linea

DATA un segnale logico basso

Page 17: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Porta VGA

• I segnali alla porta VGA sono tipicamente segnali ANALOGICI, di cui:– I sincronismi prevedono solo due livelli di tensione– I dati prevedono un ampiezza proporzionale alla luminosita’

del singolo canale RGB per il pixel in esame• In questo caso si puo’ modificare l’ampiezza di ogni

segnale analogico agendo con duesegnali digitali su un semplice partitore resistivocon due resistenze divalore una il doppio dell’altra(e’ un semplicissimo convertitore D/A)

Page 18: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Porta VGA

RED0 RED1 Vout

0 0 0

0 1 1/3 max

1 0 2/3 max

1 1 max

Page 19: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Temporizzazioni VGA

– Esistono varie “risoluzioni VGA”• 640 x 480• 800 x 600• 1024 x 768• …

– Con diverse frequenze di quadro• 50 Hz, 60 Hz, 75 Hz

– Con segnale “interlacciato” o “progressivo”

• Ciascuna di queste prevede una certa “cadenza” o “clock”con cui fornire i dati piu’ due segnali di sincronismo– HS (sincronismo di riga)– VS (sincronismo di quadro)

Page 20: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Temporizzazioni VGA

Mode Refresh H sync Dot Clock Interlaced? Vesa?640 x 480 60 Hz 31.5 K 25,175 M No No640 x 480 60 Hz 31.5 K 25,175 M No No640 x 480 63 Hz 32,8 K 28,322 M No No640 x 480 70 Hz 36,5 K 31,5 M No No640 x 480 72 Hz 37,9 K 31,5 M No Yes800 x 600 56 Hz 35,1 K 36 M No Yes800 x 600 56 Hz 35,4 K 36 M No No800 x 600 60 Hz 37,9 K 40 M No Yes800 x 600 60 Hz 37,9 K 40 M No No800 x 600 72 Hz 48 K 50 M No Yes

1024 x 768 43,5 Hz 35,5 K 44,9 M Yes No1024 x 768 60 Hz 48,4 K 65 M No Yes1024 x 768 60 Hz 48,4 K 62 M No No1024 x 768 70 Hz 56,5 K 75 M No Yes1024 x 768 70 Hz 56,25 K 72 M No No1024 x 768 76 Hz 62,5 K 85 M No No1280 x 1024 44 Hz 51 K 80 M Yes No1280 x 1024 44 Hz 47,6 K 75 M Yes No1280 x 1024 59 Hz 63,6 K 110 M No No1280 x 1024 61 Hz 64,24 K 110 M No No1280 x 1024 74 Hz 78,85 K 135 M No No

Page 21: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Temporizzazioni VGA

• Sincronismo di riga (HS)

Linea attiva

A

B C D E

HS

RGB

Page 22: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Temporizzazioni VGA

• Sincronismo di quadro (VS)

Linee attive

F

G H I J

VS

RGB

Page 23: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Temporizzazioni VGA

• MODE 640 x 480 x 60 Hz (clock: 25.175 MHz)

A Line period 31.77 u 800 pixB HS Sync 3.77 u 95 pixC HS Back Porch 1.89 u 40 pixD Active video 25.17 u 640 pixE HS Front Porch 0.94 u 25 pixF Frame Period 16.6 m 525 lineG VS Sync 64 u 2 lineH VS Back Porch 1.02 m 32 lineI Active Frame 15.24 m 480 lineJ VS Front Porch 0.35 m 11 line

Page 24: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

L’interfaccia parallela

• E’ il mezzo di comunicazione tra la scheda ed il PC– Tramite essa

• si configura il clock di sistema• si configura la CPLD• si configura la FPGA• si accede alle memorie Flash e SDRAM

– Vi sono a disposizione• 4 linee di controllo C0-C3• 8 linee dati D0-D7• 5 linee di Stato S3-S7

• La CPLD funziona da interfaccia e deve essere configurata opportunamente

Page 25: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

L’interfaccia parallela

• Dettagli:– C0 e’ usata per la configurazione dell’oscillatore

• i due buffer 74LS14 sono “triggher di Schmitt” (ossia buffer con isteresi) e sono impiegati per “ripulire” il segnale da eventuale rumore

– S6 e’ usata per una comunicazione diretta tra FPGA e PC– Le restanti 15 linee sfruttano tutte la CPLD come interfaccia

Page 26: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

L’interfaccia parallela

• Dettagli:– C1,C2,C3 servono a configurare la

CPLD col protocollo JTAG (TCK,TMS,TDI)

– S7 e’ collegata al TDO (funzioni di controllo)

• sia TCK che TDO sono bufferizzate

– Le rimanenti linee sono “general purpose” e verranno impiegate per configurare i vari dispositivi

Page 27: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

L’interfaccia parallela

• La CPLD verra’ programmata per funzionare da interfaccia tra la parallela e l’FPGA per la configurazione di quest’ultima– il file downldpar.svf serve a questo

(viene fornito da XESS)• la linea D1 e’ opportunamente bufferizzata ed e’

opportuno impiegare questa linea per fornire un eventuale clock esterno al sistema

LINK

Page 28: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

L’interfaccia parallela

– I dati per la configuarzione vengono forniti sfruttando un bus di 8 bit

• (comune anche a Flash e Display)– Vi sono poi altri segnali di controllo per

configurare l’FPGA– M0,M1,M2 ha due segnali fissi

• sono consentite solo le configurazioni– slave serial– master select (SelectMAP - slave parallel)

– La CPLD accede ai segnali JTAG della FPGA (per eventuale testabilita’ o per progarmmazione all’interno dell’ambiente xilinx)

J9 serve a “emulare” il cavo XilinxLINK

Page 29: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

L’interfaccia parallela

• Quando L’FPGA e’ configurata e DONE si alza– La CPLD cambia

funzione e diventa “trasparente” ai segnali tra parallela ed FPGA

Page 30: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

L’interfaccia parallela

• Si puo’ impiegare un tool della XESS per pilotare i segnali sulla parallela

Page 31: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

L’interfaccia parallela

• Configurazione della CPLD (file downldpar.svf)

Page 32: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Altre configurazioni della CPLD

• Emulazione del cavo XILINX (parallel cable III) (configuarzione JTAG)

• Scrittura di dati nella Flash (programma residente)• Sistema di controllo per leggere i dati dalla flash e fornirli

alla Spartan (configurata come Slave parallelo)

Page 33: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

L’interfaccia parallela

• La FPGA fornisce segnali alla PP tramite S3,S4,S5 (pins 40,29,28)

• La FPGA riceve segnali alla PP tramite D0-D7(pins 50,48,42,47,65,51,43,58) pertanto questi piedini NON DEVONO ESSERE CONFIGURATI COME USCITE !!

ATTENZIONE 1ATTENZIONE 1

NOTA: La FPGA usa questi pin per accedere alla FLASH, ma in tal caso all’abbassamento del CE sul pin 41 la CPLD risponde rilasciando opportunamente (mettendo in alta impedenza) tutte le linee

Page 34: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

L’interfaccia parallela

• La linea D7 della PP e’ impiegata anche per pilotare la linea PROG dell’FPGA

• Pertanto se si abbassa detta linea si ottiene una “sprogrammazione” dell’FPGA

• In alternativa si puo’ utilizzareuna diversa configurazione dellaCPLD

ATTENZIONE 2ATTENZIONE 2

Page 35: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

L’interfaccia parallela

• La CPLD segnala sul punto decimale del display la avvenuta configurazione della FPGA

• Pertanto il pin 44 dell’ FPGA NON DEVE ESSERE CONFIGURATO COME USCITA

ATTENZIONE 3ATTENZIONE 3

NOTA: La FPGA usa questi pin per accedere alla FLASH, ma in tal caso all’abbassamento del CE sul pin 41 e la CPLD risponde rilasciando opportunamente tutte le linee

Page 36: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Connessioni utente

Con 1 asterisco i segnali utilizzabili come General-Purpose

Con 2 asterischi quelli utilizzabili solo dopo una opportuna RICONFIGURAZIONE della CPLD

Senza alcun asterisco quelli che NON POSSONO ESSERE IMPIEGATI DALL”UTENTE

ATTENZIONE 4ATTENZIONE 4

Sul manuale fornito da XESS vengono marcati:

LINK

Page 37: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Connessioni utente

Si suggerisce di usare per interfacce verso l’esterno i seguenti piedini (senza vincoli):

Sebbene molti altri possono essere sfruttati pur di adottare un po’ di sana cautela

Page 38: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Alimentazione

– Usare un alimentatore a 9V con polo POSITIVO al centro

– Alcuni“Jumpers”consentono di usufruire di alimentazioni esterne

Page 39: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

L’espansione

• E’ stata realizzata una semplice espansione che serve– Da supporto meccanico per la scheda– Per accedere ai vari segnali– E’ resa inoltre disponibile una serie di contatti a massa

• E’ stata apposta un’ etichetta sul fondo dove riportare– data– check del circuito– frequenza di lavoro del circuito– configurazione della CPLD (xilinx - xess)

Page 40: BOARD XSA50 Struttura e funzionamento della scheda XSA50.

Programmable Logic Design Flow

3

Design Entry in schematic, ABEL, VHDL, and/or Verilog.

Implementation includes Placement & Routing and bitstream generation using Xilinx Technology. Also, analyze timing, view layout, and more.

Download directly to the Xilinx hardware device(s) with unlimited reconfigurations* !!

1

2