名稱:Quartus籃球比賽定時器verilog代碼青創(chuàng)QC-FPGA開發(fā)板
軟件:Quartus
語言:Verilog
代碼功能:
1. 定時時間為30秒,按遞減方式計時,每隔1秒定時器減1;
2. 定時器的時間用2位數(shù)碼管進行顯示;
3. 設置兩個外部控制開關,控制定時器的直接復位、啟動計時、暫停、連續(xù)計時;
4. 當定時器減到0時,保持計時器顯示為0,同時發(fā)出報警信號。
另外,本代碼還有支持24秒的工程文件。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在青創(chuàng)QC-FPGA開發(fā)板驗證,青創(chuàng)QC-FPGA開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
演示視頻:
設計文檔:
1. 工程文件
2. 頂層原理圖
3. 程序文件
編譯
4. 仿真圖
部分代碼展示:
//?1.?定時時間為30秒,按遞減方式計時,每隔1秒定時器減1。 //?2.?定時器的時間用2位數(shù)碼管進行顯示; //?3.?設置兩個外部控制開關,控制定時器的直接復位、啟動計時、暫停、連續(xù)計時; //?4.?當定時器減到0時,保持計時器顯示為0,同時發(fā)出報警信號。 //計數(shù)器 module?JISHUQI( input?clk_in,//時鐘 input?en_1s,//1秒使能 input?reset_n,//復位 input?enable,//開始,暫停 output?reg?alarm,//報警 output?[3:0]?second_ten,//秒十位 output?[3:0]?second_one//秒個位 ); reg?[3:0]?ten=4'd0; reg?[3:0]?one=4'd0; always@(posedge?clk_in?or?negedge?reset_n) if(reset_n==0)//復位 begin ten<=4'd3; one<=4'd0; alarm<=0; end else if(enable==1)//開始計時 if(en_1s==1)//1秒使能 if(ten==4'd0?&&?one==4'd0) begin ten<=4'd0; one<=4'd0; alarm<=1;//報警 end else?if(one==4'd0) begin ten<=ten-4'd1; one<=4'd9; alarm<=0; end else begin ten<=ten; one<=one-4'd1; alarm<=0; end else begin ten<=ten; one<=one; alarm<=alarm; end else?//暫停 begin ten<=ten; one<=one; alarm<=0; end assign?second_ten=ten; assign?second_one=one; endmodule
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=373
閱讀全文