21.07.2013 Aufrufe

DIPLOMARBEIT - FG Mikroelektronik, TU Berlin

DIPLOMARBEIT - FG Mikroelektronik, TU Berlin

DIPLOMARBEIT - FG Mikroelektronik, TU Berlin

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Technische Universität <strong>Berlin</strong><br />

Institut für <strong>Mikroelektronik</strong><br />

Lukas Bauer<br />

Diplomarbeit<br />

Hochleistungs-Grafikprozessor in Speedchart-VHDL<br />

Abschnitt 4.5<br />

Seite 28<br />

2a) CALC RLL wird durch den Zoom-Faktor in X-Richtung, XZ, geteilt. Es ergibt sich die<br />

(um 1 verminderte) Länge einer Bildschirmzeile in dargestellten Pixeln, dies entspricht der<br />

(um 1 verminderten) Anzahl der auszugebenden LD-Pulse.<br />

2b) CALC RLL wird durch MBW/PSIZE geteilt. Dies entspricht der Anzahl von Pixeln pro<br />

Speicherwort. Es ergibt sich die (um 1 verminderte) Anzahl der Speicherworte pro Zeile,<br />

CALC ELL, also die (um 1 verminderte) Anzahl der auszugebenden MSC-Pulse, die jeweils<br />

ein neues Speicherwort aus den Schieberegistern der Video-RAMs zur Verfügung stellen.<br />

Tatsächlich werden die Schritte 2a und 2b gemeinsam ausgeführt. Dazu wird durch Addition<br />

und Subtraktion der dual-Logarithmen (MSC SFT := ld XZ + ld MBW – ld PSIZE)<br />

ermittelt, um wieviele Bits der Wert CALC RLL nach rechts geshiftet werden muß, damit<br />

sich CALC ELL ergibt.<br />

Aus den Tabellen 6, 8 und 9 geht die Kodierung der Register PSIZE, XZ und MBW hervor.<br />

PSIZE LD PSIZE Farbtiefe<br />

”00000001” 0 1<br />

”0000001x” 1 2<br />

”000001xx” 2 4<br />

”00001xxx” 3 8<br />

”0001xxxx” 4 16<br />

”001xxxxx” 5 32<br />

Tabelle 6: Über das PSIZE-Register kann die<br />

Farbtiefe eines Pixels in Bits programmiert<br />

werden.<br />

SRL SR-Länge VRAM-Adreßlänge<br />

”00” 256 8<br />

”01” 512 9<br />

”10” 1024 10<br />

”11” 2048 11<br />

Tabelle 7: Die Registerbits SRL legen die<br />

Länge der Schieberegister in Worten fest.<br />

XZ LD XZ X-Zoom-Faktor<br />

”000” 0 1<br />

”001” 1 2<br />

”010” 2 4<br />

”011” 3 8<br />

”100” 4 16<br />

”101” 5 32<br />

”110” 6 64<br />

”111” 7 128<br />

Tabelle 8: Der Zoom-Faktor in X-Richtung<br />

wird über die Registerbits XZ definiert.<br />

MWB LD MBW Speicherbusbreite<br />

”00” 3 8<br />

”01” 4 16<br />

”1x” 5 32<br />

Tabelle 9: Die Registerbits MBW bestimmen<br />

die Speicherbusbreite in Bits.<br />

3) Aus der Anzahl der Speicherworte pro Zeile CALC ELL, der Adresse DPYNEXT des ersten<br />

Speicherwortes der Zeile und der Länge SRL der Schieberegister in Speicherworten kann die<br />

Anzahl an notwendig werdenden Reloads berechnet werden. Dazu werden von CALC ELL<br />

und DPYNEXT so viele Bits (von unten) addiert, wie es der Länge der Schieberegister entspricht.<br />

Der untere Teil der Summe gibt dabei die Position des SR-Zeigers bei Anzeige des<br />

letzten Pixels der Zeile an. Die weitere Berechnung und die Bezeichnungen sind für eine<br />

Schieberegisterlänge von SRL=256 den folgenden Abbildungen zu entnehmen.<br />

3a) Falls keine Split-Reloads zugelassen sind (SRE=’0’, Abbildung 22), entspricht die Anzahl<br />

der notwendigen (Non-Split) Reloads dem höherwertigen Teil der effektiven Zeilenlänge,<br />

CALC ELL SFT. Falls am Ende der Zeile noch ein Überlauf des SR-Zeigers auftritt<br />

(SUM TE A=’1’), wird ein zusätzlicher Reload nötig.<br />

Der Newline Reload vor Beginn der Zeile wird nicht in CALC NRL mitgezählt.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!