📄 fran_pg.tdf
字号:
WHEN 4 => -- 800 x 600 HAC[10..0] = HAC_SVGA; VAC[10..0] = VAC_SVGA; VPS_0[10..0] = VPS_0_SVGA; VPS_1[10..0] = VPS_1_SVGA; VPS_2[10..0] = VPS_2_SVGA; VPS_3[10..0] = VPS_3_SVGA; HP1[10..0] = HP1_SVGA; HP2[10..0] = HP2_SVGA; HP3[10..0] = HP3_SVGA; VP1[10..0] = VP1_SVGA; VP2[10..0] = VP2_SVGA; VP3[10..0] = VP3_SVGA; HSY[10..0] = HSY_SVGA; HBP[10..0] = HBP_SVGA; HTOT50[11..0] = HTOT50_SVGA; HTOT60[11..0] = HTOT60_SVGA; HTOT75[11..0] = HTOT75_SVGA; HTOT90[11..0] = HTOT90_SVGA; HTOT100[11..0] = HTOT100_SVGA; HTOT120[11..0] = HTOT120_SVGA; VSY[10..0] = VSY_SVGA; VBP[10..0] = VBP_SVGA; VTOT50[10..0] = VTOT50_SVGA; VTOT60[10..0] = VTOT60_SVGA; VTOT75[10..0] = VTOT75_SVGA; VTOT90[10..0] = VTOT90_SVGA; VTOT100[10..0] = VTOT100_SVGA; VTOT120[10..0] = VTOT120_SVGA;% WHEN 5 => -- 1600 x 1200 HAC[10..0] = HAC_UXGA; VAC[10..0] = VAC_UXGA; VPS_0[10..0] = VPS_0_UXGA; VPS_1[10..0] = VPS_1_UXGA; VPS_2[10..0] = VPS_2_UXGA; VPS_3[10..0] = VPS_3_UXGA; HP1[10..0] = HP1_UXGA; HP2[10..0] = HP2_UXGA; HP3[10..0] = HP3_UXGA; VP1[10..0] = VP1_UXGA; VP2[10..0] = VP2_UXGA; VP3[10..0] = VP3_UXGA; HSY[10..0] = HSY_UXGA; HBP[10..0] = HBP_UXGA; HTOT50[11..0] = HTOT50_UXGA; HTOT60[11..0] = HTOT60_UXGA; HTOT75[11..0] = HTOT75_UXGA; HTOT90[11..0] = HTOT90_UXGA; HTOT100[11..0] = HTOT100_UXGA; HTOT120[11..0] = HTOT120_UXGA; VSY[10..0] = VSY_UXGA; VBP[10..0] = VBP_UXGA; VTOT50[10..0] = VTOT50_UXGA; VTOT60[10..0] = VTOT60_UXGA; VTOT75[10..0] = VTOT75_UXGA; VTOT90[10..0] = VTOT90_UXGA; VTOT100[10..0] = VTOT100_UXGA; VTOT120[10..0] = VTOT120_UXGA;WHEN 6 => -- 1920 x 1080 HAC[10..0] = HAC_WUXGA; VAC[10..0] = VAC_WUXGA; VPS_0[10..0] = VPS_0_WUXGA; VPS_1[10..0] = VPS_1_WUXGA; VPS_2[10..0] = VPS_2_WUXGA; VPS_3[10..0] = VPS_3_WUXGA; HP1[10..0] = HP1_WUXGA; HP2[10..0] = HP2_WUXGA; HP3[10..0] = HP3_WUXGA; VP1[10..0] = VP1_WUXGA; VP2[10..0] = VP2_WUXGA; VP3[10..0] = VP3_WUXGA; HSY[10..0] = HSY_WUXGA; HBP[10..0] = HBP_WUXGA; HTOT50[11..0] = HTOT50_WUXGA; HTOT60[11..0] = HTOT60_WUXGA; HTOT75[11..0] = HTOT75_WUXGA; HTOT90[11..0] = HTOT90_WUXGA; HTOT100[11..0] = HTOT100_WUXGA; HTOT120[11..0] = HTOT120_WUXGA; VSY[10..0] = VSY_WUXGA; VBP[10..0] = VBP_WUXGA; VTOT50[10..0] = VTOT50_WUXGA; VTOT60[10..0] = VTOT60_WUXGA; VTOT75[10..0] = VTOT75_WUXGA; VTOT90[10..0] = VTOT90_WUXGA; VTOT100[10..0] = VTOT100_WUXGA; VTOT120[10..0] = VTOT120_WUXGA;WHEN 7 => -- 1024 x 512 HAC[10..0] = HAC_1024x512; VAC[10..0] = VAC_1024x512; VPS_0[10..0] = VPS_0_1024x512; VPS_1[10..0] = VPS_1_1024x512; VPS_2[10..0] = VPS_2_1024x512; VPS_3[10..0] = VPS_3_1024x512; HP1[10..0] = HP1_1024x512; HP2[10..0] = HP2_1024x512; HP3[10..0] = HP3_1024x512; VP1[10..0] = VP1_1024x512; VP2[10..0] = VP2_1024x512; VP3[10..0] = VP3_1024x512; HSY[10..0] = HSY_1024x512; HBP[10..0] = HBP_1024x512; HTOT50[11..0] = HTOT50_1024x512; HTOT60[11..0] = HTOT60_1024x512; HTOT75[11..0] = HTOT75_1024x512; HTOT90[11..0] = HTOT90_1024x512; HTOT100[11..0] = HTOT100_1024x512; HTOT120[11..0] = HTOT120_1024x512; VSY[10..0] = VSY_1024x512; VBP[10..0] = VBP_1024x512; VTOT50[10..0] = VTOT50_1024x512; VTOT60[10..0] = VTOT60_1024x512; VTOT75[10..0] = VTOT75_1024x512; VTOT90[10..0] = VTOT90_1024x512; VTOT100[10..0] = VTOT100_1024x512; VTOT120[10..0] = VTOT120_1024x512;WHEN 8 => -- 640 x 480 HAC[10..0] = HAC_VGA; VAC[10..0] = VAC_VGA; VPS_0[10..0] = VPS_0_VGA; VPS_1[10..0] = VPS_1_VGA; VPS_2[10..0] = VPS_2_VGA; VPS_3[10..0] = VPS_3_VGA; HP1[10..0] = HP1_VGA; HP2[10..0] = HP2_VGA; HP3[10..0] = HP3_VGA; VP1[10..0] = VP1_VGA; VP2[10..0] = VP2_VGA; VP3[10..0] = VP3_VGA; HSY[10..0] = HSY_VGA; HBP[10..0] = HBP_VGA; HTOT50[11..0] = HTOT50_VGA; HTOT60[11..0] = HTOT60_VGA; HTOT75[11..0] = HTOT75_VGA; HTOT90[11..0] = HTOT90_VGA; HTOT100[11..0] = HTOT100_VGA; HTOT120[11..0] = HTOT120_VGA; VSY[10..0] = VSY_VGA; VBP[10..0] = VBP_VGA; VTOT50[10..0] = VTOT50_VGA; VTOT60[10..0] = VTOT60_VGA; VTOT75[10..0] = VTOT75_VGA; VTOT90[10..0] = VTOT90_VGA; VTOT100[10..0] = VTOT100_VGA; VTOT120[10..0] = VTOT120_VGA; %WHEN OTHERS => HAC[10..0] = HAC_XGA; VAC[10..0] = VAC_XGA; VPS_0[10..0] = VPS_0_XGA; VPS_1[10..0] = VPS_1_XGA; VPS_2[10..0] = VPS_2_XGA; VPS_3[10..0] = VPS_3_XGA; HP1[10..0] = HP1_XGA; HP2[10..0] = HP2_XGA; HP3[10..0] = HP3_XGA; VP1[10..0] = VP1_XGA; VP2[10..0] = VP2_XGA; VP3[10..0] = VP3_XGA; HSY[10..0] = HSY_XGA; HBP[10..0] = HBP_XGA; HTOT50[11..0] = HTOT50_XGA; HTOT60[11..0] = HTOT60_XGA; HTOT75[11..0] = HTOT75_XGA; HTOT90[11..0] = HTOT90_XGA; HTOT100[11..0] = HTOT100_XGA; HTOT120[11..0] = HTOT120_XGA; VSY[10..0] = VSY_XGA; VBP[10..0] = VBP_XGA; VTOT50[10..0] = VTOT50_XGA; VTOT60[10..0] = VTOT60_XGA; VTOT75[10..0] = VTOT75_XGA; VTOT90[10..0] = VTOT90_XGA; VTOT100[10..0] = VTOT100_XGA; VTOT120[10..0] = VTOT120_XGA; END CASE;---------------------------------------------------------------------------------RGB output section------------------------------------------------------------------------------------------------------------------------------------------CASE pattern[3..0] ISWHEN 0 => -- R=G=B=OFF Red_pat[] = 0 ; Gre_pat[] = 0 ; Blu_pat[] = 0 ;WHEN 1 => -- BLOCK, Variable load Area and grayscale in the center Red_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theCertainGrayscale.red_out[]); Gre_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theCertainGrayscale.green_out[]); Blu_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theCertainGrayscale.blue_out[]);WHEN 2 => -- REVERSE BLOCK Red_pat[] = (NOT(thevarloadblock.venable AND thevarloadblock.henable) AND theCertainGrayscale.red_out[]); Gre_pat[] = (NOT(thevarloadblock.venable AND thevarloadblock.henable) AND theCertainGrayscale.green_out[]); Blu_pat[] = (NOT(thevarloadblock.venable AND thevarloadblock.henable) AND theCertainGrayscale.blue_out[]);WHEN 3 => -- Variable BLOCK Red_pat[] = (thehbar1.venable AND thevbar2.henable AND theCertainGrayscale.red_out[]); Gre_pat[] = (thehbar1.venable AND thevbar2.henable AND theCertainGrayscale.green_out[]); Blu_pat[] = (thehbar1.venable AND thevbar2.henable AND theCertainGrayscale.blue_out[]);--------------------------------------------------------------------------- --WHEN 4 => -- SINE Curves--------------------------------------------------------------------------- WHEN 5 => -- BLOCK + 2 H MOVINGBLOCKS Red_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theCertainGrayscale.red_out[]) OR (thehmovingbar1.henable AND thehbar1.venable AND theCertainGrayscale1.red_out[]) OR (thehmovingbar2.henable AND thehbar2.venable AND theCertainGrayscale2.red_out[]); Gre_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theCertainGrayscale.green_out[]) OR (thehmovingbar1.henable AND thehbar1.venable AND theCertainGrayscale1.green_out[]) OR (thehmovingbar2.henable AND thehbar2.venable AND theCertainGrayscale2.green_out[]); Blu_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theCertainGrayscale.blue_out[]) OR (thehmovingbar1.henable AND thehbar1.venable AND theCertainGrayscale1.blue_out[]) OR (thehmovingbar2.henable AND thehbar2.venable AND theCertainGrayscale2.blue_out[]);WHEN 7 => -- BLOCK + 2 V MOVINGBLOCKS Red_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theCertainGrayscale.red_out[]) OR (thevmovingbar1.venable AND thevbar1.henable AND theCertainGrayscale1.red_out[]) OR (thevmovingbar2.venable AND thevbar2.henable AND theCertainGrayscale2.red_out[]); Gre_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theCertainGrayscale.green_out[]) OR (thevmovingbar1.venable AND thevbar1.henable AND theCertainGrayscale1.green_out[]) OR (thevmovingbar2.venable AND thevbar2.henable AND theCertainGrayscale2.green_out[]); Blu_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theCertainGrayscale.blue_out[]) OR (thevmovingbar1.venable AND thevbar1.henable AND theCertainGrayscale1.blue_out[]) OR (thevmovingbar2.venable AND thevbar2.henable AND theCertainGrayscale2.blue_out[]);WHEN 9 => -- BLOCK + HV MOVINGBLOCKS Red_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theCertainGrayscale.red_out[]) OR (thehmovingbar1.henable AND thehbar1.venable AND theCertainGrayscale1.red_out[]) OR (thevmovingbar2.venable AND thevbar2.henable AND theCertainGrayscale2.red_out[]); Gre_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theCertainGrayscale.green_out[]) OR (thehmovingbar1.henable AND thehbar1.venable AND theCertainGrayscale1.green_out[]) OR (thevmovingbar2.venable AND thevbar2.henable AND theCertainGrayscale2.green_out[]); Blu_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theCertainGrayscale.blue_out[]) OR (thehmovingbar1.henable AND thehbar1.venable AND theCertainGrayscale1.blue_out[]) OR (thevmovingbar2.venable AND thevbar2.henable AND theCertainGrayscale2.blue_out[]);WHEN 10 => -- RGB RAMP Red_pat[] = (thergbramp.red_out[9..0]); Gre_pat[] = (thergbramp.green_out[9..0]); Blu_pat[] = (thergbramp.blue_out[9..0]);WHEN 11 => -- one shinning block 3levels Red_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theserial_3L.red_out[]); Gre_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theserial_3L.green_out[]); Blu_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theserial_3L.blue_out[]); trigger_out = theserial_3L.trigger_out;WHEN 12 => -- one shinning block Red_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theserial.red_out[]); Gre_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theserial.green_out[]); Blu_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND theserial.blue_out[]); trigger_out = theserial.trigger_out; WHEN 13 => -- nine shinning blocks Red_pat[] = ((thehbar3.venable OR thehbar4.venable OR thehbar5.venable) AND (thevbar3.henable OR thevbar4.henable OR thevbar5.henable) AND theserial.red_out[]); Gre_pat[] = ((thehbar3.venable OR thehbar4.venable OR thehbar5.venable) AND (thevbar3.henable OR thevbar4.henable OR thevbar5.henable) AND theserial.green_out[]); Blu_pat[] = ((thehbar3.venable OR thehbar4.venable OR thehbar5.venable) AND (thevbar3.henable OR thevbar4.henable OR thevbar5.henable) AND theserial.blue_out[]); trigger_out = theserial.trigger_out; WHEN 14 => -- SINE Curves Red_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND (thepattern_dl.red_out[],0,0)); Gre_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND (thepattern_dl.green_out[],0,0)); Blu_pat[] = (thevarloadblock.venable AND thevarloadblock.henable AND (thepattern_dl.blue_out[],0,0)); trigger_out = thepattern_dl.trigger; --Red_pat[] = ((themoving_object.out_r_e[7..0],0,0) );--AND themoving_object.active --Gre_pat[] = ((themoving_object.out_g_e[7..0],0,0) );--AND themoving_object.active --Blu_pat[] = ((themoving_object.out_b_e[7..0],0,0) );--AND themoving_object.active%WHEN 15 => Red_pat[] = (thesinewave.red_out[7..0],0,0); Gre_pat[] = (thesinewave.gre_out[7..0],0,0); Blu_pat[] = (thesinewave.blu_out[7..0],0,0);%WHEN OTHERS => Red_pat[] = 0; Gre_pat[] = 0; Blu_pat[] = 0; END CASE;Red_art[].d = Red_pat[] AND Red_on.q ;--AND mask;Gre_art[].d = Gre_pat[] AND Gre_on.q ;--AND mask;Blu_art[].d = Blu_pat[] AND Blu_on.q ;--AND mask;Red_art[].clk = klok;Gre_art[].clk = klok;Blu_art[].clk = klok;Red_on.clk = klok;Gre_on.clk = klok;Blu_on.clk = klok;Red_on.d = Renab;Gre_on.d = Genab;Blu_on.d = Benab;Renab = fullregbuf[7];Genab = fullregbuf[8];Benab = fullregbuf[9];Red_out[9..0] = Red_art[9..0].q;Green_out[9..0] = Gre_art[9..0].q;Blue_out[9..0] = Blu_art[9..0].q;--------------------------------------------------------------------------------- BLOCK and Reverse BLOCK section ---------------------------------------------------------------------------------------------------------------------------thevarloadblock.blocksize[] = fullregbuf[20..14];thevarloadblock.clk = klok;thevarloadblock.h_sta[] = theblocksize_3.hsta[];thevarloadblock.h_end[] = theblocksize_3.hend[];thevarloadblock.v_sta[] = theblocksize_3.vsta[];thevarloadblock.v_end[] = theblocksize_3.vend[];thevarloadblock.act_vcounter[10..0] = act_vcounter.q[10..0];thevarloadblock.act_hcounter[10..0] = act_hcounter.q[10..0];theCertainGrayscale.clk = klok;theCertainGrayscale.red_in[] = (fullregbuf[28..21],fullregbuf[50..49]);theCertainGrayscale.green_in[] = (fullregbuf[36..29],fullregbuf[52..51]);theCertainGrayscale.blue_in[] = (fullregbuf[44..37],fullregbuf[54..53]);--------------------------------------------------------------------------------- R G B of BLOCKS -------------------------------------------------------------------------------------------------------------------------------------------theCertainGrayscale1.clk = klok;theCertainGrayscale1.red_in[] = (fullregbuf[83..77],fullregbuf[142..140]);theCertainGrayscale1.green_in[] = (fullregbuf[90..84],fullregbuf[142..140]);theCertainGrayscale1.blue_in[] = (fullregbuf[97..91],fullregbuf[142..140]);theCertainGrayscale2.clk = klok;theCertainGrayscale2.red_in[] = (fullregbuf[125..119],fullregbuf[142..140]);theCertainGrayscale2.green_in[] = (fullregbuf[132..126],fullregbuf[142..140]);theCertainGrayscale2.blue_in[] = (fullregbuf[139..133],fullregbuf[142..140]);--------------------------------------------------------------------------------- Variable BLOCK --------------------------------------------------------------------------------------------------------------------------------------------thehbar1.clk = klok;thehbar1.VAC[] = VAC[];thehbar1.blocksize[6..0] = fullregbuf[69..63];thehbar1.v_sta[] = theblocksize_1.vsta[];thehbar1.v_end[] = theblocksize_1.vend[];thehbar1.act_vcounter[] = act_vcounter.q[];thehbar1.vposition[10..0] = (fullregbuf[62],fullregbuf[196..189],fullregbuf[214..213]);--thehbar1.vposition[10..0] = (fullregbuf[62],0,0,fullregbuf[61..56],0,0);thevbar2.clk = klok;thevbar2.HAC[] = HAC[];thevbar2.blocksize[6..0] = fullregbuf[111..105];thevbar2.h_sta[] = theblocksize_2.hsta[];thevbar2.h_end[] = theblocksize_2.hend[];thevbar2.act_hcounter[] = act_hcounter.q[];thevbar2.hposition[10..0] = (fullregbuf[104],fullregbuf[204..197],fullregbuf[216..215]);--thevbar2.hposition[10..0] = (fullregbuf[104],0,fullregbuf[103..98],0,0,0);--------------------------------------------------------------------------------- BLOCK+H MOVINGBLOCK ----------------------------------------------------------------------------------------------------------------------------------------thehmovingbar1.clk = klok;thehmovingbar1.HAC[] = HAC[];thehmovingbar1.vout_pulse = vout_pulse;thehmovingbar1.act_hcounter[] = act_hcounter.q[];thehmovingbar1.blocksize[] = fullregbuf[69..63];thehmovingbar1.h_sta[] = theblocksize_1.hsta[];thehmovingbar1.h_end[] = theblocksize_1.hend[];thehmovingbar1.velocity[5..0] = (fullregbuf[76],fullregbuf[74..70]);thehmovingbar2.clk = klok;thehmovingbar2.HAC[] = HAC[];thehmovingbar2.vout_pulse = vout_pulse;thehmovingbar2.act_hcounter[] = act_hcounter.q[];thehmovingbar2.blocksize[] = fullregbuf[111..105];thehmovingbar2.h_sta[] = theblocksize_2.hsta[];thehmovingbar2.h_end[] = theblocksize_2.hend[];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -