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

乒乓球游戲機ISE,verilog代碼

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

1-230923230G5T5.doc

共1個文件

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

軟件:ISE

語言:Verilog

要求:

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

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

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

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

框圖.png

演示視頻:

部分代碼展示

module?pindpang(
input?clk,//系統(tǒng)時鐘
input?rst,//異步復(fù)位
input?in1,//右邊選手擊球信號
input?in2,//左邊選手擊球信號
input?score1,//右邊選手分數(shù)查詢信號
input?score2,//左邊選手分數(shù)查詢信號
output?reg?[3:0]?led//球運動軌跡及分數(shù)
);
wire?s0;//s0?和?s5?為球掉出桌外的信號
wire?s5;
wire?s1;//s1~s4?為球運動軌跡寄存器
wire?s2;
wire?s3;
wire?s4;
reg?[3:0]?R_score1=4'd0;
reg?[3:0]?R_score2=4'd0;
reg?turn_l=0;//移位信號寄存器信號
reg?turn_r=0;//移位信號寄存器信號
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è)計文檔(文檔點擊可下載):

1. 工程文件

2. 程序文件

3. 程序編譯

4. Testbench

5. 仿真圖

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

  • 1-230923230G5T5.doc
    下載

相關(guān)推薦