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