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.

Abbildung 105: Speedchart-Diagramm TIM/GR CPU/GP CMD/CLIP<br />

CLIP<br />

entry<br />

T1<br />

S1<br />

T4 #1<br />

A: -- clip coordinates if necessary<br />

-- set WINT:=1 if coord’s were clipped<br />

if YS_viol=’1’ then<br />

R_DADR(31 downto 16):=R_WSTARTY;<br />

-- clip Y start<br />

if YE_viol=’1’ then<br />

R_DY:=(WENDY-WSTARTY+1) mod 65536;<br />

-- two side clip, new area height<br />

else<br />

R_DY:=(DY+DYADR-WSTARTY) mod 65536;<br />

-- Y start clip, adapt DY<br />

end if;<br />

WINT_RQ:=’1’; -- interrupt: wind. viol.<br />

elsif YE_viol=’1’ then<br />

R_DY:=(WENDY-DYADR) mod 65536;<br />

-- clip Y end only, new area height<br />

WINT_RQ:=’1’; -- interrupt: wind. viol.<br />

end if;<br />

if XS_viol=’1’ then<br />

R_DADR(15 downto 00):=R_WSTARTX;<br />

-- clip X start<br />

if XE_viol=’1’ then<br />

R_DX:=(WENDX-WSTARTX+1) mod 65536;<br />

-- two side clip, new area width<br />

else<br />

R_DX:=(DX+DXADR-WSTARTX) mod 65536;<br />

-- X start clip, adapt DX<br />

end if;<br />

WINT_RQ:=’1’; -- interrupt: wind. viol.<br />

elsif XE_viol=’1’ then<br />

R_DX:=(WENDX-DXADR) mod 65536;<br />

-- clip X end only, new area width<br />

WINT_RQ:=’1’; -- interrupt: wind. viol.<br />

end if;<br />

C: (DXADR > WENDX) or<br />

((DXADR+DX-1) < WSTARTX) or<br />

(DYADR > WENDY) or<br />

((DYADR+DY-1) < WSTARTY)<br />

A: CINT_RQ:=’1’;<br />

-- interrupt: window empty<br />

T5 #0<br />

S2<br />

T2<br />

A: -- convert DXADR/DYADR<br />

-- (X/Y dest. address)<br />

-- to R_DYADR<br />

-- (linear destination pixel address)<br />

R_DADR:=DADR_P;<br />

exit<br />

Subdiag Actions of <br />

A: XS_viol:=’1’ when DXADR < WSTARTX else ’0’;<br />

XE_viol:=’1’ when (DXADR+DX-1) < WENDX else ’0’;<br />

YS_viol:=’1’ when DYADR < WSTARTY else ’0’;<br />

YE_viol:=’1’ when (DYADR+DY-1) < WENDY else ’0’;<br />

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

Anhang D.2<br />

Seite 135

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!