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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

/期刊論文 —EDA課程設計題目:計數(shù)器的VHDL設計和實現(xiàn)學生姓名:李雷學生學號:09專業(yè)班級:計算機科學和技術0902班指導老師:方愷晴

計數(shù)器的VHDL設計和實現(xiàn)摘要:介紹了各種基本計數(shù)器的組成及其工作原理,重點探討了可變模計數(shù)器的設計和實現(xiàn),在對現(xiàn)有的可變模計數(shù)器的探討基礎上,在Quartus開發(fā)環(huán)境中,用VHDL語言設計一種功能更加強大的可變模計數(shù)器,它具有清零、置數(shù)、使能限制、可逆計數(shù)和可變模等功能,并且對傳統(tǒng)的可變模計數(shù)器的計數(shù)失控問題進行探討,最終設計出一種沒有計數(shù)失控缺陷的可變模計數(shù)器,并通過波形仿真和EPF10K20TI144-4系列試驗箱,驗證了其各項設計功能。結果表明該設計正確.功能完整。運行穩(wěn)定。關鍵詞:VHDL;計數(shù)器;可變模計數(shù);可逆計數(shù)VHDLDesignandRealizationofCounterAbstract:Thispaperanalyzesallkindsofbasiccounteranditsworkingprinciple,focusonthecountervariablemodeofdesignandimplementation.IntheenvironmentofQuartusbasedonresearchoftheexistingmodule—alterablecounter,amodule—alterablecounterwithmorefunctions,suchasclear,set,enablecontrol,reversiblecount,module—alterablecountandsoon,whichisdesignedwithVHDL.Byresearchingtheproblemoflosingcontrolexistedintraditionalmodule—alterablecounter.Amodule—alterablecounterwithnofaultdesigned.AndthroughthewaveformsimulationandEPF10K20TI144-4seriesexperimentbox,allofthefunctionsareverified.Theresuitindicatesthatthecounterisdesignedcorrectly,andhasintegralfunctionsandstableoperation.Keywords:VHDL;counter;dividedfrequencyimpIement;reversible引言隨著電子技術、計算機技術和EDA技術的不斷發(fā)展,數(shù)字系統(tǒng)規(guī)模越來越大,傳統(tǒng)的電路設計已難以適應困難電子系統(tǒng)的設計要求。從而使得電子設計自動化(EDA)技術快速發(fā)展,成為硬件電子電路設計領域中的主要設計手段。利用FPGA/CPLD進行數(shù)字系統(tǒng)的開發(fā)已被廣泛應用于通信、航天、醫(yī)療電子、工業(yè)限制等領域。和傳統(tǒng)電路設計方法相比,F(xiàn)PGA/CPLD具有功能強大,開發(fā)周期短,投資少,便于追蹤市場變更剛好修改產品設計,以及開發(fā)工具智能化等特點。近年來,F(xiàn)PGA/CPLD發(fā)展快速,隨著集成電路制造工藝的不斷進步,高性價比的FPGA/CPLD器件推陳出新,使FPGA/CPLD成為當今硬件設計的重要途徑。在FPGA/CPLD的應用設計開發(fā)中,VHDL語言作為一種主流的硬件描述語言,具有很強的電路描述和建模實力,能從多個層次對數(shù)字系統(tǒng)進行建模和描述,從而大大簡化了硬件設計任務,提高了設計效率和牢靠性,并在語言易讀性和層次化、結構化設計方面,表現(xiàn)出了強大的生命力和應用潛力。QuartusⅡ是Ahera公司在21世紀初推出的FPGA/CPLD集成開發(fā)環(huán)境,是Ahera公司前一代FPGA/CPLD集成開發(fā)環(huán)境Max+Plus11的更新?lián)Q代產品,其界面友好,運用便捷,功能強大,為設計者供應了一種和結構無關的設計環(huán)境,使設計者能便利地進行設計輸入、快速處理和器件編程。計數(shù)器是數(shù)字系統(tǒng)中運用最多的時序電路之一,不僅能用于對時鐘脈沖計數(shù),還可以用于分頻、定時、產生節(jié)拍脈沖和脈沖序列以及進行數(shù)字運算等。可變模計數(shù)器由于計數(shù)容量可以依據(jù)須要進行變更,為其廣泛運用創(chuàng)建了便利。這里在Quartus1I開發(fā)環(huán)境下,用VHDL語言設計了一種具有清零、置數(shù)、使能限制、可逆計數(shù)和可變模功能的計數(shù)器。1.基本模10計數(shù)器的設計VHDL設計代碼如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycounter10isport( clk,clrn:instd_logic; cq:outstd_logic_vector(3downto0); cout:outstd_logic);endcounter10;architecturebhvofcounter10issignalcqi:std_logic_vector(3downto0);begin process(clk,cqi) begin ifclrn='0'then cqi<="0000"; elsifclk'eventandclk='1'then ifcqi<9then cqi<=cqi+1; else cqi<="0000"; endif; endif; ifcqi=9then cout<='1'; elsecout<='0'; endif; cq<=cqi; endprocess;2.基本可變模計數(shù)器設計可變模計數(shù)器是指計數(shù)/模值可依據(jù)須要進行變更的計數(shù)器。電路符號如圖1所示,clk為時鐘脈沖輸入端,clr為清零端,m為模值輸入端,q為計數(shù)輸出端?;究勺兡S嫈?shù)器的VHDL代碼如下所示:LIBRARYIEEE;USEieee.Std_logic_l164.AIL;USEieee.Std_logic_unsigned.ALL;USEieee.Std_logic_arith.All;ENTITYmchcounterISPORT(elk,elr:INstd_logic;m:inintegerrange0tO99;q:bufferintegerrange0tO99);ENDmchcounter;ARCHITECTUREone0FmchcounterIS定義計數(shù)最大值m_tempsignalm_temp:integerrange0tO99;BEGINPROCESS(elk,clr,m)BEGINm_temp<=m-1;ifelr=‘1’thenq<=0;一一以時鐘信號的上升沿為計數(shù)觸發(fā)條件elsifclk’eventandclk=‘1’thenifq=m_tempthenq<=0;elseq<=q+1;endif;endif;清零功能加法計數(shù)ENDPROCESS;ENDARCHITECTUREone;說明:上述代碼設計接受了常用的if語句結構,即“if條件句then依次語句elsif條件句then依次語句else依次語句endif”結構,實現(xiàn)模值小于99的可變模計數(shù)。從上述的代碼可以看出,基本的可變模計數(shù)器的功能單一。仿真驗證則表明在進行模值變換時,基本的可變模計數(shù)器存在一些功能上的缺陷:計數(shù)器若是由較小的模值變更為較大的模值時,能正常的進行變模計數(shù);但當其由較大的模值變更為較小的模值,則可能出現(xiàn)計數(shù)失控,如圖2所示,圖中顯示了當模值由12變換為7時,即發(fā)生了計數(shù)失控。失控的緣由是大于當模值由12變換為7時,計數(shù)輸出為q為11,大于當前模值7的計數(shù)最大值6。由此產生了計數(shù)失控。3.改進的多功能可變模計數(shù)器為了克服上述基本可變模計數(shù)器的缺陷,并增加更多的限制功能,在此設計了一種改進的多功能可變模計數(shù)器,具有清零、置數(shù)、使能限制、可逆計數(shù)和可變模功能。其電路符號如圖3所示,elk為時鐘脈沖輸入端,ITI為模值輸入端,clr為清零限制端,8為置數(shù)限制端,d為置數(shù)輸入端,en為使能限制端,updn為計數(shù)方向限制端,q為計數(shù)輸出端,CO為進位輸出端。這里所設計的多功能可變模計數(shù)器的VHDL代碼如下所示:LIBRARYIEEE:USEieee.std_logic_1164.ALL;USEieee.std_logic_unsigned.ALL;USEieee.std_logie_arith.ALL;ENTlTYcounterISPoRT(clk,clr,S,en,updn:instd—logic;d:inintegerrange0to99;m:inintegerrange0to99;co:OUTstd_logic;q:bufferintegerrange0to99);ENDcounter:ARCHITECTUREoneofcounterIS定義計數(shù)最大值m_tempsignalm_temp:integerrange0to99;BEGINPRoCESS(elk,clr,m)BEGINm_temp<=m-1;清零功能ifclr=’1’thenq<=0;co<=0;以時鐘信號的上升沿為計數(shù)觸發(fā)條件elsifelk’eventandclk=’1’then置數(shù)功能ifs=’1’thenq<=d;防止計數(shù)失控elsifq>m_tempthenq<=m_temp;計數(shù)使能限制功能elsifen=’1’thenifupdn=’1’then加法計數(shù)ifq=m_tempthenq<=O;co<=’1’;elseq<=q+1;co<=0;endif;elsifupdn=’0’then減法計數(shù)ifq=Othenq<=m_temp;co<=‘1‘;elseq<=q-1;co<=’0’;endif;endif;endif;endif;ENDPROCESS;ENDARCHITECTUREone;值得留意的是,這里所設計的多功能可變模計數(shù)器具有如下特點:(1)該設計的多功能可變模計數(shù)器具有多個功能限制端。因此各個限制端的優(yōu)先權依次就成為設計的關鍵,經過理論分析和仿真調試,最終確認的優(yōu)先權依次為:clr(清零)一clk(時鐘觸發(fā))一s(置數(shù))一en(使能)updn(計數(shù)方向)。這個優(yōu)先權依次可以有效地保證各個功能的完整實現(xiàn),以及技術器的穩(wěn)定運行。(2)為了防止出現(xiàn)計數(shù)失控,大多數(shù)計數(shù)器接受給計數(shù)器增加一個復位限制端的方法,當發(fā)覺計數(shù)輸出q發(fā)生了計數(shù)失控時,通過復位限制端將計數(shù)器復位來解除計數(shù)失控。這種方法雖然有效,但是每次出現(xiàn)計數(shù)失控都要手動限制復位,給實際運用帶來了不便。該設計的多功能可變模計數(shù)器中,將當前的計數(shù)輸出q和當前的計數(shù)最大值rn—temp進行比較,假如q比m—temp大,則強制將m—temp賦給q,這樣就可以自動避開計數(shù)失控,不必再增加手動的復位限制端。4.仿真結果分析該多功能可變模計數(shù)器在Quartus11開發(fā)環(huán)境下。進行了仿真驗證,功能仿真波形如圖4所示,時序仿真波形如圖5所示。仿真結果分析如下:(1)clk為時鐘信號,由時鐘信號的上升沿觸發(fā)計數(shù);(2)m為模值輸入端,當其變更時,計數(shù)容量相應發(fā)生變更;(3)clr為清零限制端,當其為高電平常清零;(4)s為置數(shù)限制端,當其為高電平常將置數(shù)輸入端d的數(shù)據(jù)加載到輸出端q;(5)en為使能限制端,當其為高電平常正常計數(shù),當其為低電平常暫停計數(shù);(6)updn為計數(shù)方向限制端。當其為高電平常計數(shù)器加法計數(shù),當其為低電平常計數(shù)器減法計數(shù)。5.結語在EDA試驗課程的綜合設計中,我完成的是一個4路搶答計分器的設計,在搶答器的設計中,多次用到了計數(shù)器這一基本數(shù)字電路元件,于是我想到對計數(shù)器做更加深化的探討,針對基本可變模計數(shù)器可能出現(xiàn)計數(shù)失控這一功能缺陷,對可變模計數(shù)器進行了改進。這里所設計的多功能可變模計數(shù)器在Quartus開發(fā)環(huán)境下進行了仿真驗證后,下載到EPF10K20TI144-4型試驗箱中進行了硬件驗證。試驗證明設計正確,功能完整,運行穩(wěn)定。另外,該設計的多功能可變模計數(shù)器可依據(jù)須要將模值的最大值由99進一步擴展,獲得更高的計數(shù)模值。

溫馨提示

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

評論

0/150

提交評論