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 />

PIX_TO_BIT<br />

Subdiag Actions of <br />

A: -- convert pixel addresses<br />

-- to longword addresses<br />

-- and bit offsets<br />

Diplomarbeit<br />

Hochleistungs-Grafikprozessor in Speedchart-VHDL<br />

if R_PSIZE(5)=’1’ then -- 32 bit/pix<br />

SADRLW_L:=CL_SADRL_L + SSTLW;<br />

SADRLW_R:=CL_SADRL_R + SSTLW;<br />

DADRLW_L:=CL_DADRL_L + DSTLW;<br />

DADRLW_R:=CL_DADRL_R + DSTLW;<br />

SBOS_L:=0;<br />

SBOS_R:=31;<br />

DBOS_L:=0;<br />

DBOS_R:=31;<br />

elsif R_PSIZE(4)=’1’ then -- 16 bit/pix<br />

SADRLW_L:=(CL_SADRL_L shr 1) + SSTLW;<br />

SADRLW_R:=(CL_SADRL_R shr 1) + SSTLW;<br />

DADRLW_L:=(CL_DADRL_L shr 1) + DSTLW;<br />

DADRLW_R:=(CL_DADRL_R shr 1) + DSTLW;<br />

SBOS_L:=(CL_SADRL_L shl 4) mod 32;<br />

SBOS_R:=((CL_SADRL_R shl 4) mod 32) + 15;<br />

DBOS_L:=(CL_DADRL_L shl 4) mod 32;<br />

DBOS_R:=((CL_DADRL_R shl 4) mod 32) + 15;<br />

elsif R_PSIZE(3)=’1’ then -- 8 bit/pix<br />

SADRLW_L:=(CL_SADRL_L shr 2) + SSTLW;<br />

SADRLW_R:=(CL_SADRL_R shr 2) + SSTLW;<br />

DADRLW_L:=(CL_DADRL_L shr 2) + DSTLW;<br />

DADRLW_R:=(CL_DADRL_R shr 2) + DSTLW;<br />

SBOS_L:=(CL_SADRL_L shl 3) mod 32;<br />

SBOS_R:=((CL_SADRL_R shl 3) mod 32) + 7;<br />

DBOS_L:=(CL_DADRL_L shl 3) mod 32;<br />

DBOS_R:=((CL_DADRL_R shl 3) mod 32) + 7;<br />

elsif R_PSIZE(2)=’1’ then -- 4 bit/pix<br />

SADRLW_L:=(CL_SADRL_L shr 3) + SSTLW;<br />

SADRLW_R:=(CL_SADRL_R shr 3) + SSTLW;<br />

DADRLW_L:=(CL_DADRL_L shr 3) + DSTLW;<br />

DADRLW_R:=(CL_DADRL_R shr 3) + DSTLW;<br />

SBOS_L:=(CL_SADRL_L shl 2) mod 32;<br />

SBOS_R:=((CL_SADRL_R shl 2) mod 32) + 3;<br />

DBOS_L:=(CL_DADRL_L shl 2) mod 32;<br />

DBOS_R:=((CL_DADRL_R shl 2) mod 32) + 3;<br />

elsif R_PSIZE(1)=’1’ then -- 2 bit/pix<br />

SADRLW_L:=(CL_SADRL_L shr 4) + SSTLW;<br />

SADRLW_R:=(CL_SADRL_R shr 4) + SSTLW;<br />

DADRLW_L:=(CL_DADRL_L shr 4) + DSTLW;<br />

DADRLW_R:=(CL_DADRL_R shr 4) + DSTLW;<br />

SBOS_L:=(CL_SADRL_L shl 1) mod 32;<br />

SBOS_R:=((CL_SADRL_R shl 1) mod 32) + 1;<br />

DBOS_L:=(CL_DADRL_L shl 1) mod 32;<br />

DBOS_R:=((CL_DADRL_R shl 1) mod 32) + 1;<br />

else -- 1 bit/pix<br />

SADRLW_L:=(CL_SADRL_L shr 5) + SSTLW;<br />

SADRLW_R:=(CL_SADRL_R shr 5) + SSTLW;<br />

DADRLW_L:=(CL_DADRL_L shr 5) + DSTLW;<br />

DADRLW_R:=(CL_DADRL_R shr 5) + DSTLW;<br />

SBOS_L:=CL_SADRL_L mod 32;<br />

SBOS_R:=CL_SADRL_R mod 32;<br />

DBOS_L:=CL_DADRL_L mod 32;<br />

DBOS_R:=CL_DADRL_R mod 32;<br />

end if;<br />

Abbildung 112: Speedchart-Diagramm TIM/GR CPU/PIX TO BIT<br />

Anhang D.2<br />

Seite 142

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!