基于FPGA的籃球-記分器設(shè)計(jì)_第1頁
基于FPGA的籃球-記分器設(shè)計(jì)_第2頁
基于FPGA的籃球-記分器設(shè)計(jì)_第3頁
基于FPGA的籃球-記分器設(shè)計(jì)_第4頁
基于FPGA的籃球-記分器設(shè)計(jì)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)第1章 前言1.1 產(chǎn)品現(xiàn)狀與發(fā)展作為每場(chǎng)籃球賽的必備品,比賽的記分器的質(zhì)量顯得尤為重要。目前使用的記分器大部分是基于單片機(jī)技術(shù),以單片機(jī)為主要器件,其編碼器與解碼器的生成為軟件方式。在實(shí)際應(yīng)用中,由于程序不穩(wěn)定,系統(tǒng)的可靠性能比較差?;诂F(xiàn)場(chǎng)可編程邏輯門陣列FPGA器件的記分器,用FPGA器件構(gòu)造系統(tǒng),所有算法完全由硬件電路來實(shí)現(xiàn),使得系統(tǒng)的工作可靠性大為提高。由于FPGA具有現(xiàn)場(chǎng)可編程功能,當(dāng)設(shè)計(jì)需要更改時(shí),只需更改FPGA中的控制和接口電路,利用EDA工具將更新后

2、的設(shè)計(jì)下載到FPGA中即可,無需更改外部電路的設(shè)計(jì),大大提高了設(shè)計(jì)的效率以及使用成本。1.2 FPGA簡(jiǎn)介FPGA設(shè)計(jì)流程包括系統(tǒng)設(shè)計(jì)和設(shè)計(jì)實(shí)現(xiàn),系統(tǒng)方案完成之后即進(jìn)入設(shè)計(jì)實(shí)現(xiàn)階段的工作,他以系統(tǒng)方案為輸入,進(jìn)行RTL級(jí)描述、功能仿真(RTL級(jí)仿真)、邏輯綜合、布線前門級(jí)仿真、適配(布局布線)、時(shí)序仿真(布線后門級(jí)仿真)、時(shí)序分析、器件編程、系統(tǒng)驗(yàn)證一系列流程的處理才能完成FPGA芯片的設(shè)計(jì),其設(shè)計(jì)流程。需要說明的是,如果仿真驗(yàn)證不對(duì)或者某一步有錯(cuò),就要返回修改。有必要檢查和修改的地方有RTL級(jí)描述、系統(tǒng)方案、約束和測(cè)試激勵(lì)等。一般情況下,對(duì)RTL級(jí)的描述即原理圖或者HDL設(shè)計(jì)代碼的修改最多也

3、最有效。修改后要重新走一遍流程。有時(shí)要反復(fù)修改,經(jīng)過多次這樣的修改才能完成最后的設(shè)計(jì)。 FPGA的設(shè)計(jì)流程和相關(guān)概念說明如下:庫:指FPGA器件廠家提供的工藝庫和EDA工具提供的標(biāo)準(zhǔn)通用庫(如IEEE庫等)。工藝庫中有各種宏功能模塊和基本功能單元,含有他們的行為級(jí)模型、門級(jí)模型、布線模型等信息。需要說明的是,系統(tǒng)行為仿真和RTL級(jí)功能仿真有時(shí)要用到某種功能模塊,例如RAM模型。對(duì)于RAM模型的控制信號(hào),不同的廠家其規(guī)定不一定相同,如寫使能信號(hào),有的廠家規(guī)定高電平有效,有的廠家規(guī)定低電平有效。其實(shí),在廠家提供的工藝庫中, RAM模型有行為級(jí)模型、門級(jí)模型、版圖級(jí)模型等。而行為級(jí)模型只是規(guī)定其功能

4、,無延時(shí)信息,跟工藝無關(guān),但門級(jí)模型和版圖級(jí)模型跟工藝密切相關(guān)。解決的方法是系統(tǒng)行為仿真時(shí)可以使用高級(jí)語言自己建立一個(gè)模型或者調(diào)用廠家?guī)熘刑峁┑男袨榧?jí)模型,功能仿真時(shí)調(diào)用行為級(jí)模型,時(shí)序仿真時(shí)調(diào)用門級(jí)模型。測(cè)試激勵(lì):指測(cè)試文件,他調(diào)用FPGA設(shè)計(jì)的頂層模塊,同時(shí)產(chǎn)生頂層模塊需要的輸入信號(hào),稱之為激勵(lì)信號(hào),使用行為描述即可,不要求可綜合。仿真時(shí)他作為最頂層的文件,從而可以觀察FPGA的輸出是否正確。所有的仿真都可使用同一個(gè)測(cè)試激勵(lì)。約束:指對(duì)邏輯綜合和布局布線時(shí)的約束。包括器件型號(hào)、速度、面積、功耗、引腳分配、時(shí)鐘網(wǎng)絡(luò)資源的分配、模塊在器件中的定位等約束。一部分在軟件中設(shè)置,一部分以約束文件的形

5、式存在。1.3 自上而下(TOP DOWN)的設(shè)計(jì)方法自上而下的設(shè)計(jì)方法是現(xiàn)代電子系統(tǒng)的新型設(shè)計(jì)策略,它從設(shè)計(jì)的總體要求出發(fā),自上而下地逐步從系統(tǒng)數(shù)學(xué)模型的設(shè)計(jì)與仿真,到數(shù)據(jù)流級(jí)的設(shè)計(jì)與仿真,選擇系統(tǒng)設(shè)計(jì)方案,最后完成系統(tǒng)硬件的整體設(shè)計(jì)。VHDL的自上而下的設(shè)計(jì)方法不僅體現(xiàn)在它的基本結(jié)構(gòu)由描述外視特性的實(shí)體與描述內(nèi)視行為和結(jié)構(gòu)的結(jié)構(gòu)體構(gòu)成,同一實(shí)體可以有一個(gè)以上的結(jié)構(gòu)體,以便設(shè)計(jì)方案的選擇,還體現(xiàn)在系統(tǒng)硬件設(shè)計(jì)過程的三個(gè)層次:行為級(jí)描述與仿真、RTL級(jí)描述與仿真、邏輯綜合與門級(jí)仿真。邏輯綜合與所使用的邏輯綜合工具有關(guān),由邏輯綜合優(yōu)化工具生成具體的門級(jí)邏輯電路的EDIF(Electronic D

6、esign Interchange Format)網(wǎng)表。EDIF網(wǎng)表是一種標(biāo)準(zhǔn)接口,它是一個(gè)以ASCII字符為基礎(chǔ)的中間互換格式,被大多數(shù)供應(yīng)商提供的CAE/CAD系統(tǒng)所支持。半導(dǎo)體制造廠基于這種網(wǎng)表生成ASIC芯片的制造工藝,F(xiàn)PGA則基于這種網(wǎng)表生成用以配置FPGA芯片的位流文件。這三種仿真貫穿系統(tǒng)硬件設(shè)計(jì)的全過程,從而可以在系統(tǒng)設(shè)計(jì)早期發(fā)現(xiàn)設(shè)計(jì)中存在的問題,與傳統(tǒng)的自下而上的后期仿真相比大大縮短系統(tǒng)的設(shè)計(jì)周期,并且利于方案的綜合評(píng)價(jià)與選取。這是用VHDL語言設(shè)計(jì)系統(tǒng)硬件的最突出的優(yōu)點(diǎn)。1.4 設(shè)計(jì)語言、仿真平臺(tái)與開發(fā)系統(tǒng)(1)硬件描述語言籃球記分器的設(shè)計(jì)采用了功能強(qiáng)大的通用硬件描述語言V

7、HDL,它具有很強(qiáng)的行為描述能力,設(shè)計(jì)方法靈活,可以支持自頂向下(Top Down)和基于庫(Library-Based)的設(shè)計(jì)方法,硬件描述與具體的工藝技術(shù)和硬件結(jié)構(gòu)無關(guān),能輕易地改變?cè)O(shè)計(jì)的規(guī)模和結(jié)構(gòu),標(biāo)準(zhǔn)、規(guī)范易于共享與復(fù)用,易于向ASIC移植。(2)MAX+plusII軟件開發(fā)工具本設(shè)計(jì)采用的軟件開發(fā)工具是美國Altera公司的MAX+plusII,它支持多種設(shè)計(jì)輸入方法,包括原理圖輸入、文本輸入(如AHDL,VHDL,Verilog HDL文本文件)和第三方EDA工具輸入文件(如EDIF,HDL,VQM文件),利用該工具所配備的編輯、編譯、仿真綜合、芯片編程等功能,可將設(shè)計(jì)電路圖或電路

8、描述程序變成基本的邏輯單元寫入到可編程的芯片中(如FPGA芯片),做成ASIC芯片。(3)EDA實(shí)驗(yàn)開發(fā)系統(tǒng)設(shè)計(jì)中采用的EDA實(shí)驗(yàn)開發(fā)系統(tǒng),主要用于提供可編程邏輯器件的下載電路及EDA實(shí)驗(yàn)開發(fā)的外圍資源,供硬件驗(yàn)證用。一般包括:實(shí)驗(yàn)或開發(fā)所需的各類基本信號(hào)發(fā)生模塊;FPGA/CPLD輸出信息顯示模塊;監(jiān)控程序模塊;目標(biāo)芯片適配座以及上面的FPGA/CPLD目標(biāo)芯片和下載電路。21.5 用MAX+plusII進(jìn)行系統(tǒng)開發(fā)的設(shè)計(jì)流程(1)編寫VHDL程序(使用VHDL File);(2)編譯VHDL程序(使用Compiler);(3)仿真驗(yàn)證VHDL程序(使用Waveform Editor, Si

9、mulator);(4)進(jìn)行芯片的時(shí)序分析(使用Timing Analyzer);(5)安排芯片管腳位置(使用Floorplan Editor);(6)下載程序至芯片(使用Programmer)。第2章 系統(tǒng)總體設(shè)計(jì)2.1 系統(tǒng)設(shè)計(jì)要求(1)通過開關(guān)按鈕,實(shí)現(xiàn)每次按鍵可以加1分、2分、3分以及減1分、2分、3分得功能;(2)通過六位BCD-7數(shù)碼管分別顯示兩隊(duì)每場(chǎng)比賽總得分記錄顯示功能;(3)由六位BCD-7數(shù)碼管在切換計(jì)時(shí)方式的情況下,實(shí)現(xiàn)每節(jié)12分鐘倒計(jì)時(shí)的功能;(4)通過蜂鳴器用以實(shí)現(xiàn)每節(jié)結(jié)束后的鳴笛聲,以示本節(jié)比賽結(jié)束;(5)實(shí)現(xiàn)每次進(jìn)攻的24秒的倒計(jì)時(shí)功能;(6)實(shí)現(xiàn)每次進(jìn)球后24秒

10、立刻重新倒計(jì)時(shí)的功能;(7)鑒于數(shù)碼管數(shù)量有限,將通過顯示切換選擇電路,實(shí)現(xiàn)不同電路的顯示功能。2.2 系統(tǒng)設(shè)計(jì)方案的提出方案一:采用數(shù)字電路控制。雖然采用數(shù)字籃球記分器電路的好處是設(shè)計(jì)簡(jiǎn)單,但是由于其是純電路實(shí)際,在系統(tǒng)運(yùn)行時(shí),延時(shí)會(huì)比較嚴(yán)重。方案二:通過單片機(jī)實(shí)現(xiàn),可以采用80C51單片機(jī)來實(shí)現(xiàn)比賽記分。雖然有靈活的設(shè)計(jì)和豐富的IO端口,但是單片機(jī)設(shè)計(jì)的缺點(diǎn)是程序運(yùn)行時(shí)容易出現(xiàn)跑飛現(xiàn)象。通過以上比較顯然單片機(jī)方案有較大的活動(dòng)空間,不但能實(shí)現(xiàn)所要求的功能而且能在很大的程度上擴(kuò)展功能,而且還可以方便的對(duì)系統(tǒng)進(jìn)行升級(jí),但是由于所學(xué)知識(shí)不能將其有效的應(yīng)用,現(xiàn)有環(huán)境不能滿足,而且單片機(jī)的記分器有一定

11、的不足之處,在運(yùn)行時(shí)程序有時(shí)會(huì)產(chǎn)生PC指針錯(cuò)誤,還有基于現(xiàn)在所學(xué)知識(shí)的應(yīng)用,所以基于以上比較提出了第三種方案。方案三:利用FPGA設(shè)計(jì)籃球記分器,其成本低,設(shè)計(jì)方便(有相應(yīng)的開發(fā)板),現(xiàn)有資源充足,實(shí)現(xiàn)比較容易,更利于系統(tǒng)的維護(hù)改進(jìn)和升級(jí),可靠性更高,更安全。通過以上比較描述,本設(shè)計(jì)采用基于FPGA的籃球記分器設(shè)計(jì)方案。第3章 系統(tǒng)詳細(xì)設(shè)計(jì)3.1 分頻器電路的設(shè)計(jì)1分頻器作為電路時(shí)間的正常顯示驅(qū)動(dòng)部分。分頻器在本電路中起到為12分鐘倒計(jì)時(shí)(60秒倒計(jì)時(shí))、24秒倒計(jì)時(shí)等電路提供脈沖信號(hào),更為重要的是1KHZ為數(shù)碼管的動(dòng)態(tài)顯示提供合適的頻率。本設(shè)計(jì)采用的分頻比為1:1000。引腳功能圖如圖3.1

12、所示:圖3.1 分頻器的引腳功能圖引腳功能:CLK3為脈沖輸入端,輸入1000HZ脈沖。Q為輸出端,輸出為1HZ。VHDL程序如下: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FEN1000 ISPORT(CLK3:IN STD_LOGIC;Q:OUT STD_LOGIC);END FEN1000;ARCHITECTURE ONE OF FEN1000 ISSIGNAL A:STD_LOGIC;BEGINPROCESS(CLK3)VARIABLE CNT:INTEGER RAN

13、GE 0 TO 499;BEGINIF CLK3EVENT AND CLK3=1 THEN IF CNT=499 THEN CNT:=0; A=NOT A; ELSE CNT:=CNT+1; END IF; END IF; Q=A;END PROCESS;END ONE;3.2 計(jì)數(shù)譯碼顯示電路的設(shè)計(jì)1一般情況計(jì)數(shù)器是由計(jì)數(shù)脈沖信號(hào)(CLK)和控制信號(hào)作為輸入信號(hào),計(jì)數(shù)值和進(jìn)位信號(hào)作為輸出信號(hào)??刂菩盘?hào)除了復(fù)位信號(hào)(RES)之外,還有使能信號(hào),一般控制器的信號(hào)還有一個(gè)或者幾個(gè),他們是隨著優(yōu)先級(jí)進(jìn)行控制,由高到低進(jìn)行循環(huán)控制。本電路采用六位二進(jìn)制加法計(jì)數(shù)器,為數(shù)碼管的顯示提供動(dòng)態(tài)掃描電路,并為選

14、擇計(jì)數(shù)提供共同的可能。引腳功能圖如圖3.2所示: 圖3.2 計(jì)數(shù)器的引腳功能圖引腳功能:CLK1是脈沖輸入端,為電路提供脈沖信號(hào)。Q是輸出端,為后面的數(shù)碼管顯示提供一個(gè)動(dòng)態(tài)掃描。VHDL程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT6 IS; PORT( CLK1:IN STD_LOGIC; Q:OUT STD_LOFIC_VECTOR(2 DOWNTO 0);END CNT6;ARCHITECTURE ABB OF CNT6 ISSIGNAL Q_TEMP:STD

15、_LOGIC_VECTOR(2 DOWNTO 0);BEGINPROCESS(CLK1) BEGIN IF(CLK1EVENT AND CLK1=1) THEN IF Q_TEMP=”101” THEN Q_TEMP=”000”; ELSE Q_TEMP=Q_TEMP+1; END IF; ENF IF;Q=Q_TEMP;END PROCESS;END ABB; 3.3 BCD-7段數(shù)碼管顯示譯碼電路的設(shè)計(jì)1BCD-7段譯碼器的輸入是4位BCD碼,輸出是數(shù)碼管各段的驅(qū)動(dòng)信號(hào),也稱4-7譯碼器。例如,當(dāng)輸入8421BCD碼DCBA=0100時(shí),就會(huì)顯示4,同理,根據(jù)組成0-9這10個(gè)字形的要求可

16、以列出8421BCD-7段譯碼器的顯示。本電路驅(qū)動(dòng)數(shù)碼管顯示比分和時(shí)間,更是動(dòng)態(tài)掃描的組成部分。引腳功能圖如圖3.3所示: 圖3.3 BCD-7段譯碼引腳功能圖該模塊是數(shù)碼管顯示模塊,Y是輸入端,主要顯示倒計(jì)時(shí)或者比分。LED是輸出端,實(shí)現(xiàn)數(shù)碼管顯示功能。VHDL程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY BCD7 ISPORT (Y:IN STD_LOGIC_VECTOR(3 DOWNTO 0); LED:OUT STD_LOGIC_VECTOR(0 DOWNTO 6);END BCD7;ARCHITECTURE ONE OF B

17、CD7 ISBEGINPROCESS(Y)BEGINIF Y=0000 THEN LED=;ELSIF Y=0001 THEN LED=;ELSIF Y=0010 THEN LED=;ELSIF Y=0011 THEN LED=;ELSIF Y=0100 THEN LED=;ELSIF Y=0101 THEN LED=;ELSIF Y=0110 THEN LED=;ELSIF Y=0111 THEN LED=;ELSIF Y=1000 THEN LED=;ELSIF Y=1001 THEN LED=;ELSE LED=;END IF;END PROCESS; END ONE ;3.4 數(shù)據(jù)計(jì)分

18、顯示電路的設(shè)計(jì) 數(shù)據(jù)計(jì)分顯示電路是本電路的關(guān)鍵部分,計(jì)分電路是籃球計(jì)分器的核心部分,只有真正記錄兩隊(duì)的得分,才能真正達(dá)到計(jì)分顯示的功能。根據(jù)現(xiàn)實(shí)的情況考慮,籃球最多可以得分達(dá)到三位數(shù),因此要考慮十分位、百分位的加減進(jìn)位,并且每個(gè)球隊(duì)的計(jì)分顯示要實(shí)現(xiàn)按不同的按鈕實(shí)現(xiàn)加、減一分、加、減兩分、加、減三分的功能。引腳功能圖如圖3.4所示: 圖3.4 數(shù)據(jù)計(jì)分顯示的引腳功能圖引腳功能:EN是使能輸入端;CLK是脈沖輸入端,提供脈沖信號(hào);K1、K2、K3是輸入端,分別是加1,2,3分。BA1、SA1、GA1是輸出端,其中BA1為百位,SA1為十位,GA1為個(gè)位。該模塊的功能主要用于顯示兩隊(duì)的記分。 VHD

19、L程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DISPLAY1 ISPORT(EN,CLK,K1,K2,K3:IN STD_LOGIC; BA1,SA1,GA1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END DISPLAY1;ARCHITECTURE ONE OF DISPLAY1 ISBEGINPROCESS(CLK)VARIABLE BA: STD_LOGIC_VECTOR(3 DOWNTO 0);VARIABLE SA: STD_LOG

20、IC_VECTOR(3 DOWNTO 0);VARIABLE GA: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF(CLKEVENT AND CLK=1) THEN IF EN=1 THEN IF (K1=1 AND K2=0 AND K3=0)THEN IF(BA=9 AND SA=9 AND GA=9) THEN BA:=0000;SA:=0000;GA:=0000; ELSIF(SA=9 AND GA=9) THEN SA:=0000;GA:=0000;BA:=BA+1; ELSIF (GA=9) THEN GA:=0000;SA:=SA+1;BA:=BA;

21、ELSE BA:=BA;SA:=SA;GA:=GA+1; END IF;ELSIF(K1=0 AND K2=1AND K3=0) THEN IF(BA=9 AND SA=9 AND GA=9) THEN BA:=0000;SA:=0000;GA:=0000; ELSIF(SA=9 AND GA=9) THEN SA:=0000;GA:=0001;BA:=BA+1; ELSIF(SA=9 AND GA=8) THEN SA:=0000;GA:=0000;BA:=BA+1; ELSIF (GA=9) THEN GA:=0001;SA:=SA+1;BA:=BA; ELSIF (GA=8) THEN

22、GA:=0000;SA:=SA+1;BA:=BA; ELSE BA:=BA;SA:=SA;GA:=GA+2; END IF;ELSIF(K1=0 AND K2=0 AND K3=1) THEN IF(BA=9 AND SA=9 AND GA=9) THEN BA:=0000;SA:=0000;GA:=0000; ELSIF(SA=9 AND GA=9) THEN SA:=0000;GA:=0010;BA:=BA+1; ELSIF(SA=9 AND GA=8) THEN SA:=0000;GA:=0001;BA:=BA+1; ELSIF(SA=9 AND GA=7) THEN SA:=0000;

23、GA:=0000;BA:=BA+1; ELSIF (GA=9) THEN GA:=0010;SA:=SA+1;BA:=BA; ELSIF (GA=8) THEN GA:=0001;SA:=SA+1;BA:=BA; ELSIF (GA=7) THEN GA:=0000;SA:=SA+1;BA:=BA; ELSE BA:=BA;SA:=SA;GA:=GA+3; END IF;ELSIF(K1=0 AND K2=1 AND K3=1)THEN IF(SA=0 AND GA=0)THEN BA:=BA-1;SA:=1001;GA:=1001; ELSIF(GA=0)THEN BA:=BA;SA:=SA

24、-1;GA:=1001; ELSE BA:=BA;SA:=SA;GA:=GA-1; END IF;ELSIF(K1=1 AND K2=0 AND K3=1)THEN IF(GA=0 AND SA=0)THEN BA:=BA-1;SA:=1001;GA:=1000; ELSIF(SA=0 AND GA=1)THEN BA:=BA-1;SA:=1001;GA:=1001; ELSIF(GA=0)THEN BA:=BA;SA:=SA-1;GA:=1000; ELSIF(GA=1)THEN BA:=BA;SA:=SA-1;GA:=1001; ELSE BA:=BA;SA:=SA;GA:=GA-2; E

25、ND IF;ELSIF(K1=1 AND K2=1 AND K3=0)THEN IF(GA=0 AND SA=0)THEN BA:=BA-1;SA:=1001;GA:=0111; ELSIF(SA=0 AND GA=1)THEN BA:=BA-1;SA:=1001;GA:=1000; ELSIF(SA=0 AND GA=2)THEN BA:=BA-1;SA:=1001;GA:=1001; ELSIF(GA=0)THEN BA:=BA;SA:=SA-1;GA:=0111; ELSIF(GA=1)THEN BA:=BA;SA:=SA-1;GA:=1000; ELSIF(GA=2)THEN BA:=

26、BA;SA:=SA-1;GA:=1001; ELSE BA:=BA;SA:=SA;GA:=GA-3; END IF; END IF; END IF; END IF;BA1=BA;SA1=SA;GA10 THEN QC:=QC-1; QD:=QD; ELSIF(QD=0 AND QC=0) THEN QC:=1001;QD:=0101; END IF;END IF;-END IF; IF(QC=0 AND QD=0)THEN -QC:=1001;QD:=0101; CO=1; ELSE CO=0;END IF;QD1=QD;QC10 THEN QE:=QE-1; QF:=QF; ELSIF(QF

27、=0 AND QE=0) THEN QE:=0010;QF:=0001; END IF; ELSE QE:=QE;QF:=QF;END IF;END IF; IF(QE=0 AND QF=0)THEN XL=1;ELSE XL=0;END IF; QF1=QF;QE10 THEN QA:=QA-1; QB:=QB; ELSIF(QB=0 AND QA=0)THEN QA:=0100;QB:=0010; END IF; END IF; END IF;QB1=QB; QA1=QA;END PROCESS;END;3.6 12選6的數(shù)據(jù)選擇器電路的設(shè)計(jì)切換電路的設(shè)計(jì)應(yīng)用了數(shù)據(jù)選擇器MUX126,即1

28、2選6的數(shù)據(jù)選擇器,根據(jù)你需要的顯示,通過按鍵可以選擇不同的顯示方式,比如:SEL=“0”時(shí),選擇計(jì)分顯示,當(dāng)你按下SEL鍵時(shí),SEL=“1”時(shí),即可以顯示計(jì)時(shí)的功能,然后再通過動(dòng)態(tài)掃描的過程由數(shù)碼管顯示出來。12選6的數(shù)據(jù)選擇器由十二個(gè)信號(hào)輸入端口和一個(gè)脈沖輸入端口,由SEL端口調(diào)制輸出接口的選擇,選擇不同的接口,將顯示不同的數(shù)據(jù),在比賽時(shí)間,一般會(huì)顯示時(shí)間走時(shí),在一隊(duì)進(jìn)攻得手后,由SEL端口來調(diào)節(jié)計(jì)分顯示,經(jīng)過計(jì)分電路的按鈕來達(dá)到加分的功能,當(dāng)選擇加分顯示時(shí),計(jì)時(shí)電路不受其影響,會(huì)繼續(xù)走時(shí)。計(jì)分完成后再經(jīng)SEL端調(diào)到顯示時(shí)間接口,通過一系列的循環(huán)而完成整個(gè)籃球計(jì)分器的功能。引腳功能圖如圖3

29、.8所示: 圖3.8 切換電路的引腳功能圖該模塊是十二選六數(shù)據(jù)選擇器,BA、SA、GA、BB、SB、GB、QA、QB、QC、QD、QE、QF均是輸入端,其中BA、BB為百位,SA、SB為十位,GA、GB為個(gè)位。QA、QB為24S倒計(jì)時(shí)顯示QC、QD為60秒倒計(jì)時(shí)顯示QE、QF為12分鐘倒計(jì)時(shí)顯示。SEL為動(dòng)態(tài)掃描,Y1、Y2、Y3、Y4、Y5、Y6為輸出端,SEl為1時(shí)顯示比分,Y3、Y6為百位,Y2、Y5為十位,Y1、Y4為個(gè)位。SEl為0時(shí)顯示時(shí)間,Y1、Y2為24S倒計(jì)時(shí)顯示,Y3、Y4為秒倒計(jì)時(shí)顯示Y5、Y6為12分鐘倒計(jì)時(shí)顯示。VHDL程序如下:LIBRARY IEEE;USE IE

30、EE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SEL1 ISPORT(BA,SA,GA,BB,SB,GB,QA,QB,QC,QD,QE,QF:IN STD_LOGIC_VECTOR(3 DOWNTO 0) ;SEL:IN STD_LOGIC;Y1,Y2,Y3,Y4,Y5,Y6:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END SEL1;ARCHITECTURE ONE OF SEL1 ISBEGINPROCESS(sel,BA,SA,GA,BB,GB,SB,QA,QB,QC,QD,QE,QF)B

31、EGIN IF SEL=1 THEN Y1=GA;Y2=SA;Y3=BA;Y4=GB;Y5=SB;Y6=BB; ELSE Y1=QA;Y2=QB;Y3=QC;Y4=QD;Y5=QE;Y6=QF; END IF;END PROCESS;END ONE;3.7 數(shù)據(jù)選擇器電路的設(shè)計(jì)數(shù)據(jù)選擇器是從多路輸入數(shù)據(jù)中選擇一路,送到數(shù)據(jù)總線上的電路,它的作用類似于一個(gè)單刀多擲開關(guān)。本電路采用六選一數(shù)據(jù)選擇電路,實(shí)現(xiàn)了對(duì)時(shí)間和計(jì)分的選擇以及實(shí)現(xiàn)動(dòng)態(tài)掃描對(duì)數(shù)碼管的選擇。引腳功能圖如圖3.9所示: 圖3.9 數(shù)據(jù)選擇器的引腳功能圖該模塊是六選一數(shù)據(jù)選擇器,BA、SA、GA、BB、SB、GB均是輸入端,主要是60秒

32、,12分鐘,24秒的倒計(jì)時(shí)或者兩隊(duì)的比分。Y為輸出端,連接到數(shù)碼管上,顯示前面選擇的內(nèi)容。VHDL程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX61 IS PORT(BA,SA,GA,BB,SB,GB:IN STD_LOGIC_VECTOR(3 DOWNTO 0); SEL:IN STD_LOGIC_VECTOR(2 DOWNTO 0); Y:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END MUX61;ARCHITECTURE RTL OF MUX61 ISBEGINPROCESS(BA,SA,GA,B

33、B,SB,GB) BEGIN IF (SEL=000)THEN Y=BA; ELSIF(SEL=001)THEN Y=SA; ELSIF(SEL=010)THEN Y=GA; ELSIF(SEL=011)THEN Y=BB; ELSIF(SEL=100)THEN Y=SB; ELSIF(SEL=101)THEN Y=GB; END IF; END PROCESS;END RTL;3.8 籃球計(jì)分器的原理圖(如圖3.10) 圖3.10 籃球計(jì)分器的原理圖第4章 模塊的仿真測(cè)試4.1 分頻器電路的仿真該模塊的功能較簡(jiǎn)單,用于簡(jiǎn)單的分頻,如圖4.1所示分頻器把1KHZ的頻率降為1HZ。 圖4.1 分

34、頻器仿真圖4.2 計(jì)數(shù)譯碼電路的仿真該模塊為計(jì)數(shù)顯示,采用的是6進(jìn)制,如圖4.2所示當(dāng)CLK為上升沿時(shí)Q實(shí)現(xiàn)由0-5循環(huán)計(jì)數(shù),基本實(shí)現(xiàn)了該模塊的功能。圖4.2 計(jì)數(shù)譯碼電路仿真圖4.3 BCD-7段數(shù)碼管顯示譯碼電路的仿真該模塊為數(shù)碼管顯示,如圖4.3所示當(dāng)Y的值與LED的顯示值相對(duì)應(yīng) ,符合數(shù)碼管的顯示規(guī)律,基本實(shí)現(xiàn)了該模塊的功能。圖4.3 BCD-7段數(shù)碼管顯示譯碼電路仿真圖4.4 數(shù)據(jù)計(jì)分顯示電路的仿真該模塊為數(shù)據(jù)計(jì)分,如圖4.4所示,在0-50ms之間K3=1,K2K1為0時(shí)GA1遞增3分,在50-120ms之間,K2=1,K1K3為0時(shí),GA1遞增2分,在120-190ms之間,K1

35、=1,K2K3為0時(shí),GA1遞增1分,符合程序中的設(shè)計(jì),基本實(shí)現(xiàn)了模塊的功能。圖4.4 數(shù)據(jù)計(jì)分顯示電路仿真圖4.5 60秒倒計(jì)時(shí)電路的仿真該模塊為60秒倒計(jì)時(shí),如圖4.5所示,在60ms到120ms之間QD1在5到0之間遞減,QC在9到0遞減,實(shí)現(xiàn)了60秒倒計(jì)時(shí)的功能,基本實(shí)現(xiàn)該模塊的功能。圖4.5 60秒倒計(jì)時(shí)電路仿真圖4.6 12分鐘倒計(jì)時(shí)電路的仿真該模塊為12分鐘倒計(jì)時(shí),如圖4.6所示在80ms到280ms之間QF1在1到0之間遞減,QA在9到0遞減,實(shí)現(xiàn)了12分鐘倒計(jì)時(shí)的功能,基本實(shí)現(xiàn)該模塊的功能。圖4.6 12分鐘倒計(jì)時(shí)電路仿真圖4.7 24秒倒計(jì)時(shí)電路的仿真該模塊為24秒倒計(jì)時(shí),如圖4.7所示,在150ms到600ms之間QB1在2到0之間遞減,QA在9到0遞減,實(shí)現(xiàn)了24秒倒計(jì)時(shí)的功能,基本實(shí)現(xiàn)該模塊的功能。圖4.7 24秒倒計(jì)時(shí)電路仿真圖4.8 12選6的數(shù)據(jù)選擇器電路的仿真該模塊為12選6的數(shù)據(jù)選擇器,如圖4.8所示,在0到160ms之間,當(dāng)SEL=1時(shí)Y1=GA,Y2=SA,Y3=BA,Y4=GB,Y5=SB,Y6=BB。當(dāng)SEL=0,Y1=QA,Y2=QB,Y3=QC,Y4=QD,Y5=QE,Y6=QF時(shí)符合選擇器的程序,基本實(shí)現(xiàn)該模塊的

溫馨提示

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

評(píng)論

0/150

提交評(píng)論