BOARD XSA50
Struttura e
funzionamento della
scheda XSA50
Uno sguardo generale
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”
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
L’architettura
Scheda d’espansione
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
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
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
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
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
Configurazione del CLOCK
p64
NC
NC
Per garantire I/O allo stato
alto in accensione si deve:
• ponticellare J6
• disconnettere la parallela
Vcc
Vcc
I/O
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)
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
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 stato
logico alto quando lo switch
e’ OFF
• I segnali sono condivisi tra
FPGA, CPLD, FLASH
• Quando non impiegati e’
opportuno che gli swithes
siano tutti OFF
Porta PS2
• I dati sulla porta PS2 viaggiano in forma seriale su due
segnali:
– CLOCK
– DATA
• Sul segnale DATA e’ connesso
un pulsante con resistenza
di pull-up
– quando premuto si ottiene sulla linea
DATA un segnale logico basso
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 due
segnali digitali su un
semplice partitore resistivo
con due resistenze di
valore una il doppio dell’altra
(e’ un semplicissimo convertitore D/A)
Porta VGA
RED0 RED1
Vout
0
0
0
0
1
1/3 max
1
0
2/3 max
1
1
max
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)
Temporizzazioni VGA
Mode
640 x 480
640 x 480
640 x 480
640 x 480
640 x 480
800 x 600
800 x 600
800 x 600
800 x 600
800 x 600
1024 x 768
1024 x 768
1024 x 768
1024 x 768
1024 x 768
1024 x 768
1280 x 1024
1280 x 1024
1280 x 1024
1280 x 1024
1280 x 1024
Refresh
60 Hz
60 Hz
63 Hz
70 Hz
72 Hz
56 Hz
56 Hz
60 Hz
60 Hz
72 Hz
43,5 Hz
60 Hz
60 Hz
70 Hz
70 Hz
76 Hz
44 Hz
44 Hz
59 Hz
61 Hz
74 Hz
H sync
31.5 K
31.5 K
32,8 K
36,5 K
37,9 K
35,1 K
35,4 K
37,9 K
37,9 K
48 K
35,5 K
48,4 K
48,4 K
56,5 K
56,25 K
62,5 K
51 K
47,6 K
63,6 K
64,24 K
78,85 K
Dot Clock Interlaced?
25,175 M
No
25,175 M
No
28,322 M
No
31,5 M
No
31,5 M
No
36 M
No
36 M
No
40 M
No
40 M
No
50 M
No
44,9 M
Yes
65 M
No
62 M
No
75 M
No
72 M
No
85 M
No
80 M
Yes
75 M
Yes
110 M
No
110 M
No
135 M
No
Vesa?
No
No
No
No
Yes
Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
No
No
No
No
No
No
Temporizzazioni VGA
• Sincronismo di riga (HS)
HS
Linea attiva
RGB
B
C
D
A
E
Temporizzazioni VGA
• Sincronismo di quadro (VS)
VS
Linee attive
RGB
G
H
I
F
J
Temporizzazioni VGA
• MODE 640 x 480 x 60 Hz
A
B
C
D
E
F
G
H
I
J
Line period
HS Sync
HS Back Porch
Active video
HS Front Porch
Frame Period
VS Sync
VS Back Porch
Active Frame
VS Front Porch
(clock: 25.175 MHz)
31.77 u
3.77 u
1.89 u
25.17 u
0.94 u
16.6 m
64 u
1.02 m
15.24 m
0.35 m
800
95
40
640
25
525
2
32
480
11
pix
pix
pix
pix
pix
line
line
line
line
line
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
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
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
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
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 Xilinx
LINK
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
L’interfaccia parallela
• Si puo’ impiegare un tool della XESS per pilotare i
segnali sulla parallela
L’interfaccia parallela
• Configurazione della CPLD (file downldpar.svf)
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)
L’interfaccia parallela
ATTENZIONE 1
• 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 !!
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
L’interfaccia parallela
ATTENZIONE 2
• 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’ utilizzare
una diversa configurazione della
CPLD
L’interfaccia parallela
ATTENZIONE 3
• 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
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
Connessioni utente
ATTENZIONE 4
Sul manuale fornito da XESS vengono
marcati:
LINK
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
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
Alimentazione
– Usare un alimentatore a 9V
con polo POSITIVO al centro
– Alcuni“Jumpers”consentono di
usufruire di alimentazioni
esterne
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)
Programmable Logic Design Flow
1
Design Entry in schematic, ABEL, VHDL, and/or Verilog.
2
Implementation includes Placement & Routing and
bitstream generation using Xilinx Technology. Also,
analyze timing, view layout, and more.
3
Download directly to the Xilinx hardware
device(s) with unlimited reconfigurations* !!
Scarica

Struttura scheda XSA50