<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) 進(jìn)一步偷懶法則

根據常用的幾種分辨率,Bingo進(jìn)行了總結,以下三種應用較多,因此進(jìn)一步偷懶法則,圍繞他們三者來(lái)(不在這三種以?xún)鹊脑?huà),自己模仿著(zhù)再寫(xiě)一個(gè)):

_640_480_60FPS_25MHz

_800_600_72FPS_50MHz

_1024_768_60FPS_65MHz

Verilog語(yǔ)法也有define的用法,是否還記得C語(yǔ)言中,大工程的調試經(jīng)常對相關(guān)變量的注釋?zhuān)N(xiāo)來(lái)調整整個(gè)工程變量的應用,因此此處Bingo套用這種思維模式,定義以上三種模式的變量,通過(guò)修改注釋define便可以輕松修改全局。具體如下所示:

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

//vga parameter define

//`define VGA_640_480_60FPS_25MHz

//`define VGA_800_600_72FPS_50MHz

`define VGA_1024_768_60FPS_65MHz

`ifdef VGA_640_480_60FPS_25MHz

parameter DUTY_CYCLE = 50;

parameter DIVIDE_DATA = 2;

parameter MULTIPLY_DATA = 1;

parameter H_DISP = 11'd640;

parameter H_FRONT = 11'd16;

parameter H_SYNC = 11'd96;

parameter H_BACK = 11'd48;

parameter H_TOTAL = 11'd800;

parameter V_DISP = 10'd480;

parameter V_FRONT = 10'd10;

parameter V_SYNC = 10'd2;

parameter V_BACK = 10'd33;

parameter V_TOTAL = 10'd525;

`endif

`ifdef VGA_800_600_72FPS_50MHz

parameter DUTY_CYCLE = 50;

parameter DIVIDE_DATA = 1;

parameter MULTIPLY_DATA = 1;

parameter H_DISP = 11'd800;

parameter H_FRONT = 11'd56;

parameter H_SYNC = 11'd120;

parameter H_BACK = 11'd64;

parameter H_TOTAL = 11'd1040;

parameter V_DISP = 10'd600;

parameter V_FRONT = 10'd37;

parameter V_SYNC = 10'd6;

parameter V_BACK = 10'd23;

parameter V_TOTAL = 10'd666;

`endif

`ifdef VGA_1024_768_60FPS_65MHz

parameter DUTY_CYCLE = 50;

parameter DIVIDE_DATA = 10;

parameter MULTIPLY_DATA = 13;

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;

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;

`endif

四、Display方案以及效果

1、彩條

(1)代碼

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 if(vga_xpos >= (H_DISP>>3)*2 vga_xpos (H_DISP>>3)*3)

vga_data = BLUE;

else if(vga_xpos >= (H_DISP>>3)*3 vga_xpos (H_DISP>>3)*4)

vga_data = WHITE;

else if(vga_xpos >= (H_DISP>>3)*4 vga_xpos (H_DISP>>3)*5)

vga_data = BLACK;

else if(vga_xpos >= (H_DISP>>3)*5 vga_xpos (H_DISP>>3)*6)

vga_data = YELLOW;

else if(vga_xpos >= (H_DISP>>3)*6 vga_xpos (H_DISP>>3)*7)

vga_data = CYAN;

else// if(vga_xpos >= (H_DISP3)*7 vga_xpos (H_DISP3)*8)

vga_data = ROYAL;

end

end

通過(guò)簡(jiǎn)單的對X坐標地址的分割,來(lái)得到彩條。這是應該是VGA初學(xué)者一開(kāi)始最興奮的幾個(gè)界面吧。



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