计数器常用的例程
文件夹模版
prj为工程文件存放目录
rtl为verilog可综合代码
img为设计相关图片存放目录(主要为了方便后期写文档)
doc为设计相关文档存放目录
testbench为对应的testbench存放目录
prj文件夹下的ip文件夹存放quartus ii中生成的ip核文件
计数器
LED,每500ms,状态翻转一次。
系统时钟为50M,对应周期为20ns
500ms = 500_000_000ns/20 = 25_000_000;
计数器每500ms清零一次。
Quartus_II源程序如下:
- module counter(Clk50M,Rst_n,led);
- input Clk50M; //系统时钟,50M
- input Rst_n; //全局复位,低电平复位
-
- output reg led; //led输出
-
- reg [24:0]cnt; //定义计数器寄存器
- //计数器计数进程
- always@(posedge Clk50M or negedge Rst_n)
- if(Rst_n == 1'b0)
- cnt <= 25'd0;
- //else if(cnt == 25'd24_999_999)
- else if(cnt == 25'd24_999)
- cnt <= 25'd0;
- else
- cnt <= cnt + 1'b1;
- //led输出控制进程
- always@(posedge Clk50M or negedge Rst_n)
- if(Rst_n == 1'b0)
- led <= 1'b1;
- //else if(cnt == 25'd24_999_999)
- else if(cnt == 25'd24_999)
- led <= ~led;
- else
- led <= led;
- endmodule
复制代码
所有资料51hei提供下载:
class5_counter_ip.rar
(8.89 KB, 下载次数: 16)
class4_counter.rar
(239.24 KB, 下载次数: 16)
|