Versuch 10
In diesem letzten Versuch wird das VGA Design fertiggestellt. Das Ziel ist eine Darstellung eines Bildes an einem VGA Monitor analog zu den Bildern, die am Logikanalysator analysiert wurden.
Vorbereitung
Alle Bilder sollen eine Auflösung von 640×480 Pixeln haben. Die Syncgeneratoren für die Erzeugung der vertikalen und horizontalen Syncsignale sind schon in der Datei vgatop_structure.vhd verschaltet. Außerdem befindet sich dort der schon angeschlossene, aber leere Bildgenerator “bildgen”. Die Syncgeneratoren müssen noch über die generics konfiguriert werden um geeignete Timings für die Syncsignale zu erzeugen.
- Bestimmen Sie die Werte für die generics von den Modulen hsyncgen_i0 und vsyncgen_i0 für ein Bild mit einer Auflösung von 640×480 Punkten.
- Erläutern Sie die Funktion des Signals “active” in vgatop.
- Entwerfen Sie auf Papier ein Design für bildgen um ein rotes Bild zu erzeugen.
- Entwerfen Sie auf Papier ein Design für bildgen um ein Bild mit vier verschieden farbigen Quadranten zu erzeugen.
- Ergänzen Sie den VHDL Code im Projekt um ein rotes Bild zu erzeugen.
- Synthetisieren Sie die Schaltung de1_vgatop.
Abbildung 1: VGA Bild mit vier Quadranten.
Labor
- Laden Sie Ihr Design mit dem roten Bild auf das FPGA und prüfen Sie am Monitor ob dort ein rotes Bild erscheint.
Jede Gruppe bekommt eine Bildnummer und realisiert das entsprechende Bild gemäß den Parametern in Abbildung 1. Die Buchstaben a,b,c,d bezeichnen die Seitenlängen der Quadrate. A,B,C und D bezeichnen die Farben.
Bild 1
a = 2 * b, c = d, A = rot, B = grün, C = blau, D = gelb
Bild 2
b = 9 * a, 2 * c = d, A = orange, B = blau, C = türkis, D = gelb
Bild 3
a = b, 3 * c = 4 * d, A = blau, B = gelb, C = violett, D = rot
Bild 4
4 * a = b, c = 9*d, A = weiss, B = rot, C = Magenta, D = grün
Bild 5
a = b, c = d, A = pink, B = schwarz, C = rot, D = blau
Bild 6
9a = b, 9c = d, A = dunkelrot, B = hellrot, C = hellgrün, D = dunkelgrün
Bild 7
2 b = a, c=9d, A = grün, B = blau, C = braun, D = weiss
Bild 8
3a=b, 3c=d, A = lachsfarben, B = rot, C = gelb, D = blau