在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的VGA可移植模塊終極設(shè)計(jì)

            基于FPGA的VGA可移植模塊終極設(shè)計(jì)

            作者: 時(shí)間:2012-03-13 來源:網(wǎng)絡(luò) 收藏

            c) 場(chǎng)同步信號(hào)設(shè)計(jì)

            同上。

            d) 數(shù)據(jù)顯示坐標(biāo)以及輸出設(shè)計(jì)

            //------------------------------------------

            assign vga_xpos = (hcnt H_DISP) ? hcnt[9:0]+1'b1 : 10'd0;

            assign vga_ypos = (vcnt V_DISP) ? vcnt[9:0]+1'b1 : 10'd0;

            assign vga_rgb = ((hcnt H_DISP) (vcnt V_DISP)) ? vga_data : 16'd0;

            這部分很容易理解,在顯示期坐標(biāo)根據(jù)顯示的掃描而改變,在非顯示期,坐標(biāo)置零。

            (2)Vga_display.v代碼分析

            a) 標(biāo)準(zhǔn)色彩定義

            //define colors RGB--5|6|5

            localparam RED = 16'hF800;

            localparam GREEN = 16'h07E0;

            localparam BLUE = 16'h001F;

            localparam WHITE = 16'hFFFF;

            localparam BLACK = 16'h0000;

            localparam YELLOW = 16'hFFE0;

            localparam CYAN = 16'hF81F;

            localparam ROYAL = 16'h07FF;

            定義當(dāng)?shù)氐膮?shù),目的是為了后續(xù)標(biāo)準(zhǔn)色彩調(diào)用的方便,沒有其他作用。

            b) 根據(jù)固定區(qū)域輸出數(shù)據(jù)

            always@(posedge clk or negedge rst_n)

            begin

            if(!rst_n)

            vga_data = 16'h0;

            else

            begin

            if (vga_xpos >= 0 vga_xpos (H_DISP/3))

            vga_data = RED;

            else if(vga_xpos >= (H_DISP>>3)*1 vga_xpos (H_DISP/3)*2)

            vga_data = GREEN;

            else

            vga_data = BLUE;

            end

            end

            如上代碼,根據(jù)xpos坐標(biāo),來輸出固定色彩。由于vga_driver已經(jīng)完全設(shè)計(jì)好接口,因此vga_display.v就是簡(jiǎn)單的根據(jù)區(qū)域,輸出設(shè)計(jì)的顏色。

            (3) Vga_ctrl.v代碼分析

            a) 同步化解析

            略。

            b) 可控鎖相環(huán)PLL設(shè)計(jì)

            27.jpg

            本來可空鎖相環(huán)PLL設(shè)計(jì),Bingo想單獨(dú)成章來講述的,但覺得可能別的地方實(shí)際應(yīng)用價(jià)值不是很大,最后便在此處闡明這樣設(shè)計(jì)的原因。

            由于不同分辨率的掃描時(shí)鐘不同,因此分辨率變化的時(shí)候,PLL的輸出時(shí)鐘是必要跟隨著變化。但是Bingo覺得好麻煩,于是想了偷懶的一招:PLL IP定義,無非是用Quartus II GUI對(duì)PLL參數(shù)的設(shè)定,最后生成pll.v這個(gè)文件。而這個(gè)文件相當(dāng)于是鎖相環(huán)的驅(qū)動(dòng)電路,故勢(shì)必包含著參數(shù)的定義。實(shí)際如下:

            altpll_component.clk0_divide_by = 1,

            altpll_component.clk0_duty_cycle = 50,

            altpll_component.clk0_multiply_by = 1,

            如上圖所示,每次修改參數(shù),這三個(gè)變量會(huì)相應(yīng)的發(fā)生變化。因此,何不把這三個(gè)參數(shù)作為例化的參數(shù),可以再頂層直接修改代碼來實(shí)現(xiàn)固定頻率的輸出?這樣豈不是很方便?

            因此設(shè)計(jì)參數(shù)例化接口如下:

            #(

            parameter DUTY_CYCLE = 50,

            parameter DIVIDE_DATA = 1,

            parameter MULTIPLY_DATA = 1

            )

            理論上是完全行得通的,這樣設(shè)計(jì)的另一個(gè)好處就是電路的封裝性更好Bingo實(shí)踐證明,完全可行,因此在此處說明,要學(xué)會(huì)正確的偷懶呵呵。

            (4)Vga_design.v頂層文件代碼解析

            a) Vga接口定義

            //vga interface

            output vga_adv_clk,

            output vga_blank_n,

            output vga_sync_n,

            output vga_hs,

            output vga_vs,

            output [15:0] vga_rgb

            如上所示,上面三個(gè)信號(hào)線是在使用adv712x視頻轉(zhuǎn)換芯片的時(shí)候才會(huì)出現(xiàn),一般的電阻模擬電路,或者直接RGB3線驅(qū)動(dòng),可以直接刪除相關(guān)信號(hào)以及電路。



            關(guān)鍵詞: FPGA VGA 移植 模塊

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉