【正文】
IF(bb0=1001) THEN bb0=0000。) THEN IF(CHOOSE=0001) THEN IF(aa0=1001) THEN aa0=0000。cc0=0000。END SCORE。 END PROCESS。 WHEN OTHERS =LEDE =0000。 WARNS=39。 S1 amp。ENTITY FOUL IS PORT(CLEAR : IN STD_LOGIC。139。END ALARM。 END IF 。 ) THEN STATES = 0001 。 ELSIF ( S0 =39。039。STOP=39。 AND S3=39。039。039。)THEN STATES=0000。 WARN : IN STD_LOGIC。幫我解決了很多細(xì)節(jié)上的問題,使我能夠更好更順利的完成我的畢業(yè)設(shè)計(jì),謝謝你們。在以后的學(xué)習(xí)生活中,我會(huì)盡量彌補(bǔ)我在這方面的欠缺和不足。通過這次畢業(yè)設(shè)計(jì)我發(fā)現(xiàn)自己的不足。 利用Quartus II進(jìn)行編譯,綜合,仿真,時(shí)序圖如下: 圖44數(shù)顯模塊的仿真時(shí)序圖引腳作用: 輸入信號(hào):AIN4; 輸出信號(hào):DOUT7。當(dāng)CHOS=0001時(shí),組別顯示為A組,此時(shí)主持人利用計(jì)分器對(duì)A組進(jìn)行加減分操作;當(dāng)CHOS=0010時(shí),組別顯示為B組,此時(shí)主持人則利用計(jì)分器對(duì)B組進(jìn)行加減分操作;當(dāng)CHOS=0100時(shí),組別顯示為C組,此時(shí)系統(tǒng)對(duì)C組進(jìn)行加減分操作;當(dāng)CHOS=1000時(shí),組別顯示為D組,此時(shí)對(duì)D組進(jìn)行加減分操作。 仿真分析:當(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==0,計(jì)時(shí)預(yù)置控制端LDN=1時(shí),通過計(jì)時(shí)預(yù)置數(shù)據(jù)調(diào)整按鈕TA、TB進(jìn)行預(yù)制數(shù),并且通過TA,TB來調(diào)整QA,QB即當(dāng)TA=1時(shí),則QA的數(shù)值加1,當(dāng)TB=1時(shí),則QB的數(shù)值也加1。輸入時(shí)鐘CLK一方面作為揚(yáng)聲器控制電路的輸入信號(hào),另一方面作為搶答信號(hào)判別電路中鎖存器時(shí)鐘,為使揚(yáng)聲器音調(diào)較為悅耳,且是搶答判別電路有較高的準(zhǔn)確度(對(duì)信號(hào)判別的最大誤差是一個(gè)時(shí)鐘周期),CLK信號(hào)頻率高低應(yīng)適中,可取500Hz1KHz;同時(shí)CLK信號(hào)經(jīng)過分頻后向倒計(jì)時(shí)電路提供信號(hào)。這種連線方法思路清晰可見,而且用的時(shí)候很簡單方便,出現(xiàn)錯(cuò)誤也很好檢查。 譯碼顯示模塊該模塊實(shí)際上是一個(gè)譯碼器,譯碼器是組合邏輯電路的一個(gè)重要的器件,其可以分為:變量譯碼和顯示譯碼兩類。 以A組為例來說明此模塊的設(shè)計(jì),當(dāng)復(fù)位信號(hào)RST=1時(shí),系統(tǒng)復(fù)位且A組的分值顯示初始值,為100分。計(jì)時(shí)模塊開始工作從預(yù)置初始值開始以秒計(jì)時(shí),計(jì)時(shí)至0秒時(shí)停止,時(shí)間耗盡時(shí),揚(yáng)聲器會(huì)發(fā)出超時(shí)報(bào)警信號(hào),以中止答題。輸出信號(hào): 各組的搶答按鈕顯示端ABCD1,組別顯示端G[3..0]。當(dāng)主持人給出倒計(jì)時(shí)停止信號(hào)時(shí),揚(yáng)聲器停止鳴叫。 (3)如果無人搶答,計(jì)時(shí)器倒計(jì)時(shí)到零,蜂鳴器有搶答失敗提示,主持人可以按復(fù)位鍵,開始新一輪的搶答。在日常生活中,各種智力競(jìng)賽越來越多,而搶答器是必不可少的設(shè)備之一,答題時(shí)一般分為必答和搶答兩種。它能夠準(zhǔn)確、公正、直觀地判斷出首輪搶答者,并且通過搶答器的數(shù)碼顯示和警示蜂鳴等方式指示出首輪搶答者。本設(shè)計(jì)為四路智能搶答器,所以這種搶答器要求有四路不同組別的搶答輸入信號(hào),并能識(shí)別最先搶答的信號(hào),直觀地通過數(shù)顯和蜂鳴等方式顯示出組別;對(duì)回答問題所用的時(shí)間進(jìn)行計(jì)時(shí)、顯示、超時(shí)報(bào)警、預(yù)置答題時(shí)間,同時(shí)該系統(tǒng)還應(yīng)有復(fù)位、倒計(jì)時(shí)啟動(dòng)功能。此搶答器的設(shè)計(jì)中采用自頂向下的設(shè)計(jì)思路,運(yùn)用VHDL硬件描述語言對(duì)各個(gè)模塊進(jìn)行層次化、系統(tǒng)化的描述,并且先設(shè)計(jì)一個(gè)頂層文件,再把各個(gè)模塊連接起來。同理其他組別搶答成功也是這樣的鑒別過程。當(dāng)清零信號(hào)CLR=1時(shí),模塊輸出信號(hào)QA=0000 ,QB=0000。系統(tǒng)的輸出信號(hào)有:A組分?jǐn)?shù)輸出端AA2[3..0]、AA1[3..0]、AA0[3..0],B組分?jǐn)?shù)輸出端BB2[3..0]、BB1[3..0]、BB0[3..0],C組分?jǐn)?shù)輸出端CC2[3..0]、CC1[3..0]、CC0[3..0],D組分?jǐn)?shù)輸出端DD2[3..0]、DD1[3..0]、DD0[3..0]。譯碼是編碼的逆過程。圖38 頂層元件圖 注:本設(shè)計(jì)中,搶答器組別信號(hào)A、B、C、D為高電平時(shí),其功能為有效狀態(tài)。仿真分析:當(dāng)鑒別模塊的清零信號(hào)CLR為高電平時(shí),無論A、B、C、D四組參賽者誰按下?lián)尨鸢粹o,系統(tǒng)輸出均為零,同時(shí)組別顯示端G輸出信號(hào)也顯示為零;當(dāng)清零信號(hào)CLR為低電平時(shí),A、B、C、D四組參賽者誰先按下?lián)尨鸢粹o,組別顯示端就顯示該組別的號(hào)碼。 系統(tǒng)的輸出信號(hào)有:A組分?jǐn)?shù)輸出端AA2[3..0]、AA1[3..0]、AA0[3..0],B組分?jǐn)?shù)輸出端BB2[3..0]、BB1[3..0]、BB0[3..0],C組分?jǐn)?shù)輸出端CC2[3..0]、CC1[3..0]、CC0[3..0],D組分?jǐn)?shù)輸出端DD2[3..0]、DD1[3..0]、DD0[3..0]。其他搶答者搶答成功后的加分操作與此相同。且計(jì)分器在實(shí)現(xiàn)計(jì)分功能時(shí)能夠準(zhǔn)確計(jì)數(shù)并將分?jǐn)?shù)呈三位數(shù)顯示,計(jì)時(shí)器在按下計(jì)時(shí)開始按鈕后可以從60秒倒計(jì)時(shí)并通過譯碼器實(shí)時(shí)顯示計(jì)時(shí)結(jié)果。也耽擱了不少時(shí)間。我是一個(gè)積極愛學(xué)習(xí)的人,在趙老師督促與耐心指導(dǎo)下我才能將我的畢業(yè)設(shè)計(jì)完成。最后,我還是要向百忙之中給我莫大幫助的趙老師表示感謝。 STOP : OUT STD_LOGIC 。039。 AND S2=39。STOP=39。039。 ELSIF ( S1 =39。) THEN STATES = 0010 。039。139。 END ARCHITECTURE 。 THEN SOUND=39。 END IF。 WARNS: OUT STD_LOGIC)。139。 WARNS=39。 END CASE 。USE 。) THEN aa1=0001。 ELSIF(CLK39。139。139。139。 ELSE dd0=dd0+39。 ELSE aa0=1001。 bb1=0000。 ELSIF(CHOOSE=0100) THEN IF(cc0=0000) THEN IF(cc1=0000) THEN cc0=0000。 END IF