【正文】
END IF。ARCHITECTURE MIX OF FP ISSIGNAL COUNT :INTEGER RANGE 0 TO 49999999。END THREE。 WHEN 0101= Q =1101101。ENTITY XS ISPORT(D:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 WHEN 001=Q=D2。 END XHCS_BEHAVE。ARCHITECTURE XHCS_BEHAVE OF XHCS IS BEGIN PROCESS (CLK) VARIABLE TMP:INTEGER RANGE 0 TO 7。TL=LL。139。EVENT AND CLK=39。 SIGNAL LL:STD_LOGIC_VECTOR(3 DOWNTO 0)。 USE 。 TAG=39。039。 LEDC=39。039。139。 LEDB=39。 TAG=39。 LEDA=39。 SIGNAL TAG:STD_LOGIC。 A,B,C,D : IN STD_LOGIC。 END PROCESS。ARCHITECTURE ABV OF ZBPD IS BEGIN PROCESS(CLK) BEGIN IF(CLK39。在此,我謹(jǐn)向任堰牛老師表示崇高的敬意和衷心的感謝!與此同時(shí),還要感謝同學(xué)們的幫助,在整個(gè)畢業(yè)設(shè)計(jì)的過(guò)程中,不管遇到什么困難,同學(xué)們都積極給予幫助,為我解決了不少問(wèn)題,從而使我更好更順利的完成我的畢業(yè)設(shè)計(jì),在此謝謝你們。當(dāng)然,在設(shè)計(jì)過(guò)程中由于時(shí)間倉(cāng)促,還有一些地方難免存在不足之處,在設(shè)計(jì)中有些功能還不完善。 頂層電路的設(shè)計(jì)與仿真系統(tǒng)頂層電路見(jiàn)附錄Ⅰ。139。ENTITY FP ISPORT( CLK : IN STD_LOGIC。 END PROCESS。 WHEN 0100=Q=1100110。USE 。 WHEN 010=Q=D3。 掃描信號(hào)產(chǎn)生模塊的仿真波形圖 數(shù)碼管位信號(hào)與段信號(hào)匹配模塊程序設(shè)計(jì)與仿真數(shù)碼管位信號(hào)與段信號(hào)匹配模塊程序如下:LIBRARY IEEE。EVENT AND CLK=39。 倒計(jì)時(shí)模塊的仿真波形圖由圖中可看出,當(dāng)CLR信號(hào)無(wú)效和RST為高電平時(shí),倒計(jì)時(shí)模塊從19開始進(jìn)行倒計(jì)時(shí),倒計(jì)時(shí)為0時(shí),發(fā)出一個(gè)高電平信號(hào)報(bào)警。 END IF。 THEN LL=LL1。HH=0001。 TH,TL : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)。 搶答判別模塊的仿真波形圖從圖中可看出,A組最先搶答,LEDA輸出高電平,同時(shí)輸出信號(hào)為“001”。 TAG=39。039。 LEDC=39。039。139。 LEDB=39。 TAG=39。 LEDA=39。 SIGNAL TAG:STD_LOGIC。 A,B,C,D : IN STD_LOGIC。 搶答判別模塊程序設(shè)計(jì)與仿真。 S2=C(0) AND C(1) 。 A,B,C,D:IN STD_LOGIC_VECTOR(1 DOWNTO 0)。 掃描信號(hào)產(chǎn)生模塊的符號(hào) 數(shù)碼管位信號(hào)與段信號(hào)匹配模塊由于該系統(tǒng)需要顯示一位選手編號(hào)和兩位倒計(jì)時(shí)時(shí)間信號(hào),要正確顯示這些數(shù)據(jù),需要對(duì)多位七段數(shù)碼管相應(yīng)顯示位的位信號(hào)與段信號(hào)進(jìn)行匹配。該模塊的輸入信號(hào)有四組的搶答信號(hào)、清零信號(hào)CLR、搶答使能信號(hào)EN,輸出信號(hào)有各組搶答狀態(tài)顯示信號(hào)LEDA、LEDB、LEDC、LEDD和搶答成功組別編號(hào)信號(hào)Q[3..0]。搶答器的工作流程如下:先將搶答使能信號(hào)EN和倒計(jì)時(shí)開關(guān)信號(hào)RST置于高電平,然后進(jìn)行復(fù)位,此時(shí)參賽者可以開始進(jìn)行搶答,同時(shí)倒計(jì)時(shí)數(shù)碼管顯示從19開始進(jìn)行倒計(jì)時(shí),A、B、C、D四組搶答者誰(shuí)最先按下?lián)尨鸢存I,則該組搶答成功,該組所對(duì)應(yīng)的顯示燈被點(diǎn)亮,并通過(guò)譯碼顯示電路模塊顯示其參賽編號(hào)Q[6..0],同時(shí)主持人將倒計(jì)時(shí)開關(guān)信號(hào)置于低電平,以免報(bào)警。VHDL擁有豐富的數(shù)據(jù)類型,它支持標(biāo)準(zhǔn)定義的數(shù)據(jù)類型,同時(shí)也支持用戶自定義的數(shù)據(jù)類型,這樣使用戶使用起來(lái)帶來(lái)方便,也使設(shè)計(jì)更為靈活。用戶所設(shè)計(jì)的電路必須在編譯之前邏輯功能驗(yàn)證,即功能仿真,也叫前仿真,此時(shí)的仿真是沒(méi)有延時(shí)的,所以它僅是對(duì)初步的功能進(jìn)行檢測(cè)[5]。設(shè)計(jì)準(zhǔn)備設(shè)計(jì)輸入:1. 原理圖2. 硬件描述語(yǔ)言3. 波形圖功能仿真時(shí)序仿真優(yōu)化處理下載驗(yàn)證器件編程 FPGA的開發(fā)流程圖在使用FPGA芯片進(jìn)行設(shè)計(jì)之前,需要根據(jù)任務(wù)要求確定設(shè)計(jì)方案,對(duì)設(shè)計(jì)方法和器件選擇等進(jìn)行準(zhǔn)備,選擇合適的設(shè)計(jì)方法和器件。采用FPGA技術(shù)可以降低開發(fā)成本、縮短開發(fā)周期、簡(jiǎn)化設(shè)計(jì)文檔管理、提高電子系統(tǒng)設(shè)計(jì)的自動(dòng)化程度,設(shè)計(jì)者擁有完全的自主權(quán),設(shè)計(jì)的系統(tǒng)具有良好的可移植性與可測(cè)試性,為系統(tǒng)開發(fā)提供可靠保證。在FPGA中,LUT和數(shù)據(jù)選擇器的主要作用是實(shí)現(xiàn)組合邏輯功能,而觸發(fā)器是實(shí)現(xiàn)時(shí)序邏輯功能的基本電路。FPGA掉電后數(shù)據(jù)就會(huì)消失,所以每一片F(xiàn)PGA芯片都需要配置一片EPROM芯片,只要將程序下載到EPROM中,上電后會(huì)自動(dòng)加載到FPGA芯片中,所以,F(xiàn)PGA無(wú)需專門的FPGA編程器,使用通用的EPROM編程器就行。2 搶答器總體設(shè)計(jì)方案 系統(tǒng)總體方案設(shè)計(jì)本設(shè)計(jì)主要實(shí)現(xiàn)判斷第一搶答者,搶答倒計(jì)時(shí)和顯示組號(hào)等功能。 系統(tǒng)設(shè)計(jì)要求本設(shè)計(jì)的主要任務(wù)是設(shè)計(jì)并實(shí)現(xiàn)基于FPGA的多路搶答器。鞏固和運(yùn)用在電子技術(shù)基礎(chǔ)等課程中所學(xué)理論知識(shí),提高自己的自學(xué)能力和動(dòng)手能力,為以后從事相關(guān)工作打下基礎(chǔ)。經(jīng)編譯和仿真所設(shè)計(jì)的程序,并下載到開發(fā)系統(tǒng)上進(jìn)行調(diào)試驗(yàn)證,最終完成搶答器的設(shè)計(jì)。近年來(lái)電子技術(shù)得到迅速發(fā)展,使得電子系統(tǒng)的設(shè)計(jì)者利用EDA軟件,就可以獨(dú)立設(shè)計(jì)所需的專用集成電路(ASIC)器件,現(xiàn)在利用現(xiàn)場(chǎng)可編輯邏輯門陣列(簡(jiǎn)稱FPGA)制作的搶答器,不僅制作過(guò)程簡(jiǎn)單,而且準(zhǔn)確性也更高。現(xiàn)在,EDA(電子設(shè)計(jì)自動(dòng)化)技術(shù)的廣泛應(yīng)用使得電路的設(shè)計(jì)者能在開發(fā)平臺(tái)上使用HDL或畫電路原理圖的方式設(shè)計(jì)電路,這大大提高了電路設(shè)計(jì)的效率。隨著電子技術(shù)和計(jì)算機(jī)技術(shù)的不斷發(fā)展,EDA技術(shù)應(yīng)運(yùn)而生。若倒計(jì)時(shí)時(shí)間為0時(shí)還是無(wú)人搶答,則會(huì)報(bào)警。FPGA的出現(xiàn)解決了以前那些可編程器件門電路數(shù)不足的缺點(diǎn),同時(shí)它作為專用集成電路(Application Specific Integrated Circuit,ASIC)領(lǐng)域中的一種半定制電路,還很好的解決了定制電路不足的問(wèn)題??删幊梯斎?輸出模塊IOB通常分布在器件的周圍,是芯片與外界電路的接口部分,通過(guò)編程配置引腳功能為輸入、輸出或雙向輸入/輸出功能,并為FPGA器件引腳與內(nèi)部邏輯陣列之間提供連接資源。 (4)FPGA是專用集成電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。而自下向上設(shè)計(jì)是先分別設(shè)計(jì)底層模塊,接著組成大的模塊,最后完成頂層模塊的設(shè)計(jì)。這種方法直觀、易用,但移植性較差。時(shí)序仿真之后,軟件就可產(chǎn)生供器件編程使用的數(shù)據(jù)文件,然后可以下載到對(duì)應(yīng)的FPGA器件內(nèi)部進(jìn)行實(shí)際測(cè)試,驗(yàn)證設(shè)計(jì)的正確性。 系統(tǒng)總體電路圖該系統(tǒng)主要由七個(gè)電路模塊組成,分別為組別判斷電路、分頻電路、倒計(jì)時(shí)電路、搶答判別電路、掃描信號(hào)產(chǎn)生電路、數(shù)碼管位信號(hào)與段信號(hào)匹配電路和譯碼顯示電路。 組別判斷模塊組別判斷模塊的主要作用是對(duì)每一位參賽者的組號(hào)進(jìn)行判斷。該模塊的輸入信號(hào)有時(shí)鐘信號(hào)CLK(1Hz)、清零信號(hào)CLR、倒計(jì)時(shí)停止信號(hào)RST,輸出信號(hào)有計(jì)時(shí)器高位信號(hào)TH[3..0]、計(jì)時(shí)器低位信號(hào)TL[3..0]、LED燈提示信號(hào)M。 分頻模塊的符號(hào)4 搶答器的程序設(shè)計(jì)與實(shí)現(xiàn) 組別判斷模塊程序設(shè)計(jì)與仿真組別判斷模塊程序如下:LIBRARY IEEE。139。USE 。 Q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0))。 PROCESS(CLR,EN,A,B,C,D,TMP) BEGIN IF CLR=39。039。039。039。 LEDC=39。039。 TAG=39。 LEDD=39。 END PROCESS。USE 。 BEGIN PROCESS(CLK,CLR,RST,HH,LL) BEGIN IF CLR=39。139。 HH=0000。 END PROCESS。END XHCS。 END PROCESS。END XHPP。 WHEN 0001=Q=0000110。 WHEN 1001=Q=1101111。USE 。 ELSE COUNT=COUNT+1。 END PROCESS FP_PROC。同時(shí),我對(duì)一個(gè)產(chǎn)品也有了一個(gè)新的認(rèn)識(shí),從方案的選擇、設(shè)計(jì)再到實(shí)現(xiàn),每一步都需要認(rèn)真研究,克服困難。本設(shè)計(jì)是在任堰牛老師的精心指導(dǎo)下完成的。 A,B,C,D:IN STD_LOGIC_VECTOR(1 DOWNTO 0)。 S2=C(0) AND C(1) 。USE 。 Q : OUT ST