【正文】
程邏輯設(shè)計環(huán)境,利用VHDL語言設(shè)計的乒乓球游戲機,較成功的完成了預(yù)期的效果,能夠正確判斷與顯示乒乓球的位置,并能自動裁判和記分的裝置。 乒乓球游戲機波形仿真圖二甲在state為狀態(tài)6的時候擊球了,在圖上hit1在此時刻出現(xiàn)高電平,看到state轉(zhuǎn)移到了狀態(tài)2。由light端口輸出的高電平驅(qū)動芯片以外的發(fā)光二極管使之點亮,這樣就可以通過發(fā)光二極管模擬乒乓球的運動軌跡。Score21(2)同理。狀態(tài)機中的i信號和count1,count2信號的變化同時就可以影響到外圍的顯示部分發(fā)光二極管和七段譯碼器,從而表示出當時的乒乓球位置和雙方分數(shù)情況。 用七段譯碼器顯示乙的分數(shù)end game。 調(diào)用記分譯碼器beginprocess(clk) 狀態(tài)機進程begin……end process。bcdout1:out std_logic_vector(1 to 7)。設(shè)置7個狀態(tài),為枚舉數(shù)據(jù)類型,記為pingpong signal state:pingpong。end m。 如果5位二進制碼不在0到21范圍內(nèi),那么兩個七段譯碼器都顯示0when others=bcdout1=1101101。 把20到21的5位二進制碼轉(zhuǎn)換成七段譯碼when10100=bcdout1=1101101。when10010=bcdout1=0110000。when10000=bcdout1=0110000。when01101=bcdout1=0110000。when00000=bcdout1=0110000。把10到19的5位二進制碼轉(zhuǎn)換成七段譯碼when01010=bcdout1=0110000。when01000=bcdout1=1111110。when00110=bcdout1=1111110。when00100=bcdout1=1111110。when00010=bcdout1=1111110。case tembinaryin is 把0到9的5位二進制碼轉(zhuǎn)換成七段譯碼when00000=bcdout1=1111110。 七段譯碼器輸出端口bcdout2:out std_logic_vector(1 to 7))。use 。而狀態(tài)機中的記分是由5位二進制碼來表示的,即count1和count2。end process。end if。state=ballmoveto1。end if。state=ballowto2。end if。state=waitserve。when ballmoveto2= 進程處于球向乙移動狀態(tài)if hit2=39。elsif i=2 then i=1。139。state=waitserve。if hit=39。state=waitserve。when light1on= 進程處于第一盞燈亮狀態(tài)i=2if hit2=39。state=light8on。= i=1。 theni=0。count100000。elsif clk39。139。在波形模擬圖中是用數(shù)值來表示狀態(tài)的。 發(fā)球輸入端口hit1,hit2:int std_logic。 //引用必要的庫函數(shù)和包集合entity pingponggame is 實體名為pingponggame port(reset:int std_logic。實體的設(shè)計如下:library ieee。以下我們就詳細解析各個板快的設(shè)計與實現(xiàn)。在“第一盞燈亮狀態(tài)”, “球向乙移動狀態(tài)”中,如果乙擊球了 ,就算提前擊球,這樣甲得分,狀態(tài)轉(zhuǎn)移到“等待發(fā)球狀態(tài)”等待發(fā)球,“ 球向甲移動狀態(tài)”之后的過程和前面的過程只不過是甲乙角色的調(diào)換而已。這是該程序中起決定作用的七個狀態(tài)。(4)對于用VHDL完成的一個確定的設(shè)計,可以利用EDA工具進行邏輯綜合和優(yōu)化,并自動的把VHDL描述設(shè)計轉(zhuǎn)變成門級網(wǎng)表。強大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計大規(guī)模電子系統(tǒng)的重要保證。在對一個設(shè)計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實體。專家認為,在新的世紀中,VHDL于Verilog語言將承擔起大部分的數(shù)字系統(tǒng)設(shè)計任務(wù)。自IEEE公布了VHDL的標準版本,IEEE1076(簡稱87版)之后,各EDA公司相繼推出了自己的VHDL設(shè)計環(huán)境,或宣布自己的設(shè)計工具可以和VHDL接口。設(shè)計者可利用HDL程序來描述所希望的電路系統(tǒng),規(guī)定器件結(jié)構(gòu)特征和電路的行為方式;然后利用綜合器和適配器將此程序編程能控制FPGA和CPLD內(nèi)部結(jié)構(gòu),并實現(xiàn)相應(yīng)邏輯功能的的門級或更底層的結(jié)構(gòu)網(wǎng)表文件或下載文件。CAE的主要功能是:原理圖輸入,邏輯仿真,電路分析,自動布局布線,PCB后分析。EDA技術(shù)已有30年的發(fā)展歷程,大致可分為三個階段。若乙方提前擊球或者未擊到球,則甲方得分。(2) 用8個(或更多個)LED排成一條直線,以中點為界,兩人乒乓游戲機是用8個發(fā)光二極管代表乒乓球臺,中間兩個發(fā)光二極管兼做乒乓球網(wǎng),用點亮的發(fā)光二極管按一定方向移動來表示球的運動,在游戲機的兩側(cè)個設(shè)置發(fā)球和擊球開關(guān),甲乙雙方按乒乓球比賽規(guī)則來操作開關(guān)。 課題設(shè)計的內(nèi)容本文設(shè)計的是一個乒乓球游戲機的狀態(tài)機。計算機組成原理課程設(shè)計是重要的綜合性實踐教學(xué)環(huán)節(jié)。乒乓球游戲機還能在娛樂的同時提高我們的反應(yīng)、應(yīng)變能力。實現(xiàn)這種進步的主要原因就是生產(chǎn)制造技術(shù)和電子設(shè)計技術(shù)的發(fā)展。乒乓球作為中國的國球,乒乓人才輩出。看著白色的乒乓球在屏幕中央跳來跳去,心中的喜悅也在不斷積累。 design。程序通過調(diào)試運行,實現(xiàn)了設(shè)計目標。設(shè)計的乒乓球游戲機能夠正確判斷與顯示乒乓球的位置,并能自動裁判和記分的裝置,可應(yīng)用于實際的乒乓球游戲比賽中。關(guān)鍵詞:乒乓球游戲機;設(shè)計;實現(xiàn);VHDL;MAX+PLUSⅡ; Design and realization of table tennis game playerAbstract: This article introduces the design of the table tennis game player, and carried out simulation procedures, implementation of the provisions of a table tennis game features. Designed to be able to correctly judge the table tennis game table and display the location, and can automatically appear and scoring devices, can be applied to the actual game of Table Tennis Game. Procedure debugging operations, implementation of the design objectives. This thesis describes in detail the function of the system design, implementation and proper use of flow are described in detail to do. System development platform for the MAX + PLUSII, programming language for VHDL. .Keywords: table tennis game player。 MAX + PLUS Ⅱ目 錄1 引言 1 課題設(shè)計的目的 1 課題設(shè)計的內(nèi)容 22 EDA、VHDA簡介 3 EDA的發(fā)展概況 3 硬件描述語言VHDL ........................................33 乒乓球游戲機設(shè)計過程 5 5 6 狀態(tài)機編程實現(xiàn) 7 記分譯器的設(shè)計 10 構(gòu)造體的設(shè)計 124 系統(tǒng)仿真 14 14 14結(jié)束語 17致謝 18參考文獻 19附錄 20 1 引 言08年奧運,在電視機前歡騰了半個晚上。因此,看到這次的論文選題,不禁啞然失笑,兩種風(fēng)牛馬不相及的事物,就這樣在這里糾結(jié)了?,F(xiàn)代電子產(chǎn)品的發(fā)展越來越快, 各種新型電子元器件和智能化的電子產(chǎn)品已經(jīng)在國民經(jīng)濟的各個領(lǐng)域和人民生活的各個方面得到了日益廣泛的應(yīng)用。其結(jié)構(gòu)簡單、成本低、易操作,安全性強、無污染。狀態(tài)機的實現(xiàn)是符合人的思維邏輯的,且簡單明了[2]。(3)為今后分析、設(shè)計、開發(fā)以及使用計算機打下堅實的基礎(chǔ)。(1)該設(shè)計一個由甲、乙雙方參賽,有裁判的3人乒乓球游戲機。當球過網(wǎng)后按照設(shè)計者規(guī)定的球位乙方就可以擊球。2 EDA、VHDL簡介 EDA發(fā)展概況電子設(shè)計技術(shù)的核心就是EDA技術(shù),EDA是指以計算機為工作臺,融合應(yīng)用電子技術(shù)、計算機技術(shù)、智能化技術(shù)最新成果而研制成的電子CAD通用軟件包,主要能輔助進行三方面的設(shè)計工作,即IC設(shè)計、電子電路設(shè)計和PCB設(shè)計。與CAD相比,CAE除了有純粹的圖形繪制功能外,又增加了電路功能設(shè)計和結(jié)構(gòu)設(shè)計,并且通過電氣連接網(wǎng)絡(luò)表將兩者結(jié)合在一起,實現(xiàn)了工程設(shè)計。HDL語言使用與設(shè)計硬件電子系統(tǒng)的計算機語言,它能描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接方式。1987年底,VHDL被IEEE和美國國防部確認為標準硬件描述語言 ?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標準硬件描述語言,又得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實上的通用硬件描述語言。VHDL的程序結(jié)構(gòu)特點是將一項工程設(shè)計,或稱設(shè)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分[4]。 (1)與其他的硬件描述語言相比,VHDL具有更強的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計領(lǐng)域最佳的硬件描述語言。符合市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn)。游戲開始正確接發(fā)球?大于21? 甲 乙 否 否大于21?乙方勝利甲方勝利甲方加分乙方加分 N N Y Y游戲結(jié)束 狀態(tài)機設(shè)置了7個狀態(tài),分別是“等待發(fā)球狀態(tài)”,“第一盞燈亮