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

📄 counter.v

📁 一些很好的FPGA设计实例
💻 V
字号:
module counter(EN,CLR,F_IN,F_OUT,Q0,Q1,Q2,Q3,Q4,Q5);

output [3:0] Q5,Q4,Q3,Q2,Q1,Q0;
output F_OUT;//超过量程提示用户注意
input  EN;//主要功能是门控模块根据外界量程的选择来控制计数器的工作情况
input  CLR;
input  F_IN;

reg [3:0] Q5,Q4,Q3,Q2,Q1,Q0;
reg F_OUT;

reg F_out0,F_out1,F_out2,F_out3,F_out4;

initial 
begin
  F_OUT <= 1'b0;
end

always @(posedge F_IN)
begin
  F_OUT <= 1'b0;
  if((EN == 1'b1)&&(CLR == 1'b0)&&(Q0 < 4'b1001))
  begin
    Q0 <= Q0 + 4'b0001;
	F_OUT <= 1'b0;
  end
  else
  begin
	Q0 <= 4'b0000;
	if((EN == 1'b1)&&(CLR == 1'b0)&&(Q1 < 4'b1001))
	begin
	  Q1 <= Q1 + 4'b0001;
	  F_OUT <= 1'b0;
	end
	else
	begin
	  Q1 <= 4'b0000;
	  if((EN == 1'b1)&&(CLR == 1'b0)&&(Q2 < 4'b1001))
	  begin  
	    Q2 <= Q2 + 4'b0001;
	    F_OUT <= 1'b0;
	  end
	  else
	  begin
		Q2 <= 4'b0000;
		if((EN == 1'b1)&&(CLR == 1'b0)&&(Q3 < 4'b1001))
		begin  
		  Q3 <= Q3 + 4'b0001;
		  F_OUT <= 1'b0;
		end
		else
		begin
		  Q3 <= 4'b0000;
		  if((EN == 1'b1)&&(CLR == 1'b0)&&(Q4 < 4'b1001))
		  begin  
		    Q4 <= Q4 + 4'b0001;
		    F_OUT <= 1'b0;
		  end
		  else
		  begin
		    Q4 <= 4'b0000;
		    if((EN == 1'b1)&&(CLR == 1'b0)&&(Q5 < 4'b1001))
		    begin  
		      Q5 <= Q5 + 4'b0001;
		      F_OUT <= 1'b0;
		    end
		    else
		    begin
		      Q5 <= 4'b0000;
			  F_OUT <= 1'b1;
            end
          end
        end
      end
    end
  end
end
endmodule

⌨️ 快捷键说明

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