⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 savecon.v

📁 利用VERILOG编写的基于XILINX的SPARTAN板的VGA接口显示程序
💻 V
字号:
`timescale 1ns / 1psmodule savecon(clk, rst,date,but3,but4, counths, countvs, red, green, blue,addre2,web);    input clk;    input rst;	 input date;	 input [3:0] but3;	 input [3:0] but4;    input [9:0] counths;    input [9:0] countvs;    output [2:0] red;    output [2:0] green;    output [1:0] blue;//   output [14:0] addre1;    output [14:0] addre2;	 output web;	 wire web;	 reg  [2:0] red;	 reg  [2:0] green;	 reg  [1:0] blue;    reg  [14:0] addre1;	 reg  [14:0] addre2;	 reg dateb;	 reg [14:0] m;	 reg [14:0] n;	 reg [14:0] y;	 reg [14:0] z;	// reg [7:0] count160;	 reg  [14:0] b;
	 reg  [14:0] c;
	 //reg  [14:0] bian;	// reg [8:0] x;assign web=0;/*	 always@( posedge clk or negedge rst) begin   if(!rst)  	 addre2<=19199;	else	 begin	  if(countvs>181 &&countvs<302)  //qian bian 2 ge di dian ping	    begin		   if(counths>383 && counths<544) //qian bian 144 ge di dianping			  begin			    if(addre2==19199)				   addre2<=0;				 else				   begin					dateb<=1;				   addre2<=addre2+1;					end			  end			 else			   dateb<=0;		 end		else		 dateb<=0;	 end end */always@( posedge clk or negedge rst) begin   if(!rst)  	 addre1<=19199;	else	 begin	  if(countvs>181 &&countvs<302)  //qian bian 2 ge di dian ping	    begin		   if(counths>383 && counths<544) //qian bian 144 ge di dianping			  begin			    if(addre1==19199)				   begin
					addre1<=0;
					dateb<=1;
					end				 else				   begin					dateb<=1;				   addre1<=addre1+1;					end			  end			 else			  dateb<=0;		 end		else		 dateb<=0;	 end end
always@( posedge clk or negedge rst) begin   if(!rst)      begin		   addre2<=0;      z<=0;		y<=0;		//x<=0;		n<=0;		m<=0;		//b<=0;	  end    else	   begin	      if(countvs>181 &&countvs<302)  //qian bian 2 ge di dian ping	          begin		          if(counths>383 && counths<544) //qian bian 144 ge di dianping			          begin		                if(but4==1 || but4==0 ||but4==2)		                    begin			                   if(addre1==0)			                       begin											  y<=0;											  z<=0;											  m<=n;        											  addre2<=n;											if(but4==1 || but4==0)                                   begin																					     if(n==159 || n>159) 											    n<=0;												else												  begin 												  if(but4==0)												   n<=n+1;												  else 												   n<=n;				                          end                                    end                                 else if(but4==2)                                    begin                                      if(n==0)												    n<=159;													else													 n<=n-1;                                    end																							 end				                       else 		                              begin		                               if(addre1==160+y)				                           begin													 y<=y+160;				                            addre2<=160+m;					                         m<=m+160;				                           end			                          else				                           begin					                         if((addre2+1)==(z+160))					                             begin															  addre2<=z;															  z<=z+160;															end						                       else						                          addre2<=addre2+1;					                         end			                         end			                   end 		                 		                else if(but4==3)							    begin								    if(addre1==0)			                       begin										    if(n>19039) 											  n<=0;											 else											  n<=n+160;											 addre2<=n;										  end									 else									    begin									      if(addre2==19199)											   addre2<=0;											else										      addre2<=addre2+1;										 end								 end     		            else if(but4==4)							    begin								    if(addre1==0)			                       begin										    if(n>19040 ||n==0) 											  n<=19040;											 else											  n<=n-160;											 addre2<=n;										  end									 else									    begin									      if(addre2==19199)											   addre2<=0;											else										      addre2<=addre2+1;										 end								 end						 end						 				end      end end	  /* always@( posedge clk or negedge rst) begin   if(!rst)      begin	    red<=0;		 green<=0;		 blue<=0;     end	  	else	  begin	   if(counths<97)		   begin	       red<=0;		    green<=0;		    blue<=0;         end	    else if(date==1 && dateb==1)		   begin	       red<=7;		    green<=0;		    blue<=0;         end			 else		    begin	       red<=0;		    green<=0;		    blue<=3;         end		  end end*/always@( posedge clk or negedge rst) begin   if(!rst)      begin
	    b<=160;
		 c<=159;	    red<=0;		 green<=0;		 blue<=0;     end	  	else	  begin	   if(counths<97)		   begin	       red<=0;		    green<=0;		    blue<=0;         end
		 else if(dateb==1 &&((addre1>=0&&addre1<159)|| (addre1>19040&&addre1<19199)))
		    begin
			    red<=7;		       green<=1;		       blue<=0;
			 end
		 else if(dateb==1 &&(addre1==b))		    begin
			    if(b==19040)
				   b<=160;
				 else
				  b<=b+160;			    red<=7;		       green<=1;		       blue<=0;			 end
		 else if(dateb==1 &&(addre1==c))		    begin			    if(c==19199)				   c<=159;				 else				 c<=c+160;			    red<=7;		       green<=1;		       blue<=0;			 end	    else if(but3==0) 		   begin		     if(date==1 && dateb==1)		       begin	          red<=7;		       green<=0;		       blue<=0;             end			     else		       begin	          red<=0;		       green<=0;		       blue<=3;             end		      end		else if(but3==1) 		   begin		     if(date==1 && dateb==1)		       begin	          red<=7;		       green<=0;		       blue<=0;             end			     else		       begin	          red<=0;		       green<=7;		       blue<=0;             end		      end		else if(but3==2) 		   begin		     if(date==1 && dateb==1)		       begin	          red<=0;		       green<=7;		       blue<=0;             end			     else		       begin	          red<=1;		       green<=2;		       blue<=3;             end		      end		else if(but3==3) 		   begin		     if(date==1 && dateb==1)		       begin	          red<=7;		       green<=0;		       blue<=0;             end			     else		       begin	          red<=2;		       green<=5;		       blue<=1;             end		      end		else if(but3==4) 		   begin		     if(date==1 && dateb==1)		       begin	          red<=0;		       green<=7;		       blue<=0;             end			     else		       begin	          red<=0;		       green<=0;		       blue<=3;             end		      end		else if(but3==5) 		   begin		     if(date==1 && dateb==1)		       begin	          red<=0;		       green<=0;		       blue<=3;             end			     else		       begin	          red<=7;		       green<=0;		       blue<=0;             end		      end		else if(but3==6) 		   begin		     if(date==1 && dateb==1)		       begin	          red<=3;		       green<=6;		       blue<=2;             end			     else		       begin	          red<=1;		       green<=1;		       blue<=1;             end		      end		else if(but3==7) 		   begin		     if(date==1 && dateb==1)		       begin	          red<=0;		       green<=0;		       blue<=3;             end			     else		       begin	          red<=1;		       green<=1;		       blue<=0;             end		      end		else if(but3==8) 		   begin		     if(date==1 && dateb==1)		       begin	          red<=0;		       green<=7;		       blue<=0;             end			     else		       begin	          red<=0;		       green<=0;		       blue<=7;             end		      end		else if(but3==9) 		   begin		     if(date==1 && dateb==1)		       begin	          red<=6;		       green<=2;		       blue<=1;             end			     else		       begin	          red<=3;		       green<=1;		       blue<=3;             end		      end		else  		   begin		     if(date==1 && dateb==1)		       begin	          red<=0;		       green<=1;		       blue<=1;             end			     else		       begin	          red<=1;		       green<=2;		       blue<=3;             end		      end	 end endendmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -