DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
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.