|
計(jì)數(shù)器常用的例程
0.png (42.72 KB, 下載次數(shù): 91)
下載附件
2018-8-21 02:18 上傳
文件夾模版
prj為工程文件存放目錄
rtl為verilog可綜合代碼
img為設(shè)計(jì)相關(guān)圖片存放目錄(主要為了方便后期寫文檔)
doc為設(shè)計(jì)相關(guān)文檔存放目錄
testbench為對(duì)應(yīng)的testbench存放目錄
prj文件夾下的ip文件夾存放quartus ii中生成的ip核文件
計(jì)數(shù)器
LED,每500ms,狀態(tài)翻轉(zhuǎn)一次。
系統(tǒng)時(shí)鐘為50M,對(duì)應(yīng)周期為20ns
500ms = 500_000_000ns/20 = 25_000_000;
計(jì)數(shù)器每500ms清零一次。
0.jpg (20.5 KB, 下載次數(shù): 92)
下載附件
2018-8-21 02:19 上傳
Quartus_II源程序如下:
- module counter(Clk50M,Rst_n,led);
- input Clk50M; //系統(tǒng)時(shí)鐘,50M
- input Rst_n; //全局復(fù)位,低電平復(fù)位
-
- output reg led; //led輸出
-
- reg [24:0]cnt; //定義計(jì)數(shù)器寄存器
- //計(jì)數(shù)器計(jì)數(shù)進(jìn)程
- 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輸出控制進(jìn)程
- 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
復(fù)制代碼
所有資料51hei提供下載:
class5_counter_ip.rar
(8.89 KB, 下載次數(shù): 16)
2018-8-20 16:50 上傳
點(diǎn)擊文件名下載附件
IP核 下載積分: 黑幣 -5
class4_counter.rar
(239.24 KB, 下載次數(shù): 16)
2018-8-20 16:50 上傳
點(diǎn)擊文件名下載附件
計(jì)數(shù)器 下載積分: 黑幣 -5
|
|