版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGEPAGEIX《電氣工程及其自動化EDA課程設(shè)計(jì)》課程設(shè)計(jì)報(bào)告題目:數(shù)字頻率計(jì)的設(shè)計(jì)院(系):機(jī)電與自動化學(xué)院專業(yè)班級:學(xué)生姓名:學(xué)號:指導(dǎo)教師:2014年1月6日至2014年1月10日華中科技大學(xué)武昌分校自動化EDA課程設(shè)計(jì)設(shè)計(jì)任務(wù)書一、設(shè)計(jì)題目數(shù)字頻率計(jì)的設(shè)計(jì)二、設(shè)計(jì)要緊內(nèi)容1.設(shè)計(jì)目的:(1)鞏固和加深對《EDA技術(shù)及應(yīng)用》及《數(shù)字電子技術(shù)》差不多知識的理解,提高學(xué)生綜合運(yùn)用本課程所學(xué)知識的能力;(2)培養(yǎng)學(xué)生依照課題需要選學(xué)參考書籍、查閱手冊、圖表和文獻(xiàn)資料的自學(xué)能力;通過獨(dú)立考慮,深入鉆研有關(guān)問題,學(xué)會自己分析解決問題的方法;(3)以學(xué)生的動手為要緊內(nèi)容,培養(yǎng)學(xué)生系統(tǒng)軟、硬件設(shè)計(jì)、調(diào)試的差不多思路、方法和技巧,并能熟練使用集成軟件QuartusⅡ進(jìn)行有關(guān)電路設(shè)計(jì)與分析;(4)掌握FPGA器件的正確使用方法,提高學(xué)生動手能力,能在教師指導(dǎo)下,完成課程任務(wù);(5)培養(yǎng)嚴(yán)肅認(rèn)確實(shí)工作作風(fēng)和科學(xué)態(tài)度。通過課程設(shè)計(jì)實(shí)踐,關(guān)心學(xué)生逐步建立正確的生產(chǎn)觀念、工程觀念和全局觀點(diǎn)。2.設(shè)計(jì)內(nèi)容:(1)8位頻率計(jì)輸入端分不為:系統(tǒng)基準(zhǔn)時(shí)鐘100MHZ(CLK)、被測信號輸入(Fx);及輸出端為(DOUT),皆采納BCD碼計(jì)數(shù)方式;(2)可測量范圍從1Hz到99999999Hz;(3)將被測信號的頻率直接送到8個(gè)LED顯示;也可選擇其它題目,但重量不能低于上述題目。三、原始資料1.頻率測量方法的差不多原理是計(jì)算每秒內(nèi)待測信號的脈沖個(gè)數(shù),這就要求TESTCTL的計(jì)數(shù)使能信號TSTEN能產(chǎn)生一個(gè)1秒脈寬的周期信號,并對頻率計(jì)的每一個(gè)計(jì)數(shù)器CNT10的ENA使能端進(jìn)行同步操縱。當(dāng)TSTEN高電平常,同意計(jì)數(shù),并保持其所計(jì)的數(shù)。在停止計(jì)數(shù)期間,首先需要一個(gè)鎖存信號LOAD的上跳沿將計(jì)數(shù)器在前1秒的計(jì)數(shù)值鎖存進(jìn)32位鎖存器REG32B中,并由外部的7段譯碼器譯出并穩(wěn)定的顯示。此方法測量精度高。數(shù)字頻率計(jì)由多頻信號源模塊、測頻操縱模塊、CNT計(jì)數(shù)模塊、32位鎖存器模塊及頻率顯示模塊組成,其框圖為圖1所示:信信號源計(jì)數(shù)模塊鎖存器顯示器操縱信號100MHzCLK1Hz用于測量用于掃描顯示被測信號fsinTESTENLOADCLR產(chǎn)生1MHz信號產(chǎn)生多種頻率輸出圖1數(shù)字頻率計(jì)組成框圖2.在QuartusII軟件中,編寫各個(gè)模塊VHDL源程序;并上機(jī)調(diào)試通過;3.下載頂層文件到目標(biāo)芯片;4.將被測信號fx輸入到系統(tǒng),數(shù)碼管將會顯示被測信號頻率。
四、要求的設(shè)計(jì)成果1、差不多要求:在QuartusII軟件中新建原理圖文件,編譯,仿真,鎖定管腳并下載到目標(biāo)芯片。將被測信號fx輸入到系統(tǒng),數(shù)碼管將會顯示被測信號頻率。(1)依照設(shè)計(jì)要求,設(shè)計(jì)系統(tǒng)的原理框圖,講明系統(tǒng)中各要緊組成部分的功能;(2)在QuartusII軟件中,編寫各個(gè)模塊VHDL源程序;并上機(jī)調(diào)試通過;(3)依照軟件編好用于系統(tǒng)仿確實(shí)測試文件;(4)編好用于硬件驗(yàn)證的管腳鎖定文件;(5)記錄系統(tǒng)各個(gè)模塊仿真結(jié)果;(6)記錄仿真結(jié)果中出現(xiàn)的問題及解決方法。2、備選要求:學(xué)生可依照課堂教學(xué)對《EDA技術(shù)及應(yīng)用》所掌握知識點(diǎn)的實(shí)際情況,也可選擇其它方案完成設(shè)計(jì),從而形成難易程度不同的設(shè)計(jì)方法。注意:差不多要求學(xué)生必須完成,學(xué)有余力的學(xué)生能夠在差不多要求完成的前提下,選擇其它方案完成設(shè)計(jì)。一般來講,測頻精度越高,考查評價(jià)就越高。五、進(jìn)程安排表2進(jìn)度安排及學(xué)時(shí)分配表序號課程設(shè)計(jì)內(nèi)容學(xué)時(shí)分配備注1集中學(xué)生學(xué)習(xí)課程設(shè)計(jì)的關(guān)鍵理論知識、分配設(shè)計(jì)任務(wù)、明確設(shè)計(jì)要求、查找資料等。1天2依照任務(wù)的要求進(jìn)行方案構(gòu)思,初選方案,繪制系統(tǒng)原理框圖并與指導(dǎo)教師討論,方案定稿。1天完成各模塊的VHDL程序設(shè)計(jì)、編譯和時(shí)序仿真1天3編程、下載,結(jié)合硬件平臺,進(jìn)行調(diào)試。完成頂層文件圖繪制,對編制好的封圖交給老師檢查,并按照老師要求修改。1天4撰寫課程設(shè)計(jì)講明書1天5答辯及驗(yàn)收課程設(shè)計(jì)1天合計(jì)5天六、要緊參考資料[1]侯伯享.VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計(jì).西安:西安電子科技大學(xué)出版,2010.[2]潘松.EDA技術(shù)有用教程.成都:電子科技大學(xué)出版社,2010.[3]李玉山.電子系統(tǒng)集成設(shè)計(jì)技術(shù).北京:電子工業(yè)出版社,2010.6.[4]李國麗.EDA與數(shù)字系統(tǒng)設(shè)計(jì).北京:機(jī)械工業(yè)出版社,2009.[5]周彩寶.VHDL語言及其應(yīng)用.上海:華東計(jì)算機(jī)技術(shù)研究所:2009.[6]譚會生.EDA技術(shù)中和應(yīng)用實(shí)例與分析.西安:西安電子科技大學(xué)出版社,2008.指導(dǎo)教師(簽名):20年月日目錄第一章緒論 11.1設(shè)計(jì)背景 11.2設(shè)計(jì)意義 11.3本文的要緊工作 2第二章EDA技術(shù)原理與概述 32.1可編程邏輯器件差不多原理 32.2硬件描述語言 42.3集成開發(fā)軟件 5第三章數(shù)字頻率計(jì)的系統(tǒng)分析 103.18位十進(jìn)制數(shù)字頻率計(jì)系統(tǒng)設(shè)計(jì)的原理 103.1.1數(shù)字頻率計(jì)的差不多原理 103.1.2系統(tǒng)總體框架圖 103.28位十進(jìn)制數(shù)字頻率計(jì)設(shè)計(jì)任務(wù)與要求 113.3目標(biāo)芯片F(xiàn)LEX10K 11第四章各功能模塊基于VHDL的設(shè)計(jì)與仿真 134.18位十進(jìn)制數(shù)字頻率計(jì)的電路邏輯圖 134.2測頻操縱信號發(fā)生器的功能模塊及仿真 144.3系統(tǒng)時(shí)鐘分頻的功能模塊及仿真 154.432位鎖存器的功能模塊及仿真 164.4.1鎖存器 164.4.2鎖存器的功能模塊及仿真 174.5數(shù)碼管掃描的功能模塊及仿真 184.6數(shù)碼管譯碼顯示的功能模塊及仿真 194.7十進(jìn)制計(jì)數(shù)器的功能模塊及仿真 214.7.1計(jì)數(shù)器 214.7.2十進(jìn)制計(jì)數(shù)器的功能模塊及仿真 214.88位十進(jìn)制數(shù)字頻率計(jì)的仿真 23第五章結(jié)束語 30參考文獻(xiàn) 318位十進(jìn)制數(shù)字頻率計(jì)的設(shè)計(jì)緒論P(yáng)AGE498位十進(jìn)制數(shù)字頻率計(jì)的設(shè)計(jì)緒論第一章緒論1.1設(shè)計(jì)背景數(shù)字頻率計(jì)[1]是電子測量與儀表技術(shù)最基礎(chǔ)的電子儀表類不之一,數(shù)字頻率計(jì)是計(jì)算機(jī)、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器,而且它是數(shù)字電壓必不可少的部件。當(dāng)今數(shù)字頻率計(jì)不僅是作為電壓表,計(jì)算機(jī),天線電廣播通訊設(shè)備,工藝過程自動化裝置、多種儀表儀器與家庭電器等許多電子產(chǎn)品中的數(shù)據(jù)信息輸出顯示器反映到人們眼簾。集成數(shù)字頻率計(jì)由于所用元件少、投資少、體積小、功耗低,且可靠性高、功能強(qiáng)、易于設(shè)計(jì)和研發(fā),使得它具有技術(shù)上的有用性和應(yīng)用的廣泛性。不論從我們用的彩色電視機(jī)、電冰箱、DVD還有我們現(xiàn)在家庭常用到的數(shù)字電壓表數(shù)字萬用表等等都包含有頻率計(jì)?,F(xiàn)在頻率計(jì)已是向數(shù)字智能方向進(jìn)展,即能夠?qū)iT精確的讀數(shù)也精巧易于操縱。數(shù)字頻率計(jì)已是現(xiàn)在頻率計(jì)進(jìn)展的方向,它不僅能夠?qū)iT方便的讀數(shù)。而且還能夠使頻率的測量范圍和測量準(zhǔn)確度上都比較先進(jìn).而且頻率計(jì)的使用已設(shè)計(jì)到專門多的方面,數(shù)字衛(wèi)星,數(shù)字通訊等高科技的領(lǐng)域都有應(yīng)用,今天數(shù)字頻率計(jì)的進(jìn)展差不多不僅僅是一個(gè)小電子產(chǎn)品的進(jìn)展也是整個(gè)民族乃至整個(gè)國家的進(jìn)展,因此頻率計(jì)的進(jìn)展是一個(gè)整體的趨勢。 而從民族產(chǎn)業(yè)上來講,我們在這種產(chǎn)業(yè)中還落后于西方發(fā)達(dá)國家,這將會關(guān)系到民族產(chǎn)業(yè)的興衰。因此我們必須專門重視當(dāng)前的情況,學(xué)習(xí)發(fā)達(dá)國家的先進(jìn)技術(shù)來進(jìn)展本國的電子信息產(chǎn)業(yè)。1.2設(shè)計(jì)意義我國的頻率計(jì)事實(shí)上不是落后發(fā)達(dá)國家太多的,我國在那個(gè)領(lǐng)域的進(jìn)展是極其迅速的,現(xiàn)在的技術(shù)實(shí)際已是多年來見證。我國現(xiàn)時(shí)期電子產(chǎn)品的市場特點(diǎn),電子數(shù)字化進(jìn)展專門快。在我國和發(fā)達(dá)國家的進(jìn)展情況是趨于一致的,數(shù)字頻率計(jì)差不多應(yīng)用于高科技等產(chǎn)品上面,能夠不無夸張的講沒有不包含有頻率計(jì)的電子產(chǎn)品。我國的CD、VCD、DVD和數(shù)字音響廣播等新技術(shù)已開始大量進(jìn)入市場。而在今天這些行業(yè)中都必須用到頻率計(jì)。頻率計(jì)已開始并正在向智能,精細(xì)方向的進(jìn)展。國外的進(jìn)展比我國要早,因此在這些行業(yè)中還領(lǐng)先于我們,我國依舊缺少開發(fā)和研發(fā)的資金投入,專門多的電子企業(yè)都不太樂意去花大量的時(shí)刻,資金和精力去研究和開發(fā),這也就使得我國在這方面的人力和資金都不充足,也就無法于發(fā)達(dá)國家相比,不能夠形成一個(gè)量產(chǎn)的效果。從而專門多的企業(yè)沒有競爭力,這也和我國其他的民族產(chǎn)業(yè)存在相同的情況,這也正是我國在高速進(jìn)展后的今天專門少有自己的民族品牌的緣故,因此我國應(yīng)該大力的支持自己的民族品牌,不僅僅是要在資金和人才的投入,還要有具體的實(shí)際行動并起到一定的愛護(hù)作用。1.3本文的要緊工作本文的要緊工作為:(1)首先分析了8位十進(jìn)制數(shù)字頻率計(jì)的差不多原理。(2)對設(shè)計(jì)工具QuartusII進(jìn)行了介紹,對設(shè)計(jì)中使用的VHDL語言[2-3]進(jìn)行介紹。(3)對數(shù)字頻率計(jì)的各個(gè)模塊功能的分析,進(jìn)行了功能仿真測試,得出仿真波形圖。本文的安排如下:第一章介紹數(shù)字頻率計(jì)的設(shè)計(jì)背景,設(shè)計(jì)意義,第二章介紹EDA技術(shù)原理與概述,本論文是以EDA技術(shù)為基礎(chǔ)編寫的因此對EDA技術(shù)的要求比較高,對VHDL語言的編寫以及QuartusII的運(yùn)用都要比較熟練。介紹了可編程邏輯器件FPGA和硬件描述語言,第三章是對數(shù)字頻率計(jì)的差不多原理以及對設(shè)計(jì)的要求進(jìn)行概述,對目標(biāo)芯片的介紹等,第四章介紹各個(gè)功能模塊的差不多功能以及VHDL語言的分析,將各部分進(jìn)行仿真并對其進(jìn)行仿真分析,測出所給頻率。對該設(shè)計(jì)的數(shù)字頻率計(jì)的仿真進(jìn)行理論值與實(shí)驗(yàn)值的驗(yàn)證,第五章是本文的結(jié)束語。8位十進(jìn)制數(shù)字頻率計(jì)的設(shè)計(jì)EDA技術(shù)原理與概述第二章EDA技術(shù)原理與概述2.1可編程邏輯器件差不多原理FPGA[4-5]是一種高密度的可編程邏輯器件,自從Xilinx公司1985年推出第一片F(xiàn)PGA以來,FPGA的集成密度和性能提高專門快,其集成密度最高達(dá)1000萬門/片以上,系統(tǒng)性能可達(dá)300MHz。由于FPGA器件集成度高,方便易用,開發(fā)和上市周期短,在數(shù)字設(shè)計(jì)和電子生產(chǎn)中得到迅速普及和應(yīng)用。FPGA采納了邏輯單元陣列LCA(LogicCellArray)如此一個(gè)概念,內(nèi)部包括可配置邏輯模塊CLB(ConfigurableLogicBlock)、輸出輸入模塊IOB(InputOutputBlock)和內(nèi)部連線(Interconnect)三個(gè)部分。現(xiàn)場可編程門陣列(FPGA)是可編程器件。與傳統(tǒng)邏輯電路和門陣列(如PAL,GAL及CPLD器件)相比,F(xiàn)PGA具有不同的結(jié)構(gòu),F(xiàn)PGA利用小型查找表(16×1RAM)來實(shí)現(xiàn)組合邏輯,每個(gè)查找表連接到一個(gè)D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動其他邏輯電路或驅(qū)動I/O,由此構(gòu)成了既可實(shí)現(xiàn)組合邏輯功能又可實(shí)現(xiàn)時(shí)序邏輯功能的差不多邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲單元加載編程數(shù)據(jù)來實(shí)現(xiàn)的,存儲在存儲器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實(shí)現(xiàn)的功能,F(xiàn)PGA同意無限次的編程。FPGA器件優(yōu)點(diǎn):高密度、高速率、系列化、標(biāo)準(zhǔn)化、小型化、多功能、低功耗、低成本,設(shè)計(jì)靈活方便,可無限次反復(fù)編程,并可現(xiàn)場模擬調(diào)試驗(yàn)證。圖2.1FPGA差不多結(jié)構(gòu)2.2硬件描述語言目前最要緊的硬件描述語言是VHDL和VerilogHDL,VerilogHDL和HDL差不多上用于邏輯設(shè)計(jì)的硬件描述語言,同時(shí)都已成為IEEE標(biāo)準(zhǔn)。VHDL進(jìn)展的較早,語法嚴(yán)格,而VerilogHDL是在C語言的基礎(chǔ)上進(jìn)展起來的一種硬件描述語言,語法較自由。VHDL和VerilogHDL兩者相比,VHDL的書寫規(guī)則比Verilog煩瑣一些,但verilog自由的語法也容易讓少數(shù)初學(xué)者出錯(cuò)。VerilogHDL和VHDL作為描述硬件電路設(shè)計(jì)的語言,其共同的特點(diǎn)在于:能形式化地抽象表示電路的行為和結(jié)構(gòu)、支持邏輯設(shè)計(jì)中層次與范圍的描述、可借用高級語言的精巧結(jié)構(gòu)來簡化電路行為的描述、具有電路仿真與驗(yàn)證機(jī)制以保證設(shè)計(jì)的正確性、支持電路描述由高層到低層的綜合轉(zhuǎn)換、硬件描述與實(shí)現(xiàn)工藝無關(guān)。本設(shè)計(jì)是用的VHDL語言來實(shí)現(xiàn)數(shù)字頻率計(jì)的設(shè)計(jì)的,本設(shè)計(jì)將重點(diǎn)介紹VHDL語言。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)部功能和算法完成部分。在對一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計(jì)就能夠直接調(diào)用那個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的差不多點(diǎn)。VHDL語言能夠成為標(biāo)準(zhǔn)化的硬件描述語言并獲得廣泛應(yīng)用,它自身必定具有專門多其他硬件描述語言所不具備的優(yōu)點(diǎn)。VHDL程序組成部分由實(shí)體、構(gòu)造體、配置、包集合、庫5個(gè)部分組成。各組成部分的作用是:(1)實(shí)體:用于描述所設(shè)計(jì)的系統(tǒng)的外部接口信號。(2)構(gòu)造體:用于描述系統(tǒng)內(nèi)部結(jié)構(gòu)和行為。(3)配置:用于從庫中選取不同單元(器件)來組成系統(tǒng)設(shè)計(jì)的不同版本。(4)包集合:存放各設(shè)計(jì)模塊都能共享的數(shù)據(jù)類型,常數(shù)和子程序等。(5)庫:可由系統(tǒng)工程師生成或由ASIC芯片商提供,以便在設(shè)計(jì)中共享。VHDL系統(tǒng)優(yōu)勢(1)與其他的硬件描述語言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語言。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對設(shè)計(jì)進(jìn)行仿真模擬。(3)VHDL語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個(gè)代發(fā)組共同并行工作才能實(shí)現(xiàn)。(4)關(guān)于用VHDL完成的一個(gè)確定的設(shè)計(jì),能夠利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動的把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級網(wǎng)表。(5)VHDL對設(shè)計(jì)的描述具有相對獨(dú)立性,設(shè)計(jì)者能夠不明白硬件的結(jié)構(gòu),也不必治理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。2.3集成開發(fā)軟件QuartusII[6-7]是Altera公司推出的新一代開發(fā)軟件,適合于大規(guī)模邏輯電路設(shè)計(jì),其設(shè)計(jì)流概括為設(shè)計(jì)輸入[8]、設(shè)計(jì)編譯、設(shè)計(jì)仿真和設(shè)計(jì)下載過程。QuartusII支持多種編輯輸入法,包括圖形編輯輸入法,VHDL,VerilogHDL和AHDL的文本編輯輸入法,符號編輯輸入法,以及內(nèi)存編輯輸入法。QuartusII與MATLAB和DSPBuilder結(jié)合能夠進(jìn)行基于FPGA的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)[9]實(shí)現(xiàn)的關(guān)鍵EDA工具,與SOPCBuilder結(jié)合,可實(shí)現(xiàn)SOPC系統(tǒng)開發(fā)。Quartus(R)II軟件中的工程由所有設(shè)計(jì)文件和與設(shè)計(jì)有關(guān)的設(shè)置組成。能夠使用QuartusIIBlockEditor、TextEditor、MegaWizard(R)Plug-InManager(Tools菜單)和EDA設(shè)計(jì)輸入工具[10]建立包括Altera(R)宏功能模塊、參數(shù)化模塊庫(LPM)函數(shù)和知識產(chǎn)權(quán)(IP)函數(shù)在內(nèi)的設(shè)計(jì)。能夠使用Settings對話框(Assignments菜單)和AssignmentEditor設(shè)定初始設(shè)計(jì)約束條件。如圖2.2所示為設(shè)計(jì)輸入流程圖。圖2.2設(shè)計(jì)輸入流程圖本設(shè)計(jì)將以QuartusII軟件來進(jìn)行各個(gè)數(shù)據(jù)的操作,將仿確實(shí)圖形數(shù)據(jù)來分析該課題。本設(shè)計(jì)所選擇的QuartusII文本編輯輸入法,在文本編輯窗口中完成VHDL設(shè)計(jì)文件的編輯,然后對設(shè)計(jì)文件進(jìn)行編譯、仿真操作。詳細(xì)介紹QuartusII文本編輯輸入法的使用方法:1.編輯設(shè)計(jì)文件(1)新建一個(gè)文件夾。利用資源治理器,新建一個(gè)文件夾,如e:\SINGNT。(2)輸入源程序。打開QuartusII,執(zhí)行File→New,在New窗口中的“DeviceDesignFiles”中選擇編譯文件的語言類型,那個(gè)地點(diǎn)選“VHDLFiles”,然后在VHDL文本編譯窗口中鍵入VHDL程序。如圖2.3所示。(3)文件存盤。執(zhí)行File→SaveAs,找到已設(shè)立的文件夾e:\SIN_GNT,存盤文件名應(yīng)該與實(shí)體名一致。2.創(chuàng)建工程(1)建立新工程治理窗。執(zhí)行File→NewProjectWizard命名,在圖2.4對話框進(jìn)行工程設(shè)置。(2)將設(shè)計(jì)文件加入工程中。(3)選擇仿真器和綜合器類型。(4)選擇芯片。(5)結(jié)束設(shè)置。3.編譯前設(shè)置圖2.3選擇編輯文件的語言類型圖2.4利用“NewProjectWizard”創(chuàng)建工程(1)選擇目標(biāo)芯片,執(zhí)行Assignmemts→settings命令,在彈出的對話框中選CompilerSettings項(xiàng)下的Device選目標(biāo)芯片。(2)選擇目標(biāo)器件編程配置方式,由圖2.5的按鈕DevicePinOptions進(jìn)入選擇窗,可選Configuration方式為ActiveSerial。(3)在下圖所示的ProgrammingFiles窗口,Hexadecimal(Intel-Format)outputFile,即產(chǎn)生下載文件的同時(shí),產(chǎn)生二進(jìn)制十六進(jìn)制配置文件fraqtest.hexout,可用于單片機(jī)與EPROM構(gòu)成的FPGA配置電路系統(tǒng)如圖2.6所示。4.編譯及了解編譯結(jié)果首先執(zhí)行Processing→StartCompilation命令,啟動全程編譯,假如工程中的文件有錯(cuò)誤,在下方的Processing處理欄中會顯示出來。關(guān)于Processing欄顯示出的語句格式錯(cuò)誤,可雙擊此條文,即彈出VHDL文件,在閃動的光標(biāo)處(或附近)可發(fā)覺文件中的錯(cuò)誤。再次進(jìn)行編譯直至排除所有錯(cuò)誤。5.仿真(1)打開波形編輯器。選擇菜單File→New命令,在New窗口中選擇OtherFiles中的“VectorWaveformFile”打開波形編輯器。(2)設(shè)置仿真時(shí)刻區(qū)域。執(zhí)行Edit→EndTime項(xiàng),在彈出窗口中的Time窗口中的設(shè)定仿真時(shí)刻50μs。(3)存盤波形文件。選擇File中的Saveas,將以名為cnt4b的波形文件存入文件夾。(4)輸入信號節(jié)點(diǎn)。(5)編輯輸入波形。點(diǎn)擊時(shí)鐘名CLK,使之變?yōu)樗{(lán)色,再點(diǎn)擊左列的時(shí)鐘設(shè)置鍵,在Clock窗口中設(shè)置CLK的周期為3μs,再對文件存盤。圖2.5選擇配置器件和配置方式(6)總線數(shù)據(jù)格式設(shè)置。假如點(diǎn)擊輸出信號DOUT左旁的“+”,則將展開此總線中的所有信號;假如雙擊此“+”號左旁的信號標(biāo)記,將彈出對該信號數(shù)據(jù)格式設(shè)置的Radix欄有4種選擇。(7)仿真器參數(shù)設(shè)置。執(zhí)行Assignment→Settings命令,在Settings窗口執(zhí)行Catgory→SimulatorSettings命名,在此項(xiàng)下分不選中General按鈕,觀看仿真總體設(shè)置情況;選中Mode按鈕,以確定仿真模式為時(shí)序仿真Timing;選中Optiongs,確認(rèn)選定“Simulationcoveragereporting”;毛刺檢測Glitchdetection為1ns寬度。(8)啟動仿真器,觀看仿真結(jié)果。執(zhí)行Processing→StartSimulation命名,直到出現(xiàn)“Simulationwassuccessful”。仿真波形文件SimulationReport通常會自動彈出,將仿真輸出結(jié)果與文件數(shù)據(jù)比較。圖2.6選定目標(biāo)器件8位十進(jìn)制數(shù)字頻率計(jì)的設(shè)計(jì)EDA技術(shù)原理與概述8位十進(jìn)制數(shù)字頻率計(jì)的設(shè)計(jì)數(shù)字頻率計(jì)的系統(tǒng)分析第三章數(shù)字頻率計(jì)的系統(tǒng)分析
3.18位十進(jìn)制數(shù)字頻率計(jì)系統(tǒng)設(shè)計(jì)的原理
3.1.1數(shù)字頻率計(jì)的差不多原理數(shù)字頻率計(jì)的差不多原理是用一個(gè)頻率穩(wěn)定度高的頻率源作為基準(zhǔn)時(shí)鐘,通常情況下計(jì)算每秒內(nèi)待測信號的脈沖個(gè)數(shù),現(xiàn)在我們稱閘門時(shí)刻為1秒。閘門時(shí)刻也能夠大于或小于一秒。閘門時(shí)刻越長,得到的頻率值就越準(zhǔn)確,但閘門時(shí)刻越長則每測一次頻率的間隔就越長。閘門時(shí)刻越短,測的頻率值刷新就越快,但測得的頻率精度就受阻礙。數(shù)字頻率計(jì)的要緊功能是測量周期信號的頻率。頻率是單位時(shí)刻(1S)內(nèi)信號發(fā)生周期變化的次數(shù)。假如我們能在給定的1S時(shí)刻內(nèi)對信號波形計(jì)數(shù),并將計(jì)數(shù)結(jié)果顯示出來,就能讀取被測信號的頻率。數(shù)字頻率計(jì)首先必須獲得相對穩(wěn)定與準(zhǔn)確的時(shí)刻,同時(shí)將被測信號轉(zhuǎn)換成幅度與波形均能被數(shù)字電路識不的脈沖信號,然后通過計(jì)數(shù)器計(jì)算這一段時(shí)刻間隔內(nèi)的脈沖個(gè)數(shù),將其換算后顯示出來。這確實(shí)是數(shù)字頻率計(jì)的差不多原理。3.1.2系統(tǒng)總體框架圖圖3.1系統(tǒng)總體框架圖總體框圖設(shè)計(jì)思路:由50MHz系統(tǒng)時(shí)鐘分頻得到0.5Hz的基準(zhǔn)時(shí)鐘。在基準(zhǔn)時(shí)鐘的1S高電平期間計(jì)被測頻率的脈沖個(gè)數(shù),1S高電平結(jié)束時(shí)計(jì)數(shù)結(jié)束,所記錄的脈沖個(gè)數(shù)是被測信號的頻率,為了在數(shù)碼管上顯示計(jì)數(shù)結(jié)果需要鎖存器將所計(jì)的數(shù)鎖存,因此,在基準(zhǔn)時(shí)鐘下降沿來的時(shí)候鎖存器實(shí)現(xiàn)鎖存功能。為了下次計(jì)數(shù)必須將本次計(jì)數(shù)的結(jié)果清零,因此在基準(zhǔn)時(shí)鐘低電平期間對計(jì)數(shù)器清零。被測頻率從計(jì)數(shù)器的是中端輸入實(shí)現(xiàn)頻率的測試。將鎖存器鎖存的數(shù)據(jù)輸入掃描器,通過譯碼器將鎖存的二進(jìn)制數(shù)譯成十進(jìn)制然后顯示到數(shù)碼管上,最終被讀出來。3.28位十進(jìn)制數(shù)字頻率計(jì)設(shè)計(jì)任務(wù)及要求
用測頻法設(shè)計(jì)一個(gè)八位十進(jìn)制的數(shù)字頻率器,測頻范圍是1HZ到49999999HZ。(1)測量范圍信號:方波、正弦波;幅度:0.5V~5V;頻率:1Hz~4999999HZ。(2)測量范圍信號:脈沖波;幅度:0.5V~5V;脈沖寬度≥100μs.測量誤差≤1%。(3)顯示器:十進(jìn)制數(shù)字顯示,顯示刷新時(shí)刻1~10秒連續(xù)可調(diào),對上述三種測量功能分不用不同顏色的發(fā)光二極管指示。
(4)具有自校功能,時(shí)標(biāo)信號頻率為1Hz。
3.3目標(biāo)芯片F(xiàn)LEX10K目標(biāo)芯片[11]選用Altera公司生產(chǎn)的FPGA產(chǎn)品FLEX10K系列[9]中的LC84-4,F(xiàn)LEX10K是ALTERA公司研制的第一個(gè)嵌入式的PLD可編程邏輯器件系列。它具有高密度、低成本、低功率等特點(diǎn),利用FLEX10K系列CPLD可編程邏輯器件的EAB可在系統(tǒng)中實(shí)現(xiàn)邏輯功能和存貯功能。FLEX10K是ALTERA公司研制的第一個(gè)嵌入式的PLD,它具有高密度、低成本、低功率等特點(diǎn),是當(dāng)今ALTERACPLD中應(yīng)用前景最好的器件系列之一。它采納了重復(fù)可構(gòu)造的CMOSSRAM工藝,并把連續(xù)的快速通道互連與獨(dú)特的嵌入式陣列結(jié)構(gòu)相結(jié)合,同時(shí)可結(jié)合眾多可編程器件來完成一般門陣列的宏功能。每一個(gè)FLEX10K器件均包括一個(gè)嵌入式陣列和一個(gè)邏輯陣列,因而設(shè)計(jì)人員可輕松地開發(fā)集存貯器、數(shù)字信號處理器及專門邏輯等強(qiáng)大功能于一身的芯片。FPGA采納可編程的查找表LUT(LookUpTable)結(jié)構(gòu)。LUT是可編程的最小邏輯單元,大部分FPGA采納基于SRAM的查找表邏輯形式結(jié)構(gòu),用SRAM來構(gòu)成邏輯函數(shù)發(fā)生器。FLEX內(nèi)部結(jié)構(gòu)如圖3.2所示。圖3.2FLEX內(nèi)部芯片結(jié)構(gòu)8位十進(jìn)制數(shù)字頻率計(jì)的設(shè)計(jì)數(shù)字頻率計(jì)的系統(tǒng)分析8位十進(jìn)制數(shù)字頻率計(jì)的設(shè)計(jì)各功能模塊基于VHDL的設(shè)計(jì)與仿真第四章各功能模塊基于VHDL的設(shè)計(jì)與仿真
4.18位十進(jìn)制數(shù)字頻率計(jì)的電路邏輯圖
8位十進(jìn)制數(shù)字頻率計(jì)的電路邏輯圖,它由一個(gè)測頻操縱信號發(fā)生器TESTCTL、8個(gè)有時(shí)鐘使能的十進(jìn)制計(jì)數(shù)器CNT10、一個(gè)32位鎖存器REG32B[8]組成。以下分不敘述頻率計(jì)各邏輯模塊的功能與設(shè)計(jì)方法。8位十進(jìn)制數(shù)字頻率計(jì)的電路邏輯如圖4.18所示。圖4.18位十進(jìn)制數(shù)字頻率計(jì)的電路邏輯圖4.2測頻操縱信號發(fā)生器的功能模塊及仿真(1)測頻操縱信號發(fā)生器的功能模塊如圖4.2所示。圖4.2測頻操縱信號發(fā)生器的功能模塊圖(2)源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL; USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYTESTCTLISPORT(CLK:INSTD_LOGIC;--1Hz測頻操縱時(shí)鐘TSTEN:OUTSTD_LOGIC;--計(jì)數(shù)器時(shí)鐘使能CLR_CNT:OUTSTD_LOGIC; --計(jì)數(shù)器清零LOAD:OUTSTD_LOGIC); --輸出鎖存信號ENDENTITYTESTCTL;ARCHITECTUREARTOFTESTCTLISSIGNALDIV2CLK:STD_LOGIC;BEGINPROCESS(CLK)ISBEGINIFCLK'EVENTANDCLK='1'THEN--1HZ時(shí)鐘二分頻DIV2CLK<=NOTDIV2CLK;ENDIF;ENDPROCESS;PROCESS(CLK,DIV2CLK)ISBEGINIFCLK='0'ANDDIV2CLK='0'THEN--產(chǎn)生計(jì)數(shù)器清零信號CLR_CNT<='1';ELSECLR_CNT<='0';ENDIF;ENDPROCESS;LOAD<=NOTDIV2CLK;TSTEN<=DIV2CLK;ENDARCHITECTUREART;頻率計(jì)的關(guān)鍵是設(shè)計(jì)一個(gè)測頻率操縱信號發(fā)生器,產(chǎn)生測量頻率的操縱時(shí)序。操縱時(shí)鐘信號CLK取為1Hz,2分頻后即可產(chǎn)生一個(gè)脈寬為1秒的時(shí)鐘TSTEN,以此作為計(jì)數(shù)閘門信號。當(dāng)TSTEN為高電平常,同意計(jì)數(shù);當(dāng)TSTEN由高電平變?yōu)榈碗娖剑ㄏ陆笛氐絹恚r(shí),應(yīng)產(chǎn)生一個(gè)鎖存信號,將計(jì)數(shù)值保存起來;鎖存數(shù)據(jù)后,還要在下次TSTEN上升沿到哦來之前產(chǎn)生零信號CLEAR,將計(jì)數(shù)器清零,為下次計(jì)數(shù)作預(yù)備,如圖4.3所示為測頻操縱信號仿真圖。圖4.3測頻操縱信號仿真圖4.3系統(tǒng)時(shí)鐘分頻的功能模塊及仿真(1)系統(tǒng)時(shí)鐘分頻的分頻功能模塊如圖4.4因此。圖4.4系統(tǒng)時(shí)鐘分頻的功能模塊圖(2)源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYdiv1hzISPORT(CLK:INSTD_LOGIC;CLOCK:OUTSTD_LOGIC);ENDdiv1hz;ARCHITECTUREBEHAVOFdiv1hzISSIGNALCOUNT:INTEGERRANGE0TO500000;SIGNALCLK_DATA:STD_LOGIC;BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENIFCOUNT=500THENCOUNT<=0;CLK_DATA<=NOTCLK_DATA;ELSECOUNT<=COUNT+1;ENDIF;ENDIF;CLOCK<=CLK_DATA;ENDPROCESS;ENDBEHAV;該模塊由系統(tǒng)時(shí)鐘分頻模塊[12]為TESTCTL的計(jì)數(shù)能使信號TSTEN產(chǎn)生一個(gè)1S脈寬的周期信號,并對頻率計(jì)中的32位十進(jìn)制計(jì)數(shù)器CNT10的ENA使能端進(jìn)行同步操縱。TSTEN高電平常同意計(jì)數(shù);當(dāng)?shù)碗娖匠MV褂?jì)數(shù),并保持其所計(jì)的脈沖數(shù)。在停止計(jì)數(shù)期間,從仿真圖4.5中能夠看出,一個(gè)鎖存信號LOAD的上跳沿將計(jì)數(shù)器在前一秒的計(jì)數(shù)值鎖存進(jìn)鎖REG32B中,并由外部的十進(jìn)制7段數(shù)碼管顯示計(jì)數(shù)值。設(shè)置鎖存器的好處是數(shù)據(jù)顯示穩(wěn)定,可不能由于周期性的清零信號而不斷閃耀。鎖存信號后,必須有一個(gè)清零信號CLR_CNT對計(jì)數(shù)器進(jìn)行清零,為下一秒的計(jì)數(shù)操作做預(yù)備。圖4.5系統(tǒng)時(shí)鐘分頻的分頻功能仿真圖4.432位鎖存器的功能模塊及仿真4.4.1鎖存器[13]鎖存器(Latch)是一種對脈沖電平敏感的存儲單元電路,它們能夠在特定輸入脈沖電平作用下改變狀態(tài)。鎖存,確實(shí)是把信號暫存以維持某種電平狀態(tài)。鎖存器的最要緊作用是緩存,其次完成高速的操縱其與慢速的外設(shè)的不同步問題,再其次是解決驅(qū)動的問題,最后是解決一個(gè)I/O口既能輸出也能輸入的問題。4.4.2鎖存器的功能模塊及仿真(1)32位鎖存器的功能模塊如圖4.6所示。圖4.6鎖存器的功能模塊圖(2)源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYREG32BISPORT(LOAD:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(31DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(31DOWNTO0));ENDENTITYREG32B;ARCHITECTUREARTOFREG32BISBEGINPROCESS(LOAD,DIN)ISBEGINIFLOAD'EVENTANDLOAD='1'THENDOUT<=DIN;--鎖存輸入數(shù)據(jù)ENDIF;ENDPROCESS;ENDARCHITECTUREART;仿真圖4.7的LOAD信號上升沿到來時(shí)將對輸入到內(nèi)部的CNT10計(jì)數(shù)信號進(jìn)行鎖存,并將結(jié)果輸出給SELTIME。當(dāng)輸入信號上升到時(shí)就會產(chǎn)生鎖存,否則,不進(jìn)行鎖存,該仿真在上升沿的時(shí)候,將其鎖存起來,直到下個(gè)上升沿才會改變鎖存的數(shù)據(jù),如仿真在“1”的時(shí)候上升,則對“1”進(jìn)行鎖存。圖4.7鎖存器的功能仿真4.5數(shù)碼管掃描的功能模塊及仿真(1)數(shù)碼管掃描[8]的功能模塊如圖4.8所示。圖4.8數(shù)碼管掃描的功能模塊(2)源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYSELTIMEISPORT(CLK:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(31DOWNTO0);DAOUT:OUTSTD_LOGIC_VECTOR(3DOWNTO0);SEL:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDSELTIME;ARCHITECTUREbehavOFSELTIMEISSIGNALSEC:STD_LOGIC_VECTOR(2DOWNTO0);BEGINPROCESS(CLK)BEGINIF(CLK'EVENTANDCLK='1')THENIF(SEC="111")THENSEC<="000";ELSESEC<=SEC+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(SEC,DIN(31DOWNTO0))BEGINCASESECISWHEN"000"=>DAOUT<=DIN(3DOWNTO0);WHEN"001"=>DAOUT<=DIN(7DOWNTO4);WHEN"010"=>DAOUT<=DIN(11DOWNTO8);WHEN"011"=>DAOUT<=DIN(15DOWNTO12);WHEN"100"=>DAOUT<=DIN(19DOWNTO16);WHEN"101"=>DAOUT<=DIN(23DOWNTO20);WHEN"110"=>DAOUT<=DIN(27DOWNTO24);WHEN"111"=>DAOUT<=DIN(31DOWNTO28);
WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;SEL<=SEC;ENDbehav;鎖存信號輸出DIN[31..0],然后由SELTIME進(jìn)行掃描輸出,從仿真圖4.9能夠得出,當(dāng)SEL為”000”時(shí)選通第一個(gè)CNT10,輸出到LED7進(jìn)行譯碼輸出。該仿真圖中的SEL為“000”選通第一個(gè)CNT7,當(dāng)所選SEL為“001”時(shí)所選通第二個(gè)CNT6,依次類推。當(dāng)所選SEL為“111”時(shí)所選第八個(gè)CNT0。當(dāng)每選定一個(gè)通道所對應(yīng)的輸入一個(gè)4位的二進(jìn)制數(shù)所對應(yīng)得數(shù)碼管,圖4.9為數(shù)碼管掃描的仿真圖。圖4.9數(shù)碼掃描管仿真圖4.6數(shù)碼管譯碼顯示的功能模塊及仿真
(1)數(shù)碼管譯碼顯示的功能模塊如圖4.10所示。圖4.10數(shù)碼管譯碼顯示的功能模塊(2)源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYLED7ISPORT(DIN:INSTD_LOGIC_VECTOR(3DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDLED7;ARCHITECTUREbehavOFLED7IS--SIGNALLED7:STD_LOGIC_VECTOR(6DOWNTO0);BEGINPROCESS(DIN)BEGINCASEDINIS"0000"=>DOUT<="0111111";WHEN"0001"=>DOUT<="0000110";WHEN"0010"=>DOUT<="1011011";WHEN"0011"=>DOUT<="1001111";WHEN
"0100"=>DOUT<="1100110";WHEN"0101"=>DOUT<="1101101";WHEN"0110"=>DOUT<="1111101";WHEN"0111"=>DOUT<="0000111";WHEN"1000"=>DOUT<="1111111";WHEN"1001"=>DOUT<="1101111";WHEN"1010"=>DOUT<="1110111";WHEN"1011"=>DOUT<="1111100";WHEN"1100"=>DOUT<="0111001";WHEN"1101"=>DOUT<="1011110";WHEN"1110"=>DOUT<="1111001";WHEN"1111"=>DOUT<="1110001";WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;ENDARCHITECTUREbehav;數(shù)碼譯碼[14]要緊是用來完成各種碼制之間的轉(zhuǎn)換。例如可用來完成BCD—十進(jìn)制數(shù)、十進(jìn)制數(shù)—BCD之間數(shù)制的轉(zhuǎn)換。從圖4.11仿真圖可知,當(dāng)LED的輸入為“0X7E”數(shù)碼管就會顯示為“0”,當(dāng)LED的輸入為“0X06”數(shù)碼管就會顯示為“1”。圖4.11為數(shù)碼管譯碼顯示仿真圖。圖4.11數(shù)碼管譯碼顯示仿真圖4.7十進(jìn)制計(jì)數(shù)器的功能模塊及仿真4.7.1計(jì)數(shù)器計(jì)數(shù)是一種最簡單差不多的運(yùn)算,計(jì)數(shù)器[15]確實(shí)是實(shí)現(xiàn)這種運(yùn)算的邏輯電路,計(jì)數(shù)器在數(shù)字系統(tǒng)中要緊是對脈沖的個(gè)數(shù)進(jìn)行計(jì)數(shù),以實(shí)現(xiàn)測量、計(jì)數(shù)和操縱的功能,同時(shí)兼有分頻功能,計(jì)數(shù)器是由差不多的計(jì)數(shù)單元和一些操縱門所組成,計(jì)數(shù)單元?jiǎng)t由一系列具有存儲信息功能的各類觸發(fā)器構(gòu)成,這些觸發(fā)器有RS觸發(fā)器、T觸發(fā)器、D觸發(fā)器及JK觸發(fā)器等。計(jì)數(shù)器在數(shù)字系統(tǒng)中應(yīng)用廣泛,如在電子計(jì)算機(jī)的操縱器中對指令地址進(jìn)行計(jì)數(shù),以便順序取出下一條指令,在運(yùn)算器中作乘法、除法運(yùn)算時(shí)記下加法、減法次數(shù),又如在數(shù)字儀器中對脈沖的計(jì)數(shù)等等。計(jì)數(shù)器能夠用來顯示產(chǎn)品的工作狀態(tài),一般來講要緊是用來表示產(chǎn)品差不多完成了多少份的折頁配頁工作。它要緊的指標(biāo)在于計(jì)數(shù)器的位數(shù),常見的有3位和4位的。專門顯然,3位數(shù)的計(jì)數(shù)器最大能夠顯示到999,4位數(shù)的最大能夠顯示到9999。4.7.2十進(jìn)制計(jì)數(shù)器的功能模塊及仿真(1)十進(jìn)制計(jì)數(shù)器的功能模塊如圖4.12所示。圖4.12十進(jìn)制計(jì)數(shù)器的功能模塊(2)源程序如下:
LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL; ENTITYCNT10ISPORT(CLK:INSTD_LOGIC; --計(jì)數(shù)時(shí)鐘信號CLR:INSTD_LOGIC; --清零信號ENA:INSTD_LOGIC; --計(jì)數(shù)使能信號CQ:OUTINTEGERRANGE0TO15; --4位計(jì)數(shù)結(jié)果輸出CARRY_OUT:OUTSTD_LOGIC); --計(jì)數(shù)進(jìn)位ENDENTITYCNT10;ARCHITECTUREARTOFCNT10ISSIGNALCQI:INTEGERRANGE0TO15;BEGINPROCESS(CLK,CLR,ENA)ISBEGINIFCLR='1'THENCQI<=0; --計(jì)數(shù)器異步清零ELSIFCLK'EVENTANDCLK='1'THENIFENA='1'THENIFCQI<9THENCQI<=CQI+1;ELSECQI<=0;ENDIF;--等于9,則計(jì)數(shù)器清零ENDIF;ENDIF;ENDPROCESS;PROCESS(CQI)ISBEGINIFCQI=9THENCARRY_OUT<='1';--進(jìn)位輸出ELSECARRY_OUT<='0';ENDIF;ENDPROCESS;CQ<=CQI;ENDARCHITECTUREART;該仿確實(shí)作用是實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)功能。從仿真圖4.13中能夠得出,當(dāng)?shù)谝粋€(gè)CNT10計(jì)數(shù)輸出CQ=9時(shí),下一秒時(shí)鐘上升沿到來時(shí),將產(chǎn)生一個(gè)CARRY_OUT信號作為下一個(gè)CNT10的時(shí)鐘信號,同時(shí)CQ清零,依次遞推到8個(gè)CNT10。圖4.13十進(jìn)制計(jì)數(shù)器仿真圖8位十進(jìn)制數(shù)字頻率計(jì)的設(shè)計(jì)各功能模塊基于VHDL的設(shè)計(jì)與仿真4.88位十進(jìn)制數(shù)字頻率計(jì)的功能仿真及電路圖LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL; ENTITYCNT10ISPORT(CLK:INSTD_LOGIC; --計(jì)數(shù)時(shí)鐘信號CLR:INSTD_LOGIC; --清零信號ENA:INSTD_LOGIC; --計(jì)數(shù)使能信號CQ:OUTINTEGERRANGE0TO15; --4位計(jì)數(shù)結(jié)果輸出CARRY_OUT:OUTSTD_LOGIC); --計(jì)數(shù)進(jìn)位ENDENTITYCNT10;ARCHITECTUREARTOFCNT10ISSIGNALCQI:INTEGERRANGE0TO15;BEGINPROCESS(CLK,CLR,ENA)ISBEGINIFCLR='1'THENCQI<=0; --計(jì)數(shù)器異步清零ELSIFCLK'EVENTANDCLK='1'THENIFENA='1'THENIFCQI<9THENCQI<=CQI+1;ELSECQI<=0;ENDIF;--等于9,則計(jì)數(shù)器清零ENDIF;ENDIF;ENDPROCESS;PROCESS(CQI)ISBEGINIFCQI=9THENCARRY_OUT<='1';--進(jìn)位輸出ELSECARRY_OUT<='0';ENDIF;ENDPROCESS;CQ<=CQI;ENDARCHITECTUREART;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYREG32BISPORT(LOAD:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(31DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(31DOWNTO0));ENDENTITYREG32B;ARCHITECTUREARTOFREG32BISBEGINPROCESS(LOAD,DIN)ISBEGINIFLOAD'EVENTANDLOAD='1'THENDOUT<=DIN;--鎖存輸入數(shù)據(jù)ENDIF;ENDPROCESS;ENDARCHITECTUREART;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL; USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYTESTCTLISPORT(CLK:INSTD_LOGIC;--1Hz測頻操縱時(shí)鐘TSTEN:OUTSTD_LOGIC;--計(jì)數(shù)器時(shí)鐘使能CLR_CNT:OUTSTD_LOGIC; --計(jì)數(shù)器清零LOAD:OUTSTD_LOGIC); --輸出鎖存信號ENDENTITYTESTCTL;ARCHITECTUREARTOFTESTCTLISSIGNALDIV2CLK:STD_LOGIC;BEGINPROCESS(CLK)ISBEGINIFCLK'EVENTANDCLK='1'THEN --1HZ時(shí)鐘二分頻DIV2CLK<=NOTDIV2CLK;ENDIF;ENDPROCESS;PROCESS(CLK,DIV2CLK)ISBEGINIFCLK='0'ANDDIV2CLK='0'THEN --產(chǎn)生計(jì)數(shù)器清零信號CLR_CNT<='1';ELSECLR_CNT<='0';ENDIF;ENDPROCESS;LOAD<=NOTDIV2CLK;TSTEN<=DIV2CLK;ENDARCHITECTUREART;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYFREQ8ISPORT(FSIN:INSTD_LOGIC;CLK:INSTD_LOGIC;DOUT:OUTSTD_LOGIC_VECTOR(31DOWNTO0));ENDENTITYFREQ8;ARCHITECTUREARTOFFREQ8ISCOMPONENTCNT10IS --待調(diào)用的有時(shí)鐘使能的十進(jìn)制計(jì)數(shù)器端口定義PORT(CLK,CLR,ENA:INSTD_LOGIC;CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CARRY_OUT:OUTSTD_LOGIC);ENDCOMPONENTCNT10;COMPONENTREG32BIS --待調(diào)用的32位鎖存器端口定義PORT(LOAD:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(31DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(31DOWNTO0));ENDCOMPONENTREG32B;COMPONENTTESTCTLIS --待調(diào)用的測頻操縱信號發(fā)生器端口定義PORT(CLK:INSTD_LOGIC;TSTEN:OUTSTD_LOGIC;CLR_CNT:OUTSTD_LOGIC; LOAD:OUTSTD_LOGIC);endcomponentTESTCTL;SIGNALSE,SC,SL:STD_LOGIC;SIGNALS1,S2,S3,S4,S5,S6,S7,S8:STD_LOGIC;SIGNALSD:STD_LOGIC_VECTOR(31DOWNTO0);BEGINU0:TESTCTLPORTMAP(CLK=>CLK,TSTEN=>SE,CLR_CNT=>SC,LOAD=>SL);U1:CNT10PORTMAP(CLK=>FSIN,CLR=>SC,ENA=>SE,CQ=>SD(3DOWNTO0),CARRY_OUT=>S1);--名字關(guān)聯(lián)U2:CNT10PORTMAP(CLK=>S1,CLR=>SC,ENA=>SE,CQ=>SD(7DOWNTO4),CARRY_OUT=>S2);U3:CNT10PORTMAP(S2,SC,SE,SD(11DOWNTO8),S3); --位置關(guān)聯(lián)U4:CNT10PORTMAP(S3,SC,SE,SD(15DOWNTO12),S4);U5:CNT10PORTMAP(S4,SC,SE,SD(19DOWNTO16),S5);U6:CNT10PORTMAP(S5,SC,SE,SD(23DOWNTO20),S6);U7:CNT10PORTMAP(S6,SC,SE,SD(27DOWNTO24),S7);U8:CNT10PORTMAP(S7,SC,SE,SD(31DOWNTO28),S8);U9:REG32BPORTMAP(LOAD=>SL,DIN=>SD(31DOWNTO0),DOUT=>DOUT);EN
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年防爆電器市場推廣代理合同3篇
- 2025掛靠經(jīng)營的合同范文
- 2025房地產(chǎn)開發(fā)與轉(zhuǎn)讓合同
- 2025關(guān)于廠房買賣合同范本
- 2025技術(shù)開發(fā)的合同書
- 二零二五年度鋼箱梁橋工程索賠與爭議解決合同3篇
- 2024版電力配電室施工合同合同一
- 2025年度混凝土工程設(shè)計(jì)與后期維護(hù)服務(wù)合同3篇
- 企業(yè)網(wǎng)絡(luò)布線改造合同
- 包裝公司屋頂搭建施工合同
- 2024年互聯(lián)網(wǎng)公司勞動合同樣本(二篇)
- 醫(yī)療器械售后服務(wù)能力證明資料模板
- 中考物理總復(fù)習(xí)《力學(xué)的綜合計(jì)算》專項(xiàng)檢測卷(帶答案)
- AQ 1029-2019 煤礦安全監(jiān)控系統(tǒng)及檢測儀器使用管理規(guī)范
- 未成年旅游免責(zé)協(xié)議書
- 預(yù)防保健科主任競聘課件
- 團(tuán)隊(duì)成員介紹
- 水泵行業(yè)銷售人員工作匯報(bào)
- 《流感科普宣教》課件
- 離職分析報(bào)告
- 春節(jié)家庭用電安全提示
評論
0/150
提交評論