微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > VGA显示不出颜色

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

快速扫了一遍,没看到错误。但是我想问你,你使用的时钟频率是多少?需要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了吗?我想知道小编是怎么解决这个问题的,现在我也在做这个,跟你一样的问题

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top