eda課程設(shè)計(jì)搶答器_第1頁(yè)
eda課程設(shè)計(jì)搶答器_第2頁(yè)
eda課程設(shè)計(jì)搶答器_第3頁(yè)
eda課程設(shè)計(jì)搶答器_第4頁(yè)
eda課程設(shè)計(jì)搶答器_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)說(shuō)明書(shū)1 引言eda技術(shù)是指以計(jì)算機(jī)為工作平臺(tái),融合了應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理及智能化技術(shù)的最新成果,進(jìn)行電子產(chǎn)品的自動(dòng)設(shè)計(jì)。利用eda工具,電子設(shè)計(jì)師可以從概念、算法、協(xié)議等開(kāi)始設(shè)計(jì)電子系統(tǒng),大量工作可以通過(guò)計(jì)算機(jī)完成,并可以將電子產(chǎn)品從電路設(shè)計(jì)、性能分析到設(shè)計(jì)出ic版圖或pcb版圖的整個(gè)過(guò)程的計(jì)算機(jī)上自動(dòng)處理完成?,F(xiàn)在對(duì)eda的概念或范疇用得很寬。包括在機(jī)械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個(gè)領(lǐng)域,都有eda的應(yīng)用。目前eda 技術(shù)已在各大公司、企事業(yè)單位和科研教學(xué)部門(mén)廣泛使用。例如在飛機(jī)制造過(guò)程中,從設(shè)計(jì)、性能測(cè)試及特性分析直到飛行模擬,都可能涉及

2、到eda技術(shù)。傳統(tǒng)的設(shè)計(jì)方法采用自底向上的設(shè)計(jì)方法,一般先按電子系統(tǒng)的具體功能要求進(jìn)行功能劃分,然后對(duì)每個(gè)子模塊畫(huà)出真值表,用卡諾圖進(jìn)行手工邏輯簡(jiǎn)化,寫(xiě)出布爾表達(dá)式,畫(huà)出相應(yīng)的邏輯線路圖,再據(jù)此選擇元器件,設(shè)計(jì)電路板,最后進(jìn)行實(shí)測(cè)與調(diào)試,由于無(wú)法進(jìn)行硬件系統(tǒng)功能仿真,如果某一過(guò)程存在錯(cuò)誤,查找和修改十分不便,所以這是一種費(fèi)時(shí)、費(fèi)力的設(shè)計(jì)方法,而現(xiàn)代電子設(shè)計(jì)技術(shù)(eda)是自頂向下且先進(jìn)高效的。在電子產(chǎn)品的設(shè)計(jì)理念、設(shè)計(jì)方式、系統(tǒng)硬件構(gòu)成、設(shè)計(jì)的重用性、知識(shí)產(chǎn)權(quán)、設(shè)計(jì)周期等方面,eda技術(shù)具有一定的優(yōu)勢(shì)。所以本次設(shè)計(jì)的搶答器拋棄了傳統(tǒng)的設(shè)計(jì)方法,選擇了采用主流的eda技術(shù)進(jìn)行設(shè)計(jì)。智力競(jìng)賽是“快

3、樂(lè)學(xué)習(xí)”這一教育模式的典范,它采用在規(guī)定的一段時(shí)間內(nèi)搶答和必答等方式,在給人們的生活帶來(lái)樂(lè)趣的同時(shí),也使參與者和觀眾在愉悅的氛圍中學(xué)到一些科學(xué)知識(shí)和生活知識(shí),因此很受大家的喜歡。智力搶答器在智力競(jìng)賽中起到很重要的角色,能夠準(zhǔn)確、公正、直觀地判斷出首輪搶答者,并且通過(guò)搶答器的數(shù)碼顯示和警示蜂鳴等方式指示出首輪搶答者。2 vhdl硬件描述語(yǔ)言及硬件平臺(tái)quartusii概述2.1vhdl硬件描述語(yǔ)言vhdl全名very-high-speed integrated circuit hardwaredescription language,誕生于1982年。1987年底,vhdl被ieee和美國(guó)國(guó)防部

4、確認(rèn)為標(biāo)準(zhǔn)硬件描述語(yǔ)言 。自ieee-1076(簡(jiǎn)稱(chēng)87版)之后,各eda公司相繼推出自己的vhdl設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具可以和vhdl接口。1993年,ieee對(duì)vhdl進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展vhdl的內(nèi)容,公布了新版本的vhdl,即ieee標(biāo)準(zhǔn)的1076-1993版本,簡(jiǎn)稱(chēng)93版。vhdl和verilog作為ieee的工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言,得到眾多eda公司支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語(yǔ)言。2.1.1 vhdl簡(jiǎn)介vhdl語(yǔ)言是一種用于電路設(shè)計(jì)的高級(jí)語(yǔ)言。它在80年代的后期出現(xiàn)。最初是由美國(guó)國(guó)防部開(kāi)發(fā)出來(lái)供美軍用來(lái)提高設(shè)計(jì)的可靠性和縮減

5、開(kāi)發(fā)周期的一種使用范圍較小的設(shè)計(jì)語(yǔ)言 。vhdl翻譯成中文就是超高速集成電路硬件描述語(yǔ)言,主要是應(yīng)用在數(shù)字電路的設(shè)計(jì)中。目前,它在中國(guó)的應(yīng)用多數(shù)是用在fpga/cpld/epld的設(shè)計(jì)中。當(dāng)然在一些實(shí)力較為雄厚的單位,它也被用來(lái)設(shè)計(jì)asic。vhdl主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語(yǔ)句外,vhdl的語(yǔ)言形式、描述風(fēng)格以及語(yǔ)法是十分類(lèi)似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。vhdl的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱(chēng)設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱(chēng)可視部分,及端口)和內(nèi)部(或稱(chēng)不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)

6、實(shí)體定義了外部界面后,一旦其內(nèi)部開(kāi)發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是vhdl系統(tǒng)設(shè)計(jì)的基本點(diǎn)。與其他硬件描述語(yǔ)言相比,vhdl具有以下特點(diǎn):1.功能強(qiáng)大、設(shè)計(jì)靈活vhdl具有功能強(qiáng)大的語(yǔ)言結(jié)構(gòu),可以用簡(jiǎn)潔明確的源代碼來(lái)描述復(fù)雜的邏輯控制。它具有多層次的設(shè)計(jì)描述功能,層層細(xì)化,最后可直接生成電路級(jí)描述。vhdl支持同步電路、異步電路和隨機(jī)電路的設(shè)計(jì),這是其他硬件描述語(yǔ)言所不能比擬的。vhdl還支持各種設(shè)計(jì)方法,既支持自底向上的設(shè)計(jì),又支持自頂向下的設(shè)計(jì);既支持模塊化設(shè)計(jì),又支持層次化設(shè)計(jì)。2.支持廣泛、易于修改由于vhdl已經(jīng)成為ieee標(biāo)準(zhǔn)所規(guī)范的硬

7、件描述語(yǔ)言,目前大多數(shù)eda工具幾乎都支持vhdl,這為vhdl的進(jìn)一步推廣和廣泛應(yīng)用奠定了基礎(chǔ)。在硬件電路設(shè)計(jì)過(guò)程中,主要的設(shè)計(jì)文件是用vhdl編寫(xiě)的源代碼,因?yàn)関hdl易讀和結(jié)構(gòu)化,所以易于修改設(shè)計(jì)。3.強(qiáng)大的系統(tǒng)硬件描述能力vhdl具有多層次的設(shè)計(jì)描述功能,既可以描述系統(tǒng)級(jí)電路,又可以描述門(mén)級(jí)電路。而描述既可以采用行為描述、寄存器傳輸描述或結(jié)構(gòu)描述,也可以采用三者混合的混合級(jí)描述。另外,vhdl支持慣性延遲和傳輸延遲,還可以準(zhǔn)確地建立硬件電路模型。vhdl支持預(yù)定義的和自定義的數(shù)據(jù)類(lèi)型,給硬件描述帶來(lái)較大的自由度,使設(shè)計(jì)人員能夠方便地創(chuàng)建高層次的系統(tǒng)模型。4.獨(dú)立于器件的設(shè)計(jì)、與工藝無(wú)關(guān)

8、設(shè)計(jì)人員用vhdl進(jìn)行設(shè)計(jì)時(shí),不需要首先考慮選擇完成設(shè)計(jì)的器件,就可以集中精力進(jìn)行設(shè)計(jì)的優(yōu)化。當(dāng)設(shè)計(jì)描述完成后,可以用多種不同的器件結(jié)構(gòu)來(lái)實(shí)現(xiàn)其功能。5.很強(qiáng)的移植能力vhdl是一種標(biāo)準(zhǔn)化的硬件描述語(yǔ)言,同一個(gè)設(shè)計(jì)描述可以被不同的工具所支持,使得設(shè)計(jì)描述的移植成為可能。6.易于共享和復(fù)用vhdl采用基于庫(kù)(library)的設(shè)計(jì)方法,可以建立各種可再次利用的模塊。這些模塊可以預(yù)先設(shè)計(jì)或使用以前設(shè)計(jì)中的存檔模塊,將這些模塊存放到庫(kù)中,就可以在以后的設(shè)計(jì)中進(jìn)行復(fù)用,可以使設(shè)計(jì)成果在設(shè)計(jì)人員之間進(jìn)行交流和共享,減少硬件電路設(shè)計(jì)。2.1.2 vhdl優(yōu)勢(shì)1.與其他的硬件描述語(yǔ)言相比,vhdl具有更強(qiáng)的

9、行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語(yǔ)言。強(qiáng)大的行為描述能力是避開(kāi)具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。2.vhdl豐富的仿真語(yǔ)句和庫(kù)函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。3.vhdl語(yǔ)句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場(chǎng)需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個(gè)代發(fā)組共同并行工作才能實(shí)現(xiàn)。4.對(duì)于用vhdl完成的一個(gè)確定的設(shè)計(jì),可以利用eda工具進(jìn)行邏輯綜合和優(yōu)化,并自動(dòng)的把vhdl描述設(shè)計(jì)轉(zhuǎn)變成門(mén)級(jí)網(wǎng)表。5.vhdl對(duì)設(shè)計(jì)的描述具有相

10、對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。2.2硬件平臺(tái)quartusii概述2.2.1 quartus ii介紹quartus ii是altera 公司單芯片可編程系統(tǒng)(sopc) 設(shè)計(jì)的綜合性環(huán)境,也是適合sopc的最全面的設(shè)計(jì)環(huán)境。它擁有現(xiàn)場(chǎng)可編程門(mén)陣列(fpga) 和復(fù)雜可編程邏輯器件(cpld) 設(shè)計(jì)的所有階段的解決方案。quartus ii 設(shè)計(jì)軟件改進(jìn)了性能、提升了功能性、解決了潛在的設(shè)計(jì)延遲等,在工業(yè)領(lǐng)域率先提供fpga與mask-programmed devices開(kāi)發(fā)的統(tǒng)一工作流程。同時(shí),altera的quartus ii

11、可編程邏輯軟件還屬于第四代pld開(kāi)發(fā)平臺(tái)。該平臺(tái)支持一個(gè)工作組環(huán)境下的設(shè)計(jì)要求,其中包括支持vhdl、verilog的設(shè)計(jì)流程,其內(nèi)部嵌有vhdl、verilog邏輯綜合器。同樣,quartus ii具備仿真功能,同時(shí)也支持第三方的仿真工具。quartus ii支持層次化設(shè)計(jì),可以在一個(gè)新的編輯輸入環(huán)境中對(duì)使用不同輸入設(shè)計(jì)方式完成的模塊進(jìn)行調(diào)用,從而解決了原理圖與hdl混合輸入設(shè)計(jì)的問(wèn)題,并且在設(shè)計(jì)輸入之后,quartus ii的編譯器將給出設(shè)計(jì)輸入的錯(cuò)誤報(bào)告。在設(shè)計(jì)實(shí)驗(yàn)過(guò)程中有以下幾點(diǎn)需要注意:1.在編程時(shí)要注意信號(hào)與變量的區(qū)別,并能正確定義和應(yīng)用。2.在創(chuàng)建工程時(shí),要注意工程名和文件名和實(shí)

12、體名要保持一致;3.設(shè)計(jì)結(jié)束時(shí)間時(shí)最好是時(shí)間周期的15倍,否則可能會(huì)出現(xiàn)時(shí)序圖圖像重疊不好識(shí)別的現(xiàn)象;4.仿真中,適當(dāng)進(jìn)制的轉(zhuǎn)換有時(shí)候可以更使觀察者更明顯地看出來(lái)時(shí)序圖的功能。2.2.2 quartus ii的設(shè)計(jì)優(yōu)勢(shì)應(yīng)用舉例隨著邏輯設(shè)計(jì)復(fù)雜性的不斷增加,僅依賴(lài)于軟件方式的仿真測(cè)試來(lái)了解設(shè)計(jì)系統(tǒng)的硬件功能已經(jīng)遠(yuǎn)遠(yuǎn)不夠了,而需要重復(fù)進(jìn)行硬件系統(tǒng)測(cè)試的測(cè)試也變得更為困難。嵌入式邏輯分析儀signaltapii的使用就解決了這一問(wèn)題。它可以隨設(shè)計(jì)文件一并下載于目標(biāo)芯片中,用以捕捉目標(biāo)芯片內(nèi)部系統(tǒng)信號(hào)節(jié)點(diǎn)處的信息或總線上的數(shù)據(jù)流,而又不影響原硬件系統(tǒng)的正常工作。【4】嵌入式邏輯分析儀signaltap

13、ii有很多的優(yōu)點(diǎn):(1)允許對(duì)設(shè)計(jì)層次的模塊的信號(hào)節(jié)點(diǎn)進(jìn)行測(cè)試,可以使用多時(shí)鐘驅(qū)動(dòng);(2)利用signal tap ii成功的采集了fpga內(nèi)部信號(hào)的波形,不占用額外的i/o引腳;(3)signal tap ii為硬件板級(jí)調(diào)試工具,它采集的波形是工程下載后的實(shí)時(shí)波形,方便設(shè)計(jì)者查找引起設(shè)計(jì)缺陷的原因;(4)節(jié)約成本。signal tap ii集成在quartus ii軟件中,無(wú)需另外付費(fèi);(5)能通過(guò)設(shè)置以確定前后觸發(fā)捕捉信號(hào)信息的比例.除此之外,應(yīng)用signal tap ii還能解決各種各樣的問(wèn)題,如外部存儲(chǔ)器的雙向數(shù)據(jù)口的實(shí)時(shí)波形檢測(cè)、驅(qū)動(dòng)模塊的并串轉(zhuǎn)換波形等。3 智能搶答器系統(tǒng)的設(shè)計(jì)與實(shí)

14、現(xiàn)3.1 搶答器系統(tǒng)設(shè)計(jì)要求 本文是設(shè)計(jì)的一個(gè)四路智力競(jìng)賽搶答器,利用vhdl設(shè)計(jì)搶答器的各個(gè)模塊,并使用eda 工具對(duì)各模塊進(jìn)行仿真驗(yàn)證。智力競(jìng)賽搶答器的設(shè)計(jì)分為四個(gè)模塊:鑒別鎖存模塊;答題計(jì)時(shí)模塊;答題超時(shí)提醒模塊以及顯示模塊。把各個(gè)模塊整合后,通過(guò)電路的輸入輸出對(duì)應(yīng)關(guān)系連接起來(lái)。設(shè)計(jì)成一個(gè)有如下功能的搶答器:(1)設(shè)計(jì)一個(gè)四組人參加的智力競(jìng)賽搶答計(jì)時(shí)器,它具有四路搶答輸入,主持人按下復(fù)位鍵后,系統(tǒng)復(fù)位進(jìn)入搶答狀態(tài),計(jì)時(shí)顯示初始值; (2)某組首先按下?lián)尨疰I,該路搶答信號(hào),競(jìng)賽搶答器能夠設(shè)別最先搶答的信號(hào),鎖定該信號(hào),同時(shí)揚(yáng)聲器響起,參賽小組的序號(hào)在數(shù)碼管上顯示;(3)主持人對(duì)搶答結(jié)果進(jìn)行

15、確認(rèn),給出倒計(jì)時(shí)計(jì)數(shù)允許信號(hào),開(kāi)始回答問(wèn)題,計(jì)時(shí)顯示器從初始值開(kāi)始以秒為單位倒計(jì)時(shí),計(jì)數(shù)至0時(shí),停止計(jì)數(shù),揚(yáng)聲器發(fā)出超時(shí)報(bào)警信號(hào),以中止繼續(xù)回答問(wèn)題;(4)當(dāng)主持人給出倒計(jì)時(shí)計(jì)數(shù)禁止信號(hào)時(shí),揚(yáng)聲器停止鳴叫;(5)參賽者在規(guī)定時(shí)間內(nèi)回答完問(wèn)題,主持人給出倒計(jì)時(shí)計(jì)數(shù)禁止信號(hào),以免揚(yáng)聲器鳴叫,按下復(fù)位鍵,又可開(kāi)始新一輪的搶答;3.2系統(tǒng)總體設(shè)計(jì)思想 本設(shè)計(jì)為四路智能搶答器,所以這種搶答器要求有四路不同組別的搶答輸入信號(hào),并能識(shí)別最先搶答的信號(hào),直觀地通過(guò)數(shù)顯和蜂鳴等方式顯示出組別;對(duì)回答問(wèn)題所用的時(shí)間進(jìn)行計(jì)時(shí)、顯示、超時(shí)報(bào)警、預(yù)置答題時(shí)間,同時(shí)該系統(tǒng)還應(yīng)有復(fù)位、倒計(jì)時(shí)啟動(dòng)功能。搶答過(guò)程:主持人按下系

16、統(tǒng)復(fù)位鍵(rst),系統(tǒng)進(jìn)入搶答狀態(tài),計(jì)時(shí)模塊輸出初始信號(hào)給數(shù)碼顯示模塊并顯示出初始值。當(dāng)某參賽組搶先將搶答鍵按下時(shí),系統(tǒng)將其余三路搶答信號(hào)封鎖,同時(shí)揚(yáng)聲器發(fā)出聲音提示,組別顯示模塊送出信號(hào)給數(shù)碼顯示模塊,從而顯示出該搶答成功組臺(tái)號(hào),并一直保持到下一輪主持人將系統(tǒng)清零為止。主持人對(duì)搶答結(jié)果進(jìn)行確認(rèn),隨后,計(jì)時(shí)模塊送出倒計(jì)時(shí)計(jì)數(shù)允許信號(hào),開(kāi)始回答問(wèn)題,計(jì)時(shí)顯示器則從初始值開(kāi)始以計(jì)時(shí),計(jì)時(shí)至0時(shí),停止計(jì)時(shí),揚(yáng)聲器發(fā)出超時(shí)報(bào)警信號(hào),以中止未回答完問(wèn)題。當(dāng)主持人給出倒計(jì)時(shí)停止信號(hào)時(shí),揚(yáng)聲器停止鳴叫。若參賽者在規(guī)定時(shí)間內(nèi)回答完為題,主持人可給出倒計(jì)時(shí)計(jì)數(shù)停止信號(hào),以免揚(yáng)聲器鳴叫。主持人按下復(fù)位鍵,即rs

17、t為高電平有效狀態(tài),清除前一次的搶答組別,又可開(kāi)始新的一輪的搶答??傁到y(tǒng)框圖如圖3.1所示第一信號(hào)輸出第一信號(hào)鑒別,鎖存時(shí)間報(bào)警答題組序號(hào)倒計(jì)時(shí)器確認(rèn)鍵en禁止信號(hào)stop搶答蜂鳴蜂鳴停止倒計(jì)時(shí)停止搶答信號(hào)主持人復(fù)位rst圖3.1 系統(tǒng)框圖3.3子模塊的設(shè)計(jì)思想和實(shí)現(xiàn)根據(jù)對(duì)搶答器的功能要求,把要設(shè)計(jì)的系統(tǒng)劃分為4個(gè)功能模塊:搶答信號(hào)鑒別模塊、計(jì)時(shí)模塊,報(bào)警模塊和數(shù)碼顯示模塊 。3.3.1 搶答信號(hào)鑒別模塊的設(shè)計(jì)與實(shí)現(xiàn)搶答鑒別模塊用來(lái)準(zhǔn)確直觀地判斷a、b、c、d四組搶答者誰(shuí)最先按下按鈕,并為顯示端送出信號(hào),通過(guò)數(shù)顯和蜂鳴等途徑使觀眾能夠清楚地知道是哪一組搶答成功,是整個(gè)系統(tǒng)的核心部分。同時(shí)組別顯

18、示端為下一模塊輸入信號(hào),以方便主持人為該組搶答成功者進(jìn)行確認(rèn)。輸入信號(hào):各組的搶答按鈕a、b、c、d,系統(tǒng)清零信號(hào)rst。輸出信號(hào): 各組的搶答按鈕顯示端a1、b1、c1、d1,組別顯示端state3.0。原理:第一個(gè)按下鍵的小組,搶答信號(hào)判定電路lock通過(guò)緩沖輸出信號(hào)的反饋將本參賽組搶先按下按鍵的信號(hào)鎖存,組別顯示和計(jì)時(shí)會(huì)保存到主持人對(duì)系統(tǒng)進(jìn)行清零操作時(shí)為止。當(dāng)rst=1時(shí)系統(tǒng)復(fù)位,使組別顯示信號(hào)g=0000,各組的指示燈信號(hào)a1=0,b1=0,c1=0,d1=0;當(dāng)rst=0,即低電平有效,使其進(jìn)入搶答鑒別狀態(tài),到clk的上升沿到來(lái)時(shí),以a組搶答成功為例,當(dāng)輸入信號(hào)為a=1,b=0,c=

19、0,d=0,輸出信號(hào)g=1000,a1=1,即為鑒別出a組搶答成功,同時(shí)屏蔽其他組的輸入信號(hào),以免發(fā)生錯(cuò)誤。同理其他組別搶答成功也是這樣的鑒別過(guò)程。理論上來(lái)說(shuō),a、b、c、d四組搶答,應(yīng)該有從00001111等16種可能情況,但是由于時(shí)鐘信號(hào)的頻率很高而且是在時(shí)鐘信號(hào)上升沿的狀況下才做出的鑒別,所以在這里兩組以上同時(shí)搶答成功的可能性非常小,因此可以只設(shè)計(jì)四種情況,即a、b、c、d分別為1000、0100、0010、0001,這大大簡(jiǎn)化了電路的設(shè)計(jì)復(fù)雜性。鑒別鎖存電路可以由vhdl程序來(lái)實(shí)現(xiàn),以下是一斷鑒別鎖存的vhdl程序:process(rst,a,b,c,d,clk) variable t

20、emp :std_logic_vector (3 downto 0);begin if rst=1then temp:=0000;speaker1=0; elsif(a=1and b=0and c=0and d=0)then a1=1; b1=0;c1=0;d1=0;temp:=0001;speaker1=1; elsif(a=0and b=1and c=0and d=0)then a1=0; b1=1;c1=0;d1=0;temp:=0010;speaker1=1; elsif(a=0and b=0and c=1and d=0)then a1=0; b1=0;c1=1;d1=0;temp:=

21、0011;speaker1=1; elsif(a=0and b=0and c=0and d=1)then a1=0;b1=0;c1=0;d1=1;temp:=0100;speaker1=1; elsif (a=0and b=0and c=0and d=0) then a1=0; b1=0;c1=0;d1=0;temp:=0000; end if; if en=1 then speaker1=0;end if;states=temp; end process;鑒別鎖存電路由vhdl程序?qū)崿F(xiàn)后,可以根據(jù)數(shù)碼管顯示判斷搶答成功組號(hào)的,其仿真圖如圖3.3.1所示。 圖3.3.1 搶答信號(hào)鑒別模塊仿真圖

22、引腳作用:系統(tǒng)輸入信號(hào):各組的搶答按鈕a、b、c、d,系統(tǒng)清零信號(hào)clr,clk時(shí)鐘信號(hào)。系統(tǒng)的輸出信號(hào): 各組的搶答按鈕顯示端a1、b1、c1、d1,組別顯示端控制信號(hào)state。仿真分析:當(dāng)鑒別模塊的清零信號(hào)clr為高電平時(shí),無(wú)論a、b、c、d四組參賽者誰(shuí)按下?lián)尨鸢粹o,系統(tǒng)輸出均為零,同時(shí)組別顯示端g輸出信號(hào)也顯示為零;當(dāng)清零信號(hào)clr為低電平時(shí),a、b、c、d四組參賽者誰(shuí)先按下?lián)尨鸢粹o,組別顯示端就顯示該組別的號(hào)碼。假如a組按下?lián)尨鸢粹o時(shí),組別輸出為0001,同時(shí)a組的顯示燈被點(diǎn)亮。3.3.2 計(jì)時(shí)模塊的設(shè)計(jì)與實(shí)現(xiàn)當(dāng)搶答鑒別模塊成功判別出最先按下?lián)尨鸢粹o的參賽組后,在成功鑒別出哪組最先搶

23、答后,主持人按下計(jì)時(shí)信號(hào),則進(jìn)入計(jì)時(shí)狀態(tài)。10秒時(shí)間用兩個(gè)數(shù)碼管qa,qb顯示,其中qa表示10秒的個(gè)位,qb表示10秒的十位。采用兩個(gè)數(shù)碼管以方便隨時(shí)對(duì)預(yù)置的時(shí)間進(jìn)行調(diào)整。計(jì)時(shí)模塊開(kāi)始工作從預(yù)置初始值開(kāi)始以秒計(jì)時(shí),計(jì)時(shí)至0秒時(shí)停止,時(shí)間耗盡時(shí),計(jì)時(shí)報(bào)警器會(huì)發(fā)出超時(shí)報(bào)警信號(hào),以中止答題。該系統(tǒng)輸入信號(hào)有:系統(tǒng)清零信號(hào)clr,計(jì)時(shí)使能端en,系統(tǒng)時(shí)鐘信號(hào)clk,系統(tǒng)輸出信號(hào)有:倒計(jì)時(shí)輸出端qa3.0、qb3.0。當(dāng)清零信號(hào)clr=1時(shí),模塊輸出信號(hào)qa=0000 ,qb=0000。在clr=0, en=1時(shí),通過(guò)時(shí)鐘信號(hào)clk的上升沿來(lái)進(jìn)行10秒到計(jì)時(shí)。當(dāng)en使能信號(hào)發(fā)出時(shí),搶答蜂鳴器停止蜂鳴。

24、計(jì)時(shí)電路可以由vhdl程序來(lái)實(shí)現(xiàn),以下是計(jì)時(shí)的vhdl程序:variable tmpa: std_logic_vector(3 downto 0);variable tmpb: std_logic_vector(3 downto 0);begin if rst=1 then tmpa:=0000;tmpb:=0001; speaker2=0;-fuwei elsif clkevent and clk=1 then if en=1 then if con=1or(tmpa=0000 and tmpb=0000)then qa=tmpa;qb=tmpb; elsif tmpa=0000 then

25、tmpa:=1001; if tmpb=0000 then tmpb:=0010; else tmpb:=tmpb-1; end if; else tmpa:=tmpa-1; end if; end if; end if; qa=tmpa;qb=tmpb; if tmpa=0000 and tmpb=0000 then - time over speaker2=1; if s=1 then speaker2=0; end if; end if; end process;答題計(jì)時(shí)電路由vhdl程序?qū)崿F(xiàn)后,其仿真圖如圖3.3.2所示。 圖3.3.2 計(jì)時(shí)電路模塊仿真圖引腳作用:系統(tǒng)輸入信號(hào):系統(tǒng)清

26、零信號(hào)clr,系統(tǒng)時(shí)鐘信號(hào)clk系統(tǒng)輸出信號(hào):倒計(jì)時(shí)輸出端qa3.0、qb3.0。仿真分析:當(dāng)系統(tǒng)清零信號(hào)clr=1時(shí),計(jì)時(shí)器的時(shí)鐘信號(hào)回到計(jì)時(shí)預(yù)置倒計(jì)時(shí)起始狀態(tài),此時(shí)倒計(jì)時(shí)輸出端qa=0000,qb=0000.當(dāng)計(jì)時(shí)使能端en=1,系統(tǒng)清零信號(hào)clr=0,通過(guò)時(shí)鐘信號(hào)上升沿clk來(lái)進(jìn)行10秒倒計(jì)時(shí)。當(dāng)小組開(kāi)始答題時(shí),答題倒計(jì)時(shí)的數(shù)碼管顯示信號(hào)qa,qb會(huì)從初始值開(kāi)始以秒為單位倒計(jì)時(shí),計(jì)數(shù)至0時(shí),停止計(jì)數(shù)。3.3.3答題超時(shí)提醒模塊計(jì)時(shí)顯示器從初始值開(kāi)始以秒為單位倒計(jì)時(shí),計(jì)數(shù)至0時(shí),停止計(jì)數(shù),揚(yáng)聲器發(fā)出超時(shí)報(bào)警信號(hào),以中止繼續(xù)回答問(wèn)題。當(dāng)主持人再按下禁止鍵時(shí),揚(yáng)聲器停止報(bào)警。該系統(tǒng)輸入信號(hào)有:

27、聲音停止信號(hào)s,系統(tǒng)輸出信號(hào)有:倒計(jì)時(shí)輸出端speaker2。process(clk)is variable tmpa: std_logic_vector(3 downto 0); variable tmpb: std_logic_vector(3 downto 0); begin if rst=1 then tmpa:=0000;tmpb:=0001; speaker2=0;-fuwei elsif clkevent and clk=1 then if en=1 then if con=1 or (tmpa=0000 and tmpb=0000 )then qa=tmpa;qb=tmpb;

28、elsif tmpa=0000 then tmpa:=1001; if tmpb=0000 then tmpb:=0010; else tmpb:=tmpb-1; end if; else tmpa:=tmpa-1; end if; end if; end if; qa=tmpa;qb=tmpb; if tmpa=0000 and tmpb=0000 then - time over speaker2=1; if s=1 then speaker2=0; end if; end if; end process;答題超時(shí)提醒電路由vhdl程序?qū)崿F(xiàn)后,其仿真圖如圖3.3.3所示圖3.3.2答題警告

29、模塊仿真圖系統(tǒng)輸入信號(hào):及時(shí)使能en,系統(tǒng)時(shí)鐘信號(hào)clk系統(tǒng)輸出信號(hào):倒計(jì)時(shí)輸出端qa3.0、qb3.0。仿真分析:當(dāng)系統(tǒng)清零信號(hào)clr=1時(shí),計(jì)時(shí)器的時(shí)鐘信號(hào)回到計(jì)時(shí)預(yù)置倒計(jì)時(shí)起始狀態(tài),此時(shí)倒計(jì)時(shí)輸出端qa=0000,qb=0001.若在指定時(shí)間內(nèi)沒(méi)有回答完問(wèn)題,計(jì)時(shí)器倒計(jì)時(shí)到00,計(jì)時(shí)報(bào)警器speaker2為高電平。按下s使其停止報(bào)警。3.3.4 譯碼顯示模塊的設(shè)計(jì)與實(shí)現(xiàn)該模塊實(shí)際上是一個(gè)譯碼器,作用是用來(lái)顯示組別和時(shí)間,其主要原理是四位二進(jìn)制bcd編碼轉(zhuǎn)換成七段二進(jìn)制數(shù)字,以阿拉伯?dāng)?shù)字的形式輸出在數(shù)碼管上,使觀眾能夠更直觀的看到結(jié)果。譯碼器的譯碼對(duì)照表3-1如下所示:表3-1 譯碼器的譯

30、碼對(duì)照表顯示的數(shù)字/字母bcd編碼七段數(shù)碼管2進(jìn)制000000111111100010000110200101011011300111001111401001100110501011101101601101111101701110000111810001111111910011101111xxxxx0000000備注 :在程序中只考慮0000-1001(即0-9)的情況,將其轉(zhuǎn)化為相應(yīng)的七段顯示器的碼子,其他情況不予考慮。結(jié)束語(yǔ)本文主要介紹了利用vhdl語(yǔ)言設(shè)計(jì)智能搶答器的詳細(xì)流程,并橫向介紹了一些關(guān)于此設(shè)計(jì)的背景知識(shí),比如eda的應(yīng)用、qutartusr設(shè)計(jì)流程等等。在設(shè)計(jì)的過(guò)程中,文章通過(guò)

31、對(duì)比傳統(tǒng)的自底向上的設(shè)計(jì)方法和和現(xiàn)代eda的自頂向下的設(shè)計(jì)方法,突出了eda設(shè)計(jì)方法的優(yōu)越性。在這次設(shè)計(jì)中,我們也遇到了一些問(wèn)題,比如設(shè)置輸入信號(hào)不合適時(shí),時(shí)序圖也會(huì)出現(xiàn)一些毛刺現(xiàn)象。同時(shí),我也發(fā)現(xiàn)了自己的許多不足。首先,最初開(kāi)發(fā)時(shí),對(duì)系統(tǒng)沒(méi)有一個(gè)完整的思路,考慮不是很全面,所以系統(tǒng)功能設(shè)計(jì)時(shí),碰到不少困難,也耽擱了不少時(shí)間。其次,我發(fā)現(xiàn)自己對(duì)于書(shū)本上的很多知識(shí)還不夠熟悉,對(duì)開(kāi)發(fā)工具的掌握還不算很全面,有很多我們需要掌握的知識(shí)還沒(méi)掌握,所以在設(shè)計(jì)編程、編譯以及仿真過(guò)程中走了不少?gòu)澛贰T俅?,在論文的整理過(guò)程中,我對(duì)word文檔的操作技能不是很嫻熟,所以在以后的學(xué)習(xí)生活中,我會(huì)努力并盡量彌補(bǔ)我所缺

32、少的一些相關(guān)知識(shí),不斷提高自己的操作能力。參考文獻(xiàn)1 漢澤西.eda技術(shù)與應(yīng)用.北京:北京航空航天大學(xué)出版社,20042 侯伯亨,顧新. vhdl硬件描述語(yǔ)言與數(shù)字邏輯電路設(shè)計(jì).西安:西安電子科技大學(xué)出版社,19973 黃任.編著vhdl入門(mén)、解惑、經(jīng)典實(shí)例、經(jīng)驗(yàn)總結(jié).北京:北京航空航天大學(xué)出版社,20054 羅朝霞,高書(shū)莉.cpld/fpga設(shè)計(jì)及應(yīng)用.北京:人民郵電出版社, 2007.7.5 陳云恰,保延翔.cpld應(yīng)用技術(shù)與數(shù)字系統(tǒng)統(tǒng)計(jì).電子工業(yè)出版社, 2006.6 李偉英,謝完成.基于eda技術(shù)的搶答器的設(shè)計(jì)與實(shí)現(xiàn)【j】.科學(xué)技術(shù)與實(shí)現(xiàn), 2008.8(11).7譚會(huì)生,瞿遂存.ed

33、a技術(shù)綜合應(yīng)用實(shí)例與分析【m】.西安:西安電子科技大學(xué)出版社, 2004.8姜雪松,吳鈺淳.vhdl設(shè)計(jì)實(shí)例與仿真.機(jī)械工業(yè)出版社, 2007.9altera corporation.altera digital library.altera,2002.10(美) stephen brown , zvonko vranesic 編著.fundamengtals of digital logic with vhdl design.mcgrawhill education(asia),2002.8.附錄library ieee;use ieee.std_logic_1164.all;use iee

34、e.std_logic_unsigned.all;entity eda is port(rst: in std_logic; a,b,c,d: in std_logic; a1,b1,c1,d1,speaker1,speaker2: out std_logic; states: out std_logic_vector(3 downto 0); en,clk,con:in std_logic; s:in std_logic; qa:out std_logic_vector(3 downto 0); qb:out std_logic_vector(3 downto 0);end eda;architecture art of eda is signal da: std_logic_vector(3 downto 0); signal d

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論