<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

基于FPGA的VGA可移植模塊終極設計

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

c) 場(chǎng)同步信號設計

同上。

d) 數據顯示坐標以及輸出設計

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

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;

這部分很容易理解,在顯示期坐標根據顯示的掃描而改變,在非顯示期,坐標置零。

(2)Vga_display.v代碼分析

a) 標準色彩定義

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

定義當地的參數,目的是為了后續標準色彩調用的方便,沒(méi)有其他作用。

b) 根據固定區域輸出數據

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

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

(3) Vga_ctrl.v代碼分析

a) 同步化解析

略。

b) 可控鎖相環(huán)PLL設計

27.jpg

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

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

altpll_component.clk0_divide_by = 1,

altpll_component.clk0_duty_cycle = 50,

altpll_component.clk0_multiply_by = 1,

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

因此設計參數例化接口如下:

#(

parameter DUTY_CYCLE = 50,

parameter DIVIDE_DATA = 1,

parameter MULTIPLY_DATA = 1

)

理論上是完全行得通的,這樣設計的另一個(gè)好處就是電路的封裝性更好Bingo實(shí)踐證明,完全可行,因此在此處說(shuō)明,要學(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è)信號線(xiàn)是在使用adv712x視頻轉換芯片的時(shí)候才會(huì )出現,一般的電阻模擬電路,或者直接RGB3線(xiàn)驅動(dòng),可以直接刪除相關(guān)信號以及電路。



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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>