畢業(yè)設計(論文)-用VHDL語言設計智能搶答器鑒別和計時模塊_第1頁
畢業(yè)設計(論文)-用VHDL語言設計智能搶答器鑒別和計時模塊_第2頁
畢業(yè)設計(論文)-用VHDL語言設計智能搶答器鑒別和計時模塊_第3頁
畢業(yè)設計(論文)-用VHDL語言設計智能搶答器鑒別和計時模塊_第4頁
畢業(yè)設計(論文)-用VHDL語言設計智能搶答器鑒別和計時模塊_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 用VHDL語言設計智能搶答器鑒別和計時模塊 摘要 伴隨著集成電路(IC)技術的開展,EDA技術已經(jīng)成為現(xiàn)代電子設計的開展趨勢,并在各大公司、企事業(yè)單位和科研教學部門廣泛使用。VHDL是一種全方位的硬件描述語言,幾乎覆蓋了以往各種硬件描述語言的功能,整個自頂向下或自底向上的電路設計過程都可以用VHDL來完成。本文闡述了EDA的概念和開展、VHDL語言的優(yōu)點和語法結(jié)構(gòu)并分析講解了智能搶答器的各模塊的功能要求、根本原理以及實現(xiàn)方法。本系統(tǒng)的設計就是采用VHDL硬件描述語言編程,基于Quartus II平臺進行編譯和仿真來實現(xiàn)的,其采用的模塊化、逐步細化的設計方法有利于系統(tǒng)的分工合作,并且能夠及早發(fā)

2、現(xiàn)各子模塊及系統(tǒng)中的錯誤,提高系統(tǒng)設計的效率。本設計主要的功能是:1.對第一搶答信號的鑒別和鎖存功能; 2.限時功能3.記分功能4.數(shù)碼顯示。關鍵詞 電子設計自動化(EDA);VHDL;搶答器;自頂向下的設計方法The identification and timing module of the Answeringsnatches based on VHDLABSTRACT As the fast development of the integrated circuit technology,Electronic design automation (EDA)technology has

3、become the trend of modern electronic design,whats more,it has been widely used by each big company, the enterprises and Scientific Institutions .VHDL is a kind of hardware description language,which is all-rounds, nearly covers the function of each other kind of hardware description language .Both

4、the entire top-down and bottom-Up circuit design process could be accomplished by VHDL.This article elaborates the concept and development of EDA ,explains the advantages and grammar structure of VHDL ,meanwhile, analysed the function request, the basic principle as well as the method of accomplishm

5、ent of each parts. This systems design programmes in the VHDL, compiled and emulated basing on Quartus II platform of Altera. Using the modulation,and the gradually detailing design method is of great benefit for the systems division of labor and cooperation ,besides,the usage of this method can det

6、ect errors, as early as possible , in various of submodules and system, enhancing the efficiency of the system design. The main feature of this design are:1. Accurately identificating of the signal of the first answer and latching this signal ; 2. The time limited function3. Score function 4. Digita

7、l display fuction.KEY WORDS EDA;VHDL;the answering snatches;top-down design methodTOC o 1-3 t 二級標題,2,三級標題,3,一級標題,1 h 目 錄中文摘要.ABSTRACT. HYPERLINK l _Toc6250 1 緒 論 PAGEREF _Toc6250 1 HYPERLINK l _Toc8779 EDA技術的開展 PAGEREF _Toc8779 1 HYPERLINK l _Toc10610 智能搶答器的市場現(xiàn)狀和EDA技術的應用 PAGEREF _Toc10610 1 HYPERLIN

8、K l _Toc28671 EDA技術的設計優(yōu)勢 PAGEREF _Toc28671 2 HYPERLINK l _Toc29673 論文結(jié)構(gòu) PAGEREF _Toc29673 2 HYPERLINK l _Toc9256 2 系統(tǒng)的設計元素 PAGEREF _Toc9256 3 HYPERLINK l _Toc22371 傳統(tǒng)的數(shù)字系統(tǒng)設計方法和現(xiàn)代的數(shù)字系統(tǒng)設計方法比擬 PAGEREF _Toc22371 3 HYPERLINK l _Toc21759 2.2 VHDL硬件描述語言概述 PAGEREF _Toc21759 4 HYPERLINK l _Toc6527 硬件平臺Quartu

9、sII概述 PAGEREF _Toc6527 5 HYPERLINK l _Toc14867 Quartus II介紹 PAGEREF _Toc14867 5 HYPERLINK l _Toc13388 Quartus II設計流程及考前須知 PAGEREF _Toc13388 6 Quartus II的設計優(yōu)勢應用舉例7 HYPERLINK l _Toc18807 實驗開發(fā)系統(tǒng)及芯片簡述 PAGEREF _Toc18807 7 HYPERLINK l _Toc8878 3 智能搶答器系統(tǒng)的設計與實現(xiàn) PAGEREF _Toc8878 9 HYPERLINK l _Toc1071 3.1 搶答

10、器系統(tǒng)設計要求 PAGEREF _Toc1071 9 HYPERLINK l _Toc6317 系統(tǒng)總體設計思想 PAGEREF _Toc6317 9 HYPERLINK l _Toc15349 子模塊的設計思想和實現(xiàn) PAGEREF _Toc15349 11 HYPERLINK l _Toc15925 鑒別模塊的設計與實現(xiàn) PAGEREF _Toc15925 11 HYPERLINK l _Toc18680 計時模塊的設計與實現(xiàn) PAGEREF _Toc18680 12 HYPERLINK l _Toc13080 計分模塊的設計與實現(xiàn) PAGEREF _Toc13080 14 HYPERLI

11、NK l _Toc29279 3.3.4 譯碼顯示模塊的設計與實現(xiàn). PAGEREF _Toc29279 16 HYPERLINK l _Toc8846 搶答器的系統(tǒng)實現(xiàn) PAGEREF _Toc8846 16 HYPERLINK l _Toc1117 4 智能搶答器子模塊的仿真驗證 PAGEREF _Toc1117 19 HYPERLINK l _Toc2574 4.1 鑒別模塊的仿真驗證 PAGEREF _Toc2574 19 HYPERLINK l _Toc12557 4.2 計時模塊的仿真驗證 PAGEREF _Toc12557 20 HYPERLINK l _Toc10124 4.3

12、 計分模塊的仿真驗證 PAGEREF _Toc10124 21 HYPERLINK l _Toc1675 4.4 數(shù)顯模塊的仿真驗證 PAGEREF _Toc1675 22 HYPERLINK l _Toc23605 結(jié)束語 PAGEREF _Toc23605 24 HYPERLINK l _Toc19252 致 謝 PAGEREF _Toc19252 25 HYPERLINK l _Toc14724 參考文獻 PAGEREF _Toc14724 26(附錄).261 緒 論1.1 EDA技術的開展人類社會已進入到高度興旺的信息化社會,信息社會的開展離不開電子產(chǎn)品的進步?,F(xiàn)代電子產(chǎn)品在性能提高

13、、復雜度增大的同時,價格卻一直呈下降趨勢,而且產(chǎn)品更新?lián)Q代的步伐也越來越快,實現(xiàn)這種進步的主要原因就是生產(chǎn)制造技術和電子設計技術的開展。前者以微細加工技術為代表,目前已進展到深亞微米階段,可以在幾平方厘米的芯片上集成數(shù)千萬個晶體管;后者的核心就是EDA技術?!?】EDA是指以計算機為工作平臺,融合了應用電子技術、計算機技術、智能化技術最新成果而研制成的電子CAD通用軟件包,主要能輔助進行三方面的設計工作:IC設計,電子電路設計以及PCB設計。沒有EDA技術的支持,想要完成上述超大規(guī)模集成電路的設計制造是不可想象的,但是面對當今飛速開展的電子產(chǎn)品市場,設計師需要更加實用、快捷的EDA工具,使用統(tǒng)

14、一的集體化設計黃精,改變傳統(tǒng)的設計思路,將精力集中到設計設想、方案比擬和尋找優(yōu)化設計等方面,需要以最快的速度,開發(fā)出性能優(yōu)良、質(zhì)量一流的電子產(chǎn)品,對EDA技術提出了更高的要求。未來的EDA技術將在仿真、時序分析、集成電路自動測試、高速印刷版設計及開發(fā)操作平臺的擴展等方面取得新的突破,向著功能強大、簡單易學、使用方便的方向開展。1.2 智能搶答器的市場現(xiàn)狀和EDA技術的應用 智力競賽是“快樂學習這一教育模式的典范,它采用在規(guī)定的一段時間內(nèi)搶答和必答等方式,在給人們的生活帶來樂趣的同時,也使參與者和觀眾在愉悅的氣氛中學到一些科學知識和生活知識,因此很受大家的喜歡。智力搶答器在智力競賽中起到很重要的

15、角色,能夠準確、公正、直觀地判斷出首輪搶答者,并且通過搶答器的數(shù)碼顯示和警示蜂鳴等方式指示出首輪搶答者。EDA技術是在電子CAD技術根底上開展起來的計算機軟件系統(tǒng),是指以計算機為工作平臺,融合了應用電子技術、計算機技術、信息處理及智能化技術的最新成果,進行電子產(chǎn)品的自動設計。利用EDA工具,電子設計師可以從概念、算法、協(xié)議等開始設計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產(chǎn)品從電路設計、性能分析到設計出IC幅員或PCB幅員的整個過程在計算機上自動處理完成?,F(xiàn)在對EDA的概念或范疇用得很寬。包括在機械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學、軍事等各個領域,都有EDA的應用。目前

16、EDA 技術已在各大公司、企事業(yè)單位和科研教學部門廣泛使用。例如在飛機制造過程中,從設計、性能測試及特性分析直到飛行模擬,都可能涉及到EDA技術。 所以從目前的市場情況來看,這個課題的研究很有開展前景。1.3 EDA技術的設計優(yōu)勢傳統(tǒng)的設計方法采用自底向上的設計方法,一般先按電子系統(tǒng)的具體功能要求進行功能劃分,然后對每個子模塊畫出真值表,用卡諾圖進行手工邏輯簡化,寫出布爾表達式,畫出相應的邏輯線路圖,再據(jù)此選擇元器件,設計電路板,最后進行實測與調(diào)試,由于無法進行硬件系統(tǒng)功能仿真,如果某一過程存在錯誤,查找和修改十分不便,所以這是一種費時、費力的設計方法,而現(xiàn)代電子設計技術(EDA)是自頂向下且

17、先進高效的。在電子產(chǎn)品的設計理念、設計方式、系統(tǒng)硬件構(gòu)成、設計的重用性、知識產(chǎn)權、設計周期等方面,EDA技術具有一定的優(yōu)勢。所以本次設計的搶答器拋棄了傳統(tǒng)的設計方法,選擇了采用主流的EDA技術進行設計。1.4 論文結(jié)構(gòu)第一章 緒論局部,介紹了該課題的開展前景、現(xiàn)狀以及EDA技術的設計優(yōu)勢等;第二章 概述整個系統(tǒng)設計的設計元素;第三章 詳細介紹用VHDL語言對智能搶答器的設計和實現(xiàn);第四章 各功能模塊的仿真。 2 系統(tǒng)的設計元素 此次設計是按照自頂向下的設計方法,對整個系統(tǒng)進行方案設計和功能劃分,系統(tǒng)的關鍵電路用一片或幾片專用集成電路ASIC實現(xiàn),然后采用硬件描述語言VHDL完成系統(tǒng)行為級設計,

18、最后通過綜合器和適配器生成最終的目標器件。這樣的設計方法被稱為高層次的電子設計方法。具體介紹如下:2.1 傳統(tǒng)的數(shù)字系統(tǒng)設計方法和現(xiàn)代的數(shù)字系統(tǒng)設計方法比擬 傳統(tǒng)的數(shù)字系統(tǒng)設計方法:基于電路板的設計方法采用固定功能的器件通用型器件,通過設計電路板來實現(xiàn)系統(tǒng)功能,在系統(tǒng)硬件設計的后期進行仿真和調(diào)試 現(xiàn)代的數(shù)字系統(tǒng)設計方法:基于芯片采用PLD,利用EDA開發(fā)工具,通過芯片設計來實現(xiàn)系統(tǒng)功能,在系統(tǒng)硬件設計的早期進行仿真。此系統(tǒng)的設計就是采用的現(xiàn)代的數(shù)字系統(tǒng)設計方法EDA的設計方法。兩種設計方法的具體步驟如下: 圖2-1兩種設計方法的具體步驟 其與傳統(tǒng)的設計方法的具體優(yōu)劣比擬如下表: 表2-1 傳統(tǒng)

19、設計方法 vs EDA設計方法 由以上兩比照圖、表可知,智能搶答器的設計采用自頂向下的設計方法較優(yōu)。而傳統(tǒng)的電子設計的根本思路還是選擇標準集成電路自底向上Bottom-Up地構(gòu)造出一個新的系統(tǒng),這樣的設計方法就如同一磚一瓦地建造金字塔,不僅效率低、本錢高而且還容易出錯。2.2 VHDL硬件描述語言概述硬件描述語言HDL-Hardware Description Language是一種用于設計硬件電子系統(tǒng)的計算機語言,早期的硬件描述語言,如ABEL-HDL、AHDL,是由不同的EDA廠商開發(fā)的,互相不兼容,而且不支持多層次設計,層次間翻譯工作要由人工完成。為了克服以上缺陷,1985年美國國防部正

20、式推出VHDL(Very High Speed IC Hardware Description Language)語言,1987年IEEE采納VHDL為硬件描述語言標準IEEE STD-1076?!?】 VHDL對系統(tǒng)進行設計,可以在電子設計的各個階段、各個層次對于編輯好的程序,在Altera公司提供的QuartusII平臺上進行編譯、仿真,然后通過時序圖可以看出了此編程是否符合預想的設計功能,如果不符合,在硬件測試前就可以及早發(fā)現(xiàn)各子模塊及系統(tǒng)中的錯誤,這樣的設計特點無疑將提高系統(tǒng)設計的效率。除此之外,用VHDL進行電子系統(tǒng)設計的一個很大的優(yōu)點是設計者可以專心致力于其功能的實現(xiàn),而不需要對不

21、影響功能的與工藝有關的因素花費過多的時間和精力。QuartusII概述 Quartus II介紹Quartus II是Altera 公司單芯片可編程系統(tǒng)(SOPC) 設計的綜合性環(huán)境,也是適合SOPC的最全面的設計環(huán)境。它擁有現(xiàn)場可編程門陣列(FPGA) 和復雜可編程邏輯器件(CPLD) 設計的所有階段的解決方案。Quartus II 設計軟件改良了性能、提升了功能性、解決了潛在的設計延遲等,在工業(yè)領域率先提供FPGA與mask-programmed devices開發(fā)的統(tǒng)一工作流程。同時,Altera的Quartus II可編程邏輯軟件還屬于第四代PLD開發(fā)平臺。該平臺支持一個工作組環(huán)境下的

22、設計要求,其中包括支持VHDL、Verilog的設計流程,其內(nèi)部嵌有VHDL、Verilog邏輯綜合器。同樣,Quartus II具備仿真功能,同時也支持第三方的仿真工具。Quartus II支持層次化設計,可以在一個新的編輯輸入環(huán)境中對使用不同輸入設計方式完成的模塊進行調(diào)用,從而解決了原理圖與HDL混合輸入設計的問題,并且在設計輸入之后,Quartus II的編譯器將給出設計輸入的錯誤報告。2 Quartus II設計流程及考前須知基于 Quartus II的VHDL文本輸入設計流程如下列圖所示: 圖2-2基于 Quartus II的VHDL文本輸入設計流程 由上圖可以看出,這樣的設計方法對

23、于電子設計的各個階段、各個層次的操作都在Altera公司提供的QuartusII平臺上進行編譯、仿真測試,然后通過仿真時序圖可以看出了此編程是否符合預想的設計功能,如果不符合,在硬件測試前就可以及早發(fā)現(xiàn)各子模塊及系統(tǒng)中的錯誤,這樣的設計特點無疑將提高系統(tǒng)設計的效率。 在設計實驗過程中有以下幾點需要注意: 1.在編程時要注意信號與變量的區(qū)別,并能正確定義和應用。 2.在創(chuàng)立工程時,要注意工程名和文件名和實體名要保持一致; 3.設計結(jié)束時間時最好是時間周期的15倍,否那么可能會出現(xiàn)時序圖圖像重疊不好識別的現(xiàn)象;4.仿真中,適當進制的轉(zhuǎn)換有時候可以更使觀察者更明顯地看出來時序圖的功能。 Quartu

24、s II的設計優(yōu)勢應用舉例隨著邏輯設計復雜性的不斷增加,僅依賴于軟件方式的仿真測試來了解設計系統(tǒng)的硬件功能已經(jīng)遠遠不夠了,而需要重復進行硬件系統(tǒng)測試的測試也變得更為困難。嵌入式邏輯分析儀SignalTapII的使用就解決了這一問題。它可以隨設計文件一并下載于目標芯片中,用以捕捉目標芯片內(nèi)部系統(tǒng)信號節(jié)點處的信息或總線上的數(shù)據(jù)流,而又不影響原硬件系統(tǒng)的正常工作?!?】嵌入式邏輯分析儀SignalTapII有很多的優(yōu)點:1允許對設計層次的模塊的信號節(jié)點進行測試,可以使用多時鐘驅(qū)動;(2)利用Signal Tap II成功的采集了FPGA內(nèi)部信號的波形,不占用額外的I/O引腳;(3)Signal Ta

25、p II為硬件板級調(diào)試工具,它采集的波形是工程下載后的實時波形,方便設計者查找引起設計缺陷的原因;(4)節(jié)約本錢。Signal Tap II集成在Quartus II軟件中,無需另外付費;(5)能通過設置以確定前后觸發(fā)捕捉信號信息的比例.除此之外,應用Signal Tap II還能解決各種各樣的問題,如外部存儲器的雙向數(shù)據(jù)口的實時波形檢測、驅(qū)動模塊的并串轉(zhuǎn)換波形等。2.4 實驗開發(fā)系統(tǒng)及芯片簡述 本設計采用的實驗箱為GW48-PK型EDA/SOC實驗開發(fā)系統(tǒng),選用的芯片為ALTERA公司的型號為EP1C3T144C8的Cyclone系列芯片,該芯片是ALTERA推出的低價格、高容量的FPGA,

26、其以較低的價格、優(yōu)良的特性以及豐富的片上資源在實際應用中被廣泛的采用,這些都是其他同類產(chǎn)品無法相比的。 這款芯片的資源利用率最正確為85%左右,Quartus軟件包的編程器是系統(tǒng)的核心,提供功能強大的設計處理,設計者可以添加特定的約束條件來提高芯片的利用率。 關于FPGA/CPLD器件的配置: 當在Quartus 中完成設計后,就應當將所設計的電路下載到CPLD芯片中,結(jié)合用戶系統(tǒng)進行統(tǒng)一的調(diào)試。針對CPLD器件不同的內(nèi)部結(jié)構(gòu),Altera公司提供了不同的器件配置方式。Altera可編程邏輯器件的配置可通過編程器、JATG接口在線編程及Altera在線配置三種方式進行?!?】 Altera器件

27、編程的連接硬件包括ByteBlaster并口下載電纜,ByteBlasterMV并口下載電纜,MasterBlaster串行/USB 通信電纜,BitBlaster串口下載電纜。Altera公司提供的EPC1、EPC2、EPC16和EPC1441等PROM配置芯片。ByteBlaster 并口下載電纜連接示意圖如下列圖所示: 圖2-3 ByteBlaster 并口下載電纜連接示意圖 ByteBlaster并口下載電纜提供兩種下載模式: 1被動串行模式PS模式用于配置FLEX 10K、FLEX 8000和FLEX 6000器件; 2JTAG模式具有工業(yè)標準的JTAG邊界掃描測試電路符合IEEE

28、1149.1:1990標準,用于配置FLEX 10K或?qū)AX 9000、MAX 7000S和MAX 7000A器件進行編程。3 智能搶答器系統(tǒng)的設計與實現(xiàn)3.1 搶答器系統(tǒng)設計要求 一般來說,設計一臺智能搶答器,必須能夠準確判斷出第一位搶答者,并且通過數(shù)顯、蜂鳴這些途徑能讓人們很容易得知誰是搶答成功者,并設置一定的答復限制時間,讓搶答者在規(guī)定時間內(nèi)答題,主持人根據(jù)答題結(jié)果實行增減分的操作,并將分數(shù)顯示在屏幕上,評出最終贏家。所以我們在設計智能搶答器的模塊需要滿足鑒別、計時、計分、數(shù)顯等功能,具體設計要求如下: 1搶答器可容納四組選手,并為每組選手設置一個按鈕供搶答者使用;為主持人設置一個控制

29、按鈕,用來控制系統(tǒng)清零組別顯示數(shù)碼管滅燈和搶答開始; 2電路具有對第一搶答信號的鎖存、鑒別和顯示等功能。在主持人將系統(tǒng)復位并發(fā)出搶答指令后,蜂鳴器提示搶答開始,計時顯示器顯示初始時間并開始倒計時,假設參賽選手按下?lián)尨鸢粹o,那么該組別的信號立即被鎖存,并在組別顯示器上顯示該組別,同時揚聲器也給出音響提示,此時,電路具備自鎖功能,使其他搶答按鈕不起作用。 3如果無人搶答,計時器倒計時到零,蜂鳴器有搶答失敗提示,主持人可以按復位鍵,開始新一輪的搶答。 4搶答器具有限時搶答的功能,且一次搶答的時間由主持人設定,本搶答時間設定為60秒。當主持人啟動開始鍵后,要求計時器采用倒計時,同時最后十秒揚聲器會發(fā)出

30、聲響提示; 5參賽選手在設定的時間內(nèi)搶答,那么搶答有效,定時器停止工作,主持人根據(jù)搶答結(jié)果給出分數(shù),并由數(shù)碼管顯示選手的組別、搶答分數(shù),并一直保持到主持人將系統(tǒng)清零為止?!?】 本設計為四路智能搶答器,所以這種搶答器要求有四路不同組別的搶答輸入信號,并能識別最先搶答的信號,直觀地通過數(shù)顯和蜂鳴等方式顯示出組別;對答復下列問題所用的時間進行計時、顯示、超時報警、預置答題時間,同時該系統(tǒng)還應有復位、倒計時啟動功能。搶答過程:主持人按下系統(tǒng)復位鍵RST,系統(tǒng)進入搶答狀態(tài),計時模塊和計分模塊輸出初始信號給數(shù)碼顯示模塊并顯示出初始值。當某參賽組搶先將搶答鍵按下時,系統(tǒng)將其余三路搶答信號封鎖,同時揚聲器發(fā)

31、出聲音提示,組別顯示模塊送出信號給數(shù)碼顯示模塊,從而顯示出該搶答成功組臺號,并一直保持到下一輪主持人將系統(tǒng)清零為止。主持人對搶答結(jié)果進行確認,隨后,計時模塊送出倒計時計數(shù)允許信號,開始答復下列問題,計時顯示器那么從初始值開始以計時,在規(guī)定的時間內(nèi)根據(jù)答題的正誤來確定加分或減分,并通過數(shù)碼顯示模塊將成績顯示出來。計時至0時,停止計時,揚聲器發(fā)出超時報警信號,以中止未答復完問題。當主持人給出倒計時停止信號時,揚聲器停止鳴叫。假設參賽者在規(guī)定時間內(nèi)答復完為題,主持人可給出倒計時計數(shù)停止信號,以免揚聲器鳴叫。主持人按下復位鍵,即RST為高電平有效狀態(tài),去除前一次的搶答組別,又可開始新的一輪的搶答。此搶

32、答器的設計中采用自頂向下的設計思路,運用VHDL硬件描述語言對各個模塊進行層次化、系統(tǒng)化的描述,并且先設計一個頂層文件,再把各個模塊連接起來?!?】系統(tǒng)的總體框圖如下: 圖3-1系統(tǒng)的總體框圖 根據(jù)對搶答器的功能要求,把要設計的系統(tǒng)劃分為五個功能模塊:搶答信號鑒別模塊、計時模塊、計分模塊、數(shù)碼顯示模塊和揚聲器控制電路,具體的說,顯示模塊又包含最先搶答的組別顯示電路、計時值顯示電路和計分顯示電路。計時模塊、計分模塊、數(shù)碼顯示模塊和揚聲器控制電路,具體的說,顯示模塊又包含最先搶答的組別顯示電路、計時值顯示電路和計分顯示電路。【8】 鑒別模塊的設計與實現(xiàn)搶答鑒別模塊用來準確直觀地判斷A、B、C、D四

33、組搶答者誰最先按下按鈕,并為顯示端送出信號,通過數(shù)顯和蜂鳴等途徑使觀眾能夠清楚地知道是哪一組搶答成功,是整個系統(tǒng)的核心局部。同時組別顯示端為下一模塊輸入信號,以方便主持人為該組搶答成功者進行加減分的操作。 搶答鑒別模塊的元件圖如下列圖所示: 圖3-2 鑒別模塊元件框圖 引腳作用:輸入信號:各組的搶答按鈕A、B、C、D,系統(tǒng)清零信號INI。輸出信號: 各組的搶答按鈕顯示端A1、B1、C1、D1,組別顯示端G3.0。原理:第一個按下鍵的小組,搶答信號判定電路LOCK通過緩沖輸出信號的反應將本參賽組搶先按下按鍵的信號鎖存,并且以異步清零的方式將其他參賽組的鎖存器清零,組別顯示、計時和計分會保存到主持

34、人對系統(tǒng)進行清零操作時為止。當INI=1時系統(tǒng)復位,使組別顯示信號G=0000,各組的指示燈信號A1=0,B1=0,C1=0,D1=0;當INI=0,即低電平有效,使其進入搶答鑒別狀態(tài),到CLK的上升沿到來時,以A組搶答成功為例,當輸入信號為A=1,B=0,C=0,D=0,輸出信號G=1000,A1=1,即為鑒別出A組搶答成功,同時屏蔽其他組的輸入信號,以免發(fā)生錯誤。同理其他組別搶答成功也是這樣的鑒別過程。【9】備注:理論上來說,A、B、C、D四組搶答,應該有從00001111等16種可能情況,但是由于時鐘信號的頻率很高而且是在時鐘信號上升沿的狀況下才做出的鑒別,所以在這里兩組以上同時搶答成功

35、的可能性非常小,因此可以只設計四種情況,即A、B、C、D分別為1000、0100、0010、0001,這大大簡化了電路的設計復雜性。 其用VHDL語言進行編程的流程圖如下列圖所示: 圖3-3 搶答鑒別模塊的流程圖 計時模塊的設計與實現(xiàn)當搶答鑒別模塊成功判別出最先按下?lián)尨鸢粹o的參賽組后,在成功鑒別出哪組最先搶答后,主持人按下計時信號,那么進入計時狀態(tài)。計時模塊可分作兩局部:1預置數(shù);260秒倒計時。60秒時間用兩個數(shù)碼管QA,QB顯示,其中QA表示60秒的個位,QB表示60秒的十位。計時模塊開始工作從預置初始值開始以秒計時,計時至0秒時停止,時間耗盡時,揚聲器會發(fā)出超時報警信號,以中止答題。 圖

36、3-4 計時模塊的元件圖該系統(tǒng)輸入信號有:系統(tǒng)清零信號CLR,計時預置控制端LDN,計時使能端EN,系統(tǒng)時鐘信號CLK,計時預置數(shù)據(jù)調(diào)整按鈕TA、TB。系統(tǒng)輸出信號有:倒計時輸出端QA3.0、QB3.0。當清零信號CLR=1時,模塊輸出信號QA=0000 ,QB=0000。當預置數(shù)控制信號LDN=1可通過TA來調(diào)整QA,TA來一次高電平,那么QA的數(shù)值就加1;用TB來調(diào)整QB,通過這兩個調(diào)整信號可調(diào)整參賽者答題所需要的時間。在CLR=0,LDN=0,EN=1時,通過時鐘信號CLK的上升沿來進行60秒到計時?!?0】其用VHDL語言進行編程的流程圖如下: 開始LDN=0CLR=0LDN=1CLK

37、上升沿EN=1TA=1TA=0QA=QA+1QB=QB=1圖3-5 搶答計時模塊的流程圖 計分模塊的設計與實現(xiàn) 計分模塊的運行方式是按照十進制進行加減,即當時鐘出現(xiàn)上升沿時就進行加一或者減一的操作。 記分模塊為哪組進行記分取決于鑒別模塊的輸入信號G,當G=1000時表示A組最先搶答,那么在此模塊中為A組記分,當G=0100時表示B組最先搶答,那么在此模塊中為B組記分,當G=0010時表示C組最先搶答,那么在此模塊中為C組記分,當G=0001時表示D組最先搶答,那么在此模塊中為D組記分。 以A組為例來說明此模塊的設計,當復位信號RST=1時,系統(tǒng)復位且A組的分值顯示初始值,為100分。當RST=

38、0時,如果該組選手答題正確,那么主持人按下加分鍵,即ADD=1,此時對該組進行加分操作;如果該組選手答題錯誤,那么主持人按下減分鍵,即SUB=1,此時對該組進行減分操作。計分模塊的元件圖如下列圖所示: 圖3-6 計分模塊的元件圖 系統(tǒng)的輸入信號有:計分復位端RST,加分按鈕端ADD,減分按鈕端SUB,組別號輸入端CHOS3.0。系統(tǒng)的輸出信號有:A組分數(shù)輸出端AA23.0、AA13.0、AA03.0,B組分數(shù)輸出端BB23.0、BB13.0、BB03.0,C組分數(shù)輸出端CC23.0、CC13.0、CC03.0,D組分數(shù)輸出端DD23.0、DD13.0、DD03.0。 計分模塊用VHDL語言進行

39、編程的流程圖如下: 圖3-7計分模塊的設計狀態(tài)圖 注:在設計中減法的實現(xiàn)是以加法運算來實現(xiàn)的。也以A為例,由于每次減分都是減去10分,即每次為POINTS_A1減一,所以可以用POINTS_A1+ 1111來實現(xiàn)。如:0111-0001=0110,用加法實現(xiàn):0111+1111=10110。由于POINTS_A1: STD_LOGIC_VECTOR(3 DOWNTO 0),所以POINTS_A1=0110。 譯碼顯示模塊的設計與實現(xiàn)該模塊實際上是一個譯碼器,作用是用來顯示組別,時間和成績,其主要原理是四位二進制BCD編碼轉(zhuǎn)換成七段二進制數(shù)字,以阿拉伯數(shù)字的形式輸出在數(shù)碼管上,使觀眾能夠更直觀的

40、看到結(jié)果。譯碼器的譯碼對照表3-1如下所示:表3-1 譯碼器的譯碼對照表顯示的數(shù)字/字母BCD編碼七段數(shù)碼管2進制000000111111100010000110200101011011300111001111401001100110501011101101601101111101701110000111810001111111910011101111XXXXX0000000備注 :在程序中只考慮0000-1001即0-9的情況,將其轉(zhuǎn)化為相應的七段顯示器的碼子,其他情況不予考慮。 搶答器的系統(tǒng)實現(xiàn)單獨模塊只有彼此聯(lián)系起來構(gòu)成一個完整的系統(tǒng),才能實現(xiàn)其功能,這個過程有兩種實現(xiàn)方法:元件例化。也

41、是用編程的方式將它們各個程序、信號、輸入輸出之間的關系用VHDL語言來表達清楚,還關系到程序的調(diào)用問題,需要設計者思路清晰,設計合理;元器件圖示連線。這種連線方法思路清晰可見,而且用的時候很簡單方便,出現(xiàn)錯誤也很好檢查。在設計中選擇的是這種方法。通過總的頂層元件圖可以很清晰的看到模塊連接的原理。圖3-8 頂層元件圖 附表:輸入/輸出引腳的作用: 表3-2 輸入/輸出引腳的作用 端口名 功能 CLK系統(tǒng)時鐘信號 A,B,C,D搶答信號輸入 CLR系統(tǒng)清零 EN計時使能信號 RST記分復位 CHOS3.0 組別信號輸入DOUT76.0 譯碼管輸出信號G (3.0)組別顯示LDN計時預置控制信號AI

42、N43.0譯碼管輸入 注:本設計中,搶答器組別信號A、B、C、D為高電平時,其功能為有效狀態(tài)。同樣,系統(tǒng)清零信號CLR、預置及倒計時控制信號LDN,亦為高電平有效。當CLR有效時,搶答信號判別電路清零,為判別優(yōu)先搶答信號做出準備。當計時使能端EN為低電平,預置時間設置信號LDN=1時,通過計時預置數(shù)據(jù)調(diào)整按鈕TA、TB進行預置數(shù)。當計時使能端EN為高電平,有系統(tǒng)時鐘信號CLK時,進行一分鐘倒計時。輸入時鐘CLK一方面作為揚聲器控制電路的輸入信號,另一方面作為搶答信號判別電路中鎖存器時鐘,為使揚聲器音調(diào)較為悅耳,且是搶答判別電路有較高的準確度對信號判別的最大誤差是一個時鐘周期,CLK信號頻率上下

43、應適中,可取500Hz-1KHz;同時CLK信號經(jīng)過分頻后向倒計時電路提供信號。4 智能搶答器子模塊的仿真驗證 利用QuartusII進行編譯,綜合,仿真,時序圖如下: 圖4-1鑒別模塊的仿真時序圖引腳作用: 系統(tǒng)輸入信號:各組的搶答按鈕A、B、C、D,系統(tǒng)清零信號CLR,CLK時鐘信號。 系統(tǒng)的輸出信號: 各組的搶答按鈕顯示端A1、B1、C1、D1,組別顯示端控制信號G3.0。仿真分析: 當鑒別模塊的清零信號CLR為高電平時,無論A、B、C、D四組參賽者誰按下?lián)尨鸢粹o,系統(tǒng)輸出均為零,同時組別顯示端G輸出信號也顯示為零;當清零信號CLR為低電平時,A、B、C、D四組參賽者誰先按下?lián)尨鸢粹o,組

44、別顯示端就顯示該組別的號碼。假設C組按下?lián)尨鸢粹o時,組別輸出為0010,同時C組的顯示燈被點亮。仿真圖上顯示的為A先搶答,因為在0-1.28微秒之間A、C雖然都按搶答鍵,但CLR為有效狀態(tài),所以在此時間段內(nèi)的搶答無效。利用QuartusII進行編譯,綜合,仿真,時序圖如下: 圖4-2 計時模塊的仿真時序圖引腳作用: 系統(tǒng)輸入信號:系統(tǒng)清零信號CLR,計時預置控制端LDN,計時使能端EN,系統(tǒng)時鐘信號CLK,計時預置數(shù)據(jù)調(diào)整按鈕TA、TB。系統(tǒng)輸出信號:倒計時輸出端QA3.0、QB3.0。 仿真分析:當系統(tǒng)清零信號CLREN=0,計時預置控制端LDN=1時,通過計時預置數(shù)據(jù)調(diào)整按鈕TA、TB進行

45、預制數(shù),并且通過TA,TB來調(diào)整QA,QB即當TA=1時,那么QA的數(shù)值加1,當TB=1時,那么QB的數(shù)值也加1。當計時使能端EN=1,系統(tǒng)清零信號CLR=0,并且計時預置控制端LDN=0時,通過時鐘信號上升沿CLK來進行60秒倒計時。 利用QuartusII進行編譯,綜合,仿真,時序圖如下: 圖4-3 計分模塊的仿真時序圖引腳作用: 系統(tǒng)的輸入信號有:計分復位端RST,加分按鈕端ADD,減分按鈕端SUB,組別號輸入端CHOS3.0。 系統(tǒng)的輸出信號有:A組分數(shù)輸出端AA23.0、AA13.0、AA03.0,B組分數(shù)輸出端BB23.0、BB13.0、BB03.0,C組分數(shù)輸出端CC23.0、C

46、C13.0、CC03.0,D組分數(shù)輸出端DD23.0、DD13.0、DD03.0。仿真分析:首先應該清楚,在計分器電路的設計中,按十進制進行加減分操作的,當出現(xiàn)時鐘信號上升沿CLK就可以完成對參賽者加減分操作。智能搶答器記分模塊的仿真時以加分操作為例。由仿真圖3-10可知以下情況:1系統(tǒng)設計過程中,當計分復位端RST=1時,并且組別輸入信號CHOS=0000,其中的組別輸入信號是搶答鑒別模塊的輸出信號,計分器復位,此時以上四組都不會產(chǎn)生加減分操作。2然而當計分復位端RST=0時,此時計分器可以計分。當CHOS=0001時,組別顯示為A組,此時主持人利用計分器對A組進行加減分操作;當CHOS=0

47、010時,組別顯示為B組,此時主持人那么利用計分器對B組進行加減分操作;當CHOS=0100時,組別顯示為C組,此時系統(tǒng)對C組進行加減分操作;當CHOS=1000時,組別顯示為D組,此時對D組進行加減分操作。由仿真圖可知,當主持人按下系統(tǒng)復位鍵RST鍵時,使分數(shù)復位,每位設置的初始分數(shù)為100分。當CHOS=1000時,即D搶答成功時,加分鍵ADD輸入四個脈沖,DD1加到4,說明加分成功,成績變?yōu)?40分。其他搶答者搶答成功后的加分操作與此相同。減分的仿真與此類似,因為是以加法實現(xiàn),本質(zhì)與加分相同,當計分復位端RST=0時,可以計分。由仿真圖可知,初始成績均為100分。當CHOS=1000時,

48、即D搶答成功時,減分鍵SUB輸入四個脈沖,DD1加到4,說明減分成功,成績變?yōu)?0分。其他搶答者搶答成功后的減分操作與此相同。 利用QuartusII進行編譯,綜合,仿真,時序圖如下: 圖4-4數(shù)顯模塊的仿真時序圖引腳作用: 輸入信號:AIN4; 輸出信號:DOUT7。仿真分析: 當AIN4= 0000 , DOUT7輸出1111110,此時數(shù)碼管顯示0; 當AIN4= 0001 , DOUT7輸出0110000,此時數(shù)碼管顯示1; 當AIN4= 0010 , DOUT7輸出1101101,此時數(shù)碼管顯示2; 當AIN4= 0011 , DOUT7輸出1111001,此時數(shù)碼管顯示3; 當AI

49、N4= 0100 , DOUT7輸出0110011,此時數(shù)碼管顯示4; 當AIN4= 0101 , DOUT7輸出1011011,此時數(shù)碼管顯示5; 當AIN4= 0110 , DOUT7輸出1011111,此時數(shù)碼管顯示6; 當AIN4= 0111 , DOUT7輸出1110000,此時數(shù)碼管顯示7; 當AIN4= 1000 , DOUT7輸出1111111,此時數(shù)碼管顯示8; 當AIN4= 1001 , DOUT7輸出1111011,此時數(shù)碼管顯示9; 結(jié)束語 本文主要介紹了利用VHDL語言設計智能搶答器的詳細流程,并橫向介紹了一些關于此設計的背景知識,比方EDA的應用、Qutartusr

50、設計流程等等。在設計的過程中,文章通過比照傳統(tǒng)的自底向上的設計方法和和現(xiàn)代EDA的自頂向下的設計方法,突出了EDA設計方法的優(yōu)越性。 在這次設計中,我們也遇到了一些問題,比方設置輸入信號不適宜時,時序圖也會出現(xiàn)一些毛刺現(xiàn)象。同時,我也發(fā)現(xiàn)了自己的許多缺乏。首先,最初開發(fā)時,對系統(tǒng)沒有一個完整的思路,考慮不是很全面,所以系統(tǒng)功能設計時,碰到不少困難,也耽誤了不少時間。其次,我發(fā)現(xiàn)自己對于書本上的很多知識還不夠熟悉,對開發(fā)工具的掌握還不算很全面,有很多我們需要掌握的知識還沒掌握,所以在設計編程、編譯以及仿真過程中走了不少彎路。再次,在論文的整理過程中,我對word文檔的操作技能不是很嫻熟,所以在以

51、后的學習生活中,我會努力并盡量彌補我所缺少的一些相關知識,不斷提高自己的操作能力。 致 謝本論文的工作是在我的導師陳楊教授的悉心指導下完成的。在整個畢業(yè)設計過程中,陳楊老師不斷引導我們,幫助我們梳理論文思路,耐心地給我解釋一些細節(jié)上的、我不理解的問題,并提出一些新的問題,使得我對畢業(yè)設計課題能夠有更深入的思考,幫助我順利完成畢業(yè)設計和論文。在此謹向陳老師致以誠摯的謝意和崇高的敬意。在此,我還要感謝董碩、沈娟等同學對我的幫助,這段時間我們之間的相互協(xié)作,不僅促進了畢設的順利完成,同時也增進我們之間的友誼 。最后,感謝所有支持過我、幫助過我的老師、朋友和同學們,祝愿大家都會有一個美好而又光明的未來

52、。參考文獻1 漢澤西.EDA技術與應用【M】.北京:北京航空航天大學出版社,20042 侯伯亨,顧新. VHDL硬件描述語言與數(shù)字邏輯電路設計.西安:西安電子科技大學出版社,19973 黃任.編著VHDL入門、解惑、經(jīng)典實例、經(jīng)驗總結(jié).北京:北京航空航天大學出版社,20054 羅朝霞,高書莉.CPLD/FPGA設計及應用.北京:人民郵電出版社, 2007.7.5 陳云恰,保延翔.CPLD應用技術與數(shù)字系統(tǒng)統(tǒng)計.電子工業(yè)出版社, 2006.6 李偉英,謝完成.基于EDA技術的搶答器的設計與實現(xiàn)【J】.科學技術與實現(xiàn), 2021.811.7譚會生,瞿遂存.EDA技術綜合應用實例與分析【M】.西安:

53、西安電子科技大學出版社, 2004.8姜雪松,吳鈺淳.VHDL設計實例與仿真.機械工業(yè)出版社, 2007.9,2002.10(美) Stephen Brown , Zvonko Vranesic 編著. 附 錄附錄1 搶答鑒別模塊VHDL程序QDJB.VHDLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY QDJB IS PORT (CLR: IN STD_LOGIC; CLK: IN STD_LOGIC; A, B, C, D: IN STD_LOGIC; A1, B1, C1, D1: OUT STD_LOGIC; G: OUT STD_L

54、OGIC_VECTOR (3 DOWNTO 0); END QDJB; ARCHITECTURE ART OF QDJB IS CONSTANT W1: STD_LOGIC_VECTOR:=0001; CONSTANT W2: STD_LOGIC_VECTOR:=0010; CONSTANT W3: STD_LOGIC_VECTOR:=0100; CONSTANT W4: STD_LOGIC_VECTOR:=1000; BEGIN PROCESS (CLR, A, B, C, D) BEGINIF CLR=1 THEN G=0000; ELSIF (A=1AND B=0AND C=0AND D

55、=0) THEN A1=1; B1=0; C1=0; D1=0; G=W1; ELSIF (A=0AND B=1AND C=0AND D=0) THEN A1=0; B1=1; C1=0; D1=0; G=W2; ELSIF (A=0AND B=0AND C=1AND D=0) THEN A1=0; B1 =0; C1=1; D1=0; G=W3; ELSIF (A=0AND B=0AND C=0AND D=1) THEN A1=0; B1 =0; C1=0; D1=1; G=W4; END IF; END PROCESS; END ART;附錄2 搶答計時模塊VHDL程序JSQ.VHDLIB

56、RARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JSQ IS PORT (CLR, LDN, EN, CLK: IN STD_LOGIC; TA, TB: IN STD_LOGIC; QA: OUT STD_LOGIC_VECTOR (3 DOWNTO 0); QB: OUT STD_LOGIC_VECTOR (3 DOWNTO 0); END JSQ; ARCHITECTURE ART OF JSQ IS SIGNAL DA: STD_LOGIC_VECTOR (3 DOWNTO

57、0); SIGNAL DB: STD_LOGIC_VECTOR (3 DOWNTO 0); BEGIN PROCESS (TA,TB,CLR) BEGIN IF CLR=1 THEN DA=0000; DB=0000; ELSE IF TA=1 THEN DA=DA+0001 ; END IF; IF TB=1 THEN DB=DB+0001; END IF; END IF; END PROCESS; PROCESS (CLK) VARIABLE TMPA: STD_LOGIC_VECTOR (3 DOWNTO 0); VARIABLE TMPB: STD_LOGIC_VECTOR (3 DO

58、WNTO 0); BEGIN IF CLR=1 THEN TMPA:=0000; TMPB:=0110; ELSIF CLKEVENT AND CLK=1 THEN IF LDN=1 THEN TMPA:=DA;TMPB:=DB; ELSIF EN=1 THEN IF TMPA=0000 THEN TMPA:=1001; IF TMPB=0000 THEN TMPB:=0110; ELSE TMPB:=TMPB-0001; END IF; ELSE TMPA:=TMPA-0001; END IF; END IF; END IF; QA=TMPA; QB=TMPB; END PROCESS; E

59、ND ART;附錄3 搶答計分模塊VHDL程序JFQ.VHDLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JFQ IS PORT (RST: IN STD_LOGIC; ADD: IN STD_LOGIC; SUB: IN STD_LOGIC; CHOS: IN STD_LOGIC_VECTOR (3 DOWNTO 0); AA2, AA1, AA0, BB2, BB1, BB0: OUT STD_LOGIC_VECTOR (3 DOWNTO 0); CC2, CC1, CC

60、0, DD2, DD1, DD0: OUT STD_LOGIC_VECTOR (3 DOWNTO 0); END JFQ; ARCHITECTURE ART OF JFQ IS BEGIN PROCESS (RST, ADD, SUB,CHOS) VARIABLE POINTS_A2, POINTS_A1: STD_LOGIC_VECTOR (3 DOWNTO 0); VARIABLE POINTS_B2, POINTS_B1: STD_LOGIC_VECTOR (3 DOWNTO 0); VARIABLE POINTS_C2, POINTS_C1: STD_LOGIC_VECTOR (3 D

溫馨提示

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

評論

0/150

提交評論