• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

Quartus秒表設(shè)計(jì)verilog代碼仿真

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

2-231222110Z9532.doc

共1個(gè)文件

名稱:Quartus秒表設(shè)計(jì)verilog代碼仿真

軟件:Quartus

語言:Verilog

代碼功能:

設(shè)計(jì)一個(gè)可記錄 60 秒時(shí)長的秒表,具有兩個(gè)控制按鍵 k0 和 k1,基本功能如下:

(1)按下 k0,計(jì)時(shí)開始;再次按下 k0,計(jì)時(shí)暫停;再次按下 k0,計(jì)時(shí)繼續(xù)。

(2)計(jì)時(shí)開始后,按下 k1,顯示暫停,即顯示的數(shù)字凍結(jié),內(nèi)部仍在計(jì)時(shí);再次按下 k1,顯示更新為新的計(jì)時(shí)時(shí)間,仍然凍結(jié),內(nèi)部仍繼續(xù)計(jì)時(shí)。

(3)計(jì)時(shí)暫停時(shí),按下 k1,計(jì)時(shí)復(fù)位清零。

(4)凍結(jié)顯示時(shí),按下 k0,恢復(fù)正常顯示。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

演示視頻:

設(shè)計(jì)文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. Testbench

6. 仿真圖

整體仿真圖

按鍵檢測模塊

分頻模塊

控制模塊

顯示模塊

部分代碼展示:

//設(shè)計(jì)一個(gè)可記錄?60?秒時(shí)長的秒表,具有兩個(gè)控制按鍵?k0?和?k1,基本功能如下:
//(1)按下?k0,計(jì)時(shí)開始;再次按下?k0,計(jì)時(shí)暫停;再次按下?k0,計(jì)時(shí)繼續(xù)。
//(2)計(jì)時(shí)開始后,按下?k1,顯示暫停,即顯示的數(shù)字凍結(jié),內(nèi)部仍在計(jì)時(shí);再次按
//下?k1,顯示更新為新的計(jì)時(shí)時(shí)間,仍然凍結(jié),內(nèi)部仍繼續(xù)計(jì)時(shí)。
//(3)計(jì)時(shí)暫停時(shí),按下?k1,計(jì)時(shí)復(fù)位清零。
//(4)凍結(jié)顯示時(shí),按下?k0,恢復(fù)正常顯示
module?Digital_clock(
input?clk_in,//有源晶振
input?k0,//啟動(dòng)//暫停
input?k1,//暫停//復(fù)位
output?[5:0]?bit_select,//數(shù)碼管位選,低電平有效
output?[7:0]?seg_select//數(shù)碼管段選,為低電平時(shí),相應(yīng)字段就點(diǎn)亮
);
wire?[7:0]?stopwatch_Millisecond;//10毫秒
wire?[7:0]?stopwatch_second;//秒
wire?[7:0]?stopwatch_minute;//分
wire?k0_n;//啟動(dòng)//暫停
wire?k1_n;//暫停//復(fù)位
wire?clk_100Hz;
//按鍵檢測
key_jitter?i0_key_jitter(
.?clkin(clk_in),
.?key_in(k0),//輸入
.?key_negedge(k0_n)//消抖后按鍵下降沿
);
//按鍵檢測
key_jitter?i1_key_jitter(
.?clkin(clk_in),
.?key_in(k1),//輸入
.?key_negedge(k1_n)//消抖后按鍵下降沿
);
//分頻模塊,產(chǎn)生100Hz用于秒表計(jì)時(shí)
fenping?fenping_Hz(
.?clk_in(clk_in),
.?clk_100Hz(clk_100Hz)//100Hz--對應(yīng)10ms
);
//
//秒表控制模塊
stopwatch?i_stopwatch(
.?clk_in(clk_in),
.?clk_100Hz(clk_100Hz),//100Hz--對應(yīng)10ms
.?k0(k0_n),//啟動(dòng)//暫停
.?k1(k1_n),//暫停//復(fù)位
.?stopwatch_Millisecond(stopwatch_Millisecond),//10毫秒
.?stopwatch_second(stopwatch_second),//秒
.?stopwatch_minute(stopwatch_minute)//分
);
//數(shù)碼管顯示模塊
display?i_display(
.?clk(clk_in),
.?stopwatch_Millisecond(stopwatch_Millisecond),//10毫秒
.?stopwatch_second(stopwatch_second),//秒
.?stopwatch_minute(stopwatch_minute),//分
.?bit_select(bit_select),//數(shù)碼管位選
.?seg_select(seg_select)//數(shù)碼管段選
);
endmodule

點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=395

  • 2-231222110Z9532.doc
    下載

相關(guān)推薦