minute_counter.v

来自「一些很好的FPGA设计实例」· Verilog 代码 · 共 31 行

V
31
字号
/* 分自动计时子模块*/
module minute_counter(EN,clk,minute_data1,minute_data0,EO);
/* 输入输出端口定义*/
output [3:0] minute_data1,minute_data0;
output EO;
input  clk,EN;
/* 数据类型定义*/
reg [3:0] minute_data1,minute_data0;
reg EO;
/* 实现60分钟的计时并且计到60分钟后自动进位*/
always @(posedge clk)
begin
  if(EN == 1'b1)
    begin
	  if(minute_data0 < 4'b1001)
		minute_data0 <= minute_data0 + 4'b1;
	  else
	  begin
		EO <= 1'b0;
		minute_data0 <= 4'b0;
		if(minute_data1 < 4'b0101)
		  minute_data1 <= minute_data1 + 4'b1;
		else
		begin
		  minute_data1 <= 4'b0;
		  EO <= 1'b1;
		end
	  end
	end
end
endmodule

⌨️ 快捷键说明

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