Download - 3rd 3DDRESD: VGA Core
![Page 1: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/1.jpg)
POLITECNICO DI MILANO
Vga coreVga core
Stefano Magnoni: [email protected]
Arber Ngjela: [email protected]
3D-Dresd
![Page 2: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/2.jpg)
2
IndexIndex Standard VGA
Breve storia Connettori Temporizzazione del segnale
Vga core Come Entity Architecture
Work in progress Problema Flusso previsto
Si vedrà Eventuale flusso successivo
Demo
![Page 3: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/3.jpg)
3
Standard VGAStandard VGA
VGA è l’acronimo di Video Graphics Array
• Questo standard è stato intordotto da IBM in 1987
• Oggigiorno è sorpassato
• Il VGA rimane tutt'oggi un importante standard grafico. È infatti il "minimo comune denominatore" che tutte le schede grafiche devono essere in grado di gestire, ancor prima di caricare driver specifico della scheda. (ad esempio lo splash screen di windows viene caricato in modalità VGA )
![Page 4: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/4.jpg)
4
Standard VGAStandard VGA
Grafico comparativo delle varie modalità di visualizzazione standard
![Page 5: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/5.jpg)
5
ConnettoreConnettore
![Page 6: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/6.jpg)
6
Signal timing(1)Signal timing(1)
I Pixel vengono disegnati sequenzialmente da sinistra a destra e dall’alto verso il basso dello schermo
Per implementare la sincronizzazione dei cannoni elettronici si comandano i segnali HSYNC and VSYNC
![Page 7: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/7.jpg)
Signal timing(2)Signal timing(2)
HSYNC (Horizontal Syncronization) viene ulizzato per dire al monitor che ha finito di disegnare la riga di pixel (e quindi deve andare a capo)
VSYNC (Vetical Syncronization) viene ulizzato per dire al monitor che ha finito di disegnare l’intera immagine (e che può tornare al punto iniziale Riga 0, Colonna 0 )
![Page 8: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/8.jpg)
8
Signal timing(3)Signal timing(3)
![Page 9: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/9.jpg)
9
Signal timing(4)Signal timing(4)
HSYNC e VSYNC possono essere “alti” anche dopo il “Tempo di porch”... Il tempo di porch infatti rappresenta il tempo che impiega il “cannone a tornare indietro”
![Page 10: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/10.jpg)
10
VGA coreVGA core
VGA core si occupa di scorrere il banco di ram (IC10 su spartan3) e di disegnare il suo contenuto su di un monitor
Legge 16 bit e ne disegna 3 per volta
3 bit rappresentano un pixel, quindi, con una parola di 16 bit possiamo rappresentare 5 pixel.
Ogni16 bit abbiamo un bit inutilizzato,quindi, per ogni immagine abbiamo 61440 bit inutilizzati (6,25% della memoria occupata)
![Page 11: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/11.jpg)
11
VGA core (Entity)VGA core (Entity)
Input ports:
Data(0:15)
Clk50_in
Output ports:
Addr(0:17)
Red_out /Blue_out/Green_out
HSYNC/VSYNC
Csb
Oeb
web
![Page 12: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/12.jpg)
12
Work in progress...Work in progress...
PROBLEMA:
Si vuole creare una piattaforma per analisi di immagine ( filtri, blob-detection etc) che tramite una interfaccia VGA permetta di mostrare i risultati ottenuti senza rispedire le immagini al PC via seriale per la loro singola visualizzazione.
![Page 13: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/13.jpg)
13
Work in progress...Work in progress...
PRIMO TENTATIVO DI SOLUZIONE:
Abbiamo tentato di interfacciare il componente verso il bus OPB.
Il core deve gestire gli indirizzi quando ne ha bisogno, deve quindi essere Master sul bus.
Purtroppo nonostante si lavori con una risoluzione molto bassa la quantità di informazioni e la frequenza con cui ci si deve accedere richiederebbe quasi l’intero bus.
![Page 14: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/14.jpg)
14
Work in progress...Work in progress...
SOLUZIONE CHE SI STA SEGUENDO.
Il core rimane “Stand-alone” (non collegato a nessun bus)
In questo caso però la Ram è dedicata al core...
Per far si che anche altri componenti accedano alla Ram si è previsto di utilizzare un sistema riconfigurabile che utilizza 2 schede:
La prima si occupa di riconfigurare la seconda per le varie operazioni operazioni che si vogliono compiere.
La seconda è dedicata appunto all’editing dell’immagine.
![Page 15: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/15.jpg)
Work in progress...Work in progress...
VGA MonitorVGA Monitor
Jtag Cable
![Page 16: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/16.jpg)
FLUSSO PREVISTO:
1) La scheda A riceve tramire RS232 dal PC i bistream con cui riconfigurerà la scheda B (tramite riconfigurazione esterna & totale)
2) La scheda A carica sulla scheda B il bistream che permette di ricevere l’immagine da PC tramite RS232
3) Il Pc manda l’immagine alla scheda B
4) La scheda A riconfigura la scheda B con il bistream che contiene il VGA core permettendo quindi di vedere l’immagine sul monitor
5) La scheda A riconfigura la scheda B con un bistream che esegua una qualsiasi operazione sull’immagine ( ad esempio Blob detection o edge detection)
6) Si torna al punto 4....
Work in progress...Work in progress...
![Page 17: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/17.jpg)
Si vedrà.......Si vedrà.......
VGA MonitorVGA Monitor
Jtag Cable
Comunication cable
Eventuale seconda versione:
![Page 18: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/18.jpg)
FLUSSO EVENTUALMENTE SUCCESSIVO:
In questo caso sarà la scheda A a gestire la ricezione diretta dell’immagine dalla seriale e a trasferirla successivamente sulla scheda B
In questo modo non sarà più necessario gestire 2 comunicazioni seriali (Da Pc a scheda A & Da Pc a scheda B)
Si vedrà.......Si vedrà.......
![Page 19: 3rd 3DDRESD: VGA Core](https://reader034.vdocument.in/reader034/viewer/2022052212/557c2071d8b42a65268b4d74/html5/thumbnails/19.jpg)
{ Ora incrociamo le dita tutti insieme... }
DemoDemo