EDA課程設計之乒乓球游戲機.doc_第1頁
EDA課程設計之乒乓球游戲機.doc_第2頁
EDA課程設計之乒乓球游戲機.doc_第3頁
EDA課程設計之乒乓球游戲機.doc_第4頁
EDA課程設計之乒乓球游戲機.doc_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

課程設計說明書 NO.16乒乓球游戲機1. 課程設計的目的 EDA技術是電子信息科學與技術專業(yè)學生在電子技術實驗技能方面綜合性質的實驗訓練課程,其目的和任務是通過一周的時間,讓學生掌握EDA的基本方法,熟悉一種EDA軟件(VHDL),并能利用EDA軟件設計一個電子技術綜合問題,為以后進行工程實際問題的研究打下設計基礎。2.設計方案論證2.1 EDA、VHDL簡介 EDA是指以計算機為工作平臺,融合了應用電子技術、計算機技術、智能化技術的最新成果而開發(fā)出的電子CAD通用軟件包,它根據(jù)硬件描述語言HDL完成的設計文件,自動完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局布線及仿真,直至完成對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。目前EDA主要輔助進行三個方面的設計工作:IC設計、電子電路設計和PCB設計。沒有EDA技術的支持,想要完成超大規(guī)模集成電路的設計制造是不可想象的;反過來,生產制造技術的不斷進步又必將對EDA技術提出新的要求。 VHDL語言是一種用于電路設計的高級語言。它在80年代的后期出現(xiàn)。最初是由美國國防部開發(fā)出來供美軍用來提高設計的可靠性和縮減開發(fā)周期的一種使用范圍較小的設計語言 。但是,由于它在一定程度上滿足了當時的設計需求,于是他在1987年成為A I/IEEE的標準(IEEE STD 1076-1987)。1993年更進一步修訂,變得更加完備,成為A I/IEEE的A I/IEEE STD 1076-1993標準。目前,大多數(shù)的CAD廠商出品的EDA軟件都兼容了這種標準。自IEEE公布了VHDL的標準版本,IEEE-1076(簡稱87版)之后,各EDA公司相繼推出了自己的VHDL設計環(huán)境,或宣布自己的設計工具可以和VHDL接口。此后VHDL在電子設計領域得到了廣泛的接受,并逐步取代了原有的非標準的硬件描述語言。1993年,IEEE對VHDL進行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴展VHDL的內容,公布了新版本的VHDL,即IEEE標準的1076-1993版本(簡稱93版)。現(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標準硬件描述語言,又得到眾多EDA公司的支持,在電子工程領域,已成為事實上的通用硬件描述語言。有專家認為,在新的世紀中,VHDL于Verilog語言將承擔起大部分的數(shù)字系統(tǒng)設計任務。VHDL的程序結構特點是將一項工程設計,用VHDL和原理圖輸入進行CPLD/FPGA設計的粗略比較:在設計中,如果采用原理圖輸入的設計方式是比較直觀的。你要設計的是什么,你就直接從庫中調出來用就行了。這樣比較符合人們的習慣。在對一個設計實體定義了外部界面后,一旦其內部開發(fā)完成后,其他的設計就可以直接調用這個實體。這種將設計實體分成內外部分的概念是VHDL系統(tǒng)設計的基本點。應用VHDL進行工程設計的優(yōu)點是多方面的。(1)與其他的硬件描述語言相比,VHDL具有更強的行為描述能力,從而決定了他成為系統(tǒng)設計領域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件結構,從邏輯行為上描述和設計大規(guī)模電子系統(tǒng)的重要保證。(2)VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設計早期就能查驗設計系統(tǒng)的功能可行性,隨時可對設計進行仿真模擬。(3)VHDL語句的行為描述能力和程序結構決定了他具有支持大規(guī)模設計的分解和已有設計的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn)。(4)對于用VHDL完成的一個確定的設計,可以利用EDA工具進行邏輯綜合和優(yōu)化,并自動的把VHDL描述設計轉變成門級網(wǎng)表。(5)VHDL對設計的描述具有相對獨立性,設計者可以不懂硬件的結構,也不必管理最終設計實現(xiàn)的目標器件是什么,而進行獨立的設計。2.2方案論證2.2.1乒乓游戲機的功能兩人乒乓游戲機能夠模擬乒乓球比賽的基本過程和規(guī)則,并能自動裁判和記分。乒乓游戲機是用8個發(fā)光二極管代表乒乓球臺,中間兩個發(fā)光二極管兼做乒乓球網(wǎng),用點亮的發(fā)光二極管按一定的方向移動來表示球的運動。在游戲機的兩側各設置兩個開關,一個是發(fā)球開關(S1a,S1b),另一個是擊球開關(S2a,S2b)。甲乙兩人按乒乓球比賽的規(guī)則來操作開關。當甲方按動發(fā)球開關S1a時,靠近甲方的第一盞燈亮,然后二極管由甲向乙依次點亮,代表乒乓球在移動。當球過網(wǎng)后,按設計者規(guī)定的球位乙方就可以擊球。若乙方提前擊球或者沒有擊著球,則判乙方失分,甲方記分牌自動加分。然后重新發(fā)球,比賽繼續(xù)進行。比賽一直進行到一方記分到11分,該局結束,記分牌清零,可以開始新的一局比賽。具體功能如下:(1)使用乒乓游戲機的甲乙雙方各在不同的位置發(fā)球或擊球。(2)乒乓球的位置和移動方向由燈亮及依次點燃的方向決定,球移動的速度為0.10.5s移動一位。游戲者根據(jù)球的位置發(fā)出相應的動作,提前擊球或者出界均判失分。(3)比賽用11分為一局來進行,甲乙雙方都應設置各自的記分牌,任何一方先記滿11分,該方就算勝了此局。記分牌清零后,又可開始新的一局比賽2.2.2乒乓游戲機設計思路根據(jù)乒乓游戲機功能要求,可以分成四個模塊來實現(xiàn),其中corna模塊為整個程序的核心,它實現(xiàn)了整個系統(tǒng)的全部邏輯功能;模塊CH41A在數(shù)碼的片選信號時,送出相應的數(shù)據(jù);模塊sel產生數(shù)碼管的片選信號;模塊disp是7段譯碼器。2.3乒乓球各模塊的設計2.3.1 控制模塊的設計 模塊CORNA 分兩個進程,第一個進程實現(xiàn)邏輯功能,第二個進程將整數(shù)的記分轉換為十進制數(shù),便于譯碼顯示。AF,AJ,BF,BJ分別為a方發(fā)球鍵和接球鍵,b方發(fā)球鍵和接球鍵,shift表示球所在的位置。其vhdl程序描述如下: 圖1 模塊CORNA1 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CORNAL IS PORT(clr,af,aj,bf,bj,clk:IN STD_LOGIC; shift:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); ah,al,bh,bl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); awin,bwin:OUT STD_LOGIC); END CORNAL; ARCHITECTURE behave OF CORNAL IS SIGNAL amark,bmark:INTEGER; BEGIN PROCESS(clr,clk) VARIABLE a,b:STD_LOGIC; VARIABLE she:STD_LOGIC_VECTOR(7DOWNTO0); BEGIN IFclr=0 THEN a:=0; b:=0; she:=”00000000” amark=0; bmark8THEN IF bj=0THEN amark=amark+1; a:=0; b:=0; she:=”00000000”; ELSE she:=0&she(7DOWNTO1); ENDIF; ELSIF she=0 THEN amark=amark+1; a:=0; b:=0; ELSE IF bj=0 THEN a:=0; b:=1; ELSE she:=0&she(7 DOWNTO 1); ENDIF; ENDIF; ELSIF a=0 and b=1 THEN IF she16 and she=0 THEN IF aj=0 THEN bmark=bmark+1; a:=0; b:=0; she:=”00000000”; ELSE she:=she(6 DOWNTO 0)&0; ENDIF; ELSIF she=0 THEN bmark=bmark+1; a:=0; b:=0; ELSE IF aj=0THEN a:=1; b:=0; ELSE she:=she(6 DOWNTO 0)&0; ENDIF; ENDIF; ENDIF; ENDIF; shifttmp1 THEN IF ala=”1001” THEN ala:=”0000”; aha:=aha+1; tmp1:=tmp1+1; ELSE ala:=ala+1; tmp1:=tmp1+1; ENDIF; ELSIF bmarktmp2 THEN IF bla=”1001” THEN bla:=”0000”; bha:=bha+1; tmp2:=tmp2+1; ELSE bla:=bla+1; tmp2:=tmp2+1; ENDIF; ENDIF; ENDIF; al=ala; bl=bla; ah=aha; bh=bha; awIN=t1; bwINqqqq=d3; END CASE; END PROCESS; END behav;2.3.3 產生數(shù)碼管片選信號模塊的設計產生數(shù)碼管片選信號模塊sel的vhdl程序描述如下: 圖3數(shù)碼管片選信號模塊sel LIBRARY IEEE; USE IEEE.S TD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY sel IS PORT(clk:IN STD_LOGIC; sell:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); END sel; ARCHITECTURE behav OF sel IS BEGIN PROCESS(clk) VARIABLE tmp:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN IF clkevent and clk=1 THEN IF tmp=”000” THEN tmp:=”001”; ELSIF tmp=”001” THEN tmp:=”100”; ELSIF tmp=”100” THEN tmp:=”101”; ELSIF tmp=”101” THEN tmp:=”000”; END IF; END IF; sellqqqqqqqqqq=”1101111”; END CASE; END PROCESS; END behav;3.設計結果與分析3.1系統(tǒng)的波形仿真 圖5所示為A方發(fā)球,在恰當?shù)臅r候B方接到球,當球回到A方時,A方又接到球,但B方再也沒有接到球的仿真波形。 圖5 乒乓球仿真波形一圖6所示為A方兩次發(fā)球,B方?jīng)]有接到球,A方得到2分的仿真波形圖 圖6乒乓球仿真波形二 圖7所示為A方發(fā)球,B方提前擊球的情況,此時,A方得一分。圖中還顯示了A方發(fā)球,B方在規(guī)定的時刻沒有接到球的情況,此時,A方又得一分。 圖7乒乓球仿真波形三 圖4所示為A方得分增加到11分的情況,此時awin輸出高電平,輸出分數(shù)保持不變。當清零信號按下時,得分清為零,awin輸出恢復低電平,又可以開始新的一局比賽。 圖8 乒乓球仿真波形四3.2乒乓游戲機頂層電路圖 圖9 乒乓游戲機電路圖 4.設計體會通過本課程的學習,能夠掌握EDA的基礎知識,進一步加深了對EDA的了解,讓我對它有了更加濃厚的興趣。特別是當每一個子模塊編寫調試成功時,心里特別的開心。但是在編寫頂層文件的程序時,遇到了不少問題,特別是各元件之間的連接,以及信號的定義,總是有錯誤,在細心的檢查下,終于找出了錯誤和警告,排除困難后,程序編譯就通過了,心里終于舒了一口氣。在波形仿真時,也能仿真正確了。 課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程軟件應用十分廣泛,因此學會應用此仿真軟件是十分必要的。 回顧起此次電路的課程設計,從選題到定稿,從理論到實踐,可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設計之后,一定把以前所學過的知識重新溫故。有時間多看看各方面書籍,拓寬知識面,不斷充實自我。不管怎么說這次的課程設計總算是順利的完成了,了解了軟件的用途。不過最后還得經(jīng)過老師的審查,在老師的指導下彌補自己的不足,這樣,這次的課程設計才會畫上一個完美的句點。5.參考文獻1朱正偉.EDA技術及應用M.清華大學出版社,2008.8 :30-36.2王松武.常用電路模塊分析與設計指導M

溫馨提示

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

評論

0/150

提交評論