7975|21

87

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

终于点亮了我的LCD显示器,1024*768@60Hz,verilog语言,EP2C8,全部源码 [复制链接]

昨天几乎一晚没睡,参考了很多代码,现在只是点亮了,没进行美化,我是新手,大家别拍砖,呵呵。

module vga(
clock,
switch,
disp_RGB,
hsync,
vsync
);
input clock; //系统输入时钟
input [1:0]switch;
output  [2:0]disp_RGB; //VGA数据输出
//disp_RGB[0]:蓝
//disp_RGB[1]:红
//disp_RGB[2]:绿
output hsync; //VGA行同步信号
output vsync; //VGA场同步信号

reg [11:0] hcount; //VGA行扫描计数器
reg [11:0]  vcount; //VGA场扫描计数器
reg [2:0]   data;
reg [2:0] h_dat;
reg [2:0]   v_dat;

wire dat_act;
wire hsync;
wire  vsync;

//VGA行、场扫描时序参数表
parameter //1024*768@60Hz//65M
h_Front_porch = 12'd24,
h_Sync_pulse  = 12'd136,
h_Back_porch = 12'd160,
Whole_line    = 12'd1344,

v_Front_porch = 12'd3,
v_Sync_pulse = 12'd6,
v_Back_porch = 12'd29,
Whole_frame = 12'd806;


//************************VGA驱动部分*******************************
//行场扫描
//行扫描 hcount 从0开始计数到 Whole_line
//场扫描 vcount 从0开始计数到 Whole_frame
always @(posedge clock)
begin
// if (hcount == Whole_line) //行扫描计数到Whole line
if (hcount == 12'd1344) //行扫描计数到Whole line
begin
hcount <= 1'd0;
// if (vcount == Whole_frame) //场扫描计数到Whole frame
if (vcount == 12'd806) //场扫描计数到Whole frame
vcount <= 1'd0;
else
vcount <= vcount + 1'd1;
end
else
begin
hcount <= (hcount + 1'd1);
end
end
//同步信号输出
reg hsync_r,vsync_r;
always @(posedge clock)
begin
hsync_r <= (hcount > h_Sync_pulse);
vsync_r <= (vcount > v_Sync_pulse);
end

assign hsync = hsync_r;//产生行同步信号(低电平)
assign vsync = vsync_r;//产生场同步信号(低电平)

//数据输出
assign dat_act =    ((hcount >= (h_Sync_pulse + h_Back_porch)) && (hcount < (Whole_line - h_Front_porch)))
&& ((vcount >= (v_Sync_pulse + v_Back_porch)) && (vcount < (Whole_frame - v_Front_porch)));
assign disp_RGB = (dat_act) ?  data : 3'h00;        

//************************显示数据处理部分*******************************
always @(posedge clock)
begin
case(switch[1:0])
2'd0: data <= h_dat;    //选择横彩条
2'd1: data <= v_dat;    //选择竖彩条
2'd2: data <= (v_dat ^ h_dat); //产生棋盘格
2'd3: data <= (v_dat ~^ h_dat); //产生棋盘格
endcase
end

always @(posedge clock) //产生竖彩条
begin
if(hcount < 223)
v_dat <= 3'h7;     //白   
else if(hcount < 303)
v_dat <= 3'h6; //黄
else if(hcount < 383)
v_dat <= 3'h5; //青
else if(hcount < 463)
v_dat <= 3'h4;   //绿
else if(hcount < 543)
v_dat <= 3'h3; //紫
else if(hcount < 623)
v_dat <= 3'h2; //红
else if(hcount < 703)
v_dat <= 3'h1; //蓝
else  
v_dat <= 3'h0; //黑
end

always @(posedge clock) //产生横彩条
begin
if(vcount < 94)
h_dat <= 3'h7;        //白
else if(vcount < 154)
h_dat <= 3'h6; //黄
else if(vcount < 214)
h_dat <= 3'h5; //青
else if(vcount < 274)
h_dat <= 3'h4;   //绿
else if(vcount < 334)
h_dat <= 3'h3; //紫
else if(vcount < 394)
h_dat <= 3'h2; //红
else if(vcount < 454)
h_dat <= 3'h1; //蓝
else  
h_dat <= 3'h0; //黑
end

endmodule
此帖出自FPGA/CPLD论坛

最新回复

TFT有些惧怕啊,一直没玩过  详情 回复 发表于 2013-5-17 19:51
点赞 关注
 

回复
举报

32

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
学习学习
此帖出自FPGA/CPLD论坛
 
 

回复

325

帖子

0

TA的资源

裸片初长成(初级)

板凳
 
很不错的帖子哈
此帖出自FPGA/CPLD论坛
个人签名科技应该让生活变得更简单!
 
 
 

回复

515

帖子

0

TA的资源

一粒金砂(中级)

4
 
确实不错,精神值得学习啊,对我们也有激励作用,不错,谢谢@@@
此帖出自FPGA/CPLD论坛
 
 
 

回复

1861

帖子

0

TA的资源

五彩晶圆(中级)

5
 
支持,一定支持,我是专门来顶的
此帖出自FPGA/CPLD论坛
个人签名有目的的学习是最有效的学习!
 
 
 

回复

5979

帖子

8

TA的资源

版主

6
 
ding~~~~~
此帖出自FPGA/CPLD论坛
 
 
 

回复

269

帖子

0

TA的资源

一粒金砂(中级)

7
 
精神不错,鼓励一下。
此帖出自FPGA/CPLD论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

8
 

学习

学习
此帖出自FPGA/CPLD论坛
 
 
 

回复

7228

帖子

192

TA的资源

五彩晶圆(高级)

9
 
MARK  正好要学啊
此帖出自FPGA/CPLD论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(高级)

10
 
看看
此帖出自FPGA/CPLD论坛
 
 
 

回复

107

帖子

0

TA的资源

一粒金砂(中级)

11
 
楼主强人呢,谦虚了吧?呵呵
此帖出自FPGA/CPLD论坛
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

12
 

楼主很谦虚啊!

此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(中级)

13
 
用电脑vga信号点的吧!
此帖出自FPGA/CPLD论坛
 
 
 

回复

269

帖子

0

TA的资源

纯净的硅(中级)

14
 
好东西,顶起
此帖出自FPGA/CPLD论坛
个人签名一个人,一本书,一杯茶,一帘梦。
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

15
 
学习楼主精神!
此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复

234

帖子

0

TA的资源

一粒金砂(高级)

16
 
恭喜楼主啊!
此帖出自FPGA/CPLD论坛
个人签名努力就有不清不楚的收获。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(高级)

17
 
最近刚开始弄FPGA,后续也要试试点亮LCD
此帖出自FPGA/CPLD论坛
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(初级)

18
 
很有参考价值啊~
此帖出自FPGA/CPLD论坛
 
 
 

回复

384

帖子

0

TA的资源

一粒金砂(中级)

19
 
顶一个
此帖出自FPGA/CPLD论坛
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(初级)

20
 
这个对我来说是乱码啊~~
此帖出自FPGA/CPLD论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表