名稱:籃球計(jì)分系統(tǒng)Verilog代碼Quartus? 開發(fā)板
軟件:Quartus
語言:Verilog
代碼功能:
要求:
(1)向上撥動(dòng)撥動(dòng)開關(guān)K1后開始計(jì)分,初始分?jǐn)?shù)均為00,紅燈和綠燈均同時(shí)點(diǎn)亮,按下按鍵S1,則紅隊(duì)加1分;按下按鍵S2,則紅隊(duì)加2分;按下按鍵S3,則紅隊(duì)加3分;按下按鍵S4,則綠隊(duì)加1分;按下按鍵S5,則綠隊(duì)加2分;按下按鍵S6,則綠隊(duì)加3分。向下?lián)軇?dòng)回開關(guān)K1,計(jì)分結(jié)束,此時(shí)不論按任何按鍵兩隊(duì)分?jǐn)?shù)都不在改變。同時(shí)分?jǐn)?shù)高的隊(duì)伍燈以2HZ頻率閃爍。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在開發(fā)板驗(yàn)證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. 頂層block圖
5. 管腳圖
6. 仿真圖
分頻模塊
消抖模塊
加分模塊
顯示模塊
部分代碼展示:
//分?jǐn)?shù)累加模塊 module?add_score( input?clk_1KHz,//1KHz input?K1,//撥動(dòng)開關(guān)K1后開始計(jì)分 input?clk_2Hz,//2Hz信號(hào) input?S1_add,//紅隊(duì)加1分 input?S2_add,//紅隊(duì)加2分 input?S3_add,//紅隊(duì)加3分 input?S4_add,//綠隊(duì)加1分 input?S5_add,//綠隊(duì)加2分 input?S6_add,//綠隊(duì)加3分 output?reg?LED_red,//紅隊(duì)燈 output?reg?LED_green,//綠隊(duì)燈 output?[7:0]?score_red,//紅隊(duì)分 output?[7:0]?score_green//綠隊(duì)分 ); reg?[7:0]?score_red_buf=8'd0;//紅隊(duì)分 reg?[7:0]?score_green_buf=8'd0;//綠隊(duì)分 always@(posedge?clk_1KHz) if(K1==1)//計(jì)分使能 if(S1_add) score_red_buf<=score_red_buf+1;//紅隊(duì)加1分 else?if(S2_add) score_red_buf<=score_red_buf+2;//紅隊(duì)加2分 else?if(S3_add) score_red_buf<=score_red_buf+3;//紅隊(duì)加3分 always@(posedge?clk_1KHz) if(K1==1)//計(jì)分使能 if(S4_add) score_green_buf<=score_green_buf+1;//綠隊(duì)加1分 else?if(S5_add) score_green_buf<=score_green_buf+2;//綠隊(duì)加2分 else?if(S6_add) score_green_buf<=score_green_buf+3;//綠隊(duì)加3分 assign?score_red=score_red_buf; assign?score_green=score_green_buf; //LED燈控制 always@(posedge?clk_1KHz) if(K1==1)//亮 begin LED_red<=1; LED_green<=1; end else?//分?jǐn)?shù)高的閃爍 if(score_red>score_green) begin LED_red<=clk_2Hz;//紅燈閃爍 LED_green<=1; end else?if(score_red<score_green) begin LED_red<=1; LED_green<=clk_2Hz;//綠燈閃爍 end endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=556