使用basys2开发板进行VGA图像输出时,图像边框老是出现锯齿,导致图像变形。求问大神怎么将边框锯齿消除?
![module vgaflash(clk,rst,red,green,blue,video_on,HS,VS,x,y);
input wire clk,rst;
output wire [2:0] red,green;
output wire [1:0] blue;
output wire HS,VS;
output wire video_on;
output wire [10:0] x,y;
reg [11:0] HS_CNT;// 行计数
reg [9:0] VS_CNT;//场计数
reg HS_reg, VS_reg;
always @(posedge clk,posedge rst)
if (rst)
begin
VS_CNT<=0;
HS_CNT<=0;
HS_reg<=1'b0;
VS_reg<=1'b0;
end
else
begin
if(857<=HS_CNT&&HS_CNT<=977) HS_reg<=0;//产生HS信号
else HS_reg<=1;
if(HS_CNT==1039)
begin
HS_CNT<=0;
if(VS_CNT==665) VS_CNT<=0;//VS计数
else VS_CNT<=VS_CNT+1;
end
else HS_CNT<=HS_CNT+1;//HS计数
if(638<=VS_CNT&&VS_CNT<=644) VS_reg<=0;//产生VS信号
else VS_reg<=1;
end
assign video_on=(HS_CNT<800)&&(VS_CNT<600);
assign HS=HS_reg;
assign VS=VS_reg;
assign x=HS_CNT;
assign y=VS_CNT;
//reg [7:0] ColorOutput;
parameter ColorOutput=8'b11111111;
/*wire HBlank,VBlank,Blank;
assign HBlank = ((HS >= 0) & (HS < 800)) ? 1'b0 : 1'b1;
assign VBlank = ((VS >= 0) & (VS < 600)) ? 1'b0 : 1'b1;
assign Blank = (video_on&&(HBlank == 1'b1 | VBlank == 1'b1)) ? 1'b1 : 1'b0;
assign red = (Blank == 1'b0) ? ColorOutput[7:5] : 3'b000;
assign green = (Blank == 1'b0) ? ColorOutput[4:2] : 3'b000;
assign blue = (Blank == 1'b0) ? ColorOutput[1:0] : 2'b00;*/
wire a_dis;
assign a_dis=((x>=200)&&(x<=220))&&((y>=140)&&(y<=460));
assign red=(video_on&&a_dis)?ColorOutput[7:5]:3'b000;
assign green=(video_on&&a_dis)?ColorOutput[4:2]:3'b000;
assign blue=(video_on&&a_dis)?ColorOutput[1:0]:3'b000;
endmodule
//ucf
NET "clk" LOC = "B8";
NET "rst" LOC = "C11";
NET "VS" LOC = "K13";
NET "HS" LOC = "J14";
NET "red" LOC = "C14";
NET "red" LOC = "D13";
NET "red" LOC = "F13";
NET "green" LOC = "F14";
NET "green" LOC = "G13";
NET "green" LOC = "G14";
NET "blue" LOC = "H13";
NET "blue" LOC = "J13";
图片说明](https://img-ask.csdn.net/upload/201607/21/1469092366_494857.jpg)