在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1624|回复: 1

[求助] FPGA VGA

[复制链接]
发表于 2014-4-2 21:08:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
module
VGA
(
//
VGA Side

oVGA_R,

oVGA_G,

oVGA_B,

oVGA_HS,

oVGA_VS,

oVGA_SYNC,

oVGA_BLANK,

oVGA_CLOCK,

//
Control Signal

iCLK,

iRST_N
);

//
VGA Side
output
reg
[9:0]
oVGA_R;
output
reg
[9:0]
oVGA_G;
output
reg
[9:0]
oVGA_B;
output
reg
oVGA_HS;
output
reg
oVGA_VS;
output
oVGA_SYNC;
output
oVGA_BLANK;
output
oVGA_CLOCK;
//
Control Signal
input
iCLK;
input
iRST_N;

//
Internal Registers
reg
[10:0]
H_Cont;
reg
[10:0]
V_Cont;
////////////////////////////////////////////////////////////
//
Horizontal
Parameter
parameter
H_FRONT
=
16;
parameter
H_SYNC
=
96;
parameter
H_BACK
=
48;
parameter
H_ACT
=
640;
parameter
H_BLANK
=
H_FRONT+H_SYNC+H_BACK;
parameter
H_TOTAL
=
H_FRONT+H_SYNC+H_BACK+H_ACT;
parameter   H_BAN=400;
////////////////////////////////////////////////////////////
//
Vertical Parameter
parameter
V_FRONT
=
11;
parameter
V_SYNC
=
2;
parameter
V_BACK
=
31;
parameter
V_ACT
=
480;//480
parameter
V_BLANK
=
V_FRONT+V_SYNC+V_BACK;
parameter
V_TOTAL
=
V_FRONT+V_SYNC+V_BACK+V_ACT;
////////////////////////////////////////////////////////////
assign
oVGA_SYNC
=
1'b1;
//
This pin is unused.
assign
oVGA_BLANK
= ~((H_Cont<H_BLANK)||(V_Cont<V_BLANK));

assign
oVGA_CLOCK
=
~CLOCK;
always @(posedge iCLK or negedge iRST_N)
begin
  if(!iRST_N)
        begin
        oVGA_R <= 10'd0;
        oVGA_G <= 10'd0;
        oVGA_B <= 10'd0;
        end
   else  begin
    //RGB信号在显示期间正常输出,行、场消隐期间被清零
     oVGA_R <= (H_Cont >= H_BLANK && H_Cont <= H_TOTAL &&
                V_Cont >= V_BLANK && V_Cont <= V_TOTAL )
                ? 10'd0 : 10'd0;
     oVGA_G <= (H_Cont >= H_BLANK && H_Cont <= H_TOTAL &&
                V_Cont >= V_BLANK && V_Cont <= V_TOTAL )  
                ? 10'd0 : 10'd0;
     oVGA_B <= (H_Cont >= H_BLANK && H_Cont <= H_TOTAL &&

             V_Cont >= V_BLANK && V_Cont <= V_TOTAL )  
                ? 10'd1 : 10'd0;
      end
end/*
assign
oVGA_R
=
10'd1000000000;
assign
oVGA_G
=
10'd1000000000;
assign
oVGA_B
=
10'd1000000000;*/

//
Horizontal Generator: Refer to the pixel clock
reg CLOCK;

always@(posedge iCLK)
CLOCK<=~CLOCK;



always@(posedge CLOCK or negedge iRST_N)
begin

if(!iRST_N)

begin

H_Cont
<=
0;

oVGA_HS
<=
1;

end

else

begin

if(H_Cont<H_TOTAL)

H_Cont
<=
H_Cont+1'b1;

else

H_Cont
<=
0;

//
Horizontal Sync

if(H_Cont<=H_FRONT-1)
//
Front porch end

oVGA_HS
<=
1'b0;

if(H_Cont<=H_FRONT+H_SYNC-1)
//
Sync pulse end

oVGA_HS
<=
1'b1;



end
end

//
Vertical Generator: Refer to the horizontal sync
always@(posedge oVGA_HS or negedge iRST_N)
begin

if(!iRST_N)

begin

V_Cont
<=
0;

oVGA_VS
<=
1;

end

else

begin

if(V_Cont<V_TOTAL)

V_Cont
<=
V_Cont+1'b1;

else

V_Cont
<=
0;

//
Vertical Sync

if(V_Cont<=V_FRONT-1)
//
Front porch end

oVGA_VS
<=
1'b0;

if(V_Cont<=V_FRONT+V_SYNC-1)
//
Sync pulse end

oVGA_VS
<=
1'b1;



end
end
endmodule
 楼主| 发表于 2014-4-2 21:08:50 | 显示全部楼层
我这样直接让显示屏显示一种颜色原理行吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 15:45 , Processed in 0.015735 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表