21.07.2013 Aufrufe

DIPLOMARBEIT - FG Mikroelektronik, TU Berlin

DIPLOMARBEIT - FG Mikroelektronik, TU Berlin

DIPLOMARBEIT - FG Mikroelektronik, TU Berlin

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!