DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
DIPLOMARBEIT - FG Mikroelektronik, TU Berlin
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 />
RL_CALC<br />
Diplomarbeit<br />
Hochleistungs-Grafikprozessor in Speedchart-VHDL<br />
T5<br />
entry S1<br />
Subdiag Actions of <br />
A: -- determine number of VClk cycles<br />
-- per memory word of video data<br />
LD_XZ:=0 when XZ="000"<br />
else 1 when XZ="001"<br />
else 2 when XZ="010"<br />
else 3 when XZ="011"<br />
else 4 when XZ="100"<br />
else 5 when XZ="101"<br />
else 6 when XZ="110"<br />
else 7;<br />
LD_MBW:=5 when MBW(1)=’1’<br />
else 4 when MBW="01"<br />
else 3;<br />
LD_PSIZE:=5 when R_PSIZE(5)=’1’<br />
else 4 when R_PSIZE(5 downto 4)="01"<br />
else 3 when R_PSIZE(5 downto 3)="001"<br />
else 2 when R_PSIZE(5 downto 2)="0001"<br />
else 1 when R_PSIZE(5 downto 1)="00001"<br />
else 0;<br />
CALC_RLL:=((HSBLNK-HEBLNK) + 65535) mod 65536;<br />
-- (Register Line Length) -1<br />
SUM_TE_V:=SUM_TAP_ELL mod 4096;<br />
case SRL is<br />
when "00" => -- SRL: 256 bits<br />
SUM_TE_A:=SUM_TE_V(8);<br />
SUM_TE_B:=SUM_TE_V(7);<br />
CALC_ELL_SFT:=(CALC_ELL shr 8) mod 256;<br />
when "01" => -- SRL: 512 bits<br />
SUM_TE_A:=SUM_TE_V(9);<br />
SUM_TE_B:=SUM_TE_V(8);<br />
CALC_ELL_SFT:=(CALC_ELL shr 9) mod 256;<br />
when "10" => -- SRL: 1024 bits<br />
SUM_TE_A:=SUM_TE_V(10);<br />
SUM_TE_B:=SUM_TE_V(9);<br />
CALC_ELL_SFT:=(CALC_ELL shr 10) mod 256;<br />
when "11" => -- SRL: 2048 bits<br />
SUM_TE_A:=SUM_TE_V(11);<br />
SUM_TE_B:=SUM_TE_V(10);<br />
CALC_ELL_SFT:=(CALC_ELL shr 11) mod 256;<br />
end case;<br />
-- test output<br />
MSCSFT_ot :=MSC_SFT mod 16;<br />
Abbildung 66: Speedchart-Diagramm VIDEO/RELOAD/RL CALC<br />
T1<br />
A: -- determine number of VClk cycles<br />
-- per memory word of video data<br />
MSC_SFT:=(LD_XZ + LD_MBW) - LD_PSIZE;<br />
Anhang C.2<br />
Seite 99<br />
case MSC_SFT is<br />
when 0 => CALC_ELL:=CALC_RLL;<br />
when 1 => CALC_ELL:=CALC_RLL shr 1;<br />
when 2 => CALC_ELL:=CALC_RLL shr 2;<br />
when 3 => CALC_ELL:=CALC_RLL shr 3;<br />
when 4 => CALC_ELL:=CALC_RLL shr 4;<br />
when 5 => CALC_ELL:=CALC_RLL shr 5;<br />
when 6 => CALC_ELL:=CALC_RLL shr 6;<br />
when 7 => CALC_ELL:=CALC_RLL shr 7;<br />
when 8 => CALC_ELL:=CALC_RLL shr 8;<br />
when 9 => CALC_ELL:=CALC_RLL shr 9;<br />
when 10 => CALC_ELL:=CALC_RLL shr 10;<br />
when 11 => CALC_ELL:=CALC_RLL shr 11;<br />
when others => CALC_ELL:=CALC_RLL shr 12;<br />
-- (Effective Line Length in mem words) -1<br />
end case;