版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、大連東軟信息學(xué)院本科畢業(yè)設(shè)計(jì)(論文)論文題目論文題目:基于FPGA的多功能數(shù)字鐘設(shè)計(jì)與實(shí)現(xiàn) 系 所: 電子工程系 專 業(yè):電子信息工程(集成電路設(shè)計(jì)與系統(tǒng)方向) 學(xué)生姓名: 學(xué)生學(xué)號: 指導(dǎo)教師: 導(dǎo)師職稱: 講師 完成日期: 2014年4月28日 大連東軟信息學(xué)院Dalian Neusoft University of Information大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) 摘要 V基于FPGA的多功能數(shù)字鐘設(shè)計(jì)與實(shí)現(xiàn)摘 要隨著人類科技文明的發(fā)展,人們對于時(shí)鐘的要求在不斷地提高。時(shí)鐘已不僅僅被看成一種用來顯示時(shí)間的工具,在很多實(shí)際應(yīng)用中,還需要能夠?qū)崿F(xiàn)更多其它的功能。同時(shí),硬件描述語言和現(xiàn)場
2、可編程門陣列(FPGA ,F(xiàn)ield Programmable Gata Array)的使用,可以極大地方便電路的設(shè)計(jì),結(jié)合電子設(shè)計(jì)自動化(EDA,Electronic Design Automation)技術(shù)已經(jīng)成為一種主導(dǎo)的設(shè)計(jì)方法。本設(shè)計(jì)采用自上而下的設(shè)計(jì)方法,用Verilog語言描述電路,并在EDA工具下完成綜合以及仿真,驗(yàn)證數(shù)字鐘時(shí)序以及功能。本課題要求基于Altera FPGA設(shè)計(jì)與實(shí)現(xiàn)多功能數(shù)字鐘。根據(jù)系統(tǒng)功能劃分為五個(gè)模塊,包括分頻模塊、控制單元、計(jì)數(shù)模塊、響鈴模塊和七段數(shù)碼管顯示,五個(gè)模塊相互作用共同實(shí)現(xiàn)系統(tǒng)功能。具有時(shí)、分、秒計(jì)時(shí)功能、通過按鍵校對時(shí)間功能、整點(diǎn)報(bào)時(shí)功能以及
3、數(shù)碼管顯示功能,此外還可通過按鍵切換具有開始、暫停功能的秒表以及鬧鈴使用。根據(jù)高級數(shù)字系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)的基本流程,通過對系統(tǒng)功能需求進(jìn)行分析,對整體流程圖進(jìn)行設(shè)計(jì)、并提取出數(shù)據(jù)通道和控制單元。接下來,用可綜合的寄存器傳輸級Verilog語言實(shí)現(xiàn)、經(jīng)過ModelSim做功能仿真、再功能滿足要求基礎(chǔ)上,用Quartus II進(jìn)行綜合布局布線,并最終下載到FPGA開發(fā)板進(jìn)行實(shí)機(jī)驗(yàn)證。并在設(shè)計(jì)過程中不斷對電路性能進(jìn)行優(yōu)化。關(guān)鍵詞:EDA工具,Verilog HDL,數(shù)字鐘,F(xiàn)PGA大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) Abstract Design and Implementation of Digital
4、 Clock Based on FPGAAbstractWith the development of human civilization, the requirement of clock is in constant increase. The clock is not only to be seen as a kind of tool used to display the time, in many practical applications, it needs to be able to achieve other more functions. At the same time
5、, the hardware description language and the use of FPGA programmable device can be greatly convenient for the design of the circuit, combined with EDA technology has become a dominant design method. This design adopts the top-down design method, circuit is described by Verilog HDL, and under the EDA
6、 tools, comprehensive and complete simulation verifies the digital clock timing and function.This topic is based on Altera FPGA design and implementation of the multi-function digital clock. According to the system function it is divided into five modules, including the frequency division module, th
7、e control unit, counting module, alarm module and seven segment digital tube display, five modules interact together to achieve system function. It has functions, such as minutes and seconds counting, time adjusting by key, hour alarming and the digital tube displaying, in addition it can switch bet
8、ween second clock and alarm with start and pause function by buttons. According to the basic process of advanced digital system design and implementation, by analyzing system function demand, the whole flow chart can be designed, and data channel and control unit can be extracted also. Next, it can
9、be described by synthesizable register transfer level Verilog language. for function can be verify by ModelSim, place and route is based on Quartus II, and finally it can be downloaded to the FPGA development board to carry on the real hardware test. Circuit performance is continuously optimized in
10、the design process.Key words: EDA Tools, Verilog HDL, Digital Clock, FPGA 大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文) 目錄 目 錄 TOC o 1-3 u 摘 要 PAGEREF _Toc19674 IAbstract PAGEREF _Toc16346 II第1章緒 論 PAGEREF _Toc11744 11.1 課題研究背景與意義 PAGEREF _Toc29295 11.1.1 課題研究的背景 PAGEREF _Toc3536 11.1.2 課題研究的意義 PAGEREF _Toc432 11.2 課題研究內(nèi)容與方法 PA
11、GEREF _Toc4212 21.3 課題研究現(xiàn)狀 PAGEREF _Toc12206 2第2章關(guān)鍵技術(shù)介紹 PAGEREF _Toc3930 32.1 關(guān)鍵技術(shù)一 PAGEREF _Toc6264 32.1.1 FPGA概述 PAGEREF _Toc9261 32.1.2 FPGA基本結(jié)構(gòu) PAGEREF _Toc28055 32.1.3 FPGA開發(fā)編輯原理 PAGEREF _Toc26282 42.2 關(guān)鍵技術(shù)二 PAGEREF _Toc27306 42.2.1 軟件開發(fā)環(huán)境及基本流程 PAGEREF _Toc878 42.2.2 具體設(shè)計(jì)流程 PAGEREF _Toc13195 5第
12、3章系統(tǒng)需求分析 PAGEREF _Toc14824 73.1 系統(tǒng)設(shè)計(jì)目標(biāo) PAGEREF _Toc4321 73.2 系統(tǒng)功能需求 PAGEREF _Toc827 73.3 系統(tǒng)非功能需求 PAGEREF _Toc26129 73.4 系統(tǒng)開發(fā)環(huán)境 PAGEREF _Toc28884 73.4.1 硬件環(huán)境簡介 PAGEREF _Toc21482 73.4.2 軟件環(huán)境簡介 PAGEREF _Toc2298 83.5 系統(tǒng)可行性分析 PAGEREF _Toc21890 93.5.1 技術(shù)可行性 PAGEREF _Toc22700 93.5.2 經(jīng)濟(jì)可行性 PAGEREF _Toc20762
13、 10第4章系統(tǒng)設(shè)計(jì) PAGEREF _Toc28027 114.1 系統(tǒng)設(shè)計(jì)指導(dǎo)原則 PAGEREF _Toc9478 114.2 體系結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc16208 114.3 硬件設(shè)計(jì) PAGEREF _Toc14565 114.4 系統(tǒng)的詳細(xì)設(shè)計(jì) PAGEREF _Toc4407 124.5 各核心模塊設(shè)計(jì) PAGEREF _Toc7614 134.5.1 小時(shí)計(jì)數(shù)器 PAGEREF _Toc18852 134.5.2 done信號產(chǎn)生器 PAGEREF _Toc23469 134.5.3 整點(diǎn)校對器 PAGEREF _Toc1493 144.5.4 鬧鐘校對器 PAGE
14、REF _Toc16963 144.5.5 鬧鐘設(shè)置器 PAGEREF _Toc2358 15第5章 系統(tǒng)實(shí)現(xiàn) PAGEREF _Toc30936 165.1 數(shù)據(jù)通道的實(shí)現(xiàn) PAGEREF _Toc28915 165.2 控制單元的實(shí)現(xiàn) PAGEREF _Toc13904 16第6章系統(tǒng)測試 PAGEREF _Toc5409 176.1 測試概述 PAGEREF _Toc1061 176.2 測試用例 PAGEREF _Toc3106 176.2.1 秒計(jì)時(shí)器、分計(jì)時(shí)器與done信號產(chǎn)生器 PAGEREF _Toc20155 176.2.2 分計(jì)時(shí)器、時(shí)計(jì)數(shù)器與done信號產(chǎn)生器 PAGER
15、EF _Toc10801 176.2.3 整點(diǎn)報(bào)時(shí) PAGEREF _Toc21824 186.2.4 鬧鐘校對器 PAGEREF _Toc26162 186.2.5 狀態(tài)機(jī) PAGEREF _Toc23978 196.2.6 時(shí)間和鬧鐘的設(shè)定 PAGEREF _Toc5703 19第7章結(jié)論 PAGEREF _Toc30100 21參考文獻(xiàn) PAGEREF _Toc18865 22致 謝 PAGEREF _Toc3843 23大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文)- 第1章緒 論本設(shè)計(jì)是采用正是自上而下的設(shè)計(jì)方法,依靠強(qiáng)大的EDA工具為手段將電子產(chǎn)品從電路設(shè)計(jì)到性能分析所生成的文件為設(shè)計(jì)依據(jù),再由
16、五個(gè)模塊互相協(xié)同作用,構(gòu)建形成了一個(gè)基于FPGA(Field Programmable Gate Array)的數(shù)字鐘。1.1 課題研究背景與意義現(xiàn)在是一個(gè)知識產(chǎn)業(yè)爆炸的新世紀(jì)。所有新的事物層出不窮,讓應(yīng)接不暇。以此同時(shí)數(shù)字化產(chǎn)業(yè)也在蓬勃發(fā)展,日益壯大。不難發(fā)現(xiàn),隨處可見數(shù)字化技術(shù)的產(chǎn)品,和的生活息息相關(guān),的生活環(huán)境都被電子產(chǎn)品所包圍著,這些巨大的改變正在引領(lǐng)世界觀的改變。在這個(gè)飛速發(fā)展的年代里,時(shí)間對每個(gè)人來說都是越來越珍貴,俗話說浪費(fèi)時(shí)間就是浪費(fèi)生命,這也證明了時(shí)間的重要。以此同時(shí)快節(jié)奏的生活也影響對時(shí)間的準(zhǔn)確判斷,如果一旦遇到重要的事情而忽略了時(shí)間的重要,那將是一種很大的損失,因此急切需
17、要一個(gè)掌控時(shí)間的系統(tǒng)來提醒忙碌的自己。數(shù)字化的鐘表因需求而誕生了,不僅給人們帶來了極大的方便,也可以合理的分配時(shí)間,成為時(shí)間的主人。最近幾年,隨著科技的發(fā)展和社會生活水平的提高,人們對鐘表的要求也越來越嚴(yán)格,傳統(tǒng)的數(shù)字鐘已經(jīng)不能滿足人們的需要,多功能數(shù)字鐘就隨之產(chǎn)生了,在性能和樣式上都有了質(zhì)的改變,更強(qiáng)大的功能來滿足人們的需求。代表的有電子鬧鐘、數(shù)字鬧鐘等等。1.1.1 課題研究的背景人類科技文明在日新月異的進(jìn)步,快的讓人始終追趕不上。便于人們生活需要的數(shù)字鐘在其性能等方面都有了新的需求。此時(shí)的數(shù)字鐘不再是只是一個(gè)時(shí)間的概念,而是包含了更多生活實(shí)際應(yīng)用需要體現(xiàn)的功能,比如定點(diǎn)報(bào)時(shí),選取音樂鬧鈴
18、等。現(xiàn)代數(shù)字鐘發(fā)展的趨勢必定勢不可擋,會在精確度、體積、方便性、性能等方面做出更高的要求,在這種趨勢下,數(shù)時(shí)鐘的現(xiàn)代化、多功能化、實(shí)用化已經(jīng)成為了一個(gè)現(xiàn)在研究的重要設(shè)計(jì)方向。在本次設(shè)計(jì)是能把所學(xué)的理論知識和實(shí)際相結(jié)合的最后時(shí)機(jī),通過狀態(tài)機(jī)的工作原理,也進(jìn)一步的清楚時(shí)鐘的控制單元和時(shí)鐘的脈沖是如何產(chǎn)生和進(jìn)行工作的。通過使用EDA技術(shù)清楚的感受到了強(qiáng)大,提高了電路設(shè)計(jì)效率和可操作性,大大減少了人力。最后通過對整個(gè)課程項(xiàng)目設(shè)計(jì)的理解,達(dá)到畢業(yè)設(shè)計(jì)的目標(biāo)。1.1.2 課題研究的意義數(shù)字鐘已經(jīng)成為了一個(gè)現(xiàn)代的計(jì)時(shí)器,也可以當(dāng)作是時(shí)間控制的時(shí)鐘源。數(shù)字鐘并不陌生,因?yàn)榭雌饋砗苤庇^、時(shí)間走的很準(zhǔn)、選擇款式又
19、多樣,所以受到大家的喜愛。也由于現(xiàn)在電子產(chǎn)業(yè)的發(fā)展和石英晶體震蕩器在生活中的廣泛應(yīng)用,使得以前的老式鐘表遠(yuǎn)遠(yuǎn)趕不上數(shù)字鐘的精確。在人們生產(chǎn)生活中數(shù)字鐘帶來了極大的方便,并且很好的擴(kuò)展了鐘表原先的各項(xiàng)功能,例如計(jì)時(shí)功能、校時(shí)功能、整點(diǎn)報(bào)時(shí)功能、秒表功能等等,所有這些改變,都是依靠鐘表的數(shù)字化作為原理的。所以要研究出更符合人們需要的數(shù)字鐘,對方便生活和工作有著深遠(yuǎn)的意義。1.2 課題研究內(nèi)容與方法本設(shè)計(jì)主要是由分頻模塊、控制單元、計(jì)數(shù)模塊、響鈴模塊和七段數(shù)碼管顯示這五個(gè)模塊組成?;竟δ埽罕敬卧O(shè)計(jì)的數(shù)字鐘是基于FPGA的純硬件實(shí)現(xiàn),所以要在FPGA獲得準(zhǔn)確的初始時(shí)間,再經(jīng)過Verilog編程給時(shí)、
20、分、秒獲得較為精確的分頻信號,這就是分頻模塊;計(jì)數(shù)模塊的分和秒是通過對60取模實(shí)現(xiàn),時(shí)也是通過對24取模實(shí)現(xiàn);設(shè)置時(shí)鐘模塊則通過計(jì)數(shù)器置位端實(shí)現(xiàn);譯碼模塊是通過3-8譯碼器的譯碼實(shí)現(xiàn)的。顯示模塊是通過選擇器、譯碼器、碼轉(zhuǎn)換器和7段數(shù)碼管共同進(jìn)行動態(tài)顯示的。1.3 課題研究現(xiàn)狀現(xiàn)在電子產(chǎn)品的發(fā)展趨勢是功能多樣化,體積最小化,功耗最低化。和傳統(tǒng)意義上的電子產(chǎn)品在設(shè)計(jì)上有著明顯的區(qū)別,其中最大的區(qū)別是現(xiàn)在電子產(chǎn)品大量使用大規(guī)??删幊踢壿嬈骷?,以提高產(chǎn)品的性能,縮減體積,降低功耗,與此同時(shí)還廣泛運(yùn)用最新的計(jì)算機(jī)技術(shù),帶來的好處是提高了產(chǎn)品的自動化程度和競爭能力,大大的縮短研發(fā)所用的周期。EDA(Ele
21、ctronic Design Automation的縮寫,即HYPERLINK /search?word=電子設(shè)計(jì)自動化&fr=qb_search_exp&ie=utf8電子設(shè)計(jì)自動化)技術(shù)正是吸取了百家之長而形成的一門新型的技術(shù),的誕生正是時(shí)代需求的產(chǎn)物。EDA是自動化完成從邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作,以可編程邏輯器件作為設(shè)計(jì)載體又把硬件描述語言作為一種描述方式,最終形成了以IC集成電路系統(tǒng)或?qū)S眉尚酒瑸橹鲗?dǎo)的一門新技術(shù)。本設(shè)計(jì)是通過利用Verilog硬件描述語言結(jié)合可編程邏輯器件(PLD)進(jìn)行的,并通過7段
22、數(shù)碼管的靜態(tài)讀數(shù)顯示結(jié)果。利用不同的技術(shù)可以實(shí)現(xiàn)不同的數(shù)字鐘,如用單片機(jī)和VHDL設(shè)計(jì)出的數(shù)字鐘。那本次設(shè)計(jì)選用可編程邏輯器件(PLD)來實(shí)現(xiàn)主要是因?yàn)檎莆掌饋聿浑y、操作起來容易上手、圖形界面比較直觀、可以進(jìn)行編程加密、設(shè)計(jì)出來的成功率高等優(yōu)點(diǎn),因而本設(shè)計(jì)采用可編程邏輯器件來實(shí)現(xiàn)數(shù)字鐘的設(shè)計(jì)。大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文)第2章關(guān)鍵技術(shù)介紹本設(shè)計(jì)關(guān)鍵的技術(shù)在最后下載到FPGA上的數(shù)字顯示,因?yàn)镕PGA更像一個(gè)大號的可編程邏輯器件(CPLD/EPLD),首先每個(gè)邏輯功能模塊會整齊的排成陣列,再由可編程的內(nèi)部連線連接各個(gè)邏輯功能模塊來實(shí)現(xiàn)設(shè)計(jì)者想要的各種設(shè)計(jì)。當(dāng)然在完成設(shè)計(jì)中編譯環(huán)節(jié)必不可少,選
23、用Quartus II是因?yàn)槠涮峁┝艘环N與結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程的功能,因而完成代碼的成功編譯需要依靠Quartus II。2.1 關(guān)鍵技術(shù)一2.1.1 FPGA概述現(xiàn)場可編程門陣列(Field Programmable Gate Array)是FPGA的簡稱,與之相應(yīng)的是復(fù)雜可編程邏輯器件(Complex Programmable Logic Device)CPLD的簡稱,兩者的功能基本上是相同的,只是在實(shí)現(xiàn)原理上略些有不同,不過大多數(shù)可以忽略這兩者的區(qū)別,可統(tǒng)稱為可編程邏輯器件或CPLD/FPGA。CPLD/FPGA很強(qiáng)大,幾乎能完成任何數(shù)字電
24、子器件的功能,上到高性能CPU,下到簡單的74電路。如同是在孩子面前擺放的一堆零散的積木,設(shè)計(jì)者可以通過傳統(tǒng)的原理圖輸入或硬件描述語言自由的設(shè)計(jì)一個(gè)想要完成的數(shù)字系統(tǒng)。在此之后,可以通過軟件仿真事先驗(yàn)證設(shè)計(jì)的準(zhǔn)確性,在PCB完成驗(yàn)證以后,利用CPLD/FPGA的強(qiáng)大在線修改功能,隨時(shí)隨地修改設(shè)計(jì)而不必改動硬件的各項(xiàng)電路。使用CPLD/FPGA開發(fā)數(shù)字電路,可以大大縮短設(shè)計(jì)的周期,減少PCB面積,從而提高系統(tǒng)的可靠性。這些優(yōu)點(diǎn)使得CPLD/FPGA技術(shù)在20世紀(jì)90年代以后開始得到飛速的發(fā)展,這也大大推動了EDA軟件和硬件描述語言HDL的進(jìn)步。2.1.2 FPGA基本結(jié)構(gòu)FPGA采用了邏輯單元陣
25、列LCA(Logic Cell Array)這樣一個(gè)新的概念,是由內(nèi)部電路和一個(gè)SRAM(Static RAM)靜態(tài)隨機(jī)存儲器組成。內(nèi)部包括的電路依次是:可配置邏輯模塊CLB(Configurable Logic Block)、輸入或輸出模塊IOB(Input Output Block)和內(nèi)部連線IR(Interconnect Resource)??膳渲眠壿嬆KCLB(Configurable Logic Block)是實(shí)現(xiàn)各種配置功能的最基本單元,通常是規(guī)則的排列成一個(gè)隊(duì)列,在整個(gè)芯片中進(jìn)行分布;可編程輸入或輸出模塊(IOB)是FPGA與外界電路的接口部分,主要用于完成不同電氣特性下對輸入或
26、輸出信號的驅(qū)動和匹配要求;可編程內(nèi)部連線包括了所以長度的連接線段和一些用來編程連接的開關(guān),主要將各個(gè)可編程邏輯模塊和輸入輸出模塊相互連接起來,形成一定功能的電路設(shè)計(jì)。2.1.3 FPGA開發(fā)編輯原理硬件設(shè)計(jì)需要根據(jù)各種性能指標(biāo)、成本多少、開發(fā)周期長短等因素進(jìn)行總體分析,最后確定最佳的設(shè)計(jì)方案,畫出系統(tǒng)的框圖,選擇相應(yīng)的芯片,設(shè)計(jì)出PCB并最終形成樣機(jī)。CPLD/FPGA軟件設(shè)計(jì)可劃分為兩大模塊:第一種是編程語言,編程語言主要有Verilog和VHDL兩種硬件描述語言;第二種是編程工具,現(xiàn)在主要是Altera和Xilinx的兩大廠家集成綜合EDA軟件QuartusII和第三方工具。FPGA具體的
27、設(shè)計(jì)輸入方式有以下介紹的兩種:(1)HDL語言方式HDL不僅可以描述頂層的設(shè)計(jì),也可以描述底層設(shè)計(jì),但其也有顯著的缺點(diǎn),就是沒有做到有較高的工作速度和芯片利用率。用這種方式描述的設(shè)計(jì)項(xiàng)目最后所能達(dá)到的性能比率和設(shè)計(jì)人員的水平、經(jīng)驗(yàn)以及綜合軟件有著很大的關(guān)聯(lián)。(2)圖形方式圖形方式具體可以分為電路原理圖描述,狀態(tài)機(jī)描述和波形描述3種方式。原理圖方式描述看起來更容易清楚,但是自身對綜合性的軟件要求不敏感。通常都會使用相對成熟的IP核和中小規(guī)模IC(集成電路)構(gòu)建現(xiàn)成的電路,再把電路放到一片可控制邏輯器件的里面去,這樣操作一來沒有浪費(fèi)芯片的使用率,再者可以提高硬件部分的工作速度。但是當(dāng)任務(wù)非常大時(shí),
28、該設(shè)計(jì)方法就會顯得有些麻煩;狀態(tài)機(jī)描述是一種設(shè)計(jì)思想的呈現(xiàn),主要針對各種時(shí)序電路。首先用形象的圖形來代表設(shè)計(jì)中每個(gè)所需的工作狀態(tài),然后在每個(gè)狀態(tài)邊沿上寫上狀態(tài)互相可以轉(zhuǎn)換的條件,然后用的HDL語言描述整個(gè)轉(zhuǎn)換的過程和狀態(tài)條件,最好要送去綜合軟件那里用可編程邏輯器件進(jìn)行綜合。狀態(tài)機(jī)到HDL語言描述之間有著一種自身默認(rèn)的描述方法,要想順利通過綜合軟件就需要使用這種描述方式,這樣關(guān)系到最后所能達(dá)到的工作效率以及芯片的利用比率;波形描述方式則是基于真值表的一種圖形輸入方式,然后直接描述輸入與輸出的波形關(guān)系。2.2 關(guān)鍵技術(shù)二2.2.1 軟件開發(fā)環(huán)境及基本流程本設(shè)計(jì)中所使用的軟件主要是QuartusII
29、,所以在此對其做一些簡介。Altera公司的QuartusII具有顯示界面良好、容易操作使用、性能優(yōu)良,并且自帶編譯和仿真等功能的開發(fā)軟件。因?yàn)閮?nèi)嵌有VHDL的邏輯綜合器和仿真器,所以QuartusII軟件可以完全用VHDL設(shè)計(jì)流程完成。同時(shí)QuartusII也是可以利用第三方的綜合工具,而且能可以直接調(diào)用例如FPGA這樣的工具,也可以直接對第三方的工具進(jìn)行仿真功能,真正做到了兩不誤。QuartusII擁有自身系統(tǒng)化的編譯器。其中分析器、綜合器、適配器、裝配器、時(shí)序分析器、設(shè)計(jì)輔助模塊、EDA網(wǎng)表文件生成器、編輯數(shù)據(jù)接口等等都屬于編譯器里面的一部分,其之間的共同合作完成編譯功能。在實(shí)踐操作中如
30、果是單獨(dú)運(yùn)行其中的某個(gè)模塊就通過選擇Start,想要運(yùn)行所以模塊就通過選擇Start Compilation來操作會很簡單,與此同時(shí)任意打開操作中的設(shè)置文件或者是報(bào)告文件,當(dāng)然也可以打開其它有關(guān)的窗口完成編譯。在輸入當(dāng)前的設(shè)計(jì)之后,需要清楚的了解設(shè)計(jì)錯誤出現(xiàn)在哪,這時(shí)QuartusII的編譯器將給出你設(shè)計(jì)中的錯誤報(bào)告,來確定文本或者圖形中出現(xiàn)的錯誤,這一切都是由于QuartusII內(nèi)部設(shè)置了一個(gè)錯誤定位器,其結(jié)果也是很精確可靠的。編譯成功后將利用波形編輯器來編輯一個(gè)波形激勵文件,再進(jìn)行設(shè)計(jì)的時(shí)序仿真,再確定編譯和仿真檢測無錯后,便可將下載的信息通過QuartusII提供的編程器下載到入目標(biāo)器件
31、中了。2.2.2 具體設(shè)計(jì)流程(1)建立工作庫和編輯設(shè)計(jì)文件首先要建立工作庫文件夾目錄,以方便存儲工程所需的項(xiàng)目設(shè)計(jì)文件。對于任何一項(xiàng)設(shè)計(jì)都可以看做是一項(xiàng)工程,所以都必須建立一個(gè)放置與此工程目錄相關(guān)的所有設(shè)計(jì)文件的文件夾,也是為了工作的便捷。此文件夾一但建立就會被EDA軟件默認(rèn)為工作庫。具體來說,相對不同的設(shè)計(jì)項(xiàng)目最好放在不同的文件夾中,為了避免混淆,要求把同一工程的所有文件都放在同一文件夾中。(2)創(chuàng)建工程使用New Project Wizard都可以作為工程指定的工作目錄、工程名稱的分配以及指定最高層設(shè)計(jì)實(shí)體的名稱,當(dāng)然還可以指定要在工程中使用的設(shè)計(jì)文件夾、其它源文件、用戶庫和EDA工具,
32、以及目標(biāo)具體器件等等。(3)編譯前設(shè)置在對工程進(jìn)行編譯處理前,必須做好必要的設(shè)置。此步驟如下:首先選擇FPGA目標(biāo)芯片,其次選擇配置器件的工作方式,接著選擇配置器件和所選用的編程方式,然后選擇輸出設(shè)置,最后選擇目標(biāo)器件閑置引腳的狀態(tài)。(4)時(shí)序仿真QuartusII編譯器是由一系列處理模塊構(gòu)成的,這些模塊主要是對所設(shè)計(jì)項(xiàng)目的檢錯、邏輯綜合、結(jié)構(gòu)綜合、輸出結(jié)果的編輯配置,還有時(shí)序分析。在整個(gè)過程中,將設(shè)計(jì)項(xiàng)目配置到FPGA目標(biāo)器中,同時(shí)產(chǎn)生多種用途的輸出文件。首先編譯器會檢查出工程的設(shè)計(jì)文件中可能出現(xiàn)的錯誤信息,以方便設(shè)計(jì)者進(jìn)行排除。最后產(chǎn)生一個(gè)結(jié)構(gòu)化的以網(wǎng)表文件呈現(xiàn)的電路原理圖文件,設(shè)計(jì)者可以
33、根據(jù)產(chǎn)生的網(wǎng)表進(jìn)行調(diào)試。(5)測試在整個(gè)工程編譯完全通過后,必須建立VWF文件好對其功能性和時(shí)序性質(zhì)進(jìn)行仿真測試,以了解設(shè)計(jì)結(jié)果是否滿足原設(shè)計(jì)的要求。第3章系統(tǒng)需求分析3.1 系統(tǒng)設(shè)計(jì)目標(biāo)本次設(shè)計(jì)為多功能的數(shù)字鐘,使用Verilog編程語言完成所有功能的設(shè)計(jì),采用自上而下的設(shè)計(jì)方法,通過數(shù)據(jù)通道與控制單元之間的配合完成全部功能。其中數(shù)據(jù)通道主要負(fù)責(zé)處理和傳輸數(shù)據(jù)的功能,控制單元則是負(fù)責(zé)很好的控制數(shù)據(jù)通道中各個(gè)模塊的動作。最后在FPGA開發(fā)板上使用七段數(shù)碼管顯示并使用相應(yīng)的按鍵控制以展示所有功能。包括鐘表功能、鬧鐘功能、整點(diǎn)報(bào)時(shí)功能、秒表功能以及選擇鬧鐘音樂功能等。3.2 系統(tǒng)功能需求根據(jù)需求調(diào)
34、研結(jié)果確定本系統(tǒng)主要包括如表3.1功能模塊。表3.1 接口其它業(yè)務(wù)功能功能編號功能名稱功能描述優(yōu)先級1鐘表功能準(zhǔn)確的記錄時(shí)間并顯示高2鬧鐘功能現(xiàn)實(shí)時(shí)間到所設(shè)定的時(shí)間后響鈴高3整點(diǎn)報(bào)時(shí)功能時(shí)間到達(dá)整點(diǎn)后響鈴中4秒表功能顯示從零開始以秒為單位計(jì)時(shí)中5鬧鐘音樂選擇功能設(shè)定鬧鐘時(shí)可選擇不同音樂中3.3 系統(tǒng)非功能需求(1)性能精確的顯示時(shí)、分、秒功能,秒表功能,整點(diǎn)報(bào)時(shí)功能還有用戶手動設(shè)定鬧鐘后在設(shè)置時(shí)間點(diǎn)可以進(jìn)行響鈴。(2)成本設(shè)計(jì)中設(shè)計(jì)人員自身的成本,設(shè)計(jì)所需要用到的設(shè)備成本,以及購買設(shè)計(jì)開發(fā)板的成本。3.4 系統(tǒng)開發(fā)環(huán)境 3.4.1 硬件環(huán)境簡介本次系統(tǒng)用到Altera的DE2-115開發(fā)板(見
35、圖5.1),資源非常豐富,其中包括核心的FPGA芯片Cyclone IV 4CE115F29,從名稱可以看出,擁有115個(gè)LE。Altera下載控制芯片EPCS64以及USB-Blaster對Jtag和as模式的支持;存儲用的芯片有2-Mbyte SRAM,64-Mbyte SDRAM,8-Mbyte Flash memory;擁有4個(gè)經(jīng)典IO配置按鈕,撥動開關(guān)就有18個(gè),紅色發(fā)光二極管18個(gè),綠色發(fā)光二極管9個(gè),七段數(shù)碼管8個(gè),液晶顯示屏是16*2個(gè)字符;由24位CD音質(zhì)音頻芯片WM8731(Mic輸入+LineIn+標(biāo)準(zhǔn)音頻輸出)的超多媒體和視頻解碼芯片(支持NTSC/PAL制式),還有帶
36、有高速DAC視屏輸出VGA等模塊組成;更多標(biāo)準(zhǔn)接口:通用串行總線USB控制模塊以及A、B型接口,SD Card接口,IrDA紅外模塊,2個(gè)10/100/1000M自適應(yīng)以太網(wǎng)絡(luò)適配器,RS-232標(biāo)準(zhǔn)串口,PS/2鍵盤接口;最后有50M晶振,支持外部時(shí)鐘,80針帶保護(hù)電路的外接IO,1個(gè)hsmc連接器。以下為本次設(shè)計(jì)中主要運(yùn)用到的功能:DE2-115控制面板可以用來點(diǎn)亮LED燈,以此來改變顯示在7段數(shù)碼管數(shù)值。DE2-115開發(fā)板包含一個(gè)存儲有Cyclone IV E FPGA芯片配置數(shù)據(jù)的串行配置芯片。每次開發(fā)板進(jìn)行上電的時(shí)候,芯片里面的配置數(shù)據(jù)會自動從配置芯片加載到FPGA芯片上。使用Qu
37、artus II軟件,用戶可以隨時(shí)重新配置FPGA,并可以改變存儲在非易失性串行存儲器芯片(EPCS)里面的數(shù)據(jù)。(3)DE2-115包含一個(gè)生成50MHz頻率時(shí)鐘信號的有源晶體振蕩器,另有一個(gè)時(shí)鐘緩沖器用來將緩沖后的低抖動50MHz時(shí)鐘信號分配給FPGA。這些時(shí)鐘信號用來驅(qū)動FPGA內(nèi)的用戶邏輯電路。如下圖5.1開發(fā)板正面圖所示。圖5.1 開發(fā)板正面圖3.4.2 軟件環(huán)境簡介(1)Quartus II是HYPERLINK /view/3317625.htmAltera公司生產(chǎn)出來的一種具有綜合性PLD/FPGA的開發(fā)HYPERLINK /view/37.htm軟件,支持原理圖、VHDL、Ve
38、rilogHDL以及AHDL(Altera Hardware Description Language)等各種編程語言的設(shè)計(jì)。Quartus II內(nèi)部嵌有綜合器和HYPERLINK /view/557623.htm仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的整個(gè)PLD(Programmable Logic Device)的設(shè)計(jì)過程。Quartus II使用廣泛,不僅可以在個(gè)人操作系統(tǒng)上使用,還可以再Linux系統(tǒng)和Unix系統(tǒng)上使用,當(dāng)然除了用TclHYPERLINK /view/54.htm腳本完成設(shè)計(jì)流程外,還提供了比較完善的用戶圖形界面。Quartus II具有很多的特點(diǎn),例如運(yùn)行速度快,統(tǒng)一
39、化界面,集中性功能,易懂易操作等等。為了讓用戶使用起來并不覺得陌生,Quartus II充分利用現(xiàn)有的成型模塊,從而簡化了設(shè)計(jì)的復(fù)雜性,并且加快設(shè)計(jì)的速度。Quartus II還支持Altera的IP核(包含了LPM/Mega Function宏功能模塊庫)。幾乎在設(shè)計(jì)的每個(gè)階段都會使用到EDA工具,同時(shí)也會接觸到第三方EDA工具,就是這樣的相互促使使得EDA工具不斷向前發(fā)展。(2)ModelSim給設(shè)計(jì)者提供了一個(gè)非常良好的仿真環(huán)境,為設(shè)計(jì)者加快調(diào)錯提供了強(qiáng)有力的技術(shù)支持,也是業(yè)界唯一一款HYPERLINK /view/2375980.htm單內(nèi)核支持VHDL和Verilog混合仿真的HYP
40、ERLINK /view/557623.htm仿真器,很強(qiáng)大來自于編譯的代碼都與使用的平臺無關(guān),基本都是采用已經(jīng)優(yōu)化好的HYPERLINK /view/553519.htm編譯技術(shù)、Tcl/Tk技術(shù)和單一內(nèi)核仿真技術(shù)。這種技術(shù)使得編譯的速度加快,個(gè)性化的界面和諸多的用戶接口,這些優(yōu)點(diǎn)都吸引著廣大設(shè)計(jì)者的青睞,良好的口碑也促使ModelSim成為了HYPERLINK /view/1667387.htmMentor公司設(shè)計(jì)出的迄今為止最優(yōu)秀的HDL語言HYPERLINK /view/561380.htm仿真軟件。3.5 系統(tǒng)可行性分析3.5.1 技術(shù)可行性傳統(tǒng)意義上的數(shù)字電路系統(tǒng)設(shè)計(jì)只能對電路板(
41、全部由器件搭建而成)進(jìn)行設(shè)計(jì),通過電路板構(gòu)成電子系統(tǒng)來實(shí)現(xiàn)系統(tǒng)各項(xiàng)功能。設(shè)計(jì)方法是自底向上的(bottomtoup),通俗的說就是先選取合適的基礎(chǔ)電路,把這些電路構(gòu)建成你需要的電子系統(tǒng),為了避免出錯,還得進(jìn)行相應(yīng)的單元電路測試,然后制作成樣本機(jī),最后開始調(diào)試電路模塊。按照這種過程設(shè)計(jì)的產(chǎn)品,弊端就是所用元件的種類和數(shù)量比較多,一次性成功率很低,開發(fā)周期比較長,系統(tǒng)接線多,可靠性差,體積和功耗相對大,成本也會提高?;谇懊娴谋锥吮驹O(shè)計(jì)選用的是基于EDA設(shè)計(jì)的,與之前傳統(tǒng)的設(shè)計(jì)方法正好相反,首先是從系統(tǒng)設(shè)計(jì)入手,從頂層就開始進(jìn)行功能劃分和結(jié)構(gòu)設(shè)計(jì),并在系統(tǒng)級采用仿真的手段來驗(yàn)證設(shè)計(jì)是否正確,然后再
42、逐級設(shè)計(jì)低層的結(jié)構(gòu),真正實(shí)現(xiàn)了從設(shè)計(jì)、仿真、測試一體化。諸多項(xiàng)目的驗(yàn)證與設(shè)計(jì)、電路與PCB設(shè)計(jì)、專用集成電路(Application Specific Integrated Circuit,簡稱ASIC)設(shè)計(jì)等等都由電子系統(tǒng)設(shè)計(jì)者借用于EDA工具完成的。另外,要對仿真(simulate)重新定義認(rèn)識,所謂仿真就是把所以原有的初始設(shè)計(jì)文件加載到計(jì)算機(jī)中去進(jìn)行一系列的準(zhǔn)確邏輯和時(shí)序驗(yàn)證,從而形成最后的以信號關(guān)系呈現(xiàn)的波形圖,對照波形圖可以查找設(shè)計(jì)的輸入/輸出關(guān)系,以便設(shè)計(jì)者正好的糾正錯誤。正是由于EDA給設(shè)計(jì)者提供的強(qiáng)大的軟件測試平臺,促使大規(guī)模系統(tǒng)電子設(shè)計(jì)自動化程度?,F(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)的含蓋非常廣
43、泛,系統(tǒng)功能也在日趨完善和人性化?;诒驹O(shè)計(jì)使用的EDA技術(shù),具有標(biāo)準(zhǔn)化的設(shè)計(jì)方法和設(shè)計(jì)語言,已經(jīng)成為信息產(chǎn)業(yè)界的共同平臺,也會是成為數(shù)字系統(tǒng)設(shè)計(jì)的必然首選。本次設(shè)計(jì)使用的編程語言是Verilog,這是一種實(shí)際電路的不同級別的抽象表現(xiàn)。Verilog模型并不難理解,也就是用Verilog 語言描述的電路設(shè)計(jì),眾所周知,Verilog語言不僅對行為級描述的語言,也是一種對結(jié)構(gòu)級描述的語言。那就是說,Verilog模型既可以用電路的功能描述,也可以用元器件和電路之間的連接來建立。由此可見Verilog語言是一種用于專門設(shè)計(jì)數(shù)字邏輯電路的語言,所以適合本次的設(shè)計(jì)需要。Verilog語言的具有以下兩大
44、優(yōu)勢。Verilog語言擁有最為廣泛的設(shè)計(jì)群體,成熟的資源也遠(yuǎn)比VHDL要豐富。Verilog語言和VHDL最大的差別是在語法上,Verilog語言是一種類似C語法的語言,而VHDL是一種ADA(Action Data Automation,行動數(shù)據(jù)自動化)語言。由于C語言語法簡單易用且應(yīng)用廣泛,因此也使得Verilog 語言容易學(xué)習(xí),只有你有C語言學(xué)習(xí)的基礎(chǔ),Verilog語言也就很快能夠掌握。3.5.2 經(jīng)濟(jì)可行性FPGA相對其它工具最大的特點(diǎn)就是靈活,不僅可以實(shí)現(xiàn)設(shè)計(jì)者想實(shí)現(xiàn)的任何數(shù)字電路,也可以自己定制各種電路。大大減少受制于專用芯片的束縛。真正做到了為自己的產(chǎn)品代言,在設(shè)計(jì)的過程中如
45、果發(fā)現(xiàn)不滿意的地方可以隨時(shí)進(jìn)行靈活的更改,而且擁有強(qiáng)大的邏輯資源和寄存器資源,這些可以讓設(shè)計(jì)者隨意的去發(fā)揮設(shè)計(jì)理念,進(jìn)行開放的設(shè)計(jì),其中設(shè)計(jì)者不會擔(dān)心供不應(yīng)求,因?yàn)橛布?shí)現(xiàn)的方式可以應(yīng)對設(shè)計(jì)中大量的高速電子線路來滿足設(shè)計(jì)需求。FPGA工具相比DSP擁有更快的速率,用此可以實(shí)現(xiàn)非常復(fù)雜的高速邏輯功能,而且FPGA比ASIC(專用芯片)有更短的設(shè)計(jì)周期和相對的靈活性,免去高昂的開版費(fèi)用,并且可以對其進(jìn)行隨時(shí)裁減,增加設(shè)計(jì)者想要的功能,縮短了設(shè)計(jì)風(fēng)險(xiǎn),回避芯片廠商的有關(guān)限制。另外知識產(chǎn)權(quán)的概念已經(jīng)引入生活中,為了防止別人的抄襲,F(xiàn)PGA也相應(yīng)的仿制功能,使得設(shè)計(jì)者的智慧得以保護(hù),也讓公司的利益有了較
46、長時(shí)間得保證。伴隨FPGA芯片供應(yīng)商和第三方公司的重視,現(xiàn)在市場上出現(xiàn)很多免費(fèi)的軟IP核和硬 IP核都是壓縮了成本,減少開發(fā)周期。第4章系統(tǒng)設(shè)計(jì)4.1 系統(tǒng)設(shè)計(jì)指導(dǎo)原則本設(shè)計(jì)使用EDA技術(shù),采用設(shè)計(jì)方法是自頂向下,是各個(gè)基本模塊相互作用共同構(gòu)建了一個(gè)基于FPGA的多功能數(shù)字鐘。該數(shù)字鐘可以實(shí)現(xiàn)正常時(shí)間顯示、鬧鐘的設(shè)定和響鈴,秒表等功能。根據(jù)數(shù)字系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)的基本流程進(jìn)行設(shè)計(jì),包括數(shù)據(jù)通道和控制單元的設(shè)計(jì)、并用可綜合的VerilogHDL語言實(shí)現(xiàn)、在Quartus II進(jìn)行系統(tǒng)的開發(fā),經(jīng)過ModelSim做功能仿真、用Quartus II進(jìn)行綜合布局布線,最終下載到FPGA開發(fā)板進(jìn)行實(shí)機(jī)驗(yàn)證。
47、并在設(shè)計(jì)過程中不斷對電路性能進(jìn)行優(yōu)化。4.2 體系結(jié)構(gòu)設(shè)計(jì)圖4.1 系統(tǒng)體系結(jié)構(gòu)圖如圖4.1系統(tǒng)體系結(jié)構(gòu)圖所示,本系統(tǒng)設(shè)計(jì)主要計(jì)劃分為4個(gè)部分,依次分別是控制單元、數(shù)據(jù)通道、分頻和外圍電路。其中的控制單元是較為靈活多樣的,要想增強(qiáng)數(shù)字鐘的各項(xiàng)功能就需要不斷的強(qiáng)化。4.3 硬件設(shè)計(jì)分頻系統(tǒng)中分頻的作用在于將基準(zhǔn)時(shí)鐘變成供自己電路所使用的時(shí)鐘,本設(shè)計(jì)中分頻將被分為三個(gè)時(shí)鐘,分別供其他三部分電路使用。把開發(fā)板產(chǎn)生穩(wěn)定的高頻脈沖信號作為數(shù)字鐘的基準(zhǔn)時(shí)間,然后經(jīng)過編程進(jìn)行分頻。人為設(shè)定秒計(jì)數(shù)器計(jì)滿60便向分計(jì)數(shù)器進(jìn)位,當(dāng)分計(jì)數(shù)器計(jì)滿60向小時(shí)計(jì)數(shù)器進(jìn)位,以此類推,計(jì)滿后全部清零,并開始重新計(jì)數(shù)。狀態(tài)機(jī)系
48、統(tǒng)中的控制器,控制數(shù)據(jù)通道中各個(gè)模塊的如何工作,使各模塊之間合理配合完成正確的功能。數(shù)據(jù)通道系統(tǒng)中的執(zhí)行單元,在狀態(tài)機(jī)的控制下完成所有數(shù)據(jù)的傳遞與處理,是完成各個(gè)功能的保障。外圍電路系統(tǒng)中的外圍電路包括7段數(shù)碼管的譯碼電路和蜂鳴器的譯碼電路,共同完成最后的時(shí)間顯示和鬧鈴的響鈴功能。4.4 系統(tǒng)的詳細(xì)設(shè)計(jì)圖4.2 狀態(tài)轉(zhuǎn)換圖這就是本次設(shè)計(jì)的狀態(tài)機(jī),五個(gè)狀態(tài)之間都是相互轉(zhuǎn)換,共同完成功能設(shè)置。如圖4.2狀態(tài)轉(zhuǎn)換圖所示。(1)Idle在此狀態(tài)下,數(shù)據(jù)通道內(nèi)(包括計(jì)數(shù)器、寄存器等)所有的模塊都將進(jìn)行初始化操作。(2)正常時(shí)間顯示在此狀態(tài)下,系統(tǒng)會通過秒、分、時(shí)的正常計(jì)數(shù)再通過FPGA開發(fā)板上的7段數(shù)碼
49、管顯示,與此同時(shí)還會一直監(jiān)視當(dāng)前的時(shí)間是否為整點(diǎn)或者是否和用戶所設(shè)鬧鐘的時(shí)間一致(如果沒設(shè)置鬧鐘則按照初始時(shí)間進(jìn)行校對),如果一致則驅(qū)動蜂鳴器開始工作。(3)設(shè)置鬧鐘在此狀態(tài)下,系統(tǒng)會記錄用戶所設(shè)置的時(shí)間然后進(jìn)行對比。(4)設(shè)置時(shí)間在此狀態(tài)下,系統(tǒng)會自動更新顯示為用戶手動所設(shè)置的時(shí)間并接著此時(shí)間繼續(xù)計(jì)時(shí)。(5)秒表在此狀態(tài)下,系統(tǒng)開始進(jìn)入秒表模式,7段數(shù)碼管不在正常顯示時(shí)鐘和分鐘,只是顯示秒的動作。4.5 各核心模塊設(shè)計(jì)4.5.1 小時(shí)計(jì)數(shù)器在本系統(tǒng)中計(jì)數(shù)器起著非常重要的作用,整個(gè)系統(tǒng)都是以此為基準(zhǔn)進(jìn)行計(jì)時(shí),如圖4.3小時(shí)計(jì)數(shù)器所示。圖4.3 小時(shí)計(jì)數(shù)器本模塊信號如上圖所示,功能為根據(jù)使能信號
50、en_24進(jìn)行計(jì)數(shù)并輸出,輸出為數(shù)字鐘的小時(shí)數(shù)值,計(jì)時(shí)器自動逢23清零(本系統(tǒng)是采用24制顯示)。當(dāng)en_24和load同時(shí)有效時(shí)用戶經(jīng)過手動輸入顯示到in_24,更改out_24的數(shù)值,以此可以實(shí)現(xiàn)時(shí)間的校對和修改。分鐘和秒鐘計(jì)數(shù)器也均為此模型得以建立,只是每逢59清零,秒計(jì)時(shí)器則不使用置位端。4.5.2 done信號產(chǎn)生器小時(shí)根據(jù)分鐘在變化,分鐘根據(jù)秒鐘在變化,本模塊就是根據(jù)秒鐘計(jì)數(shù)器和分鐘計(jì)數(shù)器來產(chǎn)生秒鐘done信號和分鐘done信號,如圖4.4 done信號產(chǎn)生器所示。圖4.4 done信號產(chǎn)生器本模塊的信號如上圖所示,輸入out_in為秒鐘計(jì)數(shù)器的輸出也可以為分鐘計(jì)數(shù)器的輸出,當(dāng)秒鐘
51、計(jì)數(shù)到59時(shí),本模塊會產(chǎn)生一個(gè)done的信號,done信號會拉高一個(gè)時(shí)鐘周期,使分鐘計(jì)數(shù)器加1,同時(shí)秒鐘由于計(jì)滿60了而清零重新開始計(jì)數(shù)(秒的清零與分的加1發(fā)生在同一時(shí)鐘周期)。此模塊復(fù)用兩個(gè),分別為根據(jù)秒產(chǎn)生秒done信號和根據(jù)分產(chǎn)生分done信號,本系統(tǒng)的計(jì)時(shí)功能不需要狀態(tài)機(jī)的配合即可自動完成。4.5.3 整點(diǎn)校對器本系統(tǒng)加入整點(diǎn)報(bào)時(shí)的功能,也就是整點(diǎn)時(shí)會觸發(fā)蜂鳴器開始工作,本模塊根據(jù)現(xiàn)時(shí)刻時(shí)間產(chǎn)生相應(yīng)的使能信號供蜂鳴器使用,如圖4.5整點(diǎn)校對器所示。圖4.5 整點(diǎn)校對器本模塊的輸入分別為分鐘計(jì)數(shù)器輸出與小時(shí)計(jì)數(shù)器的輸出,本模塊是由判斷秒計(jì)數(shù)器和分計(jì)數(shù)器兩個(gè)模塊的輸出來產(chǎn)生蜂鳴器的使能信號
52、,當(dāng)f_in為任意值并且m_in為0時(shí),代表此刻為一個(gè)整點(diǎn)時(shí)鐘,此時(shí)模塊的輸出integral_done信號會置為1,也就是有效,使蜂鳴器開始工作。4.5.4 鬧鐘校對器本系統(tǒng)加入鬧鐘功能,即當(dāng)前時(shí)間等于所設(shè)定的時(shí)間時(shí),蜂鳴器工作,如圖4.6鬧鐘校對器所示。圖4.6 鬧鐘校對器本系統(tǒng)的鬧鐘校對功能主要通過本模塊實(shí)現(xiàn),本模塊主要功能為根據(jù)當(dāng)前時(shí)間和設(shè)定時(shí)間之間的進(jìn)行對比,只有在兩者相同時(shí),產(chǎn)生的done信號即產(chǎn)生蜂鳴器的使能信號才有效。模塊信號如上圖所示,alarm_en為本模塊的使能,也就是鬧鐘的開關(guān),只有當(dāng)使能有效時(shí)才會產(chǎn)生done信號,其它4個(gè)輸入從上到下依次分別為原始的分鐘、原始的小時(shí)、
53、設(shè)置的分鐘、設(shè)置的小時(shí)(原始分鐘即為當(dāng)前的分鐘)當(dāng)原始分鐘等于設(shè)置分鐘時(shí),原始小時(shí)等于設(shè)置小時(shí)并且alarm_en有效時(shí),alarm_done信號置1,蜂鳴器正常工作。4.5.5 鬧鐘設(shè)置器圖4.7 鬧鐘設(shè)置器如圖4.7鬧鐘設(shè)置器所示,本模塊功能由用戶手動設(shè)置數(shù)字鬧鐘的時(shí)間,模塊信號如上圖所示,當(dāng)en有效時(shí)out立即加1,從而實(shí)現(xiàn)用戶在按按鍵時(shí)自動加數(shù)字的過程。本模塊在設(shè)計(jì)中會復(fù)用兩次,分別是在設(shè)置小時(shí)和設(shè)置分鐘中使用,在設(shè)置時(shí)輸出的數(shù)據(jù)會顯示在數(shù)碼管上,并同時(shí)傳遞給鬧鐘校對器使用。大連東軟信息學(xué)院畢業(yè)設(shè)計(jì)(論文)系統(tǒng)實(shí)現(xiàn)5.1 數(shù)據(jù)通道的實(shí)現(xiàn)數(shù)據(jù)通道包含以下幾個(gè)功能:鬧鐘功能、整點(diǎn)報(bào)時(shí)功能、
54、秒表功能以及選擇鬧鐘音樂功能,整體系統(tǒng)設(shè)計(jì)由各個(gè)模塊共同連接而成,數(shù)據(jù)通道各端口如圖5.1所示。圖5.1 數(shù)據(jù)通道5.2 控制單元的實(shí)現(xiàn)控制單元是整個(gè)設(shè)計(jì)的核心部分,通過不同狀態(tài)之間的跳轉(zhuǎn)控制數(shù)據(jù)通道和外圍電路有序的工作從而實(shí)現(xiàn)預(yù)期設(shè)定的功能,控制單元如圖5.2所示。圖5.2 控制單元第6章系統(tǒng)測試本次設(shè)計(jì)為多功能數(shù)字鐘,在傳統(tǒng)數(shù)字鐘的基礎(chǔ)上添加新的功能,包括整點(diǎn)報(bào)時(shí)、鬧鐘等,本次測試仿真選用ModelSim,在設(shè)計(jì)中測試仿真是最重要的一步,能檢查設(shè)計(jì)的功能實(shí)現(xiàn)的正確性,也是調(diào)試的重要依據(jù),找出設(shè)計(jì)中潛在的各種錯誤和缺陷,冰以此為依據(jù)修改設(shè)計(jì),完善設(shè)計(jì),通過測試可以提前找出錯誤,為以后帶來方便
55、。在通過EDA工具的軟件測試后下載到FPGA開發(fā)板上檢查功能的正確性。6.1 測試概述本次設(shè)計(jì)中的重點(diǎn)是最基礎(chǔ)的傳統(tǒng)數(shù)字鐘的功能,因?yàn)槠渌δ芏际且栏接跁r(shí)間來做判斷實(shí)現(xiàn)的。如果數(shù)字鐘在計(jì)時(shí)出現(xiàn)錯誤的話,其它的功能將不能正常實(shí)現(xiàn)。設(shè)計(jì)中的狀態(tài)機(jī)僅通過功能切換提供選擇7段數(shù)碼管顯示內(nèi)容的控制信號,數(shù)據(jù)通道是自己獨(dú)立實(shí)現(xiàn)所有功能,所以測試的重點(diǎn)是數(shù)據(jù)通道各個(gè)模塊,測試結(jié)果如下。6.2 測試用例6.2.1 秒計(jì)時(shí)器、分計(jì)時(shí)器與done信號產(chǎn)生器秒、分計(jì)時(shí)器和done信號產(chǎn)生器工作情況如圖6.1秒、分時(shí)序圖所示。圖6.1 秒、分時(shí)序圖秒計(jì)數(shù)器cnt_m的使能常開,計(jì)時(shí)到59時(shí)即一分鐘過去后,自動清零,實(shí)
56、現(xiàn)現(xiàn)實(shí)中數(shù)字鐘秒的功能;秒計(jì)時(shí)到59時(shí),分鐘done產(chǎn)生器f內(nèi)部的sel信號拉低,使輸出信號done_out拉高,done_out再拉高分鐘計(jì)數(shù)器的使能en_60,f內(nèi)部控制done_out信號拉高一個(gè)時(shí)鐘周期,實(shí)現(xiàn)每60秒拉高一次,即使分鐘每60秒加1,聯(lián)合起來實(shí)現(xiàn)現(xiàn)實(shí)中分鐘的功能。6.2.2 分計(jì)時(shí)器、時(shí)計(jì)數(shù)器與done信號產(chǎn)生器秒、分計(jì)時(shí)器和done信號產(chǎn)生器工作情況如圖6.2時(shí)、分時(shí)序圖所示。圖6.2 時(shí)、分時(shí)序圖當(dāng)分計(jì)數(shù)器輸出為59時(shí),自動清零,同時(shí)拉高done信號產(chǎn)生器s的輸出,持續(xù)一個(gè)時(shí)鐘周期后拉低,使小時(shí)計(jì)數(shù)器使能拉高一個(gè)時(shí)鐘周期,小時(shí)加1。小時(shí)計(jì)時(shí)到23時(shí)會自動清零,實(shí)現(xiàn)現(xiàn)實(shí)
57、數(shù)字鐘的小時(shí)功能。上述秒、分和小時(shí)的變化均是同步進(jìn)行,即在秒從59變0的同時(shí),分從a變a+1,小時(shí)如上所述。6.2.3 整點(diǎn)報(bào)時(shí)如下圖6.3整點(diǎn)報(bào)時(shí)時(shí)序圖所示。圖6.3 整點(diǎn)報(bào)時(shí)時(shí)序圖當(dāng)分鐘與小時(shí)計(jì)數(shù)器的輸出均為0時(shí),也就是整點(diǎn)時(shí),inte模塊的輸出done信號拉高一個(gè)時(shí)鐘周期,與分鐘小時(shí)同步,無延遲。done信號的拉高會導(dǎo)致響鈴模塊的使能拉高,開始響鈴,完成整點(diǎn)報(bào)時(shí)功能。6.2.4 鬧鐘校對器如下圖6.4鬧鐘校對器時(shí)序圖所示。圖6.4 鬧鐘校對時(shí)序圖如上圖所示:用戶手動設(shè)置鬧鐘分顯示為48,小時(shí)顯示為1,即鬧鐘設(shè)置為1點(diǎn)48分,當(dāng)cnt_s輸出為1時(shí),cnt_f輸出為48時(shí),即實(shí)際時(shí)間為1點(diǎn)
58、48分,此時(shí)alarm模塊輸出done信號拉高一個(gè)時(shí)鐘周期,這時(shí)響鈴模塊使能有效,開始響鈴從而實(shí)現(xiàn)了鬧鐘功能。6.2.5 狀態(tài)機(jī)如下圖6.5狀態(tài)機(jī)時(shí)序圖所示。圖6.5 狀態(tài)機(jī)時(shí)序圖初始狀態(tài)為0狀態(tài),方便控制各模塊清零,在start信號拉高后進(jìn)入正常計(jì)時(shí)顯示模式1,清零信號無效,輸出數(shù)碼管顯示選擇控制信號show_sel為00;在time_set信號拉高后,進(jìn)入設(shè)置時(shí)間狀態(tài)2,此時(shí)show_sel為10,數(shù)碼管顯示為所設(shè)置的時(shí)間,time_set信號拉低后回到正常顯示時(shí)間狀態(tài)1;在alarm_sel信號拉高后進(jìn)入設(shè)置鬧鐘狀態(tài)3,show_sel為11,alarm_sel拉低后回到正常顯示時(shí)間狀態(tài)
59、1;在watch信號拉高后,進(jìn)入秒表狀態(tài)4,show_sel為01,watch拉低后回到正常顯示時(shí)間狀態(tài)1;通過外界輸入的time_set、alarm_set以及watch信號控制電路有序的工作。6.2.6 時(shí)間和鬧鐘的設(shè)定如下圖6.6時(shí)間與鬧鐘設(shè)定時(shí)序圖所示。圖6.6 設(shè)定時(shí)間與鬧鐘時(shí)序圖start信號為高系統(tǒng)開始工作,狀態(tài)機(jī)進(jìn)入1狀態(tài)即正常顯示時(shí)間狀態(tài),在time_set信號拉高后進(jìn)入2狀態(tài)也就是設(shè)定時(shí)間狀態(tài),set_ft_en拉高一個(gè)時(shí)鐘周期代表在外部按鍵一次,設(shè)置時(shí)間分鐘加1。同理可知,set_st_en代表設(shè)置時(shí)間小時(shí)加1,在此狀態(tài)下,狀態(tài)機(jī)輸出的選擇信號會選擇數(shù)碼管顯示設(shè)置的時(shí)間,
60、如上圖所示,set_ft_en拉高5個(gè)時(shí)鐘周期,設(shè)置時(shí)間分鐘為5,time_set拉低后,系統(tǒng)進(jìn)入正常顯示狀態(tài),分鐘由0被設(shè)置成了5,正確實(shí)現(xiàn)設(shè)置功能。alarm_set信號,在拉高后進(jìn)入3狀態(tài)也就是鬧鐘設(shè)置狀態(tài),在此狀態(tài)下,set_fr_en拉高5個(gè)時(shí)鐘周期,代表設(shè)置時(shí)間分鐘為5,同理可知,如上圖所示設(shè)置鬧鐘時(shí)間為1點(diǎn)5分,alarm_set信號拉低后,系統(tǒng)進(jìn)入5即空狀態(tài),在此狀態(tài)下,狀態(tài)機(jī)輸出兩個(gè)寄存器的ld信號,把3狀態(tài)下所設(shè)置的分鐘和小時(shí)送給其它模塊處理,之后系統(tǒng)進(jìn)入1即正常顯示時(shí)間狀態(tài)。圖6.7 設(shè)定時(shí)間與鬧鐘時(shí)序圖如圖6.7設(shè)定時(shí)間與鬧鐘時(shí)序圖所示,在設(shè)定好1點(diǎn)5分的鬧鐘后,系統(tǒng)進(jìn)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年貸款援助就業(yè)合同3篇
- 2024年零售店店長專屬聘用協(xié)議
- 2024年跨國品牌許可使用合同
- 2024年藝術(shù)品交易協(xié)議樣式版B版
- 2024年設(shè)備采購與工程設(shè)計(jì)合同
- 2024航空公司與旅行社之間關(guān)于機(jī)票銷售的合同
- 2025年度熱帶水果店專業(yè)承包合作協(xié)議3篇
- 2024年陶幻離婚后個(gè)人隱私保護(hù)及信息共享協(xié)議3篇
- 2025年度大連市二手房地產(chǎn)交易合同備案與登記服務(wù)合同3篇
- 2024高空作業(yè)安全協(xié)議書搭雨棚
- 2022-2024年浙江中考英語試題匯編:完形填空(學(xué)生版)
- 2025年廣東省廣州市荔灣區(qū)各街道辦事處招聘90人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 中試部培訓(xùn)資料
- 【可行性報(bào)告】2024年第三方檢測相關(guān)項(xiàng)目可行性研究報(bào)告
- 2024解析:第三章物態(tài)變化-基礎(chǔ)練(原卷版)
- 藏醫(yī)學(xué)專業(yè)生涯發(fā)展展示
- 信息安全保密三員培訓(xùn)
- 2024新版《藥品管理法》培訓(xùn)課件
- DB41T 2302-2022 人工影響天氣地面作業(yè)規(guī)程
- 【初中語文】2024-2025學(xué)年新統(tǒng)編版語文七年級上冊期中專題12:議論文閱讀
- 四川省成都市2022-2023學(xué)年高二上學(xué)期期末調(diào)研考試物理試題(原卷版)
評論
0/150
提交評論