`timescale 1ns / 1ps
|
`timescale 1ns / 1ps
|
//////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////
|
// Company:
|
// Company:
|
// Engineer:
|
// Engineer:
|
//
|
//
|
// Create Date: 17:20:09 11/19/2008
|
// Create Date: 17:20:09 11/19/2008
|
// Design Name:
|
// Design Name:
|
// Module Name: vga_display
|
// Module Name: vga_display
|
// Project Name:
|
// Project Name:
|
// Target Devices:
|
// Target Devices:
|
// Tool versions:
|
// Tool versions:
|
// Description:
|
// Description:
|
//
|
//
|
// Dependencies:
|
// Dependencies:
|
//
|
//
|
// Revision:
|
// Revision:
|
// Revision 0.01 - File Created
|
// Revision 0.01 - File Created
|
// Additional Comments:
|
// Additional Comments:
|
//
|
//
|
//////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////
|
module vga_display(reset,pixel_clk,blank,red_in,blue_in,green_in,hcounter,vcounter,red_out,green_out,blue_out,count);
|
module vga_display(reset,pixel_clk,blank,red_in,blue_in,green_in,hcounter,vcounter,red_out,green_out,blue_out,count);
|
|
|
//Inputs
|
//Inputs
|
input pixel_clk,reset,blank,count;
|
input pixel_clk,reset,blank,count;
|
input red_in,blue_in,green_in;
|
input red_in,blue_in,green_in;
|
input [10:0] hcounter, vcounter;
|
input [10:0] hcounter, vcounter;
|
|
|
//Outputs
|
//Outputs
|
output red_out,green_out,blue_out;
|
output red_out,green_out,blue_out;
|
|
|
//regs
|
//regs
|
reg red_out, green_out, blue_out;
|
reg red_out, green_out, blue_out;
|
|
|
|
|
//parameters
|
//parameters
|
parameter [8:0] xpos_start = 192;
|
parameter [8:0] xpos_start = 192;
|
parameter [8:0] ypos_start = 48;
|
parameter [8:0] ypos_start = 48;
|
parameter [8:0] xpos_end = 448;
|
parameter [8:0] xpos_end = 448;
|
parameter [8:0] ypos_end = 432;
|
parameter [8:0] ypos_end = 432;
|
|
|
parameter [8:0] score_pos = 450;
|
parameter [8:0] score_pos = 450;
|
|
|
always @ (posedge pixel_clk)
|
always @ (posedge pixel_clk)
|
begin
|
begin
|
if(count == 1) begin
|
if(count == 1) begin
|
if(blank | reset) begin
|
if(blank | reset) begin
|
red_out <= 0;
|
red_out <= 0;
|
green_out <= 0;
|
green_out <= 0;
|
blue_out <= 0;
|
blue_out <= 0;
|
end
|
end
|
|
|
else if(vcounter >= ypos_start && vcounter < ypos_end) begin
|
else if(vcounter >= ypos_start && vcounter < ypos_end) begin
|
if(hcounter >= xpos_start && hcounter < xpos_end)
|
if(hcounter >= xpos_start && hcounter < xpos_end)
|
begin
|
begin
|
red_out <= red_in;
|
red_out <= red_in;
|
green_out <= green_in;
|
green_out <= green_in;
|
blue_out <= blue_in;
|
blue_out <= blue_in;
|
end
|
end
|
else
|
else
|
begin
|
begin
|
red_out <= 1;
|
red_out <= 1;
|
green_out <= 1;
|
green_out <= 1;
|
blue_out <= 0;
|
blue_out <= 0;
|
end
|
end
|
end
|
end
|
|
|
else
|
else
|
begin
|
begin
|
red_out <= 1;
|
red_out <= 1;
|
green_out <= 1;
|
green_out <= 1;
|
blue_out <= 0;
|
blue_out <= 0;
|
end
|
end
|
end
|
end
|
end
|
end
|
|
|
|
|
endmodule
|
endmodule
|
|
|