基于VHDL的多功能可變模計數器設計

發(fā)布時(shí)間:2010-8-12 18:18    發(fā)布者:lavida
關(guān)鍵詞: VHDL
0 引 言  

隨著(zhù)電子技術(shù)、計算機技術(shù)和EDA技術(shù)的不斷發(fā)展,利用FPGACPLD進(jìn)行數字系統的開(kāi)發(fā)已被廣泛應用于通信、航天、醫療電子、工業(yè)控制等領(lǐng)域。與傳統電路設計方法相比,FPGA/CPLD具有功能強大,開(kāi)發(fā)周期短,投資少,便于追蹤市場(chǎng)變化及時(shí)修改產(chǎn)品設計,以及開(kāi)發(fā)工具智能化等特點(diǎn)。近年來(lái),FPGA/CPLD發(fā)展迅速,隨著(zhù)集成電路制造工藝的不斷進(jìn)步,高性?xún)r(jià)比的FPGA/CPLD器件推陳出新,使FPGA/CPLD成為當今硬件設計的重要途徑。在FPGA/CPLD的應用設計開(kāi)發(fā)中,VHDL語(yǔ)言作為一種主流的硬件描述語(yǔ)言,具有很強的電路描述和建模能力,能從多個(gè)層次對數字系統進(jìn)行建模和描述,從而大大簡(jiǎn)化了硬件設計任務(wù),提高了設計效率和可靠性,并在語(yǔ)言易讀性和層次化、結構化設計方面。表現出了強大的生命力和應用潛力。  



  

QuartusⅡ是Altera公司在21世紀初推出的FPGA/CPLD集成開(kāi)發(fā)環(huán)境,是Altera公司前一代FPGA/CPLD集成開(kāi)發(fā)環(huán)境Max+PlusⅡ的更新?lián)Q代產(chǎn)品,其界面友好,使用便捷,功能強大,為設計者提供了一種與結構無(wú)關(guān)的設計環(huán)境,使設計者能方便地進(jìn)行設計輸入、快速處理和器件編程。  

計數器是數字系統中使用最多的時(shí)序電路之一,不僅能用于對時(shí)鐘脈沖計數,還可以用于分頻、定時(shí)、產(chǎn)生節拍脈沖和脈沖序列以及進(jìn)行數字運算等?勺兡S嫈灯饔捎谟嫈等萘靠梢愿鶕枰M(jìn)行變化,為其廣泛使用創(chuàng )造了便利。這里在QuartusⅡ開(kāi)發(fā)環(huán)境下,用VHDL語(yǔ)言設計了一種具有清零、置數、使能控制、可逆計數和可變模功能的計數器。  

1 基本可變模計數器設計  

可變模計數器是指計數/模值可根據需要進(jìn)行變化的計數器。電路符號圖1所示,clk為時(shí)鐘脈沖輸入端,clr為清零端,m為模值輸入端,q為計數輸出端。  

基本可變模計數器的VHDL代碼如下所示:  






  

說(shuō)明:上述代碼設計采用了常用的if語(yǔ)句結構,即“if條件句then順序語(yǔ)句elsif條件句then順序語(yǔ)句else順序語(yǔ)句end if”結構,實(shí)現模值小于99的可變模計數。  

從上述的代碼可以看出,基本的可變模計數器的功能單一。仿真驗證則表明在進(jìn)行模值變換時(shí),基本的可變模計數器存在一些功能上的缺陷:計數器若是由較小的模值變化為較大的模值時(shí),能正常的進(jìn)行變模計數;但當其由較大的模值變化為較小的模值,則可能出現計數失控,如圖2所示,圖中顯示了當模值由12變換為7時(shí),即發(fā)生了計數失控。失控的原因是大于當模值由12變換為7時(shí),計數輸出為q為11,大于當前模值7的計數最大值6,由此產(chǎn)生了計數失控。  



  

2 改進(jìn)的多功能可變模計數器  

為了克服上述基本可變模計數器的缺陷,并增加更多的控制功能,在此設計了一種改進(jìn)的多功能可變模計數器,具有清零、置數、使能控制、可逆計數和可變模功能。其電路符號如圖3所示,clk為時(shí)鐘脈沖輸入端,m為模值輸入端,clr為清零控制端,s為置數控制端,d為置數輸入端,en為使能控制端,updn為計數方向控制端,q為計數輸出端,co為進(jìn)位輸出端。  



  

這里所設計的多功能可變模計數器的VHDL代碼如下所示:  






  

LIBRARY IEEE;  

值得注意的是,這里所設計的多功能可變模計數器具有如下特點(diǎn):  

(1)該設計的多功能可變模計數器具有多個(gè)功能控制端。因此各個(gè)控制端的優(yōu)先權順序就成為設計的關(guān)鍵,經(jīng)過(guò)理論分析和仿真調試,最終確認的優(yōu)先權順序為:clr(清零)→clk(時(shí)鐘觸發(fā))→s(置數)→en(使能)→updn(計數方向)。這個(gè)優(yōu)先權順序可以有效地保證各個(gè)功能的完整實(shí)現,以及技術(shù)器的穩定運行。  

(2)為了防止出現計數失控,大多數計數器采用給計數器增加一個(gè)復位控制端的辦法,當發(fā)現計數輸出q發(fā)生了計數失控時(shí),通過(guò)復位控制端將計數器復位來(lái)排除計數失控。這種方法雖然有效,但是每次出現計數失控都要手動(dòng)控制復位,給實(shí)際使用帶來(lái)了不便。該設計的多功能可變模計數器中,將當前的計數輸出q與當前的計數最大值m_temp進(jìn)行比較,如果q比m_temp大,則強制將m_temp賦給q,這樣就可以自動(dòng)避免計數失控,不必再增加手動(dòng)的復位控制端。  

3 仿真結果分析  

該多功能可變模計數器在QuartusⅡ開(kāi)發(fā)環(huán)境下進(jìn)行了仿真驗證,功能仿真波形如圖4所示,時(shí)序仿真波形如圖5所示。  



  

仿真結果分析如下:  

(1)clk為時(shí)鐘信號,由時(shí)鐘信號的上升沿觸發(fā)計數;  

(2)m為模值輸入端,當其變化時(shí),計數容量相應發(fā)生變化;  

(3)clr為清零控制端,當其為高電平時(shí)清零;  

(4)s為置數控制端,當其為高電平時(shí)將置數輸入端d的數據加載到輸出端q;  

(5)en為使能控制端,當其為高電平時(shí)正常計數,當其為低電平時(shí)暫停計數;  

(6)updn為計數方向控制端,當其為高電平時(shí)計數器加法計數,當其為低電平時(shí)計數器減法計數。  

4 結 語(yǔ)  

這里所設計的多功能可變模計數器在QuartusⅡ開(kāi)發(fā)環(huán)境下進(jìn)行了仿真驗證后,下載到湖北眾友科技實(shí)業(yè)股份有限公司的ZY11EDA13BE實(shí)驗箱中進(jìn)行了硬件驗證。該實(shí)驗箱使用ACEX1K系列EP1K30QC208芯片作為核心芯片.實(shí)驗證明設計正確,功能完整,運行穩定。另外,該設計的多功能可變模計數器可根據需要將模值的最大值由99進(jìn)一步擴展,獲得更高的計數模值。
本文地址:http://selenalain.com/thread-21099-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页