2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  在電子技術(shù)獲得了飛速的發(fā)展的今天,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。而電子游戲因其攜帶方便、互動性高、無場地限制等優(yōu)勢,成為了人們休閑時很好的選擇。</p><p>  本設(shè)計將采用

2、FPGA對“乒乓球”游戲機(jī)進(jìn)行實現(xiàn)。FPGA具有功能強(qiáng)、可靠性高、使用方便、體積小及重量輕等優(yōu)點(diǎn)。近年來,國內(nèi)的FPGA技術(shù)與產(chǎn)品開發(fā)應(yīng)用方面的發(fā)展也很快,各種電子產(chǎn)品已越來越多地采用FPGA控制系統(tǒng)且性價比高。然后以FPGA為平臺,VHDL硬件描述語言編程實現(xiàn),實驗箱驗證。最后在硬件上調(diào)試并實現(xiàn)實現(xiàn)“乒乓球”游戲機(jī)功能。</p><p>  關(guān)鍵字:EDA,F(xiàn)PGA,VHDL,游戲機(jī)</p>&l

3、t;p><b>  ABSTRACT</b></p><p>  The electronic technology has obtained the rapid development in the modern, the electronic products penetrated almost every field of the society, a strong impetu

4、s to the development of social productive forces and the social informationization degree is improved, simultaneously also makes the modern electronic products to further improve the performance, product replacement are

5、increasingly fast pace. Electronic games because of its portability, interactive high, no site limitation and other adv</p><p>  This design will use the FPGA on the "ping pong" Electronic game mac

6、hine. FPGA has the advantages of strong function, high reliability, convenient use, small volume and light weight etc.. In recent years, the development of FPGA technology and product development and application of domes

7、tic too soon, all kinds of electronic products have been increasingly adopted in FPGA control system and high cost performance. Then taking FPGA as the platform, VHDL hardware description language programming, ve</p&g

8、t;<p>  Key Words:EDA, FPGA, VHDL, Game machine</p><p><b>  目 錄</b></p><p><b>  第1章 引言1</b></p><p>  1.1 選題背景1</p><p>  1.2 研究設(shè)計主要內(nèi)容1

9、</p><p>  第2章 開發(fā)工具描述3</p><p>  2.1 EDA基礎(chǔ)3</p><p>  2.1.1 EDA技術(shù)的發(fā)展歷程3</p><p>  2.1.2 EDA技術(shù)的發(fā)展趨勢5</p><p>  2.1.3 EDA技術(shù)的基本工具5</p><p>  2.2 硬

10、件描述語言—VHDL6</p><p>  2.3 Quartus Ⅱ簡介7</p><p>  第3章 功能實現(xiàn)與設(shè)計思路10</p><p>  3.1 功能實現(xiàn)10</p><p>  3.2 設(shè)計方案10</p><p>  第4章 各模塊程序設(shè)計12</p><p>  4

11、.1 主控制程序設(shè)計12</p><p>  4.1.1 桌臺模塊程序設(shè)計12</p><p>  4.1.2 譯碼模塊程序13</p><p>  4.2 分頻器模塊設(shè)計14</p><p>  4.3 防抖動模塊設(shè)計15</p><p>  4.4 顯示控制和輸出模塊17</p><

12、p>  第5章 系統(tǒng)的整合與仿真20</p><p>  5.1 上層模塊設(shè)計20</p><p>  5.2 系統(tǒng)的仿真21</p><p>  5.3 引腳分配與器件編程24</p><p>  5.3.1 引腳分配24</p><p>  5.3.2 器件編程24</p><

13、p><b>  第6章 總結(jié)28</b></p><p><b>  參考文獻(xiàn)29</b></p><p><b>  致謝30</b></p><p><b>  附錄31</b></p><p>  附錄一:桌臺模塊程序31</p

14、><p>  附錄二:分頻器模塊程序35</p><p>  附錄三:防抖動模塊程序36</p><p>  附錄四:顯示控制和輸出模塊程序37</p><p>  附錄五:上層模塊程序39</p><p>  附錄六:譯碼模塊程序41</p><p><b>  外文資料原文

15、43</b></p><p><b>  譯文53</b></p><p><b>  引言</b></p><p><b>  選題背景</b></p><p>  電子技術(shù)的飛速發(fā)展,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息

16、化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。而休閑時間越來越少的人們越來越?jīng)]太多的時間出去搞戶外活動,于是眾多電子游戲應(yīng)運(yùn)而生,滿足大家休閑時的娛樂需求。由此設(shè)計了這個兩人的乒乓球游戲。</p><p>  本設(shè)計將采用FPGA對“乒乓球”游戲機(jī)進(jìn)行實現(xiàn)。FPGA具有功能強(qiáng)、可靠性高、使用方便、體積小及重量輕等優(yōu)點(diǎn)。近年來,國內(nèi)的FPGA技術(shù)與產(chǎn)品開發(fā)應(yīng)用方面的發(fā)展也很快,各種

17、電子產(chǎn)品已越來越多地采用FPGA控制系統(tǒng)且性價比高。而電子信息類產(chǎn)品的開發(fā)明顯地出現(xiàn)了兩個特點(diǎn):一是開發(fā)產(chǎn)品的復(fù)雜程度加深;二是開發(fā)產(chǎn)品的上市時限緊迫。而伴隨著如上兩個特點(diǎn)的產(chǎn)生,相應(yīng)的出現(xiàn)了設(shè)計上的兩個問題。其一,在電子系統(tǒng)日趨數(shù)字化、復(fù)雜化和大規(guī)模集成化的今天,電子廠商們越加迫切地追求電子產(chǎn)品的高功能、優(yōu)品質(zhì)、低成本、微功耗和微小封裝尺寸,從而使得電子設(shè)計日趨復(fù)雜。那么如何去完成這些高復(fù)雜度的電子設(shè)計呢?其二,電子產(chǎn)品設(shè)計周期短和上

18、市快是電子廠商們堅持不懈的追求,那么面對日趨復(fù)雜的設(shè)計,又如何能夠縮短開發(fā)時間呢?解決以上兩個問題的唯一途徑是電子設(shè)計自動化(EDA),即用計算機(jī)幫助設(shè)計人員完成繁瑣的設(shè)計工作。</p><p><b>  研究設(shè)計主要內(nèi)容</b></p><p>  兩人乒乓球游戲機(jī)是用8個發(fā)光二級管代表乒乓球臺,中間兩個發(fā)光二極管兼做乒乓球網(wǎng),用點(diǎn)亮的發(fā)光二極管按一定方向移動來表

19、示球的運(yùn)動。在游戲機(jī)的兩側(cè)各設(shè)置發(fā)球和擊球開關(guān),甲乙雙方按乒乓球比賽規(guī)則來操作開關(guān)。當(dāng)甲方按動發(fā)球開關(guān)時,靠近甲方的第一個發(fā)光二極管亮,然后發(fā)光二極管由甲方向乙方依次點(diǎn)亮,代表乒乓球的移動。當(dāng)球過網(wǎng)后按照設(shè)計者規(guī)定的球位乙方就可以擊球。若乙方提前擊球或者未擊到球,則甲方得分。然后重新發(fā)球進(jìn)行比賽,知道一方記分達(dá)到21分為止,記分清零,重新開始新一局比賽。</p><p><b>  開發(fā)工具描述<

20、/b></p><p><b>  EDA基礎(chǔ)</b></p><p>  EDA是電子設(shè)計自動化(Electronic Design Automation)縮寫,是90年代初從CAD(計算機(jī)輔助設(shè)計)、CAM(計算機(jī)輔助制造)、CAT(計算機(jī)輔助測試)和CAE(計算機(jī)輔助工程)的概念發(fā)展而來的。EDA技術(shù)是以計算機(jī)為工具,根據(jù)硬件描述語言HDL( Hardwa

21、re Description language)完成的設(shè)計文件,自動地完成邏輯編譯、化簡、分割、綜合及優(yōu)化、布局布線、仿真以及對于特定目標(biāo)芯片的適配編譯和編程下載等工作。典型的EDA工具中必須包含兩個特殊的軟件包,即綜合器和適配器。綜合器的功能就是將設(shè)計者在EDA平臺上完成的針對某個系統(tǒng)項目的HDL、原理圖或狀態(tài)圖形描述,針對給定的硬件系統(tǒng)組件,進(jìn)行編譯、優(yōu)化、轉(zhuǎn)換和綜合,最終獲得我們欲實現(xiàn)功能的描述文件。綜合器在工作前,必須給定所要實

22、現(xiàn)的硬件結(jié)構(gòu)參數(shù),它的功能就是將軟件描述與給定的硬件結(jié)構(gòu)用一定的方式聯(lián)系起來。也就是說,綜合器是軟件描述與硬件實現(xiàn)的一座橋梁。綜合過程就是將電路的高級語言描述轉(zhuǎn)換低級的、可與目標(biāo)器件FPGA/CPLD相映射的網(wǎng)表文件。</p><p>  硬件描述語言HDL是相對于一般的計算機(jī)軟件語言,如:C、PASCAL而言的。HDL語言使用與設(shè)計硬件電子系統(tǒng)的計算機(jī)語言,它能描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接方式。設(shè)計者

23、可利用HDL程序來描述所希望的電路系統(tǒng),規(guī)定器件結(jié)構(gòu)特征和電路的行為方式;然后利用綜合器和適配器將此程序編程能控制FPGA和CPLD內(nèi)部結(jié)構(gòu),并實現(xiàn)相應(yīng)邏輯功能的的門級或更底層的結(jié)構(gòu)網(wǎng)表文件或下載文件。目前,就FPGA/CPLD開發(fā)來說,比較常用和流行的HDL主要有ABEL-HDL、AHDL和VHDL。</p><p>  EDA技術(shù)的發(fā)展歷程</p><p>  集成電路的飛快發(fā)展不斷給

24、EDA技術(shù)提出更高的要求,對EDA技術(shù)的發(fā)展起了巨大的推動作用。從20世紀(jì)60年代中期開始,人們不斷地開發(fā)出各種計算機(jī)輔助設(shè)計工具來幫助設(shè)計人員進(jìn)行集成電路和電子系統(tǒng)的設(shè)計。經(jīng)歷了計算機(jī)輔助設(shè)計、計算機(jī)輔助工程設(shè)計和電子系統(tǒng)設(shè)計自動化這3個階段,如圖2-1所示。</p><p><b>  EDA發(fā)展歷程</b></p><p><b> ?。?)CAD階段

25、</b></p><p>  20世紀(jì)70年代,隨著中、小規(guī)模集成電路的興起和應(yīng)用,傳統(tǒng)的手工設(shè)計印刷電路板和集成電路的方法已經(jīng)不能滿足設(shè)計精度和效率的要求,于是電子設(shè)計工程師們開始在二維平面圖形上進(jìn)行計算機(jī)輔助設(shè)計,這樣就產(chǎn)生了第一代EDA工具,設(shè)計者從繁雜、機(jī)械的、手工布局和布線工作中解放了出來。</p><p><b> ?。?)CAE階段</b>&

26、lt;/p><p>  20世紀(jì)80年代以后,集成電路的規(guī)模越來越大,電子系統(tǒng)設(shè)計的復(fù)雜也在增加,電子設(shè)計自動化的工具逐步完善和發(fā)展起來,設(shè)計者們尤其在設(shè)計方法、設(shè)計工具集成化方面取得了很大的進(jìn)步。為了適應(yīng)電子產(chǎn)品在規(guī)模和制作上的需要,以計算機(jī)仿真和自動布線為核心的第二代EDA技術(shù)應(yīng)運(yùn)而生。其特點(diǎn)是以軟件設(shè)計工具為核心,通過軟件完成產(chǎn)品的開發(fā)、設(shè)計、分析、生產(chǎn)和測試等工作。</p><p>&

27、lt;b>  (3)ESDA階段</b></p><p>  20世紀(jì)90年代,設(shè)計師們逐步從使用硬件轉(zhuǎn)向去設(shè)計硬件,從單個電子產(chǎn)品開發(fā)轉(zhuǎn)向系統(tǒng)級電子產(chǎn)品開發(fā)(及片上系統(tǒng)集成)。因此,這時的EDA工具是以系統(tǒng)級設(shè)計為核心,包括結(jié)構(gòu)綜合與系統(tǒng)行為級描述,系統(tǒng)仿真與測試驗證,系統(tǒng)決策與文件生成,系統(tǒng)劃分與指標(biāo)分配等一整套的電子系統(tǒng)設(shè)計工具。這時的EDA工具不僅具有電子系統(tǒng)設(shè)計的能力,而且具有獨(dú)立于生

28、產(chǎn)工藝和廠家的系統(tǒng)級設(shè)計能力。第三代EDA工具的出現(xiàn),極大地提高了電子系統(tǒng)設(shè)計的效率,讓設(shè)計工程師們開始能夠以概念來驅(qū)動設(shè)計工程的夢想。</p><p>  EDA技術(shù)的發(fā)展趨勢</p><p>  隨著微電子技術(shù)的不斷發(fā)展與進(jìn)步和市場需求的不斷增長,EDA技術(shù)在21世紀(jì)后得到了迅猛的發(fā)展,這一發(fā)展趨勢表現(xiàn)在以下幾個方面:</p><p> ?。?)軟件IP核在微電

29、子的產(chǎn)業(yè)領(lǐng)域、設(shè)計應(yīng)用領(lǐng)域和技術(shù)領(lǐng)域得到進(jìn)一步的鞏固與發(fā)展。</p><p> ?。?)使支持硬件描述語言仿真和設(shè)計的EDA軟件不斷地強(qiáng)大起來。</p><p>  (3)EDA使得系統(tǒng)與器件、專用集成電路ASIC與FPGA、模擬與數(shù)字、行為與結(jié)構(gòu)、軟件與硬件等的界限越來越模糊。</p><p> ?。?) EDA技術(shù)保護(hù)了設(shè)計者的電子設(shè)計成果的知識產(chǎn)權(quán)。</

30、p><p> ?。?)大規(guī)模的電子系統(tǒng)都是以EDA為工具設(shè)計的,正以飛快的速度滲透到IP核模塊。</p><p>  (6)更大規(guī)模的可編程邏輯器件正在推向市場,使得設(shè)計更為廣泛與便捷。</p><p>  EDA技術(shù)的基本工具</p><p>  集成電路技術(shù)的不斷發(fā)展對EDA技術(shù)提出了更高的要求,促進(jìn)了EDA技術(shù)向更高的層次發(fā)展。但實際來說,

31、EDA系統(tǒng)的設(shè)計能力一直難以滿足集成電路的要求。EDA工具的發(fā)展經(jīng)歷了兩個階段,即物理工具階段和邏輯工具階段?,F(xiàn)在,人們已經(jīng)開發(fā)了很多計算機(jī)輔助設(shè)計工具來幫助設(shè)計集成電路,常見的EDA工具有編輯器、仿真器、檢查/分析工具和優(yōu)化/綜合工具等,如圖2-2所示。</p><p>  EDA設(shè)計工具的分類</p><p>  硬件描述語言—VHDL</p><p>  V

32、HDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,誕生于1982年。1987年底,VHDL被IEEE和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言 。自IEEE公布了VHDL的標(biāo)準(zhǔn)版本,IEEE-1076(簡稱87版)之后,各EDA公司相繼推出了自己的VHDL設(shè)計環(huán)境,或宣布自己的設(shè)計工具可以和VHDL接口。此后VHDL在電子設(shè)計領(lǐng)域得到了廣泛的接受,

33、并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語言。1993年,IEEE對VHDL進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標(biāo)準(zhǔn)的1076-1993版本,(簡稱93版)?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,又得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實上的通用硬件描述語言。有專家認(rèn)為,在新的世紀(jì)中,VHDL與Verilog語言將承擔(dān)起大部分的數(shù)字系統(tǒng)設(shè)計任

34、務(wù)。</p><p>  VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計算機(jī)高級語言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項工程設(shè)計,或稱設(shè)計實體[4](可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。在對一個設(shè)計實體定義了外部界面后,一旦其

35、內(nèi)部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實體。這種將設(shè)計實體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計的基本點(diǎn)。應(yīng)用VHDL進(jìn)行工程設(shè)計的優(yōu)點(diǎn)是多方面的。 </p><p>  (1) 與其他的硬件描述語言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計領(lǐng)域最佳的硬件描述語言。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計大規(guī)模電子系統(tǒng)的重要保證。 </p><p&

36、gt;  (2) VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計早期就能查驗設(shè)計系統(tǒng)的功能可行性,隨時可對設(shè)計進(jìn)行仿真模擬。 </p><p>  (3) VHDL語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計的分解和已有設(shè)計的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn)。</p><p>  (4)對于用VHDL完成的一

37、個確定的設(shè)計,可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動的把VHDL描述設(shè)計轉(zhuǎn)變成門級網(wǎng)表。 </p><p>  (5) VHDL對設(shè)計的描述具有相對獨(dú)立性,設(shè)計者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計實現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計。</p><p>  QuartusⅡ簡介</p><p>  Quartus II 是Altera公司的綜合性PLD/F

38、PGA開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多種設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整PLD設(shè)計流程。</p><p>  Quartus II 可在以XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設(shè)計流程外,提供了完善的用戶圖形界面設(shè)計方式。具有運(yùn)行速度快

39、,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。 </p><p>  Quartus II 支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計的復(fù)雜性、加快了設(shè)計速度。對第三方EDA工具的良好支持也使用戶可以在設(shè)計流程的各個階段使用熟悉的第三方EDA工具。 </p><p>  此外,Quartus II 通過和DSP Build

40、er工具與Matlab/Simulink相結(jié)合,可以方便地實現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設(shè)計、嵌入式軟件開發(fā)、可編程邏輯設(shè)計于一體,是一種綜合性的開發(fā)平臺。</p><p>  Quartus II 軟件具有以下很多突出的特點(diǎn)。</p><p> ?。?)開放式的多平臺設(shè)計環(huán)境 Quartus II 提供了完整的

41、多平臺設(shè)計環(huán)境,能滿足各種特定設(shè)計的需求,也是可編程片上系統(tǒng)設(shè)計的綜合性環(huán)境和SOPC開發(fā)的基本設(shè)計工具,并為Attera DSP開發(fā)包進(jìn)行系統(tǒng)模型設(shè)計提供了集成綜合環(huán)境。</p><p> ?。?)設(shè)計與結(jié)構(gòu)無關(guān)</p><p>  (3)可在多種平臺運(yùn)行</p><p> ?。?)層次化設(shè)計Quartus

42、II支持層次化設(shè)計,可以在一個新的編輯輸入環(huán)境中對使用不同輸入設(shè)計方式完成的模塊進(jìn)行調(diào)用,從而解決了原理圖與HDL混合輸入設(shè)計的問題。</p><p>  (5)模塊化工具設(shè)計者可以從各種設(shè)計輸入、編輯、校驗及器件編程工具中做出選擇,形成用戶風(fēng)格的開發(fā)環(huán)境,必要時還可在保留原始功能的基礎(chǔ)上添加新的功能。</p><p> ?。?)支持硬件描述語言

43、Quartus II軟件支持多種硬件描述語言的設(shè)計輸入,包括標(biāo)準(zhǔn)的VHDL,Verilog HDL及Atera公司自己開發(fā)的硬件描述語言AHDL。</p><p>  (7)豐富的PLM模塊</p><p> ?。?)MegaCore功能MegaCore是經(jīng)過預(yù)先校驗的為實現(xiàn)復(fù)雜的系統(tǒng)功能而提供的HDL網(wǎng)表文件。<

44、;/p><p> ?。?)OpenCore</p><p>  Quartus II軟件具有開放性內(nèi)核的特點(diǎn),OpenCore可供設(shè)計者在購買產(chǎn)品前來對自己的設(shè)計進(jìn)行評估。</p><p>  功能實現(xiàn)與設(shè)計思路 </p><p><b>  功能實現(xiàn)</b></p><p>  兩人乒乓游戲機(jī)能夠模

45、擬乒乓球比賽的基本過程和規(guī)則,并能自動裁判和計分。乒乓游戲機(jī)是用8個發(fā)光二極管代表乒乓球臺,中間兩個發(fā)光二極管兼作乒乓球網(wǎng),用點(diǎn)亮的發(fā)光二極管按一定的方向移動來表示球的運(yùn)動。在游戲機(jī)的兩側(cè)設(shè)置擊球開關(guān)。甲乙兩人按乒乓球比賽的規(guī)則來操作開關(guān)。</p><p>  當(dāng)甲方按動發(fā)球開關(guān),發(fā)光二極管由甲方向乙方依次點(diǎn)亮,代表球在移動。當(dāng)球過網(wǎng)后,按設(shè)計者規(guī)定的球位乙方就可以擊球。若乙方提前擊球或者沒有擊著球,則判乙方失分

46、,甲方計分牌自動加分。然后重新發(fā)球,比賽繼續(xù)進(jìn)行。比賽一直進(jìn)行到一方計分到21分,該局結(jié)束,計分牌清零,可以進(jìn)行新的一局比賽。</p><p><b>  具體功能如下:</b></p><p> ?。?)使用乒乓球游戲機(jī)的甲乙雙方在不同的位置發(fā)球或者擊球。</p><p> ?。?)乒乓球的位置和移動的方向由燈亮及依次點(diǎn)亮的方向決定,球移動的

47、速度為0.1~0.5s移動一位。游戲者根據(jù)球的位置發(fā)出相應(yīng)的動作,提前擊球或出界均判失分。</p><p>  (3)比賽用21分為一局來進(jìn)行,甲乙雙方設(shè)置各自的記分牌,任何一方計滿21分,該方就算勝了此局。計分牌清零,開始新的一局比賽。</p><p><b>  設(shè)計方案</b></p><p>  根據(jù)乒乓游戲機(jī)功能的要求,我們可以分成5

48、個模塊來實現(xiàn)。分別為控制模塊、顯示控制和輸出模塊、譯碼模塊、分頻模塊、防抖模塊。在設(shè)計中,控制模塊為tennis模塊,它實現(xiàn)了乒乓球游戲機(jī)的的全部邏輯功能;顯示控制和輸出模塊為countyima模塊,它實現(xiàn)乒乓球游戲機(jī)七段數(shù)碼管的片選;7段譯碼器模塊為yima模塊,它將送來的分?jǐn)?shù)進(jìn)行譯碼,實現(xiàn)數(shù)據(jù)的顯示,即計分牌的分?jǐn)?shù);分頻模塊將系統(tǒng)時鐘按照設(shè)計所需進(jìn)行分頻;防抖模塊為fangdou模塊,機(jī)械開關(guān)易引入抖動干擾,為了消除抖動干擾,需要使

49、用防抖動電路。乒乓球游戲機(jī)總體框圖如圖3-1所示。</p><p>  乒乓球游戲機(jī)總體框圖</p><p><b>  各模塊程序設(shè)計 </b></p><p><b>  主控制程序設(shè)計</b></p><p>  主控制模塊程序作為該設(shè)計的核心,控制乒乓球在LED上的移動和甲乙雙方的計分的作

50、用。該主控制程序包括了桌臺模塊和譯碼模塊兩個部分。</p><p><b>  桌臺模塊程序設(shè)計</b></p><p>  設(shè)計該乒乓球游戲機(jī)的輸入/輸出端口。首先考慮輸入端口,設(shè)置一個異步置位端口restart,用于在系統(tǒng)不正常時或重開一局時回到初始狀態(tài);兩個擊球輸入端accep1和accep2,分別表示甲擊球鍵輸入和乙擊球鍵輸入;一個時鐘輸入端口clk1。<

51、;/p><p>  其次考慮輸出端口,芯片應(yīng)該有8個輸出端口來控制8個發(fā)光二極管,輸出一個電平,可以使發(fā)光二極管點(diǎn)亮;另外,要直觀地表示雙方的得分,就得用到七段譯碼器,每方用到2個,可以表示0~21的數(shù)字。實體的設(shè)計如下:</p><p>  entity tennis is</p><p>  port(restart : in std_logic;</p&g

52、t;<p>  clk1 : in std_logic;</p><p>  accep1,accep2 : in std_logic;</p><p>  table : out std_logic_vector(1 to 8);</p><p>  score11 : out std_logic_vector(1 to 8);<

53、;/p><p>  score12 : out std_logic_vector(1 to 8);</p><p>  score21 : out std_logic_vector(1 to 8);</p><p>  score22 : out std_logic_vector(1 to 8));</p><p>  end tennis

54、;</p><p>  控制模塊設(shè)置了7個狀態(tài),分別是等待發(fā)球狀態(tài)(waitfor)、第一盞燈亮狀態(tài)(begin1)、第八盞燈亮狀態(tài)(begin2)、球向乙移動狀態(tài)(to2)、球向甲移動狀態(tài)(to1)、允許甲擊球狀態(tài)(allowreceive1)和允許乙擊球狀態(tài)(allowreceive2)。</p><p>  乒乓球游戲機(jī)中有兩個計數(shù)器scor1和scor2,分別記憶甲的得分和乙的得分

55、;一個a信號,用它的數(shù)值來控制狀態(tài)機(jī)外8個發(fā)光二極管的亮和暗,比如當(dāng)a=1時表示第一個發(fā)光二極管亮,用發(fā)光二級管的輪流發(fā)光表示球的移動軌跡。控制模塊結(jié)構(gòu)體代碼見附錄一。</p><p>  程序在Quartus II軟件上編譯、運(yùn)行并生成tennis模塊元件如圖4-1所示。</p><p>  Tennis模塊元件</p><p><b>  譯碼模塊程序

56、</b></p><p>  譯碼模塊是將傳輸進(jìn)入的分?jǐn)?shù)信號進(jìn)行譯碼,然后輸出讓LED數(shù)碼管顯示。七段譯碼器是在數(shù)字電路設(shè)計中經(jīng)常用到的顯示電路。所謂七段譯碼器,其實是由7段發(fā)光二極管組成的用于顯示數(shù)字的器件。常見的數(shù)碼管有共陰和共陽2種。本設(shè)計用的是共陽極顯示數(shù)碼管,共陽數(shù)碼管是將8個發(fā)光二極管連接在一起作為公共端。公共端常被稱作位碼,而降其他8位稱作段碼,這8位是a,b,c,d,e,f,g及h,他

57、們對應(yīng)數(shù)碼管的七個段位和一個小數(shù)點(diǎn)。a,b,c,d,e,f,g這七段是控制字型顯示的,因此也將LED數(shù)碼管稱為7段數(shù)碼管。</p><p>  由此我們可以得到0~9的7段譯碼值,加上小數(shù)點(diǎn)將是8位顯示代碼。0~9可以用4位二進(jìn)制BCD碼來表示。</p><p>  譯碼模塊詳細(xì)程序見附錄六。下面是該譯碼模塊的部分程序:</p><p><b>  beg

58、in</b></p><p>  temp<=bcdin;</p><p>  case temp is</p><p>  when"00000"=>bcdout1<="00000011";bcdout2<="00000010";</p><p>

59、;  when"00001"=>bcdout1<="00000011";bcdout2<="10011110";</p><p><b>  ... ...</b></p><p>  when"10101"=>bcdout1<="00100101&

60、quot;;bcdout2<="10011110"; </p><p>  when others =>bcdout1<="11111101";bcdout2<="00000010"; </p><p><b>  end case;</b></p><p>

61、  end process; </p><p><b>  end ccc; </b></p><p>  譯碼程序在Quartus II軟件上編譯、運(yùn)行,譯碼模塊仿真如圖4-2所示。</p><p><b>  譯碼模塊仿真</b></p><p><b>  分頻器模塊設(shè)計</b

62、></p><p>  本設(shè)計所用到的系統(tǒng)時鐘頻率為50Mhz。時鐘分頻模塊的功能是將輸入的外部時鐘信號進(jìn)行分頻,產(chǎn)生本設(shè)計所用到的小于50Mhz的信號。</p><p>  其中,c1要求為1Khz,所以50Mhz/1Khz=50000,因此要一個50000分頻器產(chǎn)生1Khz的信號。c2要求為5hz,利用信號c1,所以1Khz/5hz=200,因此要一個200分頻器產(chǎn)生5hz的信號

63、。</p><p>  該分頻器的工作原理為計數(shù)器從0~n-1循環(huán)計數(shù),當(dāng)計數(shù)值達(dá)到n-1時歸零,并且使計數(shù)器在n-1時輸出一個脈沖。分頻器模塊程序見附錄二。</p><p>  程序在Quartus II軟件上編譯、運(yùn)行并生成fenpin模塊元件如圖4-3所示。</p><p>  Fenpin模塊元件</p><p>  分頻器模塊編譯、

64、運(yùn)行之后進(jìn)行仿真,該仿真將時鐘信號進(jìn)行分頻,結(jié)果如圖4-4所示。</p><p><b>  分頻模塊仿真</b></p><p><b>  防抖動模塊設(shè)計</b></p><p>  本設(shè)計會用到機(jī)械按鍵,機(jī)械開關(guān)在開關(guān)切換的瞬間在接觸點(diǎn)會出現(xiàn)來回彈跳的現(xiàn)象,雖然只是一次按鍵然后放開,而實際產(chǎn)生的按鍵信號不止彈跳一次,

65、因此必須加上消除彈跳的電路。</p><p>  本設(shè)計采用計數(shù)器型防抖電路。設(shè)置一個模值為4的控制計數(shù)器,在人工按鍵key=’1’時,執(zhí)行加1計數(shù);key=’0’時,計數(shù)器進(jìn)入狀態(tài)0。計數(shù)器只有在狀態(tài)1時有輸出。計數(shù)器進(jìn)入狀態(tài)3,處于保持狀態(tài)。按鍵一次,計數(shù)器只有一個單脈沖輸出。</p><p>  按鍵key是產(chǎn)生抖動的根源,按照設(shè)計,只有按鍵持續(xù)時間大于3個時鐘周期,計數(shù)器輸出才可能

66、產(chǎn)生有效正跳變,輸出一個單脈沖。只要選擇時鐘周期大于機(jī)械開關(guān)抖動的產(chǎn)生的毛刺寬度,那么毛刺作用就不可能使計數(shù)器有輸出,防抖動目的就可以實現(xiàn)。</p><p>  防抖模塊的詳細(xì)程序見附錄三。以下是該模塊的部分程序:</p><p>  d :process(clk)</p><p><b>  begin</b></p><

67、p>  if(clk'event and clk='1')then</p><p>  if key='1' then</p><p>  if jsq=3 then</p><p>  cp<='1';jsq<=jsq;</p><p><b>  else

68、</b></p><p>  cp<='0';jsq<=jsq+1;</p><p><b>  end if;</b></p><p><b>  ... ... </b></p><p>  end process;</p><p>

69、;<b>  end;</b></p><p>  程序在Quartus II 軟件上編譯、運(yùn)行并生成fangfou模塊元件如圖4-5所示。</p><p>  Fangdou模塊元件</p><p>  防抖模塊編譯、運(yùn)行之后進(jìn)行仿真,當(dāng)輸入信號持續(xù)時間不足時沒有信號輸出,輸入信號持續(xù)時間達(dá)到時有一個信號輸出。如圖4-6所示。</p&g

70、t;<p><b>  防抖模塊仿真</b></p><p><b>  顯示控制和輸出模塊</b></p><p>  顯示控制和輸出模塊的功能就是要產(chǎn)生數(shù)碼管的使能信號,以控制哪一個數(shù)碼管亮,并完成譯碼的功能。</p><p>  該模塊描述了數(shù)碼管的4種狀態(tài)。當(dāng)q等于0時,點(diǎn)亮第一個數(shù)碼管;q等于1時,

71、點(diǎn)亮第二個數(shù)碼管;當(dāng)q等于2時,點(diǎn)亮第三個數(shù)碼管;當(dāng)q等于3時,點(diǎn)亮第四個數(shù)碼管。并且將得分信號送出。選通信號一個1khz的信號控制4個數(shù)碼管的點(diǎn)亮。</p><p>  顯示控制和輸出模塊詳細(xì)程序見附錄四。以下是顯示控制和輸出模塊的部分程序:</p><p><b>  begin</b></p><p>  process(clk2)<

72、;/p><p><b>  begin</b></p><p>  if(clk2'event and clk2='1')then</p><p>  if q=3 then</p><p><b>  q<=0;</b></p><p><b

73、>  else</b></p><p><b>  q<=q+1;</b></p><p><b>  end if;</b></p><p><b>  end if;</b></p><p><b>  case q is</b>

74、;</p><p>  when 0=>sel<="1110";oscore<=score11;</p><p>  when 1=>sel<="1101";oscore<=score12;</p><p>  when 2=>sel<="1011";osco

75、re<=score21;</p><p>  when 3=>sel<="0111";oscore<=score22;</p><p><b>  end case;</b></p><p>  end process;</p><p><b>  end</b

76、></p><p>  程序在Quartus II軟件上編譯、運(yùn)行并生成countyima模塊元件如圖4-7所示。</p><p>  Countyima模塊元件</p><p>  顯示控制和輸出模塊程序編譯、運(yùn)行之后,進(jìn)行仿真,仿真結(jié)果如圖4-8所示。</p><p>  顯示控制和輸出模塊仿真</p><p&

77、gt;<b>  系統(tǒng)的整合與仿真</b></p><p><b>  上層模塊設(shè)計</b></p><p>  上層模塊的作用是將下層模塊連接起來,可以用圖形輸入法,也可以用文本輸入法。本設(shè)計使用文本輸入法將下層模塊連接起來。在任何一個自頂向下的設(shè)計描述中,上層模塊都包括系統(tǒng)的接口,即輸入、輸出信號和數(shù)據(jù)類型。</p><p

78、>  該設(shè)計的上層接口信號為:</p><p>  reset 復(fù)位開關(guān)</p><p>  clk 時鐘信號,50Mhz</p><p>  accept1f,accept2f 擊球信號</p><p>  tablef 桌球臺燈</p>

79、<p>  scoref 數(shù)碼管的輸入信號</p><p>  selectf 數(shù)碼管的片選信號</p><p>  上層模塊調(diào)用了4個下層模塊:tennis桌臺模塊、fangdou防抖模塊、fenpin分頻模塊和countyima顯示控制和輸出模塊,利用位置映射的方法可將4個模塊連接起來。</p><p&g

80、t;  上層模塊詳細(xì)程序見附錄五。以下是上層模塊的部分程序:</p><p>  architecture link of ctrl is</p><p>  component fenpin</p><p>  port(clk : in std_logic;</p><p>  c1,c2 : out std_logic);</p

81、><p>  end component;</p><p><b>  ... ...</b></p><p>  signal clk1,clk2 : std_logic;</p><p><b>  begin</b></p><p>  u1 : fenpin port

82、 map (clk,clk1,clk2);</p><p>  u2 : fangdou port map (clk1,accept1f,accept1);</p><p>  u3 : fangdou port map (clk1,accept2f,accept2);</p><p>  u4 : tennis port map (reset,clk2,accep

83、t1,accept2,tablef,s11,s12,s21,s22);</p><p>  u5 :countyima port map(clk1,s11,s12,s21,s22,selectf,scoref);</p><p><b>  end link;</b></p><p>  所有模塊編輯輸入完成后,在quartusⅡ軟件上編譯、運(yùn)

84、行并生成該設(shè)計的頂層模塊如圖5-1所示。</p><p><b>  頂層模塊</b></p><p>  在程序編譯運(yùn)行成功后,仔細(xì)檢查是否與自己設(shè)計符合后就可以進(jìn)行程序的仿真了。</p><p><b>  系統(tǒng)的仿真</b></p><p>  仿真的目的就是在軟件環(huán)境下,驗證電路的行為和設(shè)想

85、中的是否一致。</p><p>  可以使用Quartus II Simulator仿真任何設(shè)計。根據(jù)所需的信息類型,可以進(jìn)行功能仿真以測試設(shè)計的邏輯功能,也可以進(jìn)行時序仿真,在目標(biāo)器件中測試設(shè)計的邏輯功能和最壞情況下的時序,或者采用FAST Timing模型進(jìn)行時序仿真,在最快的器件速率等級上仿真盡可能快的時序條件。</p><p>  由于本系統(tǒng)的狀態(tài)情況比較的多,下面就幾種典型的情

86、況進(jìn)行系統(tǒng)的綜合和仿真:</p><p> ?。?)當(dāng)甲方先發(fā)球,乙方在恰當(dāng)?shù)臅r刻擊球成功,當(dāng)球回到甲方時,甲方?jīng)]有及時接到球的仿真波形。在圖中可以看到乒乓球的運(yùn)動軌跡和打球的狀態(tài),此時乙方得一分。仿真波形如圖5-2所示。</p><p><b>  比賽過程仿真</b></p><p> ?。?)當(dāng)甲方兩次成功發(fā)球后乙方都沒有接到球,甲方得2

87、分的仿真波形圖。如圖5-3所示。</p><p><b>  比賽過程仿真</b></p><p> ?。?)當(dāng)甲成功發(fā)球后,乙方提前擊球?qū)е挛磽糁械那闆r,此時,甲方得1分。然后,甲方又成功發(fā)球,而乙方?jīng)]有在規(guī)定的時間接到球,此時甲方又得了1分。如圖5-4所示。</p><p><b>  比賽過程仿真</b></p

88、><p> ?。?)當(dāng)甲方發(fā)過三次球之后,乙方發(fā)球。如圖5-5所示。</p><p><b>  交換發(fā)球權(quán)仿真</b></p><p><b>  引腳分配與器件編程</b></p><p><b>  引腳分配</b></p><p>  建立工程和設(shè)計

89、之后,需要指定目標(biāo)器件并進(jìn)行引腳分配。選擇好目標(biāo)器件后就可以使用分配編輯器指定引腳分配。</p><p>  使用分配編輯器可以在Quartus II進(jìn)行引腳分配。分配用于在設(shè)計中為邏輯指定的各種選項和設(shè)置,包括位置、I/O標(biāo)準(zhǔn)、時序、邏輯選項、參數(shù)、仿真和引腳分配。</p><p>  本設(shè)計采用以Cyclone系列EP1C3T144C8作為芯片的開發(fā)板,根據(jù)賣家提供的開發(fā)板引腳分配圖就

90、可以完成引腳分配。引腳分配如圖5-6所示。</p><p><b>  引腳分配</b></p><p><b>  器件編程</b></p><p>  使用Quartus II軟件成功編譯工程和引腳分配后,就可以對Altera器件進(jìn)行編程或配置。Quartus II Compiler的Assembler模塊生成編程文件

91、,結(jié)合Atera編程硬件,Quartus II Programmer可以對器件進(jìn)行編程或配置。</p><p>  Programmer使用Assembler生成的Programmer Object文件(.pof)或SRAM Object文件(.sof)對Quartus II軟件支持的器件進(jìn)行編程或配置。</p><p>  Programmer具有四種編程模式:</p>&

92、lt;p> ?。?)Passive Serial模式;</p><p> ?。?)JTAG模式;</p><p> ?。?)Active Serial Programming模式;</p><p> ?。?)In-Socket Programming模式。</p><p>  Prassive Serial和JTAG編程模式允許使用CD

93、F和Altera編程硬件對單個或多個器件進(jìn)行編程??梢允褂肁ctive Serial Programming模式和Altera編程硬件對單個EPCS1或EPCS4串行配置器件進(jìn)行編程。</p><p>  編輯器窗口上的Mode下拉列表用于設(shè)置編程模式,默認(rèn)是JTAG模式,如圖5-7所示。</p><p><b>  設(shè)置編程模式</b></p>&l

94、t;p>  完成設(shè)置之后,勾選編程文件后方的選項,單擊Start按鈕即可啟動編程器,Progress顯示編程進(jìn)度,如圖5-8所示。</p><p><b>  完成器件編程</b></p><p>  完成器件編程之后,就可以進(jìn)行硬件驗證了。程序下載到硬件后就可以進(jìn)行硬件調(diào)試,看硬件的測試效果與設(shè)想的是否一致。</p><p>  硬件程

95、序下載完成之后,初始狀態(tài)甲乙雙方分?jǐn)?shù)為零,由甲方發(fā)球。如圖5-9所示。</p><p><b>  游戲機(jī)初始狀態(tài)</b></p><p>  甲方發(fā)完三球之后,將發(fā)球權(quán)交給乙方,硬件效果如圖5-10所示。</p><p><b>  交換發(fā)球權(quán)</b></p><p>  乒乓球游戲機(jī)在比賽過程中

96、的效果如圖5-11所示。</p><p>  乒乓球游戲機(jī)比賽過程中</p><p><b>  總結(jié)</b></p><p>  本文進(jìn)行乒乓游戲機(jī)軟件設(shè)計,并用EDA實驗箱進(jìn)行驗證,目標(biāo)芯片是Altera公司Cyclone系列的EP1C3T114C8,本設(shè)計由桌臺模塊、分頻模塊、譯碼模塊、按鍵防抖等模塊組成。采用VHDL語言編程,基于FPG

97、A成功設(shè)計了一款乒乓球比賽的游戲機(jī),通過仿真驗證可知,結(jié)果滿足了設(shè)計的要求。系統(tǒng)能夠模擬兩人乒乓球比賽的基本過程和規(guī)則,并能自動裁判和計分,能有效模擬實際的乒乓球比賽。該系統(tǒng)可進(jìn)一步改進(jìn),使用人體感應(yīng)器官來采集擊球信號,采用FPGA產(chǎn)生視頻信號送到電視機(jī),更直觀地展示乒乓球運(yùn)動軌跡,從而真正實現(xiàn)人機(jī)互動,優(yōu)化虛擬效果。</p><p><b>  參考文獻(xiàn)</b></p>&l

98、t;p>  [1]聶小燕, 魯才. 數(shù)字電路EDA設(shè)計與應(yīng)用. 人民郵電出版社, 2010</p><p>  [2]尹常永. EDA技術(shù)與數(shù)字系統(tǒng)設(shè)計. 西安電子科技大學(xué)出版社, 2004</p><p>  [3]李國麗, 朱維勇, 欒銘. EDA與數(shù)字系統(tǒng)設(shè)計. 機(jī)械工業(yè)出版社, 2007</p><p>  [4]延明, 張亦華. 數(shù)字電路EDA技術(shù)入

99、門.北京郵電大學(xué)出版社, 2006</p><p>  [5]江國強(qiáng). EDA技術(shù)與應(yīng)用[M]. 電子工業(yè)出版社, 2004</p><p>  [6]張文愛. EDA技術(shù)與FPGA應(yīng)用設(shè)計[M]. 電子工業(yè)出版社, 2012</p><p>  [7]譚慧生 張昌凡. EDA技術(shù)與應(yīng)用[M]. 西安電子科技大學(xué)出版社, 2001</p><p&

100、gt;  [8]漢澤西. EDA技術(shù)及其應(yīng)用[M]. 北京航空航天大學(xué)出版社, 2004</p><p>  [9]王振紅. VHDL數(shù)字電路設(shè)計與應(yīng)用教程[M]. 機(jī)械工業(yè)出版社, 2003</p><p>  [10]付家才. EDA技術(shù)與FPGA應(yīng)用設(shè)計[M]. 電子工業(yè)出版社, 2012</p><p><b>  致謝</b><

101、/p><p><b>  附錄</b></p><p>  附錄一:桌臺模塊程序</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_arith.all;</p&g

102、t;<p>  use ieee.std_logic_unsigned.all;</p><p>  entity tennis is</p><p>  port(restart : in std_logic;</p><p>  clk1 : in std_logic;</p><p>  accep1,accep

103、2 : in std_logic;</p><p>  table : out std_logic_vector(1 to 8);</p><p>  score11 : out std_logic_vector(1 to 8);</p><p>  score12 : out std_logic_vector(1 to 8);</p>&l

104、t;p>  score21 : out std_logic_vector(1 to 8);</p><p>  score22 : out std_logic_vector(1 to 8));</p><p>  end tennis;</p><p>  architecture rt1 of tennis is</p><p>

105、  type ttennis is ( waitfor, begin1,to2,allowreceive2,begin2,to1,allowreceive1);</p><p>  signal state :ttennis;</p><p>  signal a :integer range 0 to 8;</p><p>  signal scor1,sc

106、or2: std_logic_vector(1 to 4) :="0000";</p><p>  signal send : std_logic;</p><p>  signal m : integer range 0 to 3;</p><p>  component yima is</p><p>  por

107、t(bcdin : in std_logic_vector(1 to 4);</p><p>  bcdout1 : out std_logic_vector(1 to 8);</p><p>  bcdout2 : out std_logic_vector(1 to 8));</p><p>  end component;</p>

108、<p><b>  begin</b></p><p>  process(clk1)</p><p><b>  begin</b></p><p>  if clk1'event and clk1='1' then</p><p>  if(m=3) then

109、</p><p><b>  m<=0;</b></p><p>  send<=not send;</p><p><b>  end if;</b></p><p>  if scor1="1011"or scor2="1011" then&l

110、t;/p><p><b>  a<=0;</b></p><p>  scor1<="0000";</p><p>  scor2<="0000";</p><p>  elsif restart='0' then</p><p&g

111、t;  a<=0;scor1<="0000";scor2<="0000";m<=0;send<='0';state<=waitfor;</p><p><b>  else</b></p><p>  case state is</p><p>  wh

112、en waitfor =></p><p>  case send is</p><p>  --when "00" => a<=0;</p><p>  when'0'=>a<=1;state<=begin1;</p><p>  when'1'=>

113、;a<=8;state<=begin2;</p><p>  -- when "11" => a<=0;</p><p>  when others=>a<=0;</p><p><b>  end case;</b></p><p>  when begin1 =

114、></p><p>  if accep1='0'then</p><p><b>  a<=2;</b></p><p>  if accep2='0'then</p><p><b>  a<=0;</b></p><p>

115、;  scor1<=scor1+1;state<=waitfor;</p><p><b>  else</b></p><p>  state<=to2;</p><p><b>  end if;</b></p><p><b>  else</b><

116、;/p><p>  state<=waitfor;</p><p><b>  end if;</b></p><p>  when begin2=></p><p>  if accep2='0' then</p><p><b>  a<=7;</

117、b></p><p>  if accep1='0' then</p><p><b>  a<=0;</b></p><p>  scor2<=scor2+1;state<=waitfor;</p><p><b>  else</b></p>

118、<p>  state<=to1;</p><p><b>  end if;</b></p><p><b>  else</b></p><p>  state<=waitfor;</p><p><b>  end if;</b></p>

119、;<p>  when to1 =></p><p>  if accep1='0' then</p><p><b>  a<=0;</b></p><p>  scor2<=scor2+1;m<=m+1;state<=waitfor;</p><p>  e

120、lsif a=2 then a<=1;</p><p>  state<=allowreceive1;</p><p><b>  else</b></p><p><b>  a<=a-1;</b></p><p><b>  end if;</b><

121、/p><p>  when to2 =></p><p>  if accep2='0' then</p><p><b>  a<=0;</b></p><p>  scor1<=scor1+1;m<=m+1;state<=waitfor;</p><p&g

122、t;  elsif a=7 then a<=8;</p><p>  state <=allowreceive2;</p><p><b>  else</b></p><p><b>  a<=a+1;</b></p><p><b>  end if;</b&g

溫馨提示

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

評論

0/150

提交評論