綜合課程設(shè)計答辯——乒乓球游戲設(shè)計_第1頁
綜合課程設(shè)計答辯——乒乓球游戲設(shè)計_第2頁
綜合課程設(shè)計答辯——乒乓球游戲設(shè)計_第3頁
綜合課程設(shè)計答辯——乒乓球游戲設(shè)計_第4頁
綜合課程設(shè)計答辯——乒乓球游戲設(shè)計_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1 1設(shè)計中心設(shè)計中心2 2設(shè)計中心設(shè)計中心實現(xiàn)的功能:模擬路口交通燈的紅黃綠的變化實現(xiàn)的功能:模擬路口交通燈的紅黃綠的變化過程,用三個過程,用三個led燈顯示,并在數(shù)碼管上動態(tài)顯示,燈顯示,并在數(shù)碼管上動態(tài)顯示,紅的紅的30s,黃的,黃的5s,綠的,綠的30s.核心模塊:核心模塊:a.分頻模塊:將分頻模塊:將40M的系統(tǒng)時鐘分頻以得到的系統(tǒng)時鐘分頻以得到1hz的時鐘;的時鐘;b.計數(shù)模塊:一個是計數(shù)模塊:一個是30s的計數(shù),另一個是的計數(shù),另一個是5s的計數(shù)模塊;的計數(shù)模塊;c.動態(tài)掃描模塊:以動態(tài)掃描模塊:以10000為一個分界點(用的是系統(tǒng)時為一個分界點(用的是系統(tǒng)時鐘),用兩個數(shù)碼管動

2、態(tài)顯示鐘),用兩個數(shù)碼管動態(tài)顯示.實驗一:交通燈的控制實驗一:交通燈的控制3 3設(shè)計中心設(shè)計中心pulse: process(sysclk) -pulse 1svariable count:integer range 0 to 40000000;begin if clkevent and clk=1 then count:=count+1; if count=20000000 then clock=1; elsif count=40000000 then clock=0;count:=0; end if; end if;end process pulse;分頻的分頻的process:4 4設(shè)計

3、中心設(shè)計中心 實驗二:電子秒表實驗二:電子秒表實現(xiàn)功能:完成一個數(shù)字時鐘的設(shè)計,數(shù)字時鐘具有時,實現(xiàn)功能:完成一個數(shù)字時鐘的設(shè)計,數(shù)字時鐘具有時,分,秒的功能,使用分,秒的功能,使用8個數(shù)碼管,具有復位功能。個數(shù)碼管,具有復位功能。核心模塊:核心模塊:a.分頻模塊,與交通燈中類似,獲得分頻模塊,與交通燈中類似,獲得1hz的時鐘。的時鐘。b.計數(shù)模塊,有計數(shù)模塊,有10s,6s和和4s的計數(shù)模塊。的計數(shù)模塊。c.動態(tài)掃描模塊,仍然以動態(tài)掃描模塊,仍然以10000為一次掃描,動態(tài)的顯示為一次掃描,動態(tài)的顯示8個數(shù)碼管。個數(shù)碼管。5 5設(shè)計中心設(shè)計中心10s的計數(shù)模塊:的計數(shù)模塊:architect

4、ure art of cnt10 issignal cqi:std_logic_vector(3 downto 0);beginchange:process(clk,clr)beginif clr=1 then cqi=0000;elsif clkevent and clk=1 then if cqi=1001 then cqi=0000; else cqi=cqi+1;end if;end if;end process change;outshow:process(cqi)begin if cqi=0000 then co=1;else co=0;end if;end process out

5、show;cq=cqi;end architecture art;6 6設(shè)計中心設(shè)計中心 scan:process(clk)variable count :integer range 0 to 80000;begin if clkevent and clk=1 then count:=count+1;if count=10000 then en=11111110; outshow=num1;elsif count=20000 then en=11111101; outshow=num2;elsif count=30000 then en=11111011; outshow=num3;elsif

6、 count=40000 then en=11110111; outshow=num4;elsif count=50000 then en=11101111; outshow=num5;elsif count=60000 then en=11011111; outshow=num6;elsif count=70000 then en=10111111; outshow=num7;elsif count=80000 then en=01111111; outshow=num8; count:= 0; end if;end if;end process scan;動態(tài)掃描模塊:動態(tài)掃描模塊:7 7

7、設(shè)計中心設(shè)計中心 實現(xiàn)的功能:模擬打乒乓球的一個過程,比如發(fā)球,正確接球,錯誤接球?qū)崿F(xiàn)的功能:模擬打乒乓球的一個過程,比如發(fā)球,正確接球,錯誤接球?qū)Ψ降梅?,以及接不到球?qū)Ψ降梅?。用方得分,以及接不到球?qū)Ψ降梅?。?個個led燈的依次閃爍來表現(xiàn)球的方向,用兩燈的依次閃爍來表現(xiàn)球的方向,用兩個開關(guān)按鍵作為乒乓球拍,分別用兩個數(shù)碼管來顯示雙方的得分。如果一方接球個開關(guān)按鍵作為乒乓球拍,分別用兩個數(shù)碼管來顯示雙方的得分。如果一方接球失敗,蜂鳴器會響一聲,并且對方得一分。失敗,蜂鳴器會響一聲,并且對方得一分。實驗三:乒乓球游戲的模擬實驗三:乒乓球游戲的模擬(自選任務(wù))自選任務(wù))8 8設(shè)計中心設(shè)計中心核

8、心模塊:核心模塊:a.分頻模塊分頻模塊fengpin,該,該altera黑金開發(fā)板是黑金開發(fā)板是20Mhz時鐘,將其分頻得到時鐘,將其分頻得到0.5hz的時鐘(用于的時鐘(用于led燈的跳動)和燈的跳動)和2000hz的時鐘(用于動態(tài)掃描)。的時鐘(用于動態(tài)掃描)。b.乒乓球運動模塊乒乓球運動模塊ballpath(既(既led燈的依次跳轉(zhuǎn)),定義一個信號燈的依次跳轉(zhuǎn)),定義一個信號ballout一一開始復制開始復制“10000001”,每個時鐘移動一次,左移或者右移,則表明球的運,每個時鐘移動一次,左移或者右移,則表明球的運動。動。c.接球模塊接球模塊catcher,檢測按鍵的下降沿,若有下降

9、沿,則表明已經(jīng)發(fā)球或者正確接,檢測按鍵的下降沿,若有下降沿,則表明已經(jīng)發(fā)球或者正確接球球,賦相應(yīng)的值。(默認,賦相應(yīng)的值。(默認A與與B選手都可以在第四個選手都可以在第四個led燈閃過后允許接球,并且只有在燈閃過后允許接球,并且只有在自己的最后一個燈亮時為正確接球,否則錯誤接球)自己的最后一個燈亮時為正確接球,否則錯誤接球)d.方向控制模塊方向控制模塊myway,定義信號,定義信號way,若檢測到,若檢測到A發(fā)球或正確接球,則賦值發(fā)球或正確接球,則賦值1,表,表明向右,如檢測到明向右,如檢測到B發(fā)球或者正確接球,則賦值發(fā)球或者正確接球,則賦值0,表明向左。(,表明向左。(A在左邊,在左邊,B在

10、右邊)在右邊)e .主控制模塊主控制模塊ballctrl,用來協(xié)調(diào)處于發(fā)球狀態(tài),錯誤接球狀態(tài),正確接球或者未接,用來協(xié)調(diào)處于發(fā)球狀態(tài),錯誤接球狀態(tài),正確接球或者未接球狀態(tài)各個控制信號的轉(zhuǎn)換與賦值。球狀態(tài)各個控制信號的轉(zhuǎn)換與賦值。f.發(fā)聲模塊發(fā)聲模塊sound,若有一方選手錯誤接球或者不接球,則蜂鳴器響一聲,并且對方,若有一方選手錯誤接球或者不接球,則蜂鳴器響一聲,并且對方加一分。加一分。g.計數(shù)模塊計數(shù)模塊cnt,一個,一個10循環(huán)的計數(shù)與一個循環(huán)的計數(shù)與一個4循環(huán)的計數(shù),循環(huán)的計數(shù),10循環(huán)的計數(shù)驅(qū)動循環(huán)的計數(shù)驅(qū)動4循環(huán)的循環(huán)的計數(shù),一共可以計數(shù)計數(shù),一共可以計數(shù)40分。分。9 9設(shè)計中心設(shè)

11、計中心仿真情況(modelsim):A與與B互相正確接球的仿真:互相正確接球的仿真:A發(fā)球并且發(fā)球并且B錯誤接球的仿真:錯誤接球的仿真:1010設(shè)計中心設(shè)計中心B不接球的仿真:1111設(shè)計中心設(shè)計中心init : PROCESS BEGIN clr=1; wait for 80000*clk_cycle; clr=0; WAIT; END PROCESS init; clk_always : PROCESS BEGIN clk=0; wait for clk_cycle/2; clk=1; wait for clk_cycle/2; END PROCESS clk_always; racket

12、a_always:processbeginbain=0;wait for 600000*clk_cycle;bain=1;wait for 40000*clk_cycle;end process racketa_always;racketb_always:processbeginbbin=0;wait for 800000*clk_cycle;for i in 0 to 10000 loopbbin=1;wait for 40000*clk_cycle;bbin=0;wait for 640000*clk_cycle;end loop;end process racketb_always;en

13、d architecture pingpang_arch;用于仿真的用于仿真的testbench(其中(其中clk_cycle是是25ps):):1212設(shè)計中心設(shè)計中心乒乓球運動模塊乒乓球運動模塊ballpath: architecture art of ballpath is signal lamp:std_logic_vector(7 downto 0);beginshift:process(clk,clr,en)beginif clr=1 then lamp=10000001;elsif en=1 then if clkevent and clk=1 then if way=1 the

14、n lamp(6 downto 0)=lamp(7 downto 1);lamp(7)=0;else lamp(7 downto 1)=lamp(6 downto 0);lamp(0)=0;end if;end if;end if;end process shift;judge:process(lamp)begin if clkevent and clk=1 thenif way=1 then if lamp(7 downto 0)=00000001 then noreply_clr=1;else noreply_clr=0;end if;else if lamp(7 downto 0)=10

15、000000 then noreply_clr=1;else noreply_clr=0;end if;end if;end if;end process judge;ballout=lamp(6 downto 1);end architecture art;1313設(shè)計中心設(shè)計中心architecture art of catchera isbeginprocess(bclk,net,noreply_clr)beginif noreply_clr=1 then if way=0 then couclk=1;end if;elseif net=1 then serclk=0;couclk=0;

16、elsif bclkevent and bclk=0 then if serve=1 then serclk=1;elsif ball=1 then serclk=1;else serclk=0; couclk=1;end if;end if;end if;end process;end architecture art;接球模塊接球模塊catcher:1414設(shè)計中心設(shè)計中心architecture art of ballctrl issignal bd:std_logic;signal ser:std_logic;beginbd=bain and bbin;ser=serclka or s

17、erclkb;serclk=ser;bdout=bd;process(clk,clr,bd,noreply_clr)beginif clr=1 then serve=1;ballclr=1;ballen=0;elsif noreply_clr=1 then ballen=0;serve=1;ballclr=1;elsif clkevent and clk=1 thenifbd=0 then ballclr=1;if ser=1 then ballen=1;serve=0;else ballen=0; serve=1;end if;else ballclr=0;end if;end if;end

18、 process;end architecture art;主控制模塊主控制模塊ballctrl:1515設(shè)計中心設(shè)計中心architecture art of myway isbeginprocess(servea,serveb)beginif servea=1 then way=1;elsif serveb=1 then way=0;end if;end process;end architecture art;architecture art of sound isbeginspeak:process(noreply,clr,ballen,bdout,clk)begin if clr=1

19、 then sout=1;-else sout=1;-elsif clkevent and clk=1 thenelsif noreply=1 then sout=0;elsesout =clk or ballen or bdout;end if;-end if;end process speak;end architecture art;方向控制模塊方向控制模塊myway:發(fā)聲模塊發(fā)聲模塊sound:1616設(shè)計中心設(shè)計中心net=bbll(3);ballout=bbll;-bbll_a=bbll(5);-bbll_b=bbll(0);u1:fenpin port map(clk,clkscan,clkmove);u2_a:cat

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論