3rd 3DDRESD: VGA Core

592 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
592
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

3rd 3DDRESD: VGA Core

  1. 1. Vga core Stefano Magnoni: stefano.magnoni@dresd.org Arber Ngjela: arber.ngjela@dresd.org 3D-Dresd
  2. 2. Index <ul><li>Standard VGA </li></ul><ul><ul><li>Breve storia </li></ul></ul><ul><ul><li>Connettori </li></ul></ul><ul><ul><li>Temporizzazione del segnale </li></ul></ul><ul><li>Vga core </li></ul><ul><ul><li>Come </li></ul></ul><ul><ul><li>Entity </li></ul></ul><ul><ul><li>Architecture </li></ul></ul><ul><li>Work in progress </li></ul><ul><ul><li>Problema </li></ul></ul><ul><ul><li>Flusso previsto </li></ul></ul><ul><li>Si vedrà </li></ul><ul><ul><li>Eventuale flusso successivo </li></ul></ul><ul><li>Demo </li></ul>
  3. 3. Standard VGA <ul><li>VGA è l’acronimo di Video Graphics Array </li></ul><ul><ul><li>Questo standard è stato intordotto da IBM in 1987 </li></ul></ul><ul><ul><li>Oggigiorno è sorpassato </li></ul></ul><ul><ul><li>Il VGA rimane tutt'oggi un importante standard grafico. È infatti il &quot;minimo comune denominatore&quot; 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 )‏ </li></ul></ul>
  4. 4. Standard VGA <ul><li>Grafico comparativo delle varie modalità di visualizzazione standard </li></ul>
  5. 5. Connettore
  6. 6. Signal timing(1)‏ <ul><ul><li>I Pixel vengono disegnati sequenzialmente da sinistra a destra e dall’alto verso il basso dello schermo </li></ul></ul><ul><ul><li>Per implementare la sincronizzazione dei cannoni elettronici si comandano i segnali HSYNC and VSYNC </li></ul></ul>
  7. 7. Signal timing(2)‏ <ul><ul><li>HSYNC (Horizontal Syncronization) viene ulizzato per dire al monitor che ha finito di disegnare la riga di pixel (e quindi deve andare a capo)‏ </li></ul></ul><ul><ul><li>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 )‏ </li></ul></ul>
  8. 8. Signal timing(3)‏
  9. 9. Signal timing(4)‏ <ul><ul><li>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” </li></ul></ul>
  10. 10. VGA core <ul><ul><li>VGA core si occupa di scorrere il banco di ram (IC10 su spartan3) e di disegnare il suo contenuto su di un monitor </li></ul></ul><ul><ul><li>Legge 16 bit e ne disegna 3 per volta </li></ul></ul><ul><ul><li>3 bit rappresentano un pixel, quindi, con una parola di 16 bit possiamo rappresentare 5 pixel. </li></ul></ul><ul><ul><li>Ogni16 bit abbiamo un bit inutilizzato,quindi, per ogni immagine abbiamo 61440 bit inutilizzati (6,25% della memoria occupata)‏ </li></ul></ul>
  11. 11. VGA core (Entity)‏ <ul><li>Input ports: </li></ul><ul><ul><li>Data(0:15)‏ </li></ul></ul><ul><ul><li>Clk50_in </li></ul></ul><ul><li>Output ports: </li></ul><ul><ul><li>Addr(0:17)‏ </li></ul></ul><ul><ul><li>Red_out /Blue_out/Green_out </li></ul></ul><ul><ul><li>HSYNC/VSYNC </li></ul></ul><ul><ul><li>Csb </li></ul></ul><ul><ul><li>Oeb </li></ul></ul><ul><ul><li>web </li></ul></ul>
  12. 12. 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.
  13. 13. 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.
  14. 14. Work in progress... <ul><li>SOLUZIONE CHE SI STA SEGUENDO. </li></ul><ul><li>Il core rimane “Stand-alone” (non collegato a nessun bus)‏ </li></ul><ul><li>In questo caso però la Ram è dedicata al core... </li></ul><ul><li>Per far si che anche altri componenti accedano alla Ram si è previsto di utilizzare un sistema riconfigurabile che utilizza 2 schede: </li></ul><ul><li>La prima si occupa di riconfigurare la seconda per le varie operazioni operazioni che si vogliono compiere. </li></ul><ul><li>La seconda è dedicata appunto all’editing dell’immagine. </li></ul>
  15. 15. Work in progress... VGA Monitor Jtag Cable
  16. 16. <ul><li>FLUSSO PREVISTO: </li></ul><ul><li>La scheda A riceve tramire RS232 dal PC i bistream con cui riconfigurerà la scheda B (tramite riconfigurazione esterna & totale)‏ </li></ul><ul><li>La scheda A carica sulla scheda B il bistream che permette di ricevere l’immagine da PC tramite RS232 </li></ul><ul><li>Il Pc manda l’immagine alla scheda B </li></ul><ul><li>La scheda A riconfigura la scheda B con il bistream che contiene il VGA core permettendo quindi di vedere l’immagine sul monitor </li></ul><ul><li>La scheda A riconfigura la scheda B con un bistream che esegua una qualsiasi operazione sull’immagine ( ad esempio Blob detection o edge detection)‏ </li></ul><ul><li>Si torna al punto 4.... </li></ul>Work in progress...
  17. 17. Si vedrà....... VGA Monitor Jtag Cable Comunication cable Eventuale seconda versione:
  18. 18. 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à.......
  19. 19. { Ora incrociamo le dita tutti insieme... } Demo

×