21.07.2013 Aufrufe

DIPLOMARBEIT - FG Mikroelektronik, TU Berlin

DIPLOMARBEIT - FG Mikroelektronik, TU Berlin

DIPLOMARBEIT - FG Mikroelektronik, TU Berlin

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

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

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

Lukas Bauer<br />

Diagram Variables:<br />

-- Variables of Diagram RELOAD<br />

-- MSC control<br />

Diplomarbeit<br />

Hochleistungs-Grafikprozessor in Speedchart-VHDL<br />

DISINC: logic:=’1’; -- ’1’ = disable TAPCNT increment<br />

DISCLK: logic:=’1’; -- ’1’ = disable MSC output<br />

MSCNT: int12:=0x0FFF; -- XZoom: counter for MSC/LD divider<br />

MSCNTV(12): logic; -- MSCNT as a logic vector<br />

TAPCNT: int11:=0; -- TAP position counter<br />

TAPCNTV(11): logic; -- TAPCNT as a logic vector<br />

ROWCNT: int12:=0; -- current row in SR<br />

-- determine number of VClk cycles per memory word of video data<br />

LD_XZ: int4; -- ld of XZOOM factor<br />

LD_MBW: int4; -- ld of memory bus width<br />

LD_PSIZE: int4; -- ld of bits per pixel<br />

MSC_SFT: int4:=0; -- ld of (VClk cycles per mem word)<br />

-- determine the number of reloads necessary in the next line<br />

Anhang C.2<br />

Seite 92<br />

CALC_RLL: int16; -- (Register Line Length) -1<br />

CALC_ELL: int16:=0; -- (Effective Line Length in VClk cycles)-1<br />

CALC_NRL: int8 :=0; -- # of low half SR reloads in next line<br />

CALC_NRH: int8 :=0; -- # of high half SR reloads in next line<br />

SUM_TAP_ELL: int12:=0; -- sum of TAP and ELL<br />

SUM_TE_V(12): logic; -- SUM_TAP_ELL as a logic vector<br />

SUM_TE_A: logic; -- sum of TAP and ELL, carry out bit<br />

SUM_TE_B: logic; -- sum of TAP and ELL, highest bit<br />

CALC_ELL_SFT: int8; -- ELL divided by Shift Reg Length<br />

-- reload control<br />

SMR_high: logic:=’0’; -- ’1’ = next split rel. of high half SR<br />

HC_MLR: int16:=0; -- HCOUNT value at point of midline reload<br />

HC_MLR5: int16:=0; -- HCOUNT value at start of early ml reload<br />

HC_MEN5: logic:=’0’; -- ’1’=enable HC_MLR5<br />

-- refresh control<br />

REFCNT: int11:=0x7FF; -- refresh rate counter<br />

-- arbitration control<br />

SMR_request: logic:=’0’; -- ’1’ = request split reload<br />

SMR_ack: logic:=’0’; -- ’1’=acknowledge, perform split midl. rel.<br />

REF_RQNR: int4:=0; -- number of refresh cycles desired<br />

REF_PFNR: int4:=0; -- number of refresh cycles performed<br />

-- n. of r.c. lagging: (REF_RQNR-REF_PFNR)<br />

REF_ack: logic:=’0’; -- ’1’=acknowledge, perform refresh cycle<br />

ARB_busy: logic; -- ’1’=reload or refresh unit busy<br />

Abbildung 59: Variablen im Diagramm VIDEO/RELOAD

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!