




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘要本文介紹了一種自頂向下分層設計多功能數(shù)字頻率計的設計方法。該頻率計采用VHDL硬件描述語言編程以MAX+PLUS為開發(fā)環(huán)境,極大地減少了硬件資源的占用。數(shù)字頻率計模塊劃分的設計具有相對獨立性,可以對模塊單獨進行設計、調試和修改,縮短了設計周期。該數(shù)字頻率計的測量范圍為l0Hz10MHz,響應時間小于等于15秒;其測試結果由4只七段數(shù)碼管穩(wěn)定顯示,測量誤差小于等于1 。仿真波形與分析結果表明,所設計的電路通過硬件仿真能夠滿足數(shù)字頻率計的功能要求,具有理論與實踐意義,實現(xiàn)了電子電路自動化的過程。數(shù)字頻率計模塊劃分的設計具有相對獨立性,可以對模塊單獨進行設計、調試和修改,縮短了設計周期。關鍵詞:
2、VHDL 數(shù)字頻率計 EDA MAX+PLUS第一章 概述第一節(jié) 課題研究背景數(shù)字頻率計是電子測量與儀表技術最基礎的電子儀表類別之一, 數(shù)字頻率計是計算機、通訊設備、音頻視頻等科研生產(chǎn)領域不可缺少的測量儀器,而且它是數(shù)字電壓必不可少的部件。當今數(shù)字頻率計不僅是作為電壓表、計算機、天線電廣播通訊設備、工藝過程自動化裝置。多種儀表儀器與家庭電器等許多電子產(chǎn)品中的數(shù)據(jù)信息輸出顯示器反映到人們眼簾。集成數(shù)字頻率計由于所用元件少、投資少,體積小,功耗低,且可靠性高,功能強,易于設計和研發(fā),使得它具有技術上的實用性和應用的廣泛性。不論從我們用的彩色電視機、電冰箱,DVD,還有我們現(xiàn)在家庭常用到的數(shù)字電壓表
3、數(shù)字萬用表等等都包含有頻率計?,F(xiàn)在頻率計已是向數(shù)字智能方向發(fā)展,即可以很精確的讀數(shù)也精巧易于控制。數(shù)字頻率計已是現(xiàn)在頻率計發(fā)展的方向,它不僅可以很方便的讀數(shù),而且還可以使頻率的測量范圍和測量準確度上都比模擬先進.而且頻率計的使用已是很多的方面,數(shù)字衛(wèi)星、數(shù)字通訊等高科技的領域都有應用,今天數(shù)字頻率計的發(fā)展已經(jīng)不僅僅是一個小電子產(chǎn)品的發(fā)展也是整個民族乃至整個國家的發(fā)展,所以頻率計的發(fā)展是一個整體的趨勢。而從民族產(chǎn)業(yè)上來說,我們在這種產(chǎn)業(yè)中還落后于西方發(fā)達國家,這將會關系到民族產(chǎn)業(yè)的興衰。所以我們必須很重視當前的情況,學習發(fā)達國家的先進技術以發(fā)展本國的產(chǎn)業(yè)。第二節(jié) 設計概述所謂頻率,就是周期信號在
4、單位時間(1s)里變化的次數(shù)。本數(shù)字頻率計的設計思路是:(一) 根據(jù)頻率計的測頻原理,可以選擇合適的時基信號對輸入被測信號脈沖進行計數(shù),實現(xiàn)測頻的目的。(二) 根據(jù)數(shù)字頻率計的基本原理,本文設計方案的基本思想是分為三個模塊來實現(xiàn)其功能,即時基產(chǎn)生與測頻時序控制電路模塊、待測信號脈沖計數(shù)電路模塊和鎖存與譯碼顯示控制電路模塊,并且分別用VHDL對其進行編程,實現(xiàn)計數(shù)電路、鎖存電路、顯示電路等。第三節(jié) 設計原理眾所周知,頻率信號易于傳輸,抗干擾性強,可以獲得較好的測量精度。因此,頻率檢測是電子測量領域最基本的測量之一。頻率計的基本原理是用一個頻率穩(wěn)定度高的頻率源作為基準時鐘,對比測量其他信號的頻率。
5、通常情況下計算每秒內待測信號的脈沖個數(shù),即閘門時間為1s。閘門時間越長,得到的頻率值就越準確,但閘門時間越長,則每測一次頻率的間隔就越長。閘門時間越短,測得的頻率值刷新就越快,但測得的頻率精度就受影響。一般取1s作為閘門時間。數(shù)字頻率計的關鍵組成部分包括測頻控制信號發(fā)生器、計數(shù)器、鎖存器、譯碼驅動電路和顯示電路,其原理框圖如圖1. 1所示。計數(shù)器鎖存器譯碼驅動電路數(shù)碼管顯示測頻控制信號發(fā)生器圖1.1 原理框圖待測信號第二章 VHDL程序語言和FPGA簡介一 VHDL程序語言介紹:VHDL語言描述能力強,覆蓋面廣,抽象能力強,可讀性好,既能被人容易讀懂又能被計算機識別。VHDL語言中設計實體,程
6、序包,涉及庫,為設計人員重復利用別人的設計提供了技術手段。當電路系統(tǒng)采用VHDL語言設計其硬件時,與傳統(tǒng)的電路設計方法相比較,具有如下的特點:一 采用自上而下的設計方法。即從系統(tǒng)總體要求出發(fā),自上而下地逐步將設計的內容細化,最后完成系統(tǒng)硬件的整體設計。在設計的過程中,對系統(tǒng)自上而下分成三個層次進行設計:第一層次是行為描述。第二層次是RTL方式描述。第三層次是邏輯綜合。二.系統(tǒng)可大量采用PLD芯片。利用VHDL語言設計數(shù)字系統(tǒng)時,可以根據(jù)硬件電路的設計需要,自行利用PLD設計自用的ASIC芯片,而無須受通用元器件的限制。三.采用系統(tǒng)早期仿真。在系統(tǒng)設計過程中要進行三級仿真。這三級仿真貫穿系統(tǒng)設計
7、的全過程,從而可以在系統(tǒng)設計的早期發(fā)現(xiàn)設計中存在的問題,大大縮短系統(tǒng)設計的周期。四.降低了硬件電路設計難度。在傳統(tǒng)的設計方法中,往往要求設計者在設計電路之前寫出該電路的邏輯表達式或真值表(或時序電路的狀態(tài)表)。而利用VHDL語言設計硬件電路時,就可以使設計者免除編寫邏輯表達式或真值表之苦,從而大大縮短了設計的周期。五.主要設計文件是用VHDL語言編寫的源程序。與傳統(tǒng)的電路原理圖相比,使用VHDL源程序有許多好處:其一是資料量小,便于保存。其二是可繼承性好。其三是閱讀方便。二 FPGA 簡介FPGA是英文Field Programmable Gate Array的縮寫,即現(xiàn)場可編程門陣列,它是在
8、PAL、GAL、EPLD等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個新概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分。FPGA的基本特點主要有:1)采用FPGA設計ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。2)FPGA可做其它全定制或半定制A
9、SIC電路的中試樣片。3)FPGA內部有豐富的觸發(fā)器和IO引腳。4)FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一。5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。三 VHDL 在FPGA中的運用近30年來,由于微電子學和計算機科學的迅速發(fā)展,給EDA(電子設計自動化)行業(yè)帶來了巨大的變化??梢哉fEDA產(chǎn)業(yè)已經(jīng)成為電子信息類產(chǎn)品的支柱產(chǎn)業(yè)。就FPGA和CPLD開發(fā)而言,比較流行的HDL主要有Verilog HDL、VHDL、ABEL-HDL和 AHDL 等,其中VHDL和Verilog HDL因適合標準化的發(fā)展方向而最終成為IEEE標準。隨著
10、電子技術的高速發(fā)展,CPLD的出現(xiàn)以其高速、高可靠性、串并行工作方式等突出優(yōu)點在電子設計中廣泛應用,并代表著未來EDA設計的方向。CPLD的設計采用了高級語言(如VHDL語言),進一步打破了軟硬件之間的界限,加速了產(chǎn)品的開發(fā)過程。采用先進的CPLD(復雜可編程邏輯器件)取代傳統(tǒng)的標準集成電路、接口電路也是電子技術發(fā)展的必然趨勢。EDA(電子設計自動化) 代表了當今電子設計技術的最新發(fā)展方向,它的基本特征是:設計人員按照“自頂向下”的設計方法,對整個系統(tǒng)進行方案設計和功能劃分,系統(tǒng)的關鍵電路用一片或幾片專用集成電路(ASIC) 實現(xiàn),然后采用硬件描述語言(HDL) 完成系統(tǒng)行為級設計,最后通過綜
11、合器和適配器生成最終目標器件。 采用VDHL 編程設計實現(xiàn)的數(shù)字頻率計, 除被測信號的整形部分、鍵輸入部分和數(shù)碼顯示部分以外, 其余全部在一片F(xiàn)PGA 芯片上實現(xiàn), 整個設計過程變得十分透明、快捷和方便。四 軟件組成MAX+PLUS軟件采用模塊化結構,包括設計輸入、項目處理、項目校驗和器件編程4個部分,所有這些部分都集成在一個可視化的操作環(huán)境下。(一) 設計輸入MAX+PLUS的設計輸入方法有多種,主要包括文本設計輸入、原理圖輸入、波形設計輸入等多種方式。另外,還可以利用第三方EDA工具生成的網(wǎng)表文件輸入(二) 項目處理設計處理的任務就是對項目進行編譯(Compile),編譯實際就是將設計者編
12、寫的設計改為可以用于生產(chǎn)的“語言”。編譯器通過讀入設計文件并產(chǎn)生用于編程、仿真和定時分析的輸出文件來完成編譯工作。MAX+PLUS提供的編譯軟件,只需簡單的操作。(三) 項目校驗MAX+PLUS提供的設計校驗過程包括仿真和定時分析,項目編譯后,為確保設計無誤,要再用專用軟件進行仿真。如果發(fā)現(xiàn)了錯誤,則應對設計輸入進行部分修改直至無誤。(四) 器件編程MAX+PLUS通過編程器(Device Programmer)將編譯器生成的編程文件編程或配置到Altera CPLD器件中,然后加入實際激勵信號進行測試,檢查是否達到了設計要求?在設計過程中,如果出現(xiàn)錯誤,則需要重新回到設計輸入階段,改正錯誤或
13、調整電路后重復上述過程。五 設計流程使用MAX+PLUS進行可編程邏輯器件開發(fā)主要包括4個階段:設計輸入、編譯處理、驗證(包括功能仿真、時序仿真、和定時分析)和器件編程,流程如圖設計要求設計輸入編譯處理驗證器件編程器件測試系統(tǒng)產(chǎn)品設計修改圖2.1 設計流程圖第三章 系統(tǒng)分析第一節(jié) 數(shù)字頻率計的設計任務及要求設計一個四位十進制的數(shù)字頻率計,要求具有以下功能:(一) 測量范圍:1Hz10kHz。(二) 測量誤差1%。(三) 響應時間15s。(四) 顯示時間不少于1s。(五) 具有記憶顯示的功能,即在測量的過程中不刷新數(shù)據(jù),等數(shù)據(jù)過程結束后才顯示測量結果,給出待測信號的頻率值,并保存到下一次測量結束
14、。等精度測量法等精度測量法的機理是在標準頻率比較測量法的基礎上改變計數(shù)器的計數(shù)開始和結束與閘門門限的上升沿和下降沿的嚴格關系。當閘門門限的上升沿到來時,如果待測量信號的上升沿未到時兩組計數(shù)器也不計數(shù),只有在待測量信號的上升沿到來時,兩組計數(shù)器才開始計數(shù);當閘門門限的下降沿到來時,如果待測量信號的一個周期未結束時兩組計數(shù)器也不停止計數(shù),只有在待測量信號的一個周期結束時兩組計數(shù)器才停止計數(shù)。這樣就克服了待測量信號的脈沖周期不完整的問題,其誤差只由標準頻率信號產(chǎn)生,與待測量信號的頻率無關。最大誤差為正負一個標準頻率周期,即t=±1/f0。由于一般標準信號頻率都在幾十兆赫茲以上,因此誤差小于
15、 10-6HZ。考慮到精度問題這次我們選擇了等精度方法,具體實現(xiàn)邏輯框圖如圖一圖一首先按鍵發(fā)出一個清零信號CLR,使2個32 bit的計數(shù)器和D觸發(fā)器置0,然后按鍵再發(fā)出允許測頻命令,即使預置門控信號GATE為高電平,這時D觸發(fā)器要一直等到被測信號的上升沿通過時,Q端才被置1,即使計數(shù)器1和計數(shù)器2的EN同時為1,將啟動計算器計數(shù),系統(tǒng)進入計算允許周期。這時,計數(shù)器1和2分別對被測信號和標準頻率信號同時計數(shù)。當Tc秒過后,預置門控信號被D觸發(fā)器置為低電平,但此時2個32 bit的計數(shù)器仍然沒有停止計數(shù),一直等到隨后而至的被測信號的上升沿到來時,才通過D觸發(fā)器將這2個計算器同時關閉。由圖所示的測
16、頻時序圖可見,GATE的寬度和發(fā)生的時間都不會影響計數(shù)使能信號允許計數(shù)的周期總是恰好等于待測信號XCLK的完整周期,這正是確保XCLK在任何頻率條件下都能保持恒定測量精度的關鍵。因為,此時GATE的寬度Tc改變以及隨機的出現(xiàn)時間造成的誤差最多只有基準時鐘BCLK信號的一個時鐘周期。第二節(jié) 模塊的劃分根據(jù)系統(tǒng)設計要求,系統(tǒng)設計采用自頂向下的設計方法,系統(tǒng)的組成框圖如圖3. 1所示,包括時基產(chǎn)生與測頻時序控制電路模塊,以及待測信號脈沖計數(shù)電路模塊和鎖存與譯碼顯示控制電路模塊。時基產(chǎn)生與測頻時序控制電路待測信號脈沖計數(shù)電路鎖存與譯碼顯示電路ENCLRLOCKq0:15z10:6z20:6z30:6z
17、40:6待測信號F_IN標準時鐘CLK圖3.1 數(shù)字頻率計的組成框圖(一) 時基產(chǎn)生與測頻時序控制電路模塊時基產(chǎn)生與測頻時序控制電路的主要產(chǎn)生計數(shù)允許信號EN、清零信號CCLR和鎖存信號LOCK。(二) 待測信號脈沖計數(shù)電路模塊待測信號脈沖計數(shù)電路是對待測脈沖信號的頻率進行測量,它可由4個十進制加法計數(shù)器組成,其中EN為計數(shù)選通控制信號,CLR為計數(shù)器清零信號。在計數(shù)器清零信號CLR清零后,當計數(shù)選通控制信號EN有效時,開始對待測信號進行計數(shù)。如果計數(shù)選通控制信號EN的寬度為1s,那么計數(shù)結果就為待測信號的頻率;如果計數(shù)選通信號EN的寬度為100ms,那么待測信號的頻率等于計數(shù)結果10。(三)
18、 鎖存與譯碼顯示控制電路模塊鎖存與譯碼顯示控制電路用于實現(xiàn)記憶顯示,在測量過程中不刷新新的數(shù)據(jù),直到測量過程結束后,鎖存顯示測量結果,并且保存到下一次測量結束。鎖存與譯碼顯示電路的功能是對四位BCD碼進行鎖存,并轉換為對應的4組七段碼,用于驅動數(shù)碼管。四Bin轉BCD碼模塊由于要求數(shù)碼管10進制輸出,因此需要一個二進制轉bcd碼的模塊。操作是這樣的:用兩個寄存器,一個32bit,一個40bit,分別存bin碼和有待實現(xiàn)的bcd碼。接下來,逐位將BIN的最高位移入BCD的最低位。同時,將BCD的40位寄存器按每四位劃成一塊,我們稱之為個十百千好了。但記住,個,十,百,千等都有4個bit位。1.將
19、bin31(bin是bin31:0)移入bcd0。這樣,bin31就變成了原來的bin30,bin0=0。2.分別檢查個十百千里存的數(shù)是不是大于等于5(按二進制換十進制那樣換算),如果是,加3。3.重做1,2直到全部移進去。第三節(jié) 設計分析一 測頻模塊邏輯結構利用VHDL程序設計的測頻模塊邏輯結構如圖所示,其中有關的接口信號規(guī)定如下:TP(P2.7):TF=0 時等精度測頻;TF=1 時測脈寬;CLR/TRIG(P2.6):當TF=0 時系統(tǒng)全清零功能;當TF=1 時CLRTRIG 的上跳沿將啟動CNT2 ,進行脈寬測試計數(shù);ENDD (P2.4):脈寬計數(shù)結束狀態(tài)信號,ENDD=1計數(shù)結束;
20、CHOICE(P3.2):自校/測頻選擇,CHOICE=1 測頻;CHOICE=0自校;START(P2.5):當TF=0 時,作為預置門閘,門寬可通過鍵盤由單片機控制,START=1時預置門開;當TF=1時,START有第二功能,此時,當START=0時測負脈寬,當START=1時測正脈寬。利用此功能可分別獲得脈寬和占空比數(shù)據(jù)。EEDN(P2.3):等精度測頻計數(shù)結束狀態(tài)信號,EEND=0時計數(shù)結束。SELP2.2(P2.2,P2.1,P2.0):計數(shù)值讀出選通控制;當SEL2.0=“000”,“001”,“010”.“111”時,將CNT1,CNT2的計數(shù)值分8次,每次讀出8位,并傳達到單
21、片機的P0口。圖4.1 測頻模塊邏輯圖二 各模塊功能和工作步驟如下:(一) 測頻/測周期的實現(xiàn)被測信號脈沖從CONTRL模塊的FIN端輸入,標準頻率信號從CONTRL 的FSD端輸入,CONTRL的CLR是此模塊電路的工作初始化信號輸入端。在進行頻率或周期測量時,其工作步驟如下:令TF=0,選擇等精度測頻,然后再CONTRL的CLR端加一正脈沖信號以完成測試電路狀態(tài)的初始化。由預置門控信號將CONTRL的START端置高電平,預置門開始定時,此時由被測信號的上沿打開計數(shù)器CNT1進行計數(shù),同時使標準頻率信號進入計數(shù)器CNT2。預置門定時結束信號把CONTRL的START端置為低電平(由單片機來
22、完成),在被測信號的下一次脈沖的上沿到來時,CNT1停止計數(shù),同時關斷CNT2對FS的計數(shù)。計數(shù)結束后,CONTRL的EEND端將輸出低電平來指示測量計數(shù)結束,單片機得到此信號后,即可利用ADRC(P2.2),ADRB(P2.1),ADRA(P2.0)分別讀回CNT1 和CNT2的計數(shù)值,并根據(jù)精度測量公式進行運算,計算出被測信號的頻率或周期值。(二) 控制部件設計如圖所示,當D觸發(fā)器的輸入端START為高電平時,若FIN端來一個上升沿,則Q端變?yōu)楦唠娖?,導通FIN-CLK1和FSD-CLK2,同時EEND被置為高電平作為標志;當D觸發(fā)器的輸入端START為低電平時,若FIN端輸入一個脈沖上沿
23、,則FIN-CLK1與FSD-CLK2的信號通道被切斷。圖4.2 測頻與測周期控制部分電路計數(shù)部件設計 圖中的計數(shù)器CNT1/CNT2是32位二進制計數(shù)器,通過DSEL模塊的控制,單片機可分4次將其32位數(shù)據(jù)全部讀數(shù)。(三) 脈沖寬度測量和占空比測量模塊設計 根據(jù)上述脈寬測量原理,設計如圖(CONTRL)所示的電路原理示意圖。該信號的上沿和下沿信號對應于未經(jīng)處理時的被測信號50%幅度時的上沿和下沿.被測信號從FIN端輸入,CLR為初始化信號<START為工作使能信號.CONTRL2模塊的PUL端與GATE的輸入端PUL連接.圖4.3 脈沖寬度測量原理圖測量脈沖寬度的工作步驟如下: 向CO
24、NTRL的CLR端送一個脈沖以便進行電路的工作狀態(tài)初始化. 將GATE的CNL端置高電平,表示開始脈沖寬度測量,這時CNT2的輸入信號為FSD. 在被測脈沖的上沿到來時,CONTRL2的PUL端輸出高電平,標準頻率信號進入計數(shù)器CNT2. 在被測脈沖的下沿到來時,CONTRL2的PUL端輸出低電平,計數(shù)器CNT2被關斷. 由單片機讀出計數(shù)器CNT2的結果,并通過上述測量原理公式計算出脈沖寬度.(四) 電路顯示模塊系統(tǒng)硬件電路中,單片機MCU與FPGA進行數(shù)據(jù)交換占用了P0口、P1口和P3口,因此數(shù)據(jù)顯示電路的設計采用靜態(tài)顯示的方式,顯示電路由8個共陽極七段數(shù)碼管和8片1位串入8位并出的74LS
25、164芯片組成。圖4.4 顯示電路圖這種顯示方式不僅占用單片機端口少,而且充分利用了單片機的資源,容易掌握其編碼規(guī)律,簡化了軟件編程,在實驗過程中,也體現(xiàn)出較高的可靠性。數(shù)據(jù)顯示電路如圖4.4所示。第四章 各功能模塊基于VHDL的設計第一節(jié) 時基產(chǎn)生與測頻時序控制電路模塊的VHDL源程序程序ctrl.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CTRL IS PORT(CLK: IN STD_LOGIC; -系統(tǒng)時鐘 LOCK: OUT STD_LOGIC; -鎖存信號 E
26、N: OUT STD_LOGIC; -計數(shù)允許信號 CLR: OUT STD_LOGIC); -清零信號END;ARCHITECTURE ART OF CTRL IS SIGNAL Q: STD_LOGIC_VECTOR(3 DOWNTO 0); -定義變量BEGINPROCESS(CLK)BEGINIF(CLK'EVENT AND CLK='1')THEN -檢測時鐘上升沿IF Q="1111"THENQ<="0000" -計數(shù)大于15,清零ELSEQ<=Q+'1' -允許計數(shù)END IF;END I
27、F;EN<=NOT Q(3);LOCK<=Q(3) AND NOT(Q(2) AND Q(1);CLR<=Q(3) AND Q(2) AND NOT(Q(1);END PROCESS;END ART;程序主要講述了由時鐘信號產(chǎn)生計數(shù)允許信號、清零信號和鎖存信號,而且限定了響應時間為不超過15s。第二節(jié) 待測信號脈沖計數(shù)電路模塊的VHDL源程序一 十進制加法計數(shù)器的VHDL源程序程序cb10.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CB10 ISPORT
28、(CLK,EN,CLR: IN STD_LOGIC; COUNT10: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); -計數(shù)輸信號END CB10;ARCHITECTURE ART OF CB10 IS -結構體BEGIN PROCESS(CLK,CLR,EN)BEGINIF CLR='1' THENCOUNT10<="0000" -計數(shù)器清零ELSIF RISING_EDGE(CLK) THEN -檢測時鐘上升沿IF(EN='1') THEN -檢測是否允許計數(shù)IF COUNT10="1001&q
29、uot; THENCOUNT10<="0000" -計數(shù)值滿9清零ELSECOUNT10<=COUNT10+'1' -允許計數(shù)END IF;END IF;END IF;END PROCESS;END ART;程序主要講述了十進制加法計數(shù)器的使用,在符合了一定的標準以后十進制的使用,在計數(shù)器滿9后清零。二 待測信號脈沖計數(shù)器的VHDL源程序程序count.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNT IS PORT(C
30、LK: IN STD_LOGIC; -待測時鐘信號 EN: IN STD_LOGIC; -計數(shù)選通控制信號 CLR: IN STD_LOGIC; -計數(shù)器清零信號 QA,QB,QC,QD:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); -結果輸出信號END;ARCHITECTURE ART OF COUNT ISCOMPONENT CB10 -元件CB10引用說明語句PORT(CLK,EN,CLR: IN STD_LOGIC;COUNT10: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); -計數(shù)輸出信號END COMPONENT;SIGNA
31、L CLK2: STD_LOGIC;SIGNAL CLK3: STD_LOGIC;SIGNAL CLK4: STD_LOGIC;BEGINCLK2<=NOT QA(3);CLK3<=NOT QB(3);CLK4<=NOT QC(3);U1:CB10 PORT MAP(CLK,EN,CLR,QA); -元件引用例示U2:CB10 PORT MAP(CLK2,EN,CLR,QB); -元件引用例示U3:CB10 PORT MAP(CLK3,EN,CLR,QC); -元件引用例示U4:CB10 PORT MAP(CLK4,EN,CLR,QD); -元件引用例示END ART;第三節(jié)
32、 鎖存與譯碼顯示控制電路模塊的VHDL源程序一 譯碼顯示電路的VHDL源程序程序bcd7.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY BCD7 IS PORT(BCD: IN STD_LOGIC_VECTOR(3 DOWNTO 0); -BCD輸入信號 LED: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -七段譯碼輸出信號END;ARCHITECTURE ART OF BCD7 ISBEGINLED<="0111111" WHEN BCD="0000" ELSE -
33、對照七段字形顯示譯碼器真值表 "0000110" WHEN BCD="0001" ELSE "1011011" WHEN BCD="0010" ELSE "1001111" WHEN BCD="0011" ELSE "1100110" WHEN BCD="0100" ELSE "1101101" WHEN BCD="0101" ELSE "1111101" WHEN BCD=&
34、quot;0110" ELSE "0000111" WHEN BCD="0111" ELSE "1111111" WHEN BCD="1000" ELSE "1101111" WHEN BCD="1001" ELSE "0000000"END ART;程序主要講述了七段譯碼器的顯示問題,對應的給出了信號輸入過程中七段譯碼器的各種顯示。二 鎖存與譯碼顯示控制模塊的VHDL源程序程序lock.vhdLIBRARY IEEE;USE IEEE.STD_
35、LOGIC_1164.ALL;ENTITY LOCK ISPORT(LOCK: IN STD_LOGIC; QA,QB,QC,QD: IN STD_LOGIC_VECTOR(3 DOWNTO 0);LEDA,LEDB,LEDC,LEDD: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);-頻率計數(shù)輸出END;ARCHITECTURE ART OF LOCK ISSIGNAL QAL,QBL,QCL,QDL: STD_LOGIC_VECTOR(3 DOWNTO 0);COMPONENT BCD7 -元件BCD7引用說明語句PORT(BCD: IN STD_LOGIC_VECTO
36、R(3 DOWNTO 0);LED: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END COMPONENT;BEGIN PROCESS(LOCK)BEGINIF(LOCK'EVENT AND LOCK='1')THEN -檢測時鐘上升沿QAL<=QA;QBL<=QB;QCL<=QC;QDL<=QD;END IF;END PROCESS;U0: BCD7 PORT MAP(QAL,LEDA); -元件引用例示U1: BCD7 PORT MAP(QBL,LEDB); -元件引用例示U2: BCD7 PORT MAP(QCL,L
37、EDC); -元件引用例示U3: BCD7 PORT MAP(QDL,LEDD); -元件引用例示END ART;程序主要講述了調用七段譯碼器的顯示,將輸入的信號經(jīng)過譯碼之后在七段譯碼器上進行顯示。第四節(jié) 頂層電路的VHDL源程序程序pinlvji.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY PINLVJI ISPORT(F_IN,CLK: IN STD_LOGIC;ENT,LOCKT,CLRT: BUFFER STD_LOGIC;Z1,Z2,Z3,Z4: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END PIN
38、LVJI;ARCHITECTURE ART OF PINLVJI ISSIGNAL ENS,LOCKS,CLRS: STD_LOGIC;SIGNAL QAS,QBS,QCS,QDS: STD_LOGIC_VECTOR(3 DOWNTO 0);COMPONENT CTRL -元件CTRL引用說明語句PORT(CLK: IN STD_LOGIC;EN,LOCK,CLR: OUT STD_LOGIC);END COMPONENT;COMPONENT COUNT -元件COUNT引用說明語句PORT(CLK,EN,CLR: IN STD_LOGIC;QA,QB,QC,QD: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;COMPONENT LOCK -元件LOCK引用說明語句PORT(LOCK: IN STD_LOGIC; QA,QB,QC,QD: IN STD_LOGIC_VECTOR(3 DOWNTO 0);LEDA,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣告設計師考試知識點及答案分享
- 助理廣告師職業(yè)角色與價值分析試題及答案
- 福祉經(jīng)濟學試題及答案
- 下定義的試題及答案
- 手繪與電腦設計在紡織品中的對比試題及答案
- 提升高等職業(yè)學校辦學能力的創(chuàng)新策略與實踐路徑
- 《集料探究》課件
- 河北司法單招試題及答案
- 2024年紡織工程師證書考試計劃制定試題及答案
- 紡織品檢驗員證書考試的在線備考工具 試題及答案
- 鼻部疾病 慢性鼻竇炎的診療
- 2013-2022全國高考真題物理匯編:練習使用多用電表
- GB/T 3197-2001焊條用鋁及鋁合金線材
- 《綠色建筑概論》整套教學課件
- 自動控制原理-復習題及答案
- SAP固定資產(chǎn)各種折舊方法配置及操作手冊
- 產(chǎn)業(yè)發(fā)展理論-第七章-產(chǎn)業(yè)政策課件
- 奧數(shù)舉一反三簡單推理
- 高中英語教師研修-羅馬建筑文化課件
- 幼兒園教學課件小班社會《孤獨的小熊》課件
- 客訴客退經(jīng)濟處罰準則及要求
評論
0/150
提交評論