|
本帖最后由 ChrisChan 于 2012-4-15 22:44 编辑
本人菜鸟,FPGA尚未入门,遇到问题,还请菜鸟,大虾们各种指点...
话说大家应该都熟悉这段代码的:(640*480下显示256种43*30的颜色块)- reg[7:0] VGA_RGB_r;
- always @(posedge clk or negedge rst_n)
- if(!rst_n) VGA_RGB_r <= 8'd0;
- else if(Valid_sig)
- case(X_Addr)
- 11'd0: if(Y_Addr>=11'd0 && Y_Addr<11'd30) VGA_RGB_r <= 8'd0;
- else if(Y_Addr>=11'd30 && Y_Addr<11'd60) VGA_RGB_r <= 8'd16;
- else if(Y_Addr>=11'd60 && Y_Addr<11'd90) VGA_RGB_r <= 8'd32;
- else if(Y_Addr>=11'd90 && Y_Addr<11'd120) VGA_RGB_r <= 8'd48;
- else if(Y_Addr>=11'd120 && Y_Addr<11'd150) VGA_RGB_r <= 8'd64;
- else if(Y_Addr>=11'd150 && Y_Addr<11'd180) VGA_RGB_r <= 8'd80;
- else if(Y_Addr>=11'd180 && Y_Addr<11'd210) VGA_RGB_r <= 8'd96;
- else if(Y_Addr>=11'd210 && Y_Addr<11'd240) VGA_RGB_r <= 8'd112;
- else if(Y_Addr>=11'd240 && Y_Addr<11'd270) VGA_RGB_r <= 8'd128;
- else if(Y_Addr>=11'd270 && Y_Addr<11'd300) VGA_RGB_r <= 8'd144;
- else if(Y_Addr>=11'd300 && Y_Addr<11'd330) VGA_RGB_r <= 8'd160;
- else if(Y_Addr>=11'd330 && Y_Addr<11'd360) VGA_RGB_r <= 8'd176;
- else if(Y_Addr>=11'd360 && Y_Addr<11'd390) VGA_RGB_r <= 8'd192;
- else if(Y_Addr>=11'd390 && Y_Addr<11'd420) VGA_RGB_r <= 8'd208;
- else if(Y_Addr>=11'd420 && Y_Addr<11'd450) VGA_RGB_r <= 8'd224;
- else VGA_RGB_r <= 8'd240;
- 11'd40,11'd80,11'd120,11'd160,11'd200,11'd240,11'd280,11'd320,
- 11'd360,11'd400,11'd440,11'd480,11'd520,11'd560,11'd600,11'd640:
- VGA_RGB_r <= VGA_RGB_r+1'b1;
- default:;
- endcase
- else VGA_RGB_r <= 8'd0;
-
- assign VGA_RGB = VGA_RGB_r;
复制代码 以上是关键部分代码,问题在第28行,开始自己写代码时不小心忘记写了,最后折腾半天,加上非显示区RGB8位置0这条代码后,结果显示成功了...
但自己想不明白这是什么微妙关系...
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|