基于VHDL的數(shù)字頻率計(jì)的設(shè)計(jì).doc_第1頁(yè)
基于VHDL的數(shù)字頻率計(jì)的設(shè)計(jì).doc_第2頁(yè)
基于VHDL的數(shù)字頻率計(jì)的設(shè)計(jì).doc_第3頁(yè)
基于VHDL的數(shù)字頻率計(jì)的設(shè)計(jì).doc_第4頁(yè)
基于VHDL的數(shù)字頻率計(jì)的設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

江 蘇 大 學(xué) 學(xué) 士 學(xué) 位 論 文目 錄引言1第一章 概述21.1 課題研究背景21.2 國(guó)內(nèi)外概況21.3 設(shè)計(jì)概述31.4 設(shè)計(jì)內(nèi)容31.5 設(shè)計(jì)原理31.6 設(shè)計(jì)功能4第二章 技術(shù)與開(kāi)發(fā)工具52.1 VHDL簡(jiǎn)介52.1.1 簡(jiǎn)介52.1.2 VHDL程序組成部分62.1.3 VHDL系統(tǒng)優(yōu)勢(shì)62.2 MAX+PLUS72.2.1 軟件簡(jiǎn)介72.2.3 軟件組成82.2.4 設(shè)計(jì)流程9第三章 系統(tǒng)分析103.1數(shù)字頻率計(jì)的設(shè)計(jì)任務(wù)及要求103.2 模塊的劃分103.3設(shè)計(jì)分析11第四章 各功能模塊基于VHDL的設(shè)計(jì)124.1 時(shí)基產(chǎn)生與測(cè)頻時(shí)序控制電路模塊的VHDL源程序124.2 待測(cè)信號(hào)脈沖計(jì)數(shù)電路模塊的VHDL源程序134.2.1 十進(jìn)制加法計(jì)數(shù)器的VHDL源程序134.2.2待測(cè)信號(hào)脈沖計(jì)數(shù)器的VHDL源程序144.3 鎖存與譯碼顯示控制電路模塊的VHDL源程序154.3.1 譯碼顯示電路的VHDL源程序154.3.2 鎖存與譯碼顯示控制模塊的VHDL源程序164.4 頂層電路的VHDL源程序18第五章 數(shù)字頻率計(jì)波形仿真205.1 時(shí)基產(chǎn)生與測(cè)頻時(shí)序控制電路模塊的仿真205.2 待測(cè)信號(hào)脈沖計(jì)數(shù)電路模塊的仿真205.2.1 十進(jìn)制加法計(jì)數(shù)器的仿真205.2.2待測(cè)信號(hào)脈沖計(jì)數(shù)器的仿真215.3 鎖存與譯碼顯示控制電路模塊的仿真215.3.1 譯碼顯示電路的仿真215.3.2 鎖存與譯碼顯示控制模塊的仿真225.4 數(shù)字頻率計(jì)系統(tǒng)的仿真22結(jié)論24致 謝25參考文獻(xiàn)26基于VHDL的數(shù)字頻率計(jì)的設(shè)計(jì)摘要 本文介紹了一種自頂向下分層設(shè)計(jì)多功能數(shù)字頻率計(jì)的設(shè)計(jì)方法。該頻率計(jì)采用VHDL硬件描述語(yǔ)言編程以MAX+PLUS為開(kāi)發(fā)環(huán)境,極大地減少了硬件資源的占用。數(shù)字頻率計(jì)模塊劃分的設(shè)計(jì)具有相對(duì)獨(dú)立性,可以對(duì)模塊單獨(dú)進(jìn)行設(shè)計(jì)、調(diào)試和修改,縮短了設(shè)計(jì)周期。該數(shù)字頻率計(jì)的測(cè)量范圍為lHz1MHz,響應(yīng)時(shí)間小于等于15秒;其測(cè)試結(jié)果由4只七段數(shù)碼管穩(wěn)定顯示,測(cè)量誤差小于等于1 。仿真波形與分析結(jié)果表明,所設(shè)計(jì)的電路通過(guò)硬件仿真能夠滿足數(shù)字頻率計(jì)的功能要求,具有理論與實(shí)踐意義,實(shí)現(xiàn)了電子電路自動(dòng)化的過(guò)程。數(shù)字頻率計(jì)模塊劃分的設(shè)計(jì)具有相對(duì)獨(dú)立性,可以對(duì)模塊單獨(dú)進(jìn)行設(shè)計(jì)、調(diào)試和修改,縮短了設(shè)計(jì)周期。關(guān)鍵詞:VHDL 數(shù)字頻率計(jì) EDA MAX+PLUS The Design of Digital Frequency Meter based on VHDLAbstract This paper presents a top-down design of multi-layered design method of digital frequency meter. The frequency counter using VHDL hardware description language programming in MAX + PLUS for the development environment, greatly reducing the hardware resources of the occupation. Digital frequency meter module design division of the relative independence of the separate modules can design, debug and modify, shorten the design cycle. The digital frequency meter measurement range of lHz 1MHz, response time of 15 seconds or less; the test results from the four seven-segment digital tube display stability, measurement error is less than equal to 1%. Simulation waveforms and analysis results show that the designed circuit simulation by hardware to meet the functional requirements of digital frequency meter of great theoretical and practical significance of the electronic circuit to achieve the automated process. Digital frequency meter module design division of the relative independence of the separate modules can design, debug and modify, shorten the design cycle.Key words: VHDL Digital frequency meter EDA MAX+PLUS- 26 -引言隨著電子技術(shù)的發(fā)展,當(dāng)前數(shù)字系統(tǒng)的設(shè)計(jì)正朝著速度快、容量大、體積小、重量輕的方向發(fā)展。推動(dòng)該潮流迅猛發(fā)展的引擎就是日趨進(jìn)步和完善的設(shè)計(jì)技術(shù)。目前數(shù)字頻率計(jì)的設(shè)計(jì)可以直接面向用戶需求,根據(jù)系統(tǒng)的行為和功能要求,自上至下的逐層完成相應(yīng)的描述、綜合、優(yōu)化、仿真與驗(yàn)證,知道生成器件。上述設(shè)計(jì)過(guò)程除了系統(tǒng)行為和功能描述以外,其余所有的設(shè)計(jì)過(guò)程幾乎都可以用計(jì)算機(jī)來(lái)自動(dòng)地完成,也就是說(shuō)做到了電子設(shè)計(jì)自動(dòng)化(EDA)。這樣做可以大大地縮短系統(tǒng)的設(shè)計(jì)周期,以適應(yīng)當(dāng)今品種多、批量小的電子市場(chǎng)的需求,提高產(chǎn)品的競(jìng)爭(zhēng)能力。電子設(shè)計(jì)自動(dòng)化(EDA)的關(guān)鍵技術(shù)之一是要求用形式化方法來(lái)描述數(shù)字系統(tǒng)的硬件電路,即要用所謂硬件描述語(yǔ)言來(lái)描述硬件電路。所以硬件描述語(yǔ)言及相關(guān)的仿真、綜合等技術(shù)的研究是當(dāng)今電子設(shè)計(jì)自動(dòng)化領(lǐng)域的一個(gè)重要課題。硬件描述語(yǔ)言的發(fā)展至今已有幾十年的歷史,并已成功地應(yīng)用到系統(tǒng)的仿真、驗(yàn)證和設(shè)計(jì)綜合等方面。80年代后由美國(guó)國(guó)防部開(kāi)發(fā)的VHDL語(yǔ)言(VHSIC Hardware Description Language)是一種面向設(shè)計(jì)的多層次、多領(lǐng)域且得到一致認(rèn)同的標(biāo)準(zhǔn)的硬件描述語(yǔ)言,滿足了廣大用戶所求,并在1987年12月由IEEE標(biāo)準(zhǔn)化。它的出現(xiàn)為電子設(shè)計(jì)自動(dòng)化(EDA)的普及和推廣奠定了堅(jiān)實(shí)的基礎(chǔ)。據(jù)1991年有關(guān)統(tǒng)計(jì)表明,VHDL語(yǔ)言已被廣大設(shè)計(jì)者所接受。另外,眾多的CAD廠商也紛紛使自己新開(kāi)發(fā)的電子設(shè)計(jì)軟件與VHDL語(yǔ)言兼容。由此可見(jiàn),使用VHDL語(yǔ)言來(lái)設(shè)計(jì)數(shù)字系統(tǒng)是電子設(shè)計(jì)技術(shù)的大勢(shì)所趨。數(shù)字頻率計(jì)是數(shù)字電路中的一個(gè)典型應(yīng)用,實(shí)際的硬件設(shè)計(jì)用到的器件較多,連線比較復(fù)雜,而且會(huì)產(chǎn)生較大的延時(shí),造成測(cè)量誤差、可靠性差。隨著可編程邏輯器件(CPLD)的廣泛應(yīng)用,以EDA工具為開(kāi)發(fā)平臺(tái),利用VHDL(Very High Speed Integrated Circuit Hardware Description Language,超高速集成電路硬件描述語(yǔ)言)工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ)言,采用自頂向下(Top to Down)和基于庫(kù)(Library-based)的設(shè)計(jì),設(shè)計(jì)者不但可以不必了解硬件結(jié)構(gòu)設(shè)計(jì),而且將使系統(tǒng)大大簡(jiǎn)化,提高整體的性能和可靠性。第一章 概述1.1 課題研究背景數(shù)字頻率計(jì)是電子測(cè)量與儀表技術(shù)最基礎(chǔ)的電子儀表類別之一, 數(shù)字頻率計(jì)是計(jì)算機(jī)、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測(cè)量?jī)x器,而且它是數(shù)字電壓必不可少的部件。當(dāng)今數(shù)字頻率計(jì)不僅是作為電壓表、計(jì)算機(jī)、天線電廣播通訊設(shè)備、工藝過(guò)程自動(dòng)化裝置。多種儀表儀器與家庭電器等許多電子產(chǎn)品中的數(shù)據(jù)信息輸出顯示器反映到人們眼簾。集成數(shù)字頻率計(jì)由于所用元件少、投資少,體積小,功耗低,且可靠性高,功能強(qiáng),易于設(shè)計(jì)和研發(fā),使得它具有技術(shù)上的實(shí)用性和應(yīng)用的廣泛性。不論從我們用的彩色電視機(jī)、電冰箱,DVD,還有我們現(xiàn)在家庭常用到的數(shù)字電壓表數(shù)字萬(wàn)用表等等都包含有頻率計(jì)。現(xiàn)在頻率計(jì)已是向數(shù)字智能方向發(fā)展,即可以很精確的讀數(shù)也精巧易于控制。數(shù)字頻率計(jì)已是現(xiàn)在頻率計(jì)發(fā)展的方向,它不僅可以很方便的讀數(shù),而且還可以使頻率的測(cè)量范圍和測(cè)量準(zhǔn)確度上都比模擬先進(jìn).而且頻率計(jì)的使用已是很多的方面,數(shù)字衛(wèi)星、數(shù)字通訊等高科技的領(lǐng)域都有應(yīng)用,今天數(shù)字頻率計(jì)的發(fā)展已經(jīng)不僅僅是一個(gè)小電子產(chǎn)品的發(fā)展也是整個(gè)民族乃至整個(gè)國(guó)家的發(fā)展,所以頻率計(jì)的發(fā)展是一個(gè)整體的趨勢(shì)。而從民族產(chǎn)業(yè)上來(lái)說(shuō),我們?cè)谶@種產(chǎn)業(yè)中還落后于西方發(fā)達(dá)國(guó)家,這將會(huì)關(guān)系到民族產(chǎn)業(yè)的興衰。所以我們必須很重視當(dāng)前的情況,學(xué)習(xí)發(fā)達(dá)國(guó)家的先進(jìn)技術(shù)以發(fā)展本國(guó)的產(chǎn)業(yè)。1.2 國(guó)內(nèi)外概況我國(guó)的頻率計(jì)其實(shí)不是落后發(fā)達(dá)國(guó)家太多的,我國(guó)在這個(gè)領(lǐng)域的發(fā)展是極其迅速的,現(xiàn)在的技術(shù)實(shí)際已是多年來(lái)見(jiàn)證。我國(guó)現(xiàn)階段電子產(chǎn)品的市場(chǎng)特點(diǎn),電子數(shù)字化發(fā)展很快。在我國(guó)和發(fā)達(dá)國(guó)家的發(fā)展情況是趨于一致的,數(shù)字頻率計(jì)已經(jīng)應(yīng)用于高科技等產(chǎn)品上面,可以不無(wú)夸張的說(shuō)沒(méi)有不包含有頻率計(jì)的電子產(chǎn)品。我國(guó)的CD、VCD、DVD和數(shù)字音響廣播等新技術(shù)已開(kāi)始大量進(jìn)入市場(chǎng);而在今天這些行業(yè)中都必須用到頻率計(jì)。到今天頻率計(jì)已開(kāi)始并正在向智能、精細(xì)方向的發(fā)展。國(guó)外的發(fā)展比我國(guó)要早,所以在這些行業(yè)中還領(lǐng)先于我們,我國(guó)還是缺少開(kāi)發(fā)和研發(fā)的資金投入,很多的電子企業(yè)都不太樂(lè)意去花大量的時(shí)間、資金和精力去研究和開(kāi)發(fā),這也就使得我國(guó)在這方面的人力和資金都不充足,也就無(wú)法于發(fā)達(dá)國(guó)家相比,不能夠形成一個(gè)量產(chǎn)的效果。從而很多的企業(yè)沒(méi)有競(jìng)爭(zhēng)力,這也和我國(guó)其他的民族產(chǎn)業(yè)存在相同的情況,這也正是我國(guó)在高速發(fā)展后的今天很少有自己的民族品牌的原因,所以我國(guó)應(yīng)該大力的支持自己的民族品牌,不僅僅是要在資金和人才的投入,還要有具體的實(shí)際行動(dòng)并起到一定的保護(hù)作用。1.3 設(shè)計(jì)概述所謂頻率,就是周期信號(hào)在單位時(shí)間(1s)里變化的次數(shù)。本數(shù)字頻率計(jì)的設(shè)計(jì)思路是:(1) 根據(jù)頻率計(jì)的測(cè)頻原理,可以選擇合適的時(shí)基信號(hào)對(duì)輸入被測(cè)信號(hào)脈沖進(jìn)行計(jì)數(shù),實(shí)現(xiàn)測(cè)頻的目的。(2) 根據(jù)數(shù)字頻率計(jì)的基本原理,本文設(shè)計(jì)方案的基本思想是分為三個(gè)模塊來(lái)實(shí)現(xiàn)其功能,即時(shí)基產(chǎn)生與測(cè)頻時(shí)序控制電路模塊、待測(cè)信號(hào)脈沖計(jì)數(shù)電路模塊和鎖存與譯碼顯示控制電路模塊,并且分別用VHDL對(duì)其進(jìn)行編程,實(shí)現(xiàn)計(jì)數(shù)電路、鎖存電路、顯示電路等。1.4 設(shè)計(jì)內(nèi)容分析數(shù)字頻率計(jì)的功能,完成功能模塊的劃分,分別用VHDL語(yǔ)言完成底層模塊的設(shè)計(jì)和以原理圖的方法完成頂層模塊的設(shè)計(jì),分別對(duì)各個(gè)模塊以及頂層模塊進(jìn)行仿真分析,最后在硬件開(kāi)發(fā)平臺(tái)上進(jìn)行測(cè)試。1.5 設(shè)計(jì)原理眾所周知,頻率信號(hào)易于傳輸,抗干擾性強(qiáng),可以獲得較好的測(cè)量精度。因此,頻率檢測(cè)是電子測(cè)量領(lǐng)域最基本的測(cè)量之一。頻率計(jì)的基本原理是用一個(gè)頻率穩(wěn)定度高的頻率源作為基準(zhǔn)時(shí)鐘,對(duì)比測(cè)量其他信號(hào)的頻率。通常情況下計(jì)算每秒內(nèi)待測(cè)信號(hào)的脈沖個(gè)數(shù),即閘門時(shí)間為1s。閘門時(shí)間可以根據(jù)需要取值,大于或小于1S都可以。閘門時(shí)間越長(zhǎng),得到的頻率值就越準(zhǔn)確,但閘門時(shí)間越長(zhǎng),則每測(cè)一次頻率的間隔就越長(zhǎng)。閘門時(shí)間越短,測(cè)得的頻率值刷新就越快,但測(cè)得的頻率精度就受影響。一般取1s作為閘門時(shí)間。數(shù)字頻率計(jì)的關(guān)鍵組成部分包括測(cè)頻控制信號(hào)發(fā)生器、計(jì)數(shù)器、鎖存器、譯碼驅(qū)動(dòng)電路和顯示電路,其原理框圖如圖1. 1所示。計(jì)數(shù)器鎖存器譯碼驅(qū)動(dòng)電路數(shù)碼管顯示測(cè)頻控制信號(hào)發(fā)生器圖1.1 原理框圖待測(cè)信號(hào)1.6 設(shè)計(jì)功能 四位十進(jìn)制數(shù)字頻率計(jì)用四組七段譯碼顯示的數(shù)字頻率計(jì),其頻率測(cè)量范圍為1Hz10kHz。采用記憶顯示的方法,即在測(cè)量過(guò)程中不刷新數(shù)據(jù),等數(shù)據(jù)過(guò)程結(jié)束后才顯示測(cè)量結(jié)果,給出待測(cè)信號(hào)的頻率值,并保存到下一次測(cè)量結(jié)束,顯示時(shí)間不少于1秒。第二章 技術(shù)與開(kāi)發(fā)工具2.1 VHDL簡(jiǎn)介2.1.1 簡(jiǎn)介VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開(kāi)發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。VHDL 語(yǔ)言能夠成為標(biāo)準(zhǔn)化的硬件描述語(yǔ)言并獲得廣泛應(yīng)用 , 它自身必然具有很多其他硬件描述語(yǔ)言所不具備的優(yōu)點(diǎn)。歸納起來(lái),VHDL 語(yǔ)言主要具有以下優(yōu)點(diǎn):(1) VHDL 語(yǔ)言功能強(qiáng)大,設(shè)計(jì)方式多樣 VHDL 語(yǔ)言具有強(qiáng)大的語(yǔ)言結(jié)構(gòu), 只需采用簡(jiǎn)單明確的VHDL語(yǔ)言程序就可以描述十分復(fù)雜的硬件電路。同時(shí),它還具有多層次的電路設(shè)計(jì)描述功能。此外,VHDL 語(yǔ)言能夠同時(shí)支持同步電路、異步電路和隨機(jī)電路的設(shè)計(jì)實(shí)現(xiàn),這是其他硬件描述語(yǔ)言所不能比擬的。VHDL 語(yǔ)言設(shè)計(jì)方法靈活多樣 , 既支持自頂向下的設(shè)計(jì)方式, 也支持自底向上的設(shè)計(jì)方法; 既支持模塊化設(shè)計(jì)方法, 也支持層次化設(shè)計(jì)方法。 (2) VHDL語(yǔ)言具有強(qiáng)大的硬件描述能力 VHDL語(yǔ)言具有多層次的電路設(shè)計(jì)描述功能,既可描述系統(tǒng)級(jí)電路 , 也可以描述門級(jí)電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也可以采用三者的混合描述方式。同時(shí),VHDL語(yǔ)言也支持慣性延遲和傳輸延遲,這樣可以準(zhǔn)確地建立硬件電路的模型。VHDL語(yǔ)言的強(qiáng)大描述能力還體現(xiàn)在它具有豐富的數(shù)據(jù)類型。VHDL 語(yǔ)言既支持標(biāo)準(zhǔn)定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,這樣便會(huì)給硬件描述帶來(lái)較大的自由度。 (3) VHDL語(yǔ)言具有很強(qiáng)的移植能力 VHDL語(yǔ)言很強(qiáng)的移植能力主要體現(xiàn)在: 對(duì)于同一個(gè)硬件電路的 VHDL 語(yǔ)言描述,它可以從一個(gè)模擬器移植到另一個(gè)模擬器上、從一個(gè)綜合器移植到另一個(gè)綜合器上或者從一個(gè)工作平臺(tái)移植到另一個(gè)工作平臺(tái)上去執(zhí)行。 (4) VHDL語(yǔ)言的設(shè)計(jì)描述與器件無(wú)關(guān) 采用VHDL語(yǔ)言描述硬件電路時(shí),設(shè)計(jì)人員并不需要首先考慮選擇進(jìn)行設(shè)計(jì)的器件。這樣做的好處是可以使設(shè)計(jì)人員集中精力進(jìn)行電路設(shè)計(jì)的優(yōu)化,而不需要考慮其他的問(wèn)題。當(dāng)硬件電路的設(shè)計(jì)描述完成以后,VHDL 語(yǔ)言允許采用多種不同的器件結(jié)構(gòu)來(lái)實(shí)現(xiàn)。 (5) VHDL語(yǔ)言程序易于共享和復(fù)用 VHDL語(yǔ)言采用基于庫(kù)(library)的設(shè)計(jì)方法。在設(shè)計(jì)過(guò)程中,設(shè)計(jì)人員可以建立各種可再次利用的模塊,一個(gè)大規(guī)模的硬件電路的設(shè)計(jì)不可能從門級(jí)電路開(kāi)始一步步地進(jìn)行設(shè)計(jì),而是一些模塊的累加。這些模塊可以預(yù)先設(shè)計(jì)或者使用以前設(shè)計(jì)中的存檔模塊,將這些模塊存放在庫(kù)中,就可以在以后的設(shè)計(jì)中進(jìn)行復(fù)用。 2.1.2 VHDL程序組成部分全部的VHDL程序由實(shí)體(Entity)、構(gòu)造體(Architecture)、配置(Configuration)、包集合(Package)、庫(kù)(Library)5個(gè)部分組成。各組成部分的作用是:(1) 實(shí)體 用于描述所設(shè)計(jì)的系統(tǒng)的外部接口信號(hào)。(2) 構(gòu)造體 用于描述系統(tǒng)內(nèi)部的結(jié)構(gòu)和行為。(3) 配置 用于從庫(kù)中選取不同單元(器件)來(lái)組成系統(tǒng)設(shè)計(jì)的不同版本。(4) 包集合 存放各設(shè)計(jì)模塊都能共享的數(shù)據(jù)類型、常數(shù)和子程序等。(5) 庫(kù) 存放已經(jīng)編譯了的實(shí)體、構(gòu)造體、包集合和配置。庫(kù)可由系統(tǒng)工程師生成或由ASIC芯片商提供,以便在設(shè)計(jì)中共享。2.1.3 VHDL系統(tǒng)優(yōu)勢(shì)(1) 與其他的硬件描述語(yǔ)言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語(yǔ)言。強(qiáng)大的行為描述能力是避開(kāi)具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。(2) VHDL豐富的仿真語(yǔ)句和庫(kù)函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。 (3) VHDL語(yǔ)句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場(chǎng)需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個(gè)代發(fā)組共同并行工作才能實(shí)現(xiàn)。 (4) 對(duì)于用VHDL完成的一個(gè)確定的設(shè)計(jì),可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動(dòng)的把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表。 (5) VHDL對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。2.2 MAX+PLUS2.2.1 軟件簡(jiǎn)介MAX+PLUS(Multiple Array and Programming Logic User System)開(kāi)發(fā)工具是Altera公司推出的一種EDA工具,具有靈活高效、使用便捷和易學(xué)易用等特點(diǎn)。Altera公司在推出各種CPLD的同時(shí),也在不斷地升級(jí)相應(yīng)的開(kāi)發(fā)工具軟件,已從早起的第一代A+PLUS、第二代MAX+PLUS發(fā)展到第三代MAX+PLUS和第四代Quartus。使用MAX+PLUS軟件,設(shè)計(jì)者無(wú)需精通器件內(nèi)部的復(fù)雜結(jié)構(gòu),只需用業(yè)已熟悉的設(shè)計(jì)輸入工具,如硬件描述語(yǔ)言、原理圖等進(jìn)行輸入即可,MAX+PLUS就會(huì)自動(dòng)將設(shè)計(jì)轉(zhuǎn)換成目標(biāo)文件下載到器件中去。MAX+PLUS開(kāi)發(fā)系統(tǒng)具有以下特點(diǎn)。(1) 多平臺(tái)。MAX+PLUS軟件可以在基于PC機(jī)的操作系統(tǒng)如Windows95、Windows98、Windows2000、Windows NT下運(yùn)行,也可以在Sun SPAC station等工作站上運(yùn)行。(2) 開(kāi)放的界面。MAX+PLUS提供了與其他設(shè)計(jì)輸入、綜合和校驗(yàn)工具的接口,借口符合EDIF 200/300、LPM、VHDL、Verilog-HDL等標(biāo)準(zhǔn)。目前MAX+PLUS所支持的主流第三方EDA工具主要有Synopsys、Viewlogic、Mentor、Graphics、Cadence、OrCAD、Xilinx等公司提供的工具。(3) 模塊組合式工具軟件。MAX+PLUS具有一個(gè)完整的可編程邏輯設(shè)計(jì)環(huán)境,包括設(shè)計(jì)輸入、設(shè)計(jì)處理、設(shè)計(jì)校驗(yàn)和下載編程4個(gè)模塊,設(shè)計(jì)者可以按設(shè)計(jì)流程選擇工作模塊。(4) 與結(jié)構(gòu)無(wú)關(guān)。MAX+PLUS開(kāi)發(fā)系統(tǒng)的核心Compiler(編譯器)能夠自動(dòng)完成邏輯綜合和優(yōu)化,它支持Altera的Classic、MAX7000、FLEX8000和FLEX10K等可編程器件系列,提供一個(gè)與結(jié)構(gòu)無(wú)關(guān)的PLD開(kāi)發(fā)環(huán)境。(5) 支持硬件描述語(yǔ)言。MAX+PLUS支持各種HDL設(shè)計(jì)輸入語(yǔ)言,包括VHDL、Verilog-HDL和Altera的硬件描述語(yǔ)言AHDL。(6) 豐富的設(shè)計(jì)庫(kù)。MAX+PLUS提供豐富的庫(kù)單元供設(shè)計(jì)者調(diào)用,其中包括一些基本的邏輯單元,74系列的器件和多種特定功能的宏功能模塊以及參數(shù)化的兆功能模塊。調(diào)用庫(kù)單元進(jìn)行設(shè)計(jì),可以大大減輕設(shè)計(jì)人員的工作量,縮短設(shè)計(jì)周期。2.2.3 軟件組成MAX+PLUS軟件采用模塊化結(jié)構(gòu),包括設(shè)計(jì)輸入、項(xiàng)目處理、項(xiàng)目校驗(yàn)和器件編程4個(gè)部分,所有這些部分都集成在一個(gè)可視化的操作環(huán)境下。(1) 設(shè)計(jì)輸入MAX+PLUS的設(shè)計(jì)輸入方法有多種,主要包括文本設(shè)計(jì)輸入、原理圖輸入、波形設(shè)計(jì)輸入等多種方式。另外,還可以利用第三方EDA工具生成的網(wǎng)表文件輸入,該軟件可接受的網(wǎng)表有EDIF格式、VHDL格式及Verilog格式。MAX+PLUS是一種層次設(shè)計(jì)工具,可根據(jù)實(shí)際情況靈活地使用最適合每一層次的設(shè)計(jì)方法。(2) 項(xiàng)目處理設(shè)計(jì)處理的任務(wù)就是對(duì)項(xiàng)目進(jìn)行編譯(Compile),編譯實(shí)際就是將設(shè)計(jì)者編寫的設(shè)計(jì)改為可以用于生產(chǎn)的“語(yǔ)言”。編譯器通過(guò)讀入設(shè)計(jì)文件并產(chǎn)生用于編程、仿真和定時(shí)分析的輸出文件來(lái)完成編譯工作。MAX+PLUS提供的編譯軟件,只需簡(jiǎn)單的操作,如參數(shù)選擇、指定功能等,就可進(jìn)行網(wǎng)表轉(zhuǎn)換、邏輯分割和布線布局。(3) 項(xiàng)目校驗(yàn)MAX+PLUS提供的設(shè)計(jì)校驗(yàn)過(guò)程包括仿真和定時(shí)分析,項(xiàng)目編譯后,為確保設(shè)計(jì)無(wú)誤,要再用專用軟件進(jìn)行仿真。如果發(fā)現(xiàn)了錯(cuò)誤,則應(yīng)對(duì)設(shè)計(jì)輸入進(jìn)行部分修改直至無(wú)誤。(4) 器件編程MAX+PLUS通過(guò)編程器(Device Programmer)將編譯器生成的編程文件編程或配置到Altera CPLD器件中,然后加入實(shí)際激勵(lì)信號(hào)進(jìn)行測(cè)試,檢查是否達(dá)到了設(shè)計(jì)要求?Altera公司器件的編程方法有許多種,可通過(guò)編程器、JTAG在系統(tǒng)編程及Altera在線配置等方式進(jìn)行。在設(shè)計(jì)過(guò)程中,如果出現(xiàn)錯(cuò)誤,則需要重新回到設(shè)計(jì)輸入階段,改正錯(cuò)誤或調(diào)整電路后重復(fù)上述過(guò)程。2.2.4 設(shè)計(jì)流程使用MAX+PLUS進(jìn)行可編程邏輯器件開(kāi)發(fā)主要包括4個(gè)階段:設(shè)計(jì)輸入、編譯處理、驗(yàn)證(包括功能仿真、時(shí)序仿真、和定時(shí)分析)和器件編程,流程如圖2. 1所示:設(shè)計(jì)要求設(shè)計(jì)輸入編譯處理驗(yàn)證器件編程器件測(cè)試系統(tǒng)產(chǎn)品設(shè)計(jì)修改圖2.1 設(shè)計(jì)流程圖第三章 系統(tǒng)分析3.1數(shù)字頻率計(jì)的設(shè)計(jì)任務(wù)及要求設(shè)計(jì)一個(gè)四位十進(jìn)制的數(shù)字頻率計(jì),要求具有以下功能:(1) 測(cè)量范圍:1Hz10kHz。(2) 測(cè)量誤差1%。(3) 響應(yīng)時(shí)間15s。(4) 顯示時(shí)間不少于1s。(5) 具有記憶顯示的功能,即在測(cè)量的過(guò)程中不刷新數(shù)據(jù),等數(shù)據(jù)過(guò)程結(jié)束后才顯示測(cè)量結(jié)果,給出待測(cè)信號(hào)的頻率值,并保存到下一次測(cè)量結(jié)束。3.2 模塊的劃分根據(jù)系統(tǒng)設(shè)計(jì)要求,系統(tǒng)設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法,系統(tǒng)的組成框圖如圖3. 1所示,包括時(shí)基產(chǎn)生與測(cè)頻時(shí)序控制電路模塊,以及待測(cè)信號(hào)脈沖計(jì)數(shù)電路模塊和鎖存與譯碼顯示控制電路模塊。時(shí)基產(chǎn)生與測(cè)頻時(shí)序控制電路待測(cè)信號(hào)脈沖計(jì)數(shù)電路鎖存與譯碼顯示電路ENCLRLOCKq0:15z10:6z20:6z30:6z40:6待測(cè)信號(hào)F_IN標(biāo)準(zhǔn)時(shí)鐘CLK圖3.1 數(shù)字頻率計(jì)的組成框圖(1) 時(shí)基產(chǎn)生與測(cè)頻時(shí)序控制電路模塊時(shí)基產(chǎn)生與測(cè)頻時(shí)序控制電路的主要產(chǎn)生計(jì)數(shù)允許信號(hào)EN、清零信號(hào)CCLR和鎖存信號(hào)LOCK。(2) 待測(cè)信號(hào)脈沖計(jì)數(shù)電路模塊待測(cè)信號(hào)脈沖計(jì)數(shù)電路是對(duì)待測(cè)脈沖信號(hào)的頻率進(jìn)行測(cè)量,它可由4個(gè)十進(jìn)制加法計(jì)數(shù)器組成,其中EN為計(jì)數(shù)選通控制信號(hào),CLR為計(jì)數(shù)器清零信號(hào)。在計(jì)數(shù)器清零信號(hào)CLR清零后,當(dāng)計(jì)數(shù)選通控制信號(hào)EN有效時(shí),開(kāi)始對(duì)待測(cè)信號(hào)進(jìn)行計(jì)數(shù)。如果計(jì)數(shù)選通控制信號(hào)EN的寬度為1s,那么計(jì)數(shù)結(jié)果就為待測(cè)信號(hào)的頻率;如果計(jì)數(shù)選通信號(hào)EN的寬度為100ms,那么待測(cè)信號(hào)的頻率等于計(jì)數(shù)結(jié)果10。(3) 鎖存與譯碼顯示控制電路模塊鎖存與譯碼顯示控制電路用于實(shí)現(xiàn)記憶顯示,在測(cè)量過(guò)程中不刷新新的數(shù)據(jù),直到測(cè)量過(guò)程結(jié)束后,鎖存顯示測(cè)量結(jié)果,并且保存到下一次測(cè)量結(jié)束。鎖存與譯碼顯示電路的功能是對(duì)四位BCD碼進(jìn)行鎖存,并轉(zhuǎn)換為對(duì)應(yīng)的4組七段碼,用于驅(qū)動(dòng)數(shù)碼管。3.3設(shè)計(jì)分析采用VHDL語(yǔ)言設(shè)計(jì)一個(gè)復(fù)雜的電路系統(tǒng),運(yùn)用自頂向下的設(shè)計(jì)思想,將系統(tǒng)按功能逐層分割的層次化設(shè)計(jì)方法進(jìn)行設(shè)計(jì)。在頂層對(duì)內(nèi)部各功能塊的連接關(guān)系和對(duì)外的接口關(guān)系進(jìn)行了描述,而功能塊的邏輯功能和具體實(shí)現(xiàn)形式則由下一層模塊來(lái)描述。各功能模塊采用VHDL語(yǔ)言來(lái)描述。第四章 各功能模塊基于VHDL的設(shè)計(jì)4.1 時(shí)基產(chǎn)生與測(cè)頻時(shí)序控制電路模塊的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)時(shí)鐘 LOCK: OUT STD_LOGIC; -鎖存信號(hào) EN: OUT STD_LOGIC; -計(jì)數(shù)允許信號(hào) CLR: OUT STD_LOGIC); -清零信號(hào)END;ARCHITECTURE ART OF CTRL IS SIGNAL Q: STD_LOGIC_VECTOR(3 DOWNTO 0); -定義變量BEGINPROCESS(CLK) BEGIN IF(CLKEVENT AND CLK=1)THEN -檢測(cè)時(shí)鐘上升沿 IF Q=1111THEN Q=0000; -計(jì)數(shù)大于15,清零 ELSE Q=Q+1; -允許計(jì)數(shù) END IF; END IF; 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; 程序主要講述了由時(shí)鐘信號(hào)產(chǎn)生計(jì)數(shù)允許信號(hào)、清零信號(hào)和鎖存信號(hào),而且限定了響應(yīng)時(shí)間為不超過(guò)15s。4.2 待測(cè)信號(hào)脈沖計(jì)數(shù)電路模塊的VHDL源程序4.2.1 十進(jìn)制加法計(jì)數(shù)器的VHDL源程序程序cb10.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CB10 IS PORT(CLK,EN,CLR: IN STD_LOGIC; COUNT10: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); -計(jì)數(shù)輸信號(hào)END CB10;ARCHITECTURE ART OF CB10 IS -結(jié)構(gòu)體 BEGIN PROCESS(CLK,CLR,EN) BEGIN IF CLR=1 THEN COUNT10=0000; -計(jì)數(shù)器清零 ELSIF RISING_EDGE(CLK) THEN -檢測(cè)時(shí)鐘上升沿 IF(EN=1) THEN -檢測(cè)是否允許計(jì)數(shù) IF COUNT10=1001 THEN COUNT10=0000; -計(jì)數(shù)值滿9清零 ELSE COUNT10=COUNT10+1; -允許計(jì)數(shù) END IF; END IF; END IF; END PROCESS;END ART; 程序主要講述了十進(jìn)制加法計(jì)數(shù)器的使用,在符合了一定的標(biāo)準(zhǔn)以后十進(jìn)制的使用,在計(jì)數(shù)器滿9后清零。4.2.2待測(cè)信號(hào)脈沖計(jì)數(shù)器的VHDL源程序程序count.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNT IS PORT(CLK: IN STD_LOGIC; -待測(cè)時(shí)鐘信號(hào) EN: IN STD_LOGIC; -計(jì)數(shù)選通控制信號(hào) CLR: IN STD_LOGIC; -計(jì)數(shù)器清零信號(hào) QA,QB,QC,QD: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); -結(jié)果輸出信號(hào)END;ARCHITECTURE ART OF COUNT IS COMPONENT CB10 -元件CB10引用說(shuō)明語(yǔ)句 PORT(CLK,EN,CLR: IN STD_LOGIC; COUNT10: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); -計(jì)數(shù)輸出信號(hào) END COMPONENT; SIGNAL CLK2: STD_LOGIC; SIGNAL CLK3: STD_LOGIC; SIGNAL CLK4: STD_LOGIC; BEGIN CLK2=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;4.3 鎖存與譯碼顯示控制電路模塊的VHDL源程序4.3.1 譯碼顯示電路的VHDL源程序程序bcd7.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY BCD7 IS PORT(BCD: IN STD_LOGIC_VECTOR(3 DOWNTO 0); -BCD輸入信號(hào) LED: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -七段譯碼輸出信號(hào)END;ARCHITECTURE ART OF BCD7 IS BEGIN LED=0111111 WHEN BCD=0000 ELSE -對(duì)照七段字形顯示譯碼器真值表 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=0110 ELSE 0000111 WHEN BCD=0111 ELSE 1111111 WHEN BCD=1000 ELSE 1101111 WHEN BCD=1001 ELSE 0000000;END ART; 程序主要講述了七段譯碼器的顯示問(wèn)題,對(duì)應(yīng)的給出了信號(hào)輸入過(guò)程中七段譯碼器的各種顯示。4.3.2 鎖存與譯碼顯示控制模塊的VHDL源程序程序lock.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LOCK IS PORT(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);-頻率計(jì)數(shù)輸出END;ARCHITECTURE ART OF LOCK IS SIGNAL QAL,QBL,QCL,QDL: STD_LOGIC_VECTOR(3 DOWNTO 0); COMPONENT BCD7 -元件BCD7引用說(shuō)明語(yǔ)句 PORT(BCD: IN STD_LOGIC_VECTOR(3 DOWNTO 0); LED: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); END COMPONENT; BEGIN PROCESS(LOCK) BEGIN IF(LOCKEVENT AND LOCK=1)THEN -檢測(cè)時(shí)鐘上升沿 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,LEDC); -元件引用例示 U3: BCD7 PORT MAP(QDL,LEDD); -元件引用例示END ART; 程序主要講述了調(diào)用七段譯碼器的顯示,將輸入的信號(hào)經(jīng)過(guò)譯碼之后在七段譯碼器上進(jìn)行顯示。4.4 頂層電路的VHDL源程序程序pinlvji.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY PINLVJI IS PORT(F_IN,CLK: IN STD_LOGIC; ENT,LOCKT,CLRT: BUFFER STD_LOGIC; Z1,Z2,Z3,Z4: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END PINLVJI;ARCHITECTURE ART OF PINLVJI IS SIGNAL ENS,LOCKS,CLRS: STD_LOGIC; SIGNAL QAS,QBS,QCS,QDS: STD_LOGIC_VECTOR(3 DOWNTO 0);COMPONENT CTRL -元件CTRL引用說(shuō)明語(yǔ)句 PORT(CLK: IN STD_LOGIC; EN,LOCK,CLR: OUT STD_LOGIC);END COMPONENT;COMPONENT COUNT -元件COUNT引用說(shuō)明語(yǔ)句 PORT(CLK,EN,CLR: IN STD_LOGIC; QA,QB,QC,QD: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;COMPONENT LOCK -元件LOCK引用說(shuō)明語(yǔ)句 PORT(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);END COMPONENT; BEGIN ENT=ENS; LOCKT=LOCKS; CLRT=CLRS; U1:CTRL PORT MAP(CLK,ENS,LOCKS,CLRS); -元件引用例示 U2:COUNT PORT MAP(F_IN,ENS,CLRS,QAS,QBS,QCS,QDS); -元件引用例示 U3:LOCK PORT MAP(LOCKS,Q

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論