<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ò ) 收藏

b) 專(zhuān)用視頻轉換芯片

利用專(zhuān)用視頻轉換芯片,ADV7120等,將數字信號轉換為 RGB的模擬信號。ADV7120為高速D/A芯片,將數字信號轉換為模擬信號輸給,電路如下:

24.jpg

三、可設計

Bingo玩VGA也算是比較早了,當年也是視覺(jué)的誘惑,以及唯獨尊的優(yōu)勢。于是之后一發(fā)而不可收拾。本章Bingo將自己這些年最終優(yōu)化的VGA驅動(dòng),發(fā)布至此。本所有代碼均Bingo獨家創(chuàng )造,請尊重版權哈。

本設計已經(jīng)封裝成模塊,只要修改時(shí)序參數、掃描時(shí)鐘參數以及在vga_display.v中添加顯示電路,即可。方便,希望對大家有用。

25.jpg

1、模塊劃分

(1)vga_design.v

工程頂層文件,例化各個(gè)模塊。

(2)sys_ctrl.v

PLL時(shí)鐘分配電路。

(3)vga_display.v

顯示電路,根據時(shí)序,用于描述VGA的顯示電路。

(4)vga_driver.v

VGA驅動(dòng)電路,對時(shí)序,狀態(tài)的約束。

RTL圖如下所示:

26.jpg

2、代碼設計

Bingo例程以16bit RGB VGA驅動(dòng)為例,不同位數的顯示只要改一下vga_data即可。

前文以及代碼講述了那么多,此處不再貼完整代碼,而是對代碼中部分結構進(jìn)行解析。

代碼下載地址:http://blog.chinaaet.com/detail/21606.html

(1)vga_driver.v代碼分析

a) 參數例化列表

#(

// VGA_1024_768_60fps_65MHz

// Horizontal Parameter ( Pixel )

parameter H_DISP = 11'd1024,

parameter H_FRONT = 11'd24,

parameter H_SYNC = 11'd136,

parameter H_BACK = 11'd160,

parameter H_TOTAL = 11'd1344,

// Virtical Parameter ( Line )

parameter V_DISP = 10'd768,

parameter V_FRONT = 10'd3,

parameter V_SYNC = 10'd6,

parameter V_BACK = 10'd29,

parameter V_TOTAL = 10'd806

)

這樣寫(xiě)的目的是為了軟件封裝性,能夠在例化的時(shí)候修改法分辨率,同時(shí)電路結構保持不變。

DISP,FRONT ,SYNC,BACK,TOTAL分別為顯示期,消隱前肩,消音期,消隱后肩,總時(shí)間,各自對應各自的行場(chǎng)信號。

b) 行同步信號設計

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

// 行同步信號發(fā)生器

reg [10:0] hcnt;

always @ (posedge clk_vga or negedge rst_n)

begin

if (!rst_n)

hcnt = 0;

else

begin

if (hcnt H_TOTAL-1'b1)

hcnt = hcnt + 1'b1;

else

hcnt = 0;

end

end

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

always@(posedge clk_vga or negedge rst_n)

begin

if(!rst_n)

vga_hs = 1;

else

begin

if( (hcnt >= H_DISP+H_FRONT-1'b1) (hcnt H_DISP+H_FRONT+H_SYNC-1'b1) )

vga_hs = 0;

else

vga_hs = 1;

end

end

如上所示,分析代碼可以知道,行同步信號的計數狀態(tài)機按照時(shí)序的劃分,是以下過(guò)程:H_DISP,H_FRONT,H_SYNC,H_BACK,這似乎和上述分析的VGA時(shí)序不是完全吻合。但是VGA時(shí)序是一個(gè)循環(huán),順推H_BACK個(gè)時(shí)終域便可以得到以上時(shí)期劃分,但是這樣更方便后續坐標計數,因為Bingo此處這樣設計,當然實(shí)際證明是完全可行的。

注意:(hcnt >= H_DISP+H_FRONT-1'b1) (hcnt H_DISP+H_FRONT+H_SYNC-1'b1) 只是因為后續坐標計算,就把時(shí)序提前了1個(gè)時(shí)鐘已達到同步。



關(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>