名稱:ISE數(shù)字式競(jìng)賽搶答器Basys2開(kāi)發(fā)板verilog語(yǔ)言(代碼在文末下載)
軟件:ISE
語(yǔ)言:Verilog
代碼功能:
數(shù)字式競(jìng)賽搶答器具體要求:
(1)設(shè)計(jì)一個(gè)可容納3組參賽的數(shù)字式搶答器,每設(shè)個(gè)按鈕,供搶答使用。
(2)搶答器具有第一信號(hào)鑒別和鎖存功能,使除第一搶答者外的按鈕不起作用。
(3)設(shè)置一個(gè)主持人“復(fù)位”按鈕。
(4)主持人復(fù)位后,開(kāi)始搶答,第一信號(hào)鑒別鎖存電路得到信號(hào)后,有指示燈顯示搶答祖別,揚(yáng)聲器發(fā)出12秒的音響。
5)設(shè)置一個(gè)計(jì)分電路,每組開(kāi)始預(yù)置10分,由主持人記分,答對(duì)一次1分,答錯(cuò)一次減1分。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在Basys2開(kāi)發(fā)板驗(yàn)證,開(kāi)發(fā)板如下,其他開(kāi)發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 仿真圖
Testbench
仿真圖
部分代碼展示:
module?qiangdaqi?( input?clk,//時(shí)鐘 input?reset_p,//復(fù)位 input?add_key,//加分鍵 input?sub_key,//減分鍵 input?key_1,//搶答鍵 input?key_2,//搶答鍵 input?key_3,//搶答鍵 output?beep,//蜂鳴器 //3燈指示3個(gè)選手 output?led_1, output?led_2, output?led_3, output?[3:0]?weixuan,//位選 output?[7:0]?duanxian//段選 ); //按鍵消抖 wire?add_score; wire?sub_score; key_debounce?iadd_key_debounce( .?clk(clk), .?button_in(add_key),//輸入 .?button_neg(add_score)//消抖后按鍵下降沿 ); key_debounce?isub_key_debounce( .?clk(clk), .?button_in(sub_key),//輸入 .?button_neg(sub_score)//消抖后按鍵下降沿 ); wire?[3:0]?qiangda;//正常搶答 wire?[2:0]?state;//輸出狀態(tài) wire?[7:0]?score_1;//1號(hào)分?jǐn)?shù) wire?[7:0]?score_2;//2號(hào)分?jǐn)?shù) wire?[7:0]?score_3;//3號(hào)分?jǐn)?shù) //搶答器控制模塊 qiandda_ctrl?i_qiandda_ctrl( .?clk(clk), .?reset_p(reset_p), .?key_1(key_1), .?key_2(key_2), .?key_3(key_3), .?beep(beep), //3燈指示3個(gè)選手 .?led_1(led_1), .?led_2(led_2), .?led_3(led_3), .?state_out(state),//輸出狀態(tài) .?qiangda(qiangda)//正常搶答 ); //分?jǐn)?shù)統(tǒng)計(jì)模塊 score_crtl?i_score_crtl( .?clk(clk), .?state(state),//狀態(tài) .?add_score(add_score),//加分鍵 .?sub_score(sub_score),//減分鍵 .?score_1(score_1),//1號(hào)分?jǐn)?shù) .?score_2(score_2),//2號(hào)分?jǐn)?shù) .?score_3(score_3)//3號(hào)分?jǐn)?shù) ); //數(shù)碼管顯示 display?i_display( .?clk(clk), .?state(state),//狀態(tài) .?qiangda(qiangda),//正常搶答 .?score_1(score_1),//1號(hào)分?jǐn)?shù) .?score_2(score_2),//2號(hào)分?jǐn)?shù) .?score_3(score_3),//3號(hào)分?jǐn)?shù) .?weixuan(weixuan),//位選 .?duanxian(duanxian)//段選 ); endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=278