畢業(yè)設(shè)計(jì)(論文)基于FPGA的乒乓球游戲機(jī)控制器設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于FPGA的乒乓球游戲機(jī)控制器設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于FPGA的乒乓球游戲機(jī)控制器設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于FPGA的乒乓球游戲機(jī)控制器設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于FPGA的乒乓球游戲機(jī)控制器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、遼寧科技學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 第iv頁(yè)基于fpga的乒乓球游戲機(jī)設(shè)計(jì)摘 要verilog是甚高速集成電路硬件描述語(yǔ)言。目前,verilog已成為許多設(shè)計(jì)自動(dòng)化工具普遍采用的標(biāo)準(zhǔn)化硬件描述語(yǔ)言。verilog語(yǔ)言功能性強(qiáng),覆蓋面廣,靈活性高,具有很好的實(shí)用性。本文設(shè)計(jì)一個(gè)基于verilog的乒乓游戲機(jī),乒乓游戲機(jī)由狀態(tài)機(jī)、記分器、譯碼顯示器與按鍵去抖等部分所組成。通過(guò)對(duì)各部分編寫(xiě)verilog程序,然后進(jìn)行編譯、仿真、邏輯綜合、邏輯適配,最后進(jìn)行編程下載,并且通過(guò)eda實(shí)驗(yàn)箱的驗(yàn)證,實(shí)現(xiàn)乒乓游戲機(jī)的基本功能。關(guān)鍵詞:verilog;eda;乒乓游戲機(jī)abstractverilog is h

2、igh speed ic hardware describe language. verilog already becomes the language of normalizing hardware describe that a lot of design automation implement adopts commonly at present. the verilog language function is strong. the face covering is broad, flexibility high and have the very good pragmatism

3、. one main body of the book is designed waits for what part group is accomplished owing to that verilog table tennis game machine, table tennis game machine go to tremble from state machine, marker, decoding display and button. by compiling and composing verilog procedure to every part, then compili

4、ng, simulate, logic synthesis, logic fitting. carry out programming time be loaded with finally. then verification and by gw48 type eda experiment box, realize table tennis game machines fundamental function.key words: verilog:eda; table tennis game machine目 錄1 緒論01.1課題的背景和意義01.2國(guó)內(nèi)外研究現(xiàn)狀21.3本論文的主要內(nèi)容3

5、2 quartus ii與modelsim 軟件簡(jiǎn)介42.1quartus ii 簡(jiǎn)介42.2modelsim簡(jiǎn)介53 方案選擇與系統(tǒng)總體設(shè)計(jì)73.1整體方案的選擇73.1.1設(shè)計(jì)任務(wù)與要求73.1.2設(shè)計(jì)的原理和方法83.1.3芯片的選擇93.2系統(tǒng)總體設(shè)計(jì)93.2.1乒乓游戲機(jī)的組成示意圖93.2.2本系統(tǒng)的邏輯分框圖104 系統(tǒng)各部分電路的詳細(xì)設(shè)計(jì)114.1七段數(shù)碼管顯示譯碼電路114.2按鍵去抖電路124.3狀態(tài)機(jī)設(shè)計(jì)124.3.1狀態(tài)機(jī)的6種狀態(tài)及狀態(tài)轉(zhuǎn)移124.3.2狀態(tài)機(jī)/球臺(tái)控制電路144.4記分器設(shè)計(jì)165 系統(tǒng)的整體綜合與仿真175.1頂層文件設(shè)計(jì)175.2系統(tǒng)程序框圖:1

6、85.3整個(gè)系統(tǒng)的綜合與仿真195.3.1 電路符號(hào)195.3.2 系統(tǒng)仿真196 系統(tǒng)的運(yùn)行與仿真過(guò)程216.1系統(tǒng)程序的編譯216.2 系統(tǒng)的仿真23結(jié)論25謝 辭26參考文獻(xiàn)27附錄28遼寧科技學(xué)院本科生畢業(yè)設(shè)計(jì)(論文) 第34頁(yè)1 緒論1.1課題的背景和意義隨著人們的物質(zhì)生活越來(lái)越好了,人們開(kāi)始對(duì)娛樂(lè)生活有了新的要求,特別是進(jìn)入新世紀(jì)以來(lái)各種電子產(chǎn)品的不斷出現(xiàn),更是促進(jìn)了我國(guó)電子行業(yè)的發(fā)展,為此,能夠推出一款新的游戲產(chǎn)品是非常有前景的,本設(shè)計(jì)正是考慮了當(dāng)前的社會(huì)現(xiàn)狀,想設(shè)計(jì)出一款“乒乓球”游戲機(jī),以往可能有過(guò)這方面的設(shè)計(jì)出現(xiàn)過(guò),但是那些大多數(shù)都是采用的單片機(jī)等來(lái)實(shí)現(xiàn)的,本設(shè)計(jì)將采用最新

7、的fpga技術(shù)對(duì)“乒乓球”游戲機(jī)進(jìn)行實(shí)現(xiàn)。日常娛樂(lè)生活中,智能化的娛樂(lè)產(chǎn)品非常流行。fpga具有功能強(qiáng)、可靠性高、使用方便、體積小及重量輕等優(yōu)點(diǎn)。國(guó)外已廣泛應(yīng)用于自動(dòng)化控制的各個(gè)領(lǐng)域。近年來(lái),國(guó)內(nèi)的fpga技術(shù)與產(chǎn)品開(kāi)發(fā)應(yīng)用方面的發(fā)展也很快,各種電子產(chǎn)品已越來(lái)越多地采用fpga控制系統(tǒng)且性價(jià)比高。本文從實(shí)用的角度以altera公司的ep2c35f484i8芯片為核心設(shè)計(jì)了一種智能“乒乓球”游戲機(jī)。實(shí)踐證明,該游戲機(jī)運(yùn)行狀況穩(wěn)定、可靠,滿足了智能化要求。1.2國(guó)內(nèi)外研究現(xiàn)狀隨著社會(huì)的進(jìn)步和工業(yè)技術(shù)的發(fā)展,在電子線路設(shè)計(jì)領(lǐng)域中,設(shè)計(jì)自動(dòng)化工具已經(jīng)逐步為設(shè)計(jì)者所接受,成為主要的設(shè)計(jì)手段。目前,ver

8、ilog已成為許多設(shè)計(jì)自動(dòng)化工具普遍采用的標(biāo)準(zhǔn)化硬件描述語(yǔ)言,掌握verilog語(yǔ)言,用verilog語(yǔ)言設(shè)計(jì)電子線路,是電子線路設(shè)計(jì)者必須掌握的基本技能。verilog支持?jǐn)?shù)字電路的開(kāi)發(fā)環(huán)境,verilog也支持各種設(shè)計(jì)方法:自頂向下、自底向上或混合的方法1。verilog語(yǔ)言功能性強(qiáng),覆蓋面大,靈活性高,具有很好的實(shí)用性2。本文設(shè)計(jì)一個(gè)基于verilog的乒乓游戲機(jī),乒乓游戲機(jī)是由5個(gè)發(fā)光二極管代表乒乓球臺(tái),中間的發(fā)光二極管兼作球網(wǎng),用點(diǎn)亮的發(fā)光二極管按一定方向移動(dòng)來(lái)表示球的運(yùn)動(dòng)。在游戲機(jī)的兩側(cè)各設(shè)置兩個(gè)開(kāi)關(guān),甲乙二人按乒乓球比賽規(guī)則來(lái)操作開(kāi)關(guān)。本設(shè)計(jì)由譯碼顯示器、記分器、狀態(tài)機(jī)/球臺(tái)控制

9、器與按鍵去抖等部分組成。本設(shè)計(jì)是用實(shí)驗(yàn)箱進(jìn)行模擬乒乓機(jī),用發(fā)光二極管代表乒乓球臺(tái),最中間的發(fā)光二極管作球網(wǎng),用點(diǎn)亮的發(fā)光二極管按一定方向移動(dòng)來(lái)表示球的運(yùn)動(dòng),用按鈕設(shè)置發(fā)球和接球開(kāi)關(guān)。1.3本論文的主要內(nèi)容本論文的主要內(nèi)容是設(shè)計(jì)一個(gè)基于fpga的“乒乓球”游戲機(jī),在廣泛收集相關(guān)資料的基礎(chǔ)上,對(duì)“乒乓球”游戲機(jī)進(jìn)行了深入的研究,利用現(xiàn)場(chǎng)可編程門(mén)陣列fpga完成本次設(shè)計(jì)。整個(gè)系統(tǒng)以altera公司的ep2c35芯片為核心,采用verilog hdl語(yǔ)言進(jìn)行開(kāi)發(fā),配置了相應(yīng)的輸入、信號(hào)處理及顯示電路,并進(jìn)行仿真及驗(yàn)證。本論文各章的內(nèi)容如下:第一章介紹了“乒乓球”游戲機(jī)設(shè)計(jì)的背景及意義,并簡(jiǎn)單的的闡述了

10、目前國(guó)內(nèi)外在這方面的發(fā)展現(xiàn)狀。第二章介紹了quartus ii 軟件以及modelsim軟件的使用和特點(diǎn)。第三章介紹了對(duì)于系統(tǒng)的整體設(shè)計(jì)以及相關(guān)的設(shè)計(jì)任務(wù)和設(shè)計(jì)要求,并簡(jiǎn)單的分析了整個(gè)系統(tǒng)的設(shè)計(jì)流程和方法。第四章主要是介紹在整個(gè)“乒乓球”游戲機(jī)系統(tǒng)中各個(gè)模塊的工作原理及過(guò)程。第五章主要是對(duì)系統(tǒng)進(jìn)行原理圖的設(shè)計(jì)和對(duì)整個(gè)系統(tǒng)的仿真。第六章主要是對(duì)整個(gè)的設(shè)計(jì)過(guò)程和仿真的的過(guò)程做一個(gè)簡(jiǎn)單的描述。2 quartus ii與modelsim 軟件簡(jiǎn)介2.1quartus ii 簡(jiǎn)介quartus ii 是altera公司的綜合性pld開(kāi)發(fā)軟件,支持原理圖、vhdl、veriloghdl以及ahdl(alt

11、era hardware description language)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整pld設(shè)計(jì)流程。 quartus ii可以在xp、linux以及unix上使用,除了可以使用tcl腳本完成設(shè)計(jì)流程外,提供了完善的用戶圖形界面設(shè)計(jì)方式。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。 quartus ii支持altera的ip核,包含了lpm/megafunction宏功能模塊庫(kù),使用戶可以充分利用成熟的模塊,簡(jiǎn)化了設(shè)計(jì)的復(fù)雜性、加快了設(shè)計(jì)速度。對(duì)第三方eda工具的良好支持也使用戶可以在設(shè)計(jì)流程的各個(gè)階段使用熟悉的第三方ed

12、a工具。 此外,quartus ii 通過(guò)和dsp builder工具與matlab/simulink相結(jié)合,可以方便地實(shí)現(xiàn)各種dsp應(yīng)用系統(tǒng);支持altera的片上可編程系統(tǒng)(sopc)開(kāi)發(fā),集系統(tǒng)級(jí)設(shè)計(jì)、嵌入式軟件開(kāi)發(fā)、可編程邏輯設(shè)計(jì)于一體,是一種綜合性的開(kāi)發(fā)平臺(tái)。 maxplus ii 作為altera的上一代pld設(shè)計(jì)軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前altera已經(jīng)停止了對(duì)maxplus ii 的更新支持,quartus ii 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。altera在quartus ii 中包含了許多諸如signaltap ii、chip ed

13、itor和rtl viewer的設(shè)計(jì)輔助工具,集成了sopc和hardcopy設(shè)計(jì)流程,并且繼承了maxplus ii 友好的圖形界面及簡(jiǎn)便的使用方法。 altera quartus ii 作為一種可編程邏輯的設(shè)計(jì)環(huán)境, 由于其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口,越來(lái)越受到數(shù)字系統(tǒng)設(shè)計(jì)者的歡迎。2.2modelsim簡(jiǎn)介mentor公司的modelsim是業(yè)界最優(yōu)秀的hdl語(yǔ)言仿真軟件,它能提供友好的仿真環(huán)境,是業(yè)界唯一的單內(nèi)核支持vhdl和verilog混合仿真的仿真器。它采用直接優(yōu)化的編譯技術(shù)、tcl/tk技術(shù)、和單一內(nèi)核仿真技術(shù),編譯仿真速度快,編譯的代碼與平臺(tái)無(wú)關(guān),便于保護(hù)ip核,個(gè)性化的

14、圖形界面和用戶接口,為用戶加快調(diào)錯(cuò)提供強(qiáng)有力的手段,是fpga/asic設(shè)計(jì)的首選仿真軟件。 主要特點(diǎn): rtl和門(mén)級(jí)優(yōu)化,本地編譯結(jié)構(gòu),編譯仿真速度快,跨平臺(tái)跨版本仿真; 單內(nèi)核vhdl和verilog混合仿真; 源代碼模版和助手,項(xiàng)目管理; 集成了性能分析、波形比較、代碼覆蓋、數(shù)據(jù)流chasex、signal spy、虛擬對(duì)象virtual object、memory窗口、assertion窗口、源碼窗口顯示信號(hào)值、信號(hào)條件斷點(diǎn)等眾多調(diào)試功能; c和tcl/tk接口,c調(diào)試; 對(duì)systemc的直接支持,和hdl任意混合 支持systemverilog的設(shè)計(jì)功能; 對(duì)系統(tǒng)級(jí)描述語(yǔ)言的最全面

15、支持,systemverilog, systemc, psl; asic sign off。 modelsim分幾種不同的版本:se、pe、le和oem,其中se是最高級(jí)的版本,而集成在 actel、atmel、altera、xilinx以及l(fā)attice等f(wàn)pga廠商設(shè)計(jì)工具中的均是其oem版本。se版和oem版在功能和性能方面有較大差別,比如對(duì)于大家都關(guān)心的仿真速度問(wèn)題,以xilinx公司提供的oem版本modelsim xe為例,對(duì)于代碼少于40000行的設(shè)計(jì),modelsim se 比modelsim xe要快10倍;對(duì)于代碼超過(guò)40000行的設(shè)計(jì),modelsim se要比model

16、sim xe快近40倍。modelsim se支持pc、unix和linux混合平臺(tái);提供全面完善以及高性能的驗(yàn)證功能;全面支持業(yè)界廣泛的標(biāo)準(zhǔn);mentor graphics公司提供業(yè)界最好的技術(shù)支持與服務(wù)。3 方案選擇與系統(tǒng)總體設(shè)計(jì)3.1整體方案的選擇本課題將采用altera公司的ep2c35f484i8芯片進(jìn)行基于fpga的“乒乓球”游戲機(jī)設(shè)計(jì)。3.1.1設(shè)計(jì)任務(wù)與要求設(shè)計(jì)一個(gè)乒乓球游戲機(jī),模擬乒乓球比賽基本過(guò)程和規(guī)則,并能自動(dòng)裁判和計(jì)分。具體要求如下:使用乒乓球游戲機(jī)的甲,乙雙方各在不同的位置發(fā)球或擊球。乒乓球的位置和移動(dòng)方向可由led顯示燈和一次點(diǎn)亮的方向決定,球的移動(dòng)速度設(shè)為0.5s

17、移動(dòng)1位。使用者可按乒乓球的位置發(fā)出相應(yīng)的動(dòng)作,提前擊球或出界均判失分。3.1.2設(shè)計(jì)的原理和方法乒乓球游戲機(jī)是用5個(gè)發(fā)光二極管代表乒乓球臺(tái),中間發(fā)光二極管兼作乒乓球網(wǎng),用點(diǎn)亮的發(fā)光二極管按一定的方向移動(dòng)來(lái)表示球的運(yùn)動(dòng)。另外設(shè)置發(fā)球開(kāi)關(guān)af,bf以及接球開(kāi)關(guān)aj,bj。利用7段數(shù)碼管作為記分牌。甲乙雙方按乒乓球比賽規(guī)則來(lái)操作開(kāi)關(guān)。當(dāng)甲方按動(dòng)發(fā)球開(kāi)關(guān)af時(shí),靠近甲方的第一個(gè)燈亮,然后按順序向乙方移動(dòng);當(dāng)球過(guò)網(wǎng)后,乙方可以接球,接球后燈反方向移動(dòng),雙方繼續(xù)比賽;如果一方提前擊球或未擊球,則判失分,對(duì)方加分。重新發(fā)球后繼續(xù)比賽。本設(shè)計(jì)主要的設(shè)計(jì)方法是采用文本編輯法,利用verilog hdl語(yǔ)言描述

18、乒乓球游戲機(jī),并進(jìn)行綜合和仿真。圖3.1 系統(tǒng)設(shè)計(jì)流程圖3.1.3芯片的選擇在這次設(shè)計(jì)中選用的fpga芯片是altera公司的cyclone(颶風(fēng))系列的芯片,型號(hào)為:ep2c35。它是基于1.5v的,采用0.13um全銅sram工藝、tqfp封裝,有5980個(gè)邏輯單元,2個(gè)鎖相環(huán),20個(gè)m4k ram塊,其中每個(gè)ram為4kbit,可以另加一位奇偶校驗(yàn)位。3.2系統(tǒng)總體設(shè)計(jì)3.2.1乒乓游戲機(jī)的組成示意圖圖3.2 乒乓球游戲機(jī)組成示意圖本設(shè)計(jì)中的乒乓游戲機(jī)是由5個(gè)發(fā)光二極管代表乒乓球臺(tái),中間的發(fā)光二極管兼作球網(wǎng),用點(diǎn)亮的發(fā)光二極管按一定方向移動(dòng)來(lái)表示球的運(yùn)動(dòng)。在游戲機(jī)的兩側(cè)各設(shè)置兩個(gè)開(kāi)關(guān),一

19、個(gè)是發(fā)球開(kāi)關(guān)af、bf;另一個(gè)是擊球開(kāi)關(guān)aj、bj。甲乙二人按乒乓球比賽規(guī)則來(lái)操作開(kāi)關(guān)。當(dāng)甲方按動(dòng)發(fā)球開(kāi)關(guān)af時(shí),靠近甲方的第一個(gè)發(fā)光二極管亮,然后發(fā)光二極管由甲向乙依次點(diǎn)亮,代表乒乓球的移動(dòng)。當(dāng)球過(guò)網(wǎng)后按設(shè)計(jì)者規(guī)定的球位,乙方就可以擊球。若乙方提前擊球或沒(méi)有擊中球,則判乙方失分,甲方的記分牌自動(dòng)加一分。然后重新發(fā)球,比賽繼續(xù)進(jìn)行。比賽一直要進(jìn)行到一方記分牌達(dá)到21分,該局才結(jié)束。本設(shè)計(jì)由譯碼顯示器、按鍵去抖、狀態(tài)機(jī)/球臺(tái)控制器和記分器等部分所組成。3.2.2本系統(tǒng)的邏輯分框圖圖3.2 系統(tǒng)邏輯分框圖4 系統(tǒng)各部分電路的詳細(xì)設(shè)計(jì)4.1七段數(shù)碼管顯示譯碼電路圖4.1 譯碼顯示電路符號(hào)七段數(shù)碼是純

20、組合電路,通常的小規(guī)模專用ic,如74或4000系列的器件只能作十進(jìn)制bcd碼譯碼,然而數(shù)字系統(tǒng)中的數(shù)據(jù)處理和運(yùn)算都是2進(jìn)制的,所以輸出表達(dá)都是16進(jìn)制的,為了滿足16進(jìn)制數(shù)的譯碼顯示,最方便的方法就是利用vhdl譯碼程序在fpga或cpld中實(shí)現(xiàn)。七段數(shù)碼管分為共陰極和共陽(yáng)極兩種8。簡(jiǎn)而言之,對(duì)共陰極來(lái)說(shuō),公共引腳要接地,想要點(diǎn)亮某段數(shù)碼管,就在相應(yīng)的引腳加上高電平;對(duì)共陰極來(lái)說(shuō)剛好相反,公共引腳提高電平,想要點(diǎn)亮某段數(shù)碼管,就在相應(yīng)的引腳加上低電平9。七段bcd碼譯碼器的設(shè)計(jì),輸出信號(hào)led7s的7位分別接如圖4所示數(shù)碼管的七個(gè)段,高位在左,低位在右9。例如當(dāng)led7s輸出為“110110

21、1” 時(shí),數(shù)碼管的7個(gè)段:g、f、e、d、c、b、a分別接1、1、0、1、1、0、1,接有高電平的段發(fā)亮,于是數(shù)碼管顯示“5”。帶使能信號(hào)en的譯碼電路的verilog程序中,en為高電平時(shí),譯碼器正常工作;en為低電平時(shí),譯碼器輸出0000000,表示數(shù)碼管無(wú)顯示。用選擇信號(hào)賦值語(yǔ)句描述,將綜合成組合邏輯電路。4.2按鍵去抖電路圖4.2 按鍵電路符號(hào)鍵盤(pán)的按鍵閉合與釋放瞬間,輸入的信號(hào)會(huì)有毛刺。如果不進(jìn)行消抖處理,系統(tǒng)會(huì)將這些毛刺誤以為是用戶的另一次輸入,導(dǎo)致系統(tǒng)的誤操作。防抖電路有很多種,最簡(jiǎn)單、最容易理解的就是計(jì)數(shù)法。其原理是對(duì)鍵值進(jìn)行計(jì)數(shù),當(dāng)某一鍵值保持一段時(shí)間不改變時(shí)(計(jì)數(shù)器達(dá)到一定

22、值后),才確認(rèn)它為有效值;否則將其判為無(wú)效鍵值,重新對(duì)鍵值進(jìn)行計(jì)算。4.3狀態(tài)機(jī)設(shè)計(jì)4.3.1狀態(tài)機(jī)的6種狀態(tài)及狀態(tài)轉(zhuǎn)移本狀態(tài)機(jī)有6種狀態(tài),分別是waitstate、atob、btoa、ascore、bscore和finalresult,其含義如下表所示:狀態(tài)機(jī)的6種狀態(tài)及含義:表4.1 狀態(tài)機(jī)6種狀態(tài)表狀 態(tài)含 義waitstate等待狀態(tài),等待a或b方開(kāi)球atob球從a向b方移動(dòng)btoa 球從b向a方移動(dòng)ascorea得一分bscoreb得一分finalresult比賽結(jié)束(最終判分),在此狀態(tài)下需要按復(fù)位鍵,才能開(kāi)始下一輪比賽結(jié)合上表從下圖中很清楚地看出乒乓游戲機(jī)比賽過(guò)程中球的移動(dòng)情況,

23、及加分方法,還可以初步了解到本狀態(tài)機(jī)設(shè)計(jì)的基本思路: 圖4.3 乒乓游戲機(jī)狀態(tài)轉(zhuǎn)移圖4.3.2狀態(tài)機(jī)/球臺(tái)控制電路狀態(tài)機(jī)是種很重要的時(shí)序電路,也是本設(shè)計(jì)的核心部件。狀態(tài)機(jī)屬于時(shí)序電路范疇,實(shí)現(xiàn)一個(gè)控制功能更為方便,并提高了控制速度。本次設(shè)計(jì)中狀態(tài)機(jī)的符號(hào)如下圖所示:圖4.4 狀態(tài)機(jī)、球臺(tái)控制電路符號(hào)在本設(shè)計(jì)中,狀態(tài)機(jī)用兩個(gè)信號(hào)表示狀態(tài):state表示當(dāng)前狀態(tài), tablestate表示下一個(gè)狀態(tài)。此狀態(tài)機(jī)由兩個(gè)進(jìn)程構(gòu)成,狀態(tài)機(jī)的輸入/輸出引腳的作用如下表所示。其中scoreal3.0、scoreah3.0、scorebl3.0、scorebh3.0用七段bcd碼譯碼器顯示得分情況,而score

24、a、scoreb用二進(jìn)制進(jìn)行加分,由記分器反饋回來(lái)。輸入/輸出引腳的作用:表4.2 輸入輸出引腳表引 腳作 用clk所需時(shí)鐘可由系統(tǒng)時(shí)鐘分頻得到。此時(shí)時(shí)鐘決定了球移動(dòng)的速度, 可根據(jù)實(shí)際需要調(diào)整。reset復(fù)位鍵,比賽重新開(kāi)始,記分器清0af、bfa和b雙方的開(kāi)始的開(kāi)球鍵aj,bj a和b雙方的擊球鍵(可以將其與開(kāi)球鍵合并)clear 將記分器清0(給記分器的控制信號(hào))increasea 、increaseb分別為a、b雙方的加分信號(hào)(給記分器的控制信號(hào))scoreal3.0scoreah3.0scorebl3.0scorebh3.0scorea、scoreba、b雙方的分?jǐn)?shù)(由記分器給出)l

25、ight4.0接5個(gè)發(fā)光二極管awin、bwin分別接發(fā)光二極管,表示a或b方勝出4.4記分器設(shè)計(jì)圖4.5 計(jì)分器電路符號(hào)記分器元件符號(hào)如上圖所示,本設(shè)計(jì)中記分器比較簡(jiǎn)單,只須根據(jù)狀態(tài)機(jī)給出的兩個(gè)信號(hào)(increasea和increaseb)對(duì)六個(gè)分?jǐn)?shù)(scoreal、scoreah和scorebl、scorebh、scorea、scoreb)進(jìn)行操作。5 系統(tǒng)的整體綜合與仿真5.1頂層文件設(shè)計(jì)“乒乓球”游戲機(jī)系統(tǒng)主要由譯碼電路,按鍵去抖電路,狀態(tài)機(jī)/球臺(tái)控制電路等構(gòu)成,下圖為系統(tǒng)的頂層文件設(shè)計(jì)原理圖:圖5.1 頂層文件設(shè)計(jì)原理圖5.2系統(tǒng)程序框圖:系統(tǒng)的程序框圖如下圖所示,程序清單見(jiàn)附錄:圖

26、5.2 系統(tǒng)程序框圖5.3整個(gè)系統(tǒng)的綜合與仿真5.3.1 電路符號(hào)乒乓球游戲機(jī)的電路符號(hào)如下圖所示。輸入信號(hào):系統(tǒng)時(shí)鐘clk1khz(輸入1khz的時(shí)鐘信號(hào));系統(tǒng)復(fù)位端rst;甲方發(fā)球af;乙方發(fā)球bf;甲方擊球aj;乙方擊球bj;輸出信號(hào):5個(gè)led顯示模塊shift40;數(shù)碼管地址選擇信號(hào)scan30;7段顯示控制信號(hào)seg76.0。圖5.3 系統(tǒng)電路符號(hào)5.3.2 系統(tǒng)仿真由于本系統(tǒng)的狀態(tài)情況比較的多,下面就幾種典型的情況進(jìn)行系統(tǒng)的綜合和仿真:1、甲方發(fā)球后乙方提前擊球,同時(shí)甲方得分:下圖為仿真的結(jié)果圖,觀察波形可知,球的移動(dòng)方向?yàn)閺淖蟮接?,乙提前擊球后a_core加1,即甲方得分。圖

27、5.4 仿真結(jié)果圖2、甲方發(fā)球后,乙方在過(guò)網(wǎng)后擊球:此情況的功能仿真結(jié)果如下圖所示,觀察波形可知,乙接到球后,球的運(yùn)動(dòng)方向變?yōu)閺挠业阶?。圖5.5 仿真結(jié)果圖3、甲方發(fā)球后,乙方?jīng)]有擊球:此情況的功能仿真結(jié)果圖如下圖所示,觀察波形可知,乙沒(méi)有接球,則甲方加分。圖5.6 仿真結(jié)果圖6 系統(tǒng)的運(yùn)行與仿真過(guò)程6.1系統(tǒng)程序的編譯1、運(yùn)行新建項(xiàng)目向?qū)В陆ㄒ粋€(gè)項(xiàng)目,選擇之前創(chuàng)建好的文件夾,用來(lái)存放該項(xiàng)目的文件,如圖6.1所示:2、該步驟主要是為以后的仿真做準(zhǔn)備,如圖6.2所示選擇仿真軟件為modelsim,編程語(yǔ)言為verilog hdl。3、創(chuàng)建完項(xiàng)目之后接著再新建一個(gè)verilog hdl file

28、 用來(lái)編輯之前設(shè)計(jì)好的程序,再編輯區(qū)輸入設(shè)計(jì)好的程序之后,點(diǎn)擊編譯按鈕開(kāi)始編譯文件,通過(guò)不斷的調(diào)試修改直到編譯成功為止,如圖6.3所示:6.2 系統(tǒng)的仿真1、點(diǎn)擊進(jìn)入仿真軟件modelsim之后,點(diǎn)擊如圖6.4所示的按鈕,找到之前準(zhǔn)備好的文件,開(kāi)始編譯,觀察信息區(qū),直到編譯成功為止。2、在work庫(kù)中找到編譯成功的文件zhouyou,雙擊準(zhǔn)備開(kāi)始仿真,如圖6.5所示:3、如圖6.6所示開(kāi)始給定各個(gè)變量的初始值,以及所需的時(shí)鐘信號(hào)根據(jù)自己的需要和仿真的方便性考慮時(shí)鐘的大小.4、給定完時(shí)鐘信號(hào)和各個(gè)變量的初始值之后,開(kāi)始點(diǎn)擊進(jìn)入仿真界面,運(yùn)行開(kāi)始仿真,具體的步驟如圖6.7所示:結(jié)論本文進(jìn)行乒乓游戲

29、機(jī)軟件設(shè)計(jì),并用eda實(shí)驗(yàn)箱進(jìn)行驗(yàn)證,目標(biāo)芯片是altera公司cycloneii系列的ep2c35f484i8,本設(shè)計(jì)由狀態(tài)機(jī)/球臺(tái)控制器、記分器、譯碼顯示器、按鍵去抖等模塊組成。通過(guò)實(shí)驗(yàn)箱模擬乒乓球游戲機(jī),用發(fā)光二極管代表乒乓球臺(tái),最中間的發(fā)光二極管作球網(wǎng),用點(diǎn)亮的發(fā)光二極管按一定方向移動(dòng)來(lái)表示球的運(yùn)動(dòng),用按鈕設(shè)置發(fā)球和接球開(kāi)關(guān)。最終實(shí)現(xiàn)乒乓機(jī)能模擬乒乓球比賽的基本過(guò)程和規(guī)則,并能自動(dòng)裁判和記分。本設(shè)計(jì)用了16個(gè)發(fā)光二極管當(dāng)乒乓球臺(tái)。本設(shè)計(jì)可以再改進(jìn)一下,把指示勝利2個(gè)發(fā)光二極管用數(shù)碼管來(lái)代替,這樣不僅可以完成之前的功能,而且可以顯示比賽的局?jǐn)?shù)。通過(guò)幾個(gè)月的努力,基本完成了畢業(yè)設(shè)計(jì)任務(wù)書(shū)所

30、要求的內(nèi)容,而且在實(shí)驗(yàn)箱上對(duì)大部分功能進(jìn)行了仿真,取得了預(yù)期的結(jié)果,總之,通過(guò)自己的努力以及同學(xué)和老師的幫助,圓滿的完成了本次設(shè)計(jì)任務(wù)。謝 辭通過(guò)兩個(gè)多月的畢業(yè)設(shè)計(jì),我學(xué)習(xí)了怎樣運(yùn)用fpga設(shè)計(jì)乒乓球游戲機(jī)系統(tǒng)。非常感謝我的指導(dǎo)老師孫禾,在整個(gè)設(shè)計(jì)過(guò)程中一直耐心教導(dǎo),認(rèn)真負(fù)責(zé),細(xì)心教誨,讓我領(lǐng)略到如何實(shí)現(xiàn)一個(gè)系統(tǒng)的設(shè)計(jì),以及如何使用書(shū)本知識(shí)到實(shí)際應(yīng)用上去。在很多細(xì)節(jié)上,孫老師的指導(dǎo)與教誨,讓人受益匪淺。感謝四年來(lái)測(cè)控技術(shù)與儀器專業(yè)各位老師的孜孜教誨和學(xué)校的細(xì)心培養(yǎng),讓我能有今天的進(jìn)步,在今后的工作中發(fā)揮自己的價(jià)值。最后要感謝我身后的父親,母親,一直以來(lái)對(duì)我的信任和支持,有朝一日,希望可以回給他

31、們同樣的愛(ài)。感謝遼寧科技學(xué)院四年的學(xué)習(xí)!參考文獻(xiàn)1 邊計(jì)年.用vhdl設(shè)計(jì)電子線路m.北京:清華出版社,2000:2.2 黃任.vhdl入門(mén)解惑經(jīng)典實(shí)例經(jīng)驗(yàn)總結(jié)m.北京:北京航天大學(xué)出版社,2005:3-5,115.3 尹常永.eda技術(shù)/電子設(shè)計(jì)實(shí)驗(yàn)講義m.西安:西安電子科技大學(xué)出版社,2004:3.4 楊剛.現(xiàn)代電子技術(shù)vhdl與數(shù)字系統(tǒng)設(shè)計(jì)m.北京:電子工業(yè)出版社, 2004:6.5 甘歷.vhdl應(yīng)用與開(kāi)發(fā)實(shí)驗(yàn)m.北京:科學(xué)出版社,2003:4.6 侯伯亨.vhdl硬件描述語(yǔ)言與數(shù)字邏輯電路設(shè)計(jì)m.西安:西安電子科技大學(xué)出版社,1999:27.7 潭會(huì)生,張昌凡.eda技術(shù)及應(yīng)用m.西

32、安:西安電子科技大學(xué)出版社,2004:81,233,256.8 王振紅.vhdl數(shù)字電路設(shè)計(jì)與應(yīng)用實(shí)踐教程m.北京:機(jī)械工業(yè)出版社,2005:35,37.9 李宜達(dá).數(shù)字邏輯電路設(shè)計(jì)與實(shí)現(xiàn)m.北京:科學(xué)出版社,2004:144.附錄1、系統(tǒng)程序:module zhouyou (shift,scan,seg7,clk1khz,rst,af,aj,bf,bj);output4:0 shift;output3:0 scan;output6:0 seg7;input clk1khz;input af;input aj;input bf;input bj;input rst;reg4:0 shift;r

33、eg3:0 scan;reg6:0 seg7;reg clk1_2hz;reg3:0 a_score,b_score;reg1:0 cnt;reg3:0 data;reg3:0 a_one,a_ten,b_one,b_ten;reg7:0 count;reg a,b;reg4:0 shift_1;always(posedge clk1khz)beginif(count=b1111_1010)begin clk1_2hz=clk1_2hz;count=0;endelse begin count=count+1;endif(cnt=b11)begin cnt=b00;endelsebegin cn

34、t=cnt+1;endendalways(posedge clk1khz)beginif(rst)begin a_score=0;b_score=0;a=0;b=0;shift_1=0;endelsebeginif(!a&!b&af)begin a=1;shift_1=b10000;endelse if(!a&!b&bf)begin b=1;shift_1b00100)beginif(bj)begina_score=a_score+1;a=0;b=0;shift_1=b00000;endelsebegin shift_14:11;endendelse if(shift_1=b0)begin a

35、_score=a_score+1;a=0;b=0;endelsebeginif(bj)begin a=0;b=1;endelsebegin shift_14:11;endendendelse if(b&!a)beginif(shift_1b00100&shift_1!=b0)beginif(aj)beginb_score=b_score+1;a=0;b=0;shift_1=b00000;endelsebegin shift_13:0=shift_13:01;endendelse if(shift_1=b0)begin b_score=b_score+1;a=0;b=0;endelsebegin

36、if(aj)begin a=1;b=0;endelsebegin shift_13:0=shift_13:01;endendendendshift=shift_1;if(a_score=b1011&!rst)begin a_score=a_score;b_score=b_score;endif(b_score=b1011&!rst)begin a_score=a_score;b_score=b_score;endendalways(posedge clk1khz)begincase(a_score3:0)b0000:begin a_one=b0000;a_ten=b0000;endb0001:begin a_one=b0001;a_ten=b0000;endb0010:begin a_one=b0010;a_ten=b0000;endb0011:begin a_one=b0011;a_ten=b0000;endb0100:begin a_one=b0100;a_ten=b0000;endb0101:begin a_one=b0101;a_ten=b0000;endb0110:begin a_one=b0110;a_ten=b0000;endb0111:begin a_one=b0111;a_ten

溫馨提示

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

評(píng)論

0/150

提交評(píng)論