計數(shù)器的VHDL設(shè)計與實現(xiàn)_第1頁
計數(shù)器的VHDL設(shè)計與實現(xiàn)_第2頁
計數(shù)器的VHDL設(shè)計與實現(xiàn)_第3頁
計數(shù)器的VHDL設(shè)計與實現(xiàn)_第4頁
計數(shù)器的VHDL設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 濱江學(xué)院 期末設(shè)計 EDA課程設(shè)計 題 目: 計數(shù)器的VHDL設(shè)計與實現(xiàn) 專 業(yè): 電子工程系 班 級: 電科1班 姓 名: xxxxxxxxxxx 學(xué) 號: 20112321007 指導(dǎo)老師: 周 欣 計數(shù)器的VHDL設(shè)計與實現(xiàn)摘要:介紹了各種基本計數(shù)器的組成及其工作原理,重點研究了可變模計數(shù)器的設(shè)計與實現(xiàn), 在對現(xiàn)有的可變模計數(shù)器的研究基礎(chǔ)上,在Quartus 開發(fā)環(huán)境中,用VHDL語言設(shè)計一種功能更加強大的可變模計數(shù)器,它具有清零、置數(shù)、使能控制、可逆計數(shù)和可變模等功能,并且對傳統(tǒng)的可變模計數(shù)器的計數(shù)失控問題進行研究,最終設(shè)計出一種沒有計數(shù)失控缺陷的可變模計數(shù)器,并通過波形仿真和EPF

2、10K20TI144-4系列實驗箱,驗證了其各項設(shè)計功能。結(jié)果表明該設(shè)計正確功能完整。運行穩(wěn)定。關(guān)鍵詞:VHDL;計數(shù)器;可變模計數(shù);可逆計數(shù)VHDL Design and Realization of CounterAbstract:This paper analyzes all kinds of basic counter and its working principle, focus on the counter variable mode of design and implementation. In the environment of Quartus based on rese

3、arch of the existing modulealterable counter,a modulealterable counter with more functions,such as clear,set,enable control,reversible count,modulealterable count and so on,which is designedwith VHDLBy researching the problem of losing control existed in traditional modulealterable counter.A modulea

4、lterablecounter with no fault designedAnd through the waveform simulation and EPF10K20TI144-4 series experiment box,all of the functions are verified.The resuit indicates that the counter is designed correctly,and has integral functions and stable operationKeywords:VHDL;counter;divided frequency imp

5、Iement;reversible引 言隨著電子技術(shù)、計算機技術(shù)和EDA技術(shù)的不斷發(fā)展,數(shù)字系統(tǒng)規(guī)模越來越大,傳統(tǒng)的電路設(shè)計已難以適應(yīng)復(fù)雜電子系統(tǒng)的設(shè)計要求。從而使得電子設(shè)計自動化(EDA)技術(shù)迅速發(fā)展,成為硬件電子電路設(shè)計領(lǐng)域中的主要設(shè)計手段。利用FPGACPLD進行數(shù)字系統(tǒng)的開發(fā)已被廣泛應(yīng)用于通信、航天、醫(yī)療電子、工業(yè)控制等領(lǐng)域。與傳統(tǒng)電路設(shè)計方法相比,F(xiàn)PGACPLD具有功能強大,開發(fā)周期短,投資少,便于追蹤市場變化及時修改產(chǎn)品設(shè)計,以及開發(fā)工具智能化等特點。近年來,F(xiàn)PGACPLD發(fā)展迅速,隨著集成電路制造工藝的不斷進步,高性價比的FPGACPLD器件推陳出新,使FPGACPLD成為當

6、今硬件設(shè)計的重要途徑。在FPGACPLD的應(yīng)用設(shè)計開發(fā)中,VHDL語言作為一種主流的硬件描述語言,具有很強的電路描述和建模能力,能從多個層次對數(shù)字系統(tǒng)進行建模和描述,從而大大簡化了硬件設(shè)計任務(wù),提高了設(shè)計效率和可靠性,并在語言易讀性和層次化、結(jié)構(gòu)化設(shè)計方面,表現(xiàn)出了強大的生命力和應(yīng)用潛力。Quartus是Ahera公司在21世紀初推出的FPGACPLD集成開發(fā)環(huán)境,是Ahera公司前一代FPGACPLD集成開發(fā)環(huán)境Max+Plus 11的更新?lián)Q代產(chǎn)品,其界面友好,使用便捷,功能強大,為設(shè)計者提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,使設(shè)計者能方便地進行設(shè)計輸入、快速處理和器件編程。計數(shù)器是數(shù)字系統(tǒng)中使用

7、最多的時序電路之一,不僅能用于對時鐘脈沖計數(shù),還可以用于分頻、定時、產(chǎn)生節(jié)拍脈沖和脈沖序列以及進行數(shù)字運算等??勺兡S嫈?shù)器由于計數(shù)容量可以根據(jù)需要進行變化,為其廣泛使用創(chuàng)造了便利。這里在Quartus 1I開發(fā)環(huán)境下,用VHDL語言設(shè)計了一種具有清零、置數(shù)、使能控制、可逆計數(shù)和可變模功能的計數(shù)器。1基本模10計數(shù)器的設(shè)計VHDL設(shè)計代碼如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter10 isport(clk,clrn:in std_logic;cq:out st

8、d_logic_vector(3 downto 0);cout:out std_logic);end counter10;architecture bhv of counter10 issignal cqi:std_logic_vector(3 downto 0);begin process(clk,cqi)begin if clrn='0' then cqi<="0000"elsif clk'event and clk='1' then if cqi<9 then cqi<=cqi+1;elsecqi<=&q

9、uot;0000"end if;end if;if cqi=9 then cout<='1'else cout<='0'end if;cq<=cqi;end process;2基本可變模計數(shù)器設(shè)計可變模計數(shù)器是指計數(shù)模值可根據(jù)需要進行變化的計數(shù)器。電路符號如圖1所示,clk為時鐘脈沖輸入端,clr為清零端,m為模值輸入端,q為計數(shù)輸出端?;究勺兡S嫈?shù)器的VHDL代碼如下所示:LIBRARY IEEE;USE ieeeStd_logic_l 164AIL;USE ieeeStd_logic_unsignedALL;USE ieeeSt

10、d_logic_arithAll;ENTITY mchcounter ISPORT(elk,elr:IN std_logic;m:in integer range 0 tO 99;q:buffer integer range 0 tO 99);END mchcounter;ARCHITECTURE one 0F mchcounter IS-定義計數(shù)最大值m_tempsignal m_temp:integer range 0 tO 99;BEGINPROCESS(elk,clr,m)BEGINm_temp<=m-1;if elr=1then q<=0;一一以時鐘信號的上升沿為計數(shù)觸發(fā)

11、條件elsif clkevent and clk=1 thenif q=m_temp then q<=0;else q<=q+1;end if;end if;-清零功能-加法計數(shù)END PROCESS;END ARCHITECTURE one;說明:上述代碼設(shè)計采用了常用的if語句結(jié)構(gòu),即“if條件句then順序語句elsif條件句then順序語句else順序語句end if”結(jié)構(gòu),實現(xiàn)模值小于99的可變模計數(shù)。從上述的代碼可以看出,基本的可變模計數(shù)器的功能單一。仿真驗證則表明在進行模值變換時,基本的可變模計數(shù)器存在一些功能上的缺陷:計數(shù)器若是由較小的模值變化為較大的模值時,能正常

12、的進行變模計數(shù);但當其由較大的模值變化為較小的模值,則可能出現(xiàn)計數(shù)失控,如圖2所示,圖中顯示了當模值由12變換為7時,即發(fā)生了計數(shù)失控。失控的原因是大于當模值由12變換為7時,計數(shù)輸出為q為11,大于當前模值7的計數(shù)最大值6。由此產(chǎn)生了計數(shù)失控。3.改進的多功能可變模計數(shù)器為了克服上述基本可變模計數(shù)器的缺陷,并增加更多的控制功能,在此設(shè)計了一種改進的多功能可變模計數(shù)器,具有清零、置數(shù)、使能控制、可逆計數(shù)和可變模功能。其電路符號如圖3所示,elk為時鐘脈沖輸入端, ITI為模值輸入端,clr為清零控制端,8為置數(shù)控制端, d為置數(shù)輸入端,en為使能控制端,updn為計數(shù)方向控制端,q為計數(shù)輸出端

13、,CO為進位輸出端。這里所設(shè)計的多功能可變模計數(shù)器的VHDL代碼如下所示:LIBRARY IEEE:USE ieeestd_logic_1164ALL;USE ieeestd_logic_unsignedALL;USE ieeestd_logie_arithALL;ENTlTY counter ISPoRT(clk,clr,S,en,updn:in stdlogic;d:in integer range 0 to 99;m:in integer range 0 to 99;co:OUT std_logic;q:buffer integer range 0 to 99);END counter:

14、ARCHITECTURE one of counter IS-定義計數(shù)最大值m_tempsignal m_temp:integer range 0 to 99;BEGINPRoCESS(elk,clr,m)BEGINm_temp<=m-1;-清零功能if clr=1 then q<=0;co<=0;-以時鐘信號的上升沿為計數(shù)觸發(fā)條件elsif elkevent and clk=1then-置數(shù)功能if s=1 then q<=d;-防止計數(shù)失控elsif q>m_temp then q<=m_temp;-計數(shù)使能控制功能elsif en=1thenif up

15、dn=1then -加法計數(shù)if q=m_temp then q<=O;co<=1;else q<=q+1;co<=0 ;end if;elsif updn=0then-減法計數(shù)if q=O then q<=m_temp;co<=1 ;else q<=q-1;co<=0;end if;end if;end if;end if;END PROCESS;END ARCH ITECTURE one;值得注意的是,這里所設(shè)計的多功能可變模計數(shù)器具有如下特點:(1)該設(shè)計的多功能可變模計數(shù)器具有多個功能控制端。因此各個控制端的優(yōu)先權(quán)順序就成為設(shè)計的關(guān)鍵,經(jīng)

16、過理論分析和仿真調(diào)試,最終確認的優(yōu)先權(quán)順序為:clr(清零)一clk(時鐘觸發(fā))一s(置數(shù))一en(使能)-updn(計數(shù)方向)。這個優(yōu)先權(quán)順序可以有效地保證各個功能的完整實現(xiàn),以及技術(shù)器的穩(wěn)定運行。(2)為了防止出現(xiàn)計數(shù)失控,大多數(shù)計數(shù)器采用給計數(shù)器增加一個復(fù)位控制端的辦法,當發(fā)現(xiàn)計數(shù)輸出q發(fā)生了計數(shù)失控時,通過復(fù)位控制端將計數(shù)器復(fù)位來排除計數(shù)失控。這種方法雖然有效,但是每次出現(xiàn)計數(shù)失控都要手動控制復(fù)位,給實際使用帶來了不便。該設(shè)計的多功能可變模計數(shù)器中,將當前的計數(shù)輸出q與當前的計數(shù)最大值rntemp進行比較,如果q比mtemp大,則強制將mtemp賦給q,這樣就可以自動避免計數(shù)失控,不必

17、再增加手動的復(fù)位控制端。4.仿真結(jié)果分析該多功能可變模計數(shù)器在Quartus 11開發(fā)環(huán)境下。進行了仿真驗證,功能仿真波形如圖4所示,時序仿真波形如圖5所示。仿真結(jié)果分析如下:(1)clk為時鐘信號,由時鐘信號的上升沿觸發(fā)計數(shù);(2)m為模值輸入端,當其變化時,計數(shù)容量相應(yīng)發(fā)生變化;(3)clr為清零控制端,當其為高電平時清零;(4)s為置數(shù)控制端,當其為高電平時將置數(shù)輸入端d的數(shù)據(jù)加載到輸出端q;(5)en為使能控制端,當其為高電平時正常計數(shù),當其為低電平時暫停計數(shù);(6)updn為計數(shù)方向控制端。當其為高電平時計數(shù)器加法計數(shù),當其為低電平時計數(shù)器減法計數(shù)。5.結(jié)語在EDA實驗課程的綜合設(shè)計中,我完成的是一個4路搶答計分器的設(shè)計,在搶答器的設(shè)計中,多次用到了計數(shù)器這一基本數(shù)字電路元件,于是我想到對計數(shù)器做更加深入的研究,針對基本可變模計數(shù)器可能出現(xiàn)計數(shù)失控這一功能缺陷,對可變模計數(shù)器進行了改進。這里所設(shè)計的多功能可變模計數(shù)器在Quartus開發(fā)環(huán)境下進行了仿真驗證后,下載到EPF10K20TI144-4型實驗箱中進行了硬件驗證。實驗證明設(shè)計正確,功能完整,運行穩(wěn)定。另外,該設(shè)計的

溫馨提示

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

評論

0/150

提交評論