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

VIVADO電子拔河比賽游戲機(jī)verilog代碼Nexys4開發(fā)板

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

2-231219163323R8.doc

共1個(gè)文件

名稱:VIVADO電子拔河比賽游戲機(jī)verilog代碼Nexys4開發(fā)板

軟件:VIVADO

語言:Verilog

代碼功能:

電子拔河比賽游戲機(jī)的設(shè)計(jì):

電子拔河游戲機(jī)供2~3人玩耍。由一排LED表示拔河的“電子繩”。初態(tài)時(shí)中間的LED亮。比賽時(shí)雙方通過按扭使中間亮的LED向己方移動(dòng),當(dāng)亮至某方最后一個(gè)LED時(shí),該方獲勝,并記分。

設(shè)計(jì)要求:

(1)比賽開始,由裁判下達(dá)比賽“開始”命令后,雙方才能輸入信號(hào)否則電路自鎖,輸入信號(hào)無效。

(2)“電子繩”至少由15個(gè)LED構(gòu)成,裁判下達(dá)比賽“開始”命令后,位于中間的LED亮。甲乙雙方通過按鍵輸入信號(hào),使發(fā)亮的LED向自己一方移動(dòng),并能阻止其向?qū)Ψ揭苿?dòng)。當(dāng)自己一方終點(diǎn)LED亮?xí)r,表示比賽結(jié)束。此時(shí)電路自鎖,保持當(dāng)前狀態(tài)不變,除非由裁判使電路復(fù)位。

(3)設(shè)計(jì)甲乙雙方自動(dòng)記分電路,在每次比賽結(jié)束時(shí)能自動(dòng)加分,用數(shù)碼管顯示得分。

注:附加功能根據(jù)本人能力自行添加(如可以自動(dòng)記錄比賽時(shí)間等等)

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

本代碼已在Nexys4開發(fā)板驗(yàn)證,Nexys4開發(fā)板如下,其他開發(fā)板可以修改管腳適配:

nexys4_ddr開發(fā)板.png

演示視頻:

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

Testbench

仿真圖

部分代碼展示:

`timescale?1ns?/?1ps
//拔河游戲
module?bahe_game(
input?clk_100M,//標(biāo)準(zhǔn)時(shí)鐘,100MHz
input?reset_n,//復(fù)位信號(hào),低有效?
input?restart,//裁判控制重新開始
input?player_1_key,//選手1
input?player_2_key,//選手2
output?[14:0]?led,//15個(gè)led
//數(shù)碼管顯示
output??[7:0]?seg_display,
output??[7:0]?bit_display
????);
wire?[7:0]?score_1;//選手1分?jǐn)?shù)
wire?[7:0]?score_2;//選手2分?jǐn)?shù)
wire?player_1;
wire?player_2;
key_debounce?U1_key_debounce(
?????.?clk(clk_100M),
?????.?button_in(player_1_key),//輸入
?.?button_posedge(player_1)//消抖后按鍵上升沿
);
key_debounce?U2_key_debounce(
?????.?clk(clk_100M),
?????.?button_in(player_2_key),//輸入
?.?button_posedge(player_2)//消抖后按鍵上升沿
);
bahe_ctrl?U_bahe_ctrl(
.?clk_100M(clk_100M),//標(biāo)準(zhǔn)時(shí)鐘,100MHz
.?reset_n(reset_n),//復(fù)位信號(hào),低有效?
.?restart(restart),//裁判控制重新開始
.?player_1(player_1),//選手1
.?player_2(player_2),//選手2
.?led(led),//15個(gè)led
.?score_1(score_1),//選手1分?jǐn)?shù)
.?score_2(score_2)//選手2分?jǐn)?shù)
);
display?U_display(
.?clk_100M(clk_100M),//標(biāo)準(zhǔn)時(shí)鐘,100MHz
.?reset_n(reset_n),//復(fù)位信號(hào),低有效?
.?score_1(score_1),//選手1分?jǐn)?shù)
.?score_2(score_2),//選手2分?jǐn)?shù)
//數(shù)碼管顯示
.?seg_display(seg_display),
.?bit_display(bit_display)
);
endmodule

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

  • 2-231219163323R8.doc
    下載

相關(guān)推薦