DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Technische Universität <strong>Berlin</strong><br />
Institut für <strong>Mikroelektronik</strong><br />
Lukas Bauer<br />
S<br />
4 3 2 1 0<br />
Diplomarbeit<br />
Hochleistungs-Grafikprozessor in Speedchart-VHDL<br />
Datenverknüpfung<br />
0 0 0 0 0 Ziel = Quelle<br />
0 0 0 0 1 Ziel = Ziel OR Quelle<br />
0 0 0 1 0 Ziel = Ziel XOR Quelle<br />
0 0 0 1 1 Ziel = Ziel + Quelle (8-Bit-weise für 8-Bit-Colormap oder 24-Bit-RGB)<br />
x x 1 x x zusätzliche Invertierung der Quelldaten<br />
x 1 x x x zusätzliche Invertierung der ursprünglichen Zieldaten<br />
1 x x x x zusätzliche Invertierung der Verknüpfung von Quell- und Zieldaten<br />
Tabelle 14: Die Registerbits S4 bis S0 bestimmen beim PixBlT-Befehl die Verknüpfung von Quellund<br />
Zieldaten.<br />
6.3 Realisierung in Speedchart-VHDL<br />
6.3.1 Befehlsauswahl<br />
Abschnitt 6.3<br />
Seite 47<br />
Die Auswahl der von der Prozessor-Einheit auszuführenden Grafik-Befehle erfolgt im Diagramm<br />
GP CMD (S. 134) anhand des Opcodes im COMMAND-Register. Nach der Befehlsausführung,<br />
beim Eintritt in den Zustand stdby, wird das COMMAND-Register wieder gelöscht.<br />
6.3.2 Realisierung des “Clip”-Befehls<br />
Die Realisierung des Clip-Befehls ist im Diagramm CLIP (S. 135) zu sehen. Dort wird zunächst<br />
geprüft (T5), ob möglicherweise alle Pixel des Bildschirmbereichs außerhalb des vorgegebenen Fensters<br />
liegen. Dies ist der Fall, sobald eine Begrenzung des Zielbereichs jenseits der gegenüberliegenden<br />
Grenze des Zielfensters liegt. In diesem Fall wird ein Interrupt (WINT, Fenster leer) ausgelöst<br />
und der Befehl abgeschlossen.<br />
Anderenfalls wird (im asynchronen Block unten rechts) für jede Bereichsgrenze (XS=linke,<br />
XE=rechte, YS=obere, YE=untere Begrenzung) festgestellt, ob die Grenze des Zielbereichs außerhalb<br />
des vorgegebenen Zielfensters liegt. Ist dies der Fall, wird das entsprechende Signal, z. B.<br />
XS viol, gesetzt.<br />
Die Anpassung der entsprechenden Grenzen an das Zielfenster erfolgt dann in T4. Entgegen dem<br />
in Abschnitt 6.2.1 beschriebenen Verfahren (Bestimmung der neuen Bereichsgrenzen und Rückrechnung<br />
in Startkoordinaten und Ausdehnungen) erfolgt hier in einem Schritt die Berechnung der<br />
angepaßten Startkoordinaten und Ausdehnungen.<br />
In T2 schließlich erfolgt die Umrechnung der XY-Adresse des Zielbereichs in eine lineare Pixel-<br />
Adresse. Hierbei wird auf den Wert DADR P aus dem Diagramm DADR SPLIT (S. 108) zurückgegriffen,<br />
dessen Funktion im folgenden Abschnitt erläutert wird.<br />
Die eigentliche Auslösung von Interrupts geschieht im Diagramm INTERRUPT (S. 132). Dabei<br />
wird in Abhängigkeit von der Art des Interrupts ein Bit im STA<strong>TU</strong>S-Register gesetzt. Außerdem<br />
wird, falls im IMASK-Register der entsprechende Interrupt freigegeben ist, die INT-Leitung<br />
aktiviert, bei der es sich um ein Open-Drain-Signal handelt.<br />
Die Simulation konnte beim Clip-Befehl unter Speedchart anhand von numerischen Ergebnissen<br />
erfolgen. Auf die Wiedergabe der (korrekten) Werte kann verzichtet werden.