VGA显示不出颜色
时间:10-02
整理:3721RD
点击:
本人菜鸟一枚,刚学FPGA,在做VGA显示程序的时候总是不出颜色,但是屏幕被点亮了,只是显示不出颜色,已经调了好几天了,是在没辙啊,求大神的帮助,谢谢了!
这是我的程序,程序是从网上找的然后自己作了些修改:640×480@60
module displayVGA( rst_n,
clk,
r,
g,
b,
hsync,
vsync,
valid,
x_cnt,
y_cnt
);
input rst_n ;
input clk ;
output hsync ;
output vsync ;
output valid ;
output [10:0] x_cnt ;
output [10:0] y_cnt ;
output[7:0] r;
output[7:0] g;
output[7:0] b;
reg hsync ;
reg vsync ;
reg valid ;
reg [9:0] x_cnt ;
reg [9:0] y_cnt ;
reg clk_vga;
assign r=valid?8'hff:0;
assign g=valid?8'hff:0;
assign b=valid?8'hff:0;
always @ ( posedge clk or negedge rst_n )
if ( !rst_n )
clk_vga 11'd144 ) && ( x_cnt 11'd35) && ( y_cnt = 11'd183) & (x_cnt 10'd30) & (y_cnt = 10'd30) & (y_cnt <= 10'd630);
//--------------------------------------------------
// VGA色彩信号产生
reg[7:0] vga_rgb; // VGA色彩显示寄存器
always @ (posedge clk)
if(!valid) vga_rgb <= 8'd0;
else vga_rgb <= dis_data;
//r,g,b控制液晶屏颜色显示
assign vga_r = vga_rgb[2:0];
assign vga_g = vga_rgb[5:3];
assign vga_b = vga_rgb[7:6];
endmodule
这是我的程序,程序是从网上找的然后自己作了些修改:640×480@60
module displayVGA( rst_n,
clk,
r,
g,
b,
hsync,
vsync,
valid,
x_cnt,
y_cnt
);
input rst_n ;
input clk ;
output hsync ;
output vsync ;
output valid ;
output [10:0] x_cnt ;
output [10:0] y_cnt ;
output[7:0] r;
output[7:0] g;
output[7:0] b;
reg hsync ;
reg vsync ;
reg valid ;
reg [9:0] x_cnt ;
reg [9:0] y_cnt ;
reg clk_vga;
assign r=valid?8'hff:0;
assign g=valid?8'hff:0;
assign b=valid?8'hff:0;
always @ ( posedge clk or negedge rst_n )
if ( !rst_n )
clk_vga 11'd144 ) && ( x_cnt 11'd35) && ( y_cnt = 11'd183) & (x_cnt 10'd30) & (y_cnt = 10'd30) & (y_cnt <= 10'd630);
//--------------------------------------------------
// VGA色彩信号产生
reg[7:0] vga_rgb; // VGA色彩显示寄存器
always @ (posedge clk)
if(!valid) vga_rgb <= 8'd0;
else vga_rgb <= dis_data;
//r,g,b控制液晶屏颜色显示
assign vga_r = vga_rgb[2:0];
assign vga_g = vga_rgb[5:3];
assign vga_b = vga_rgb[7:6];
endmodule
快速扫了一遍,没看到错误。但是我想问你,你使用的时钟频率是多少?需要25MHz哦。
只看这一句,就知道你肯定看不到彩色,因为会显示白色或者黑色,三个通道都是255或0。
assign r=valid?8'hff:0;
assign g=valid?8'hff:0;
assign b=valid?8'hff:0;
谢谢啊,找到错误了,有一个控制信号没有接引脚。
谢谢啊,找到错误了,有一个控制信号没有接引脚。时钟是50的,所以进行了分频啊,也就是25了
我是想显示白色的啊,当时就是显示不出来,还好现在找到错误了,有一个控制信号没有接引脚。还是谢谢你的帮助啊
你好,我这里也出现了这个问题,你说的控制信号没有接引脚是指dis_ctrl吧,但是原程序中不是给它赋值1‘b1了吗?我想知道小编是怎么解决这个问题的,现在我也在做这个,跟你一样的问题