3rd 3DDRESD: VGA Core

Post on 13-Jun-2015

405 views 0 download

Tags:

Transcript of 3rd 3DDRESD: VGA Core

POLITECNICO DI MILANO

Vga coreVga core

Stefano Magnoni: stefano.magnoni@dresd.org

Arber Ngjela: arber.ngjela@dresd.org

3D-Dresd

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

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 )

4

Standard VGAStandard VGA

Grafico comparativo delle varie modalità di visualizzazione standard

5

ConnettoreConnettore

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

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 )

8

Signal timing(3)Signal timing(3)

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”

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)

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

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.

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.

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.

Work in progress...Work in progress...

VGA MonitorVGA Monitor

Jtag Cable

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...

Si vedrà.......Si vedrà.......

VGA MonitorVGA Monitor

Jtag Cable

Comunication cable

Eventuale seconda versione:

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à.......

{ Ora incrociamo le dita tutti insieme... }

DemoDemo