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

乒乓球游戲機(jī)ISE,verilog代碼

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

1-230923230G5T5.doc

共1個(gè)文件

名稱:乒乓球游戲機(jī)(代碼在文末付費(fèi)下載)

軟件:ISE

語(yǔ)言:Verilog

要求:

設(shè)計(jì)一個(gè)由兩人參賽的乒乓球游戲機(jī),用?4?個(gè)?LED?排成一條直線,兩邊各?代表參賽雙方的位置,其中一只點(diǎn)亮的?LED?指示球的當(dāng)前位置,點(diǎn)亮的?LED?一?次從左到右,或者從右到左,其移動(dòng)速度應(yīng)能調(diào)節(jié)。

當(dāng)“球”將運(yùn)動(dòng)到某方的最 后一位時(shí),參賽者應(yīng)能果斷地按下位于自己一方的按鈕開(kāi)關(guān),即表示啟動(dòng)球拍擊球,若擊中,則球向相反方向移動(dòng);若未擊中,球掉出桌外,則對(duì)方得一分。

雙方各設(shè)一個(gè) LED?表示擁有發(fā)球權(quán),每隔兩次自動(dòng)交換發(fā)球權(quán),擁有發(fā)球權(quán)的一?方發(fā)球才有效。

設(shè)置計(jì)分電路,其中參賽選手各有一個(gè)可顯示自己當(dāng)前分?jǐn)?shù)的按鈕,當(dāng)按下個(gè)人分?jǐn)?shù)按鈕,可用 LED?燈顯示自己分?jǐn)?shù),當(dāng)某一方率先達(dá)到?11?分時(shí),所有 LED?燈閃爍,表示比賽結(jié)束。

框圖.png

演示視頻:

部分代碼展示

module?pindpang(
input?clk,//系統(tǒng)時(shí)鐘
input?rst,//異步復(fù)位
input?in1,//右邊選手擊球信號(hào)
input?in2,//左邊選手擊球信號(hào)
input?score1,//右邊選手分?jǐn)?shù)查詢信號(hào)
input?score2,//左邊選手分?jǐn)?shù)查詢信號(hào)
output?reg?[3:0]?led//球運(yùn)動(dòng)軌跡及分?jǐn)?shù)
);
wire?s0;//s0?和?s5?為球掉出桌外的信號(hào)
wire?s5;
wire?s1;//s1~s4?為球運(yùn)動(dòng)軌跡寄存器
wire?s2;
wire?s3;
wire?s4;
reg?[3:0]?R_score1=4'd0;
reg?[3:0]?R_score2=4'd0;
reg?turn_l=0;//移位信號(hào)寄存器信號(hào)
reg?turn_r=0;//移位信號(hào)寄存器信號(hào)
reg?right1=0;//發(fā)球權(quán)
reg?right2=0;//發(fā)球權(quán)
reg?[2:0]?state=3'd0;
parameter?s_idle_L=3'd1;
parameter?s_idle_R=3'd2;
parameter?s_turn_L=3'd3;
parameter?s_turn_R=3'd4;

設(shè)計(jì)文檔(文檔點(diǎn)擊可下載):

1. 工程文件

2. 程序文件

3. 程序編譯

4. Testbench

5. 仿真圖

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

  • 1-230923230G5T5.doc
    下載

相關(guān)推薦