畢業(yè)設(shè)計(論文)-基于FPGA的數(shù)字鐘設(shè)計_第1頁
畢業(yè)設(shè)計(論文)-基于FPGA的數(shù)字鐘設(shè)計_第2頁
畢業(yè)設(shè)計(論文)-基于FPGA的數(shù)字鐘設(shè)計_第3頁
畢業(yè)設(shè)計(論文)-基于FPGA的數(shù)字鐘設(shè)計_第4頁
畢業(yè)設(shè)計(論文)-基于FPGA的數(shù)字鐘設(shè)計_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、河北經(jīng)貿(mào)大學(xué)畢業(yè)論文基于FPGA的數(shù)字鐘設(shè)計 摘 要FPGA技術(shù)在電子系統(tǒng)設(shè)計領(lǐng)域越來越普及,本設(shè)計主要利用VerilogHDL語言在FPGA平臺上設(shè)計一個電子數(shù)字鐘,它的計時周期為365天,時分秒顯示滿刻度為23時59分59秒,月日顯示滿刻度為12月31號,另外還具有校時功能和鬧鐘功能??偟某绦蛴蓭讉€各具不同功能的單元模塊程序拼接而成,其中包括分頻程序模塊、月日時分秒計數(shù)和設(shè)置程序模塊、譯碼顯示程序模塊和整點報時模塊。并且使用QuartusII軟件進(jìn)行電路波形仿真,下載到EDA實驗箱進(jìn)行驗證。該設(shè)計采用EP1C3T144芯片自頂向下、混合輸入方式原理圖輸入頂層文件連接和VerilogHDL語

2、言輸入各模塊程序設(shè)計實現(xiàn)數(shù)字鐘的設(shè)計、下載和調(diào)試。關(guān)鍵詞 FPGA芯片;Verilog語言;整點報時;數(shù)字鐘AbstractThe FPGA technology in the electronic system design field, this design is becoming more and more popular. VerilogHDL mainly uses in the FPGA platform design language of electronic digital clock, it is one of the timing cycle for 365 days,

3、 show when full scale for 23, coupled with 59 seconds to 59 points on the time of function, display full scale for December 31ston the date of function, it also has reset function and alarm clock function. General program with different functions by several each unit module program into joining toge

4、ther, including points frequency program module, time counting and Settings when program modules, decode show program modules and integral point to announce the module. And use QuartusII software simulation, circuit waveform validated. download to EDA Experimental box. This design uses a top-down wi

5、th EP1C3T144, mixed input methods (diagram input - top level file links and VerilogHDL language input - each module design program) to implement a digital clock design, download and test.Keywords FPGA Chip; VerilogHDL Language; Integral Point To Announce; Digital Clock 目 錄 TOC o 1-3 h z u HYPERLINK

6、l _Toc293338997 1 緒 論 PAGEREF _Toc293338997 h 1 HYPERLINK l _Toc293338998 1.1 選題背景 PAGEREF _Toc293338998 h 1 HYPERLINK l _Toc293338999 1.1.1 課題相關(guān)技術(shù)的開展 PAGEREF _Toc293338999 h 2 HYPERLINK l _Toc293339000 課題研究的必要性 PAGEREF _Toc293339000 h 2 HYPERLINK l _Toc293339001 課題研究的內(nèi)容 PAGEREF _Toc293339001 h 3 HY

7、PERLINK l _Toc293339002 2 FPGA和QuartusII設(shè)計平臺介紹 PAGEREF _Toc293339002 h 4 HYPERLINK l _Toc293339003 FPGA概述 PAGEREF _Toc293339003 h 4 HYPERLINK l _Toc293339004 FPGA的根本結(jié)構(gòu) PAGEREF _Toc293339004 h 4 HYPERLINK l _Toc293339005 可編程輸入輸出單元 PAGEREF _Toc293339005 h 5 HYPERLINK l _Toc293339006 2.2.2 可配置邏輯塊 PAGER

8、EF _Toc293339006 h 5 HYPERLINK l _Toc293339007 數(shù)字時鐘管理模塊 PAGEREF _Toc293339007 h 6 HYPERLINK l _Toc293339008 FPGA系統(tǒng)設(shè)計流程 PAGEREF _Toc293339008 h 7 HYPERLINK l _Toc293339009 QuartusII設(shè)計平臺 PAGEREF _Toc293339009 h 9 HYPERLINK l _Toc293339010 3 數(shù)字鐘設(shè)計方案 PAGEREF _Toc293339010 h 12 HYPERLINK l _Toc293339011

9、數(shù)字鐘的總體結(jié)構(gòu) PAGEREF _Toc293339011 h 12 HYPERLINK l _Toc293339012 3.1.1 數(shù)字鐘的工作原理 PAGEREF _Toc293339012 h 12 HYPERLINK l _Toc293339013 系統(tǒng)芯片的選取 PAGEREF _Toc293339013 h 13 HYPERLINK l _Toc293339014 3.2 單元電路設(shè)計 PAGEREF _Toc293339014 h 13 HYPERLINK l _Toc293339015 分頻模塊電路設(shè)計14 HYPERLINK l _Toc293339016 3.2.2 時、

10、分、秒電路設(shè)計 PAGEREF _Toc293339016 h 15 HYPERLINK l _Toc293339017 3.2.3 月、日電路設(shè)計 PAGEREF _Toc293339017 h 15 HYPERLINK l _Toc293339018 3.2.4 數(shù)碼顯示功能 PAGEREF _Toc293339018 h 17 HYPERLINK l _Toc293339019 3.2.5 整點報時功能 PAGEREF _Toc293339019 h 184 HYPERLINK l _Toc293339020 結(jié) 論 PAGEREF _Toc293339020 h 21 HYPERLIN

11、K l _Toc293339021 致 謝 PAGEREF _Toc293339021 h 23 HYPERLINK l _Toc293339022 參考文獻(xiàn) PAGEREF _Toc293339022 h 24基于FPGA的數(shù)字鐘設(shè)計1 緒 論現(xiàn)代社會的標(biāo)志之一就是信息產(chǎn)品的廣泛使用,而且是產(chǎn)品的性能越來越強(qiáng),復(fù)雜程度越來越高,更新步伐越來越快。支撐信息電子產(chǎn)品高速開展的根底就是微電子制造工藝水平的提高和電子產(chǎn)品設(shè)計開發(fā)技術(shù)的開展。前者以微細(xì)加工技術(shù)為代表,而后者的代表就是電子設(shè)計自動化electronic design automatic, EDA技術(shù)。20世紀(jì)90年代,國際上電子和計算機(jī)

12、技術(shù)較先進(jìn)的國家,一直在積極探索新的電子電路設(shè)計方法,并在設(shè)計方法、工具等方面進(jìn)行了徹底的變革,取得了巨大成功。在電子技術(shù)設(shè)計領(lǐng)域,可編程邏輯器件如 HYPERLINK :/baike.baidu /view/140068.htm t _blank CPLD、 HYPERLINK :/baike.baidu /view/51371.htm t _blank FPGA的應(yīng)用,已得到廣泛的普及,這些器件為 /view/987445.htm t _blank 數(shù)字系統(tǒng)的設(shè)計帶來了極大的靈活性。這些器件可以通過軟件編程而對其硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),從而使得硬件的設(shè)計可以如同軟件設(shè)計那樣方便快捷。這

13、一切極大地改變了傳統(tǒng)的 HYPERLINK :/baike.baidu /view/3114367.htm t _blank 數(shù)字系統(tǒng)設(shè)計方法、設(shè)計過程和設(shè)計觀念,促進(jìn)了EDA技術(shù)的迅速開展。 EDA技術(shù)就是以計算機(jī)為工具,設(shè)計者在EDA軟件平臺上,用硬件描述語言VerilogHDL完成設(shè)計文件,然后由計算機(jī)自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極大地提高了電路設(shè)計的效率和可操作性,減輕了設(shè)計者的勞動強(qiáng)度。隨著大量工作者采用新技術(shù)、新設(shè)備,使得我們生活數(shù)字化的腳步變得越來越快,越來越穩(wěn)定。而大亮

14、設(shè)備的數(shù)字化都離不開計時功能的數(shù)字化。鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴(kuò)展了鐘表原先的報時功能。諸如定時自動報警、定時啟閉電路、定時開關(guān)烘箱、通斷動力設(shè)備,甚至各種定時電氣的自動啟用等,所有這些都是以鐘表數(shù)字化為根底的。因此研究數(shù)字鐘以及擴(kuò)大其應(yīng)用有著非?,F(xiàn)實的意義。1.1 選題背景本節(jié)將從FPGA嵌入式應(yīng)用開發(fā)技術(shù)與數(shù)字鐘技術(shù)開展的客觀實際出發(fā),通過對該技術(shù)開展?fàn)顩r的了解及課題本身的需要,指出研究基于FPGA的芯片系統(tǒng)與設(shè)計數(shù)字鐘的設(shè)計與實現(xiàn)的必要性。 課題相關(guān)技術(shù)的開展 當(dāng)今電子產(chǎn)品正向功能多元化,體積最小化,功耗最低化的方向開展。它與傳統(tǒng)的電子產(chǎn)品在設(shè)計上的顯著區(qū)別

15、是大量使用大規(guī)??删幊踢壿嬈骷巩a(chǎn)品的性能提高,體積縮小,功耗降低,同時廣泛運(yùn)用現(xiàn)代計算機(jī)技術(shù),提高產(chǎn)品的自動化程度和競爭力,縮短研發(fā)周期。EDA技術(shù)正是為了適應(yīng)現(xiàn)代電子技術(shù)的要求,吸收眾多學(xué)科最新科技成果而形成的一門新技術(shù)。美國ALTERA公司的可編程邏輯器件采用全新的結(jié)構(gòu)和先進(jìn)的技術(shù),加上Quartus開發(fā)環(huán)境,使得其更具有高性能,開發(fā)周期短等特點,十分方便進(jìn)行電子產(chǎn)品的開發(fā)和設(shè)計。EDA技術(shù)以大規(guī)??删幊踢壿嬈骷樵O(shè)計載體,以硬件描述語言為系統(tǒng)邏輯描述主要表達(dá)方式,以計算機(jī)和大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實驗開發(fā)系統(tǒng)為設(shè)計工具,自動完成用軟件的方式設(shè)計的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、

16、邏輯化簡、邏輯分割、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù)。本設(shè)計是利用VerilogHDL硬件描述語言結(jié)合可編程邏輯器件進(jìn)行的,并通過數(shù)碼管靜態(tài)顯示走時結(jié)果。數(shù)字鐘可以由各種技術(shù)實現(xiàn),如單片機(jī)等。利用可編程邏輯器件具有其它方式?jīng)]有的特點,它具有易學(xué)、方便、新穎、有趣、直觀,設(shè)計與實驗成功率高、理論與實踐結(jié)合緊密、體積小、容量大、I/O口豐富、編程和加密等特點,并且它還具有開放的界面、豐富的設(shè)計庫、模塊化的工具以及LPM定制等優(yōu)良性能,應(yīng)用非常方便。因此,本設(shè)計采用可編程邏輯器件實現(xiàn)。 課題研究的必要性現(xiàn)在是一個知識爆炸的新時代。新產(chǎn)品、新技術(shù)層出不窮,電子技

17、術(shù)的開展更是日新月異。可以毫不夸張的說,電子技術(shù)的應(yīng)用無處不在,電子技術(shù)正在不斷地改變著我們的生活,改變著我們的世界。在這快速開展的年代,時間對人們來說是越來越珍貴,在快節(jié)奏的生活時,人們往往忘記了時間,一旦遇到重要的事情而忘記了時間,這將會帶來很大的損失,因此我們需要一個定時系統(tǒng)來提醒這些忙碌的人。數(shù)字化的鐘表給人們帶來了極大的方便。近些年,隨著科技的開展和社會的進(jìn)步,人們對數(shù)字鐘的要求也越來越高,傳統(tǒng)的時鐘已不能滿足人們的需求,多功能數(shù)字鐘不管在性能還是在樣式上都發(fā)生了質(zhì)的變化,有電子鬧鐘、數(shù)字鬧鐘等等。 課題研究的內(nèi)容本設(shè)計主要研究基于FPGA的數(shù)字鐘,要求時間以24小時為一個周期,顯示

18、月、日、時、分、秒。具有校時以及整點報時功能,可以對個時間段進(jìn)行單獨校對,使其校正到標(biāo)準(zhǔn)時間。校對時間由S1、S2兩個鍵盤按鈕進(jìn)行控制,為了保證計時的穩(wěn)定及準(zhǔn)確須由晶體振蕩器提供時間基準(zhǔn)信號。2 FPGA和QuartusII設(shè)計平臺介紹 FPGA概述FPGAFieldProgrammable Gate Array,即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的根底上進(jìn)一步開展的產(chǎn)物。它是作為專用集成電路ASIC領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的缺乏,又克服了原有可編程器件門電路數(shù)有限的缺點。目前以硬件描述語言VerilogHDL 或 VHDL所完成的電路設(shè)計,

19、可以經(jīng)過簡單的綜合與布局,快速的燒錄至 FPGA 上進(jìn)行測試,是現(xiàn)代 IC 設(shè)計驗證的技術(shù)主流。這些可編輯元件可以被用來實現(xiàn)一些根本的邏輯門 HYPERLINK :/baike.baidu /view/134362.htm t _blank 電路比方AND、OR、XOR、NOT或者更復(fù)雜一些的組合功能比方解碼器或數(shù)學(xué)方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如 HYPERLINK :/baike.baidu /view/71792.htm t _blank 觸發(fā)器Flipflop或者其他更加完整的記憶塊。 HYPERLINK :/baike.baidu /view/28

20、25452.htm t _blank 系統(tǒng)設(shè)計師可以根據(jù)需要通過可編輯的連接把FPGA內(nèi)部的邏輯塊連接起來,就好似一個電路試驗板被放在了一個 HYPERLINK :/baike.baidu /view/26651.htm t _blank 芯片里。一個出廠后的成品FPGA的邏輯塊和連接可以按照設(shè)計者而改變,所以FPGA可以完成所需要的邏輯功能。 FPGA一般來說比ASIC專用 HYPERLINK :/baike.baidu /view/2827837.htm t _blank 集成芯片的速度要慢,無法完成復(fù)雜的設(shè)計,而且消耗更多的電能。但是他們也有很多的優(yōu)點比方可以快速成品,可以被修改來改正程

21、序中的錯誤和更廉價的造價。廠商也可能會提供廉價的但是編輯能力差的FPGA。因為這些芯片有比擬差的可編輯能力,所以這些設(shè)計的開發(fā)是在普通的FPGA上完成的,然后將設(shè)計轉(zhuǎn)移到一個類似于ASIC的芯片上。另外一種方法是用CPLD復(fù)雜 HYPERLINK :/baike.baidu /view/333155.htm t _blank 可編程邏輯器件備。 FPGA的根本結(jié)構(gòu)目前主流的FPGA仍是基于查找表技術(shù)的,已經(jīng)遠(yuǎn)遠(yuǎn)超出了先前版本的根本性能,并且整合了常用功能如RAM、時鐘管理和DSP的硬核ASIC型模塊。如圖2-1所示注:圖2-1只是一個示意圖,實際上每一個系列的FPGA都有其相應(yīng)的內(nèi)部結(jié)構(gòu),F(xiàn)P

22、GA芯片主 要由6局部完成,分別為:可編程輸入輸出單元、根本可編程邏輯單元、完整的時鐘管理、嵌入塊式RAM、豐富的布線資源、內(nèi)嵌的底層功能單元和內(nèi)嵌專用硬件模塊。 圖2-1 FPGA芯片的內(nèi)部結(jié)構(gòu)2.2.1 可編程輸入輸出單元 可編程輸入/輸出單元簡稱I/O單元,是芯片與外界電路的接口局部,完成不同電氣特性下對輸入/輸出信號的驅(qū)動與匹配要求,其示意結(jié)構(gòu)如圖2-2所示。 FPGA內(nèi)的I/O按組分類,每組都能夠獨立地支持不同的I/O標(biāo)準(zhǔn)。通過軟件的靈活配置,可適配不同的電氣標(biāo)準(zhǔn)與I/O物理特性,可以調(diào)整驅(qū)動電流的大小,可以改變上、下拉電阻。目前,I/O口的頻率也越來越高,一些高端的FPGA通過DD

23、R存放器技術(shù)可以支持高達(dá)2Gbps的數(shù)據(jù)速率。 外部輸入信號可以通過IOB模塊的存儲單元輸入到FPGA的內(nèi)部,也可以直接輸入FPGA 內(nèi)部。當(dāng)外部輸入信號經(jīng)過IOB模塊的存儲單元輸入到FPGA內(nèi)部時,其保持時間Hold Time的要求可以降低,通常默認(rèn)為0。 為了便于管理和適應(yīng)多種電器標(biāo)準(zhǔn),F(xiàn)PGA的IOB被劃分為假設(shè)干個組bank,每個bank的接口標(biāo)準(zhǔn)由其接口電壓VCCO決定,一個bank只能有 一種VCCO,但不同bank的VCCO可以不同。只有相同電氣標(biāo)準(zhǔn)的端口才能連接在一起,VCCO電壓相同是接口標(biāo)準(zhǔn)的根本條件。 可配置邏輯塊CLB是FPGA內(nèi)的根本邏輯單元。CLB的實際數(shù)量和特性會

24、依器件的不同而不同,但是每個CLB都包含一個可配置開關(guān)矩陣,此矩陣由4矩陣是高度靈活的,可以對其進(jìn)行配置以便處理組合邏輯、移位存放器或RAM。在Xilinx公司的FPGA器件中,CLB由多個一般為4個或2個或6個輸入、輸出單元,一些選型電路多路復(fù)用器等和觸發(fā)器組成。 開關(guān) 圖2-2 典型的IOB內(nèi)部結(jié)構(gòu)示意圖相同的Slice和附加邏輯構(gòu)成,如圖2-3所示。每個CLB模塊不僅可以用于實現(xiàn)組合邏輯、時序邏輯,還可以配置為分布式RAM和分布式ROM。 Slice是Xilinx公司定義的根本邏輯單位,其內(nèi)部結(jié)構(gòu)如圖2-4所示,一個Slice由兩個4輸入的函數(shù)、進(jìn)位邏輯、算術(shù)邏輯、存儲邏輯和函數(shù)復(fù)用器組

25、成。算術(shù)邏輯包括一個異或門XORG和一個專用與門MULTAND,一個異或門可以使一個Slice實現(xiàn) 2bit全加操作,專用與門用于提高乘法器的效率;進(jìn)位邏輯由專用進(jìn)位信號和函數(shù)復(fù)用器MUXC組成,用于實現(xiàn)快速的算術(shù)加減法操作;4輸入函數(shù)發(fā)生 器用于實現(xiàn)4輸入LUT、分布式RAM或16比特移位存放器Virtex-5系列芯片的Slice中的兩個輸入函數(shù)為6輸入,可以實現(xiàn)6輸入LUT或 64比特移位存放器;進(jìn)位邏輯包括兩條快速進(jìn)位鏈,用于提高CLB模塊的處理速度。 數(shù)字時鐘管理模塊 業(yè)內(nèi)大多數(shù)FPGA均提供數(shù)字時鐘管理Xilinx的全部FPGA均具有這種特性。Xilinx推出最先進(jìn)的FPGA提供數(shù)字

26、時鐘管理和相位環(huán)路鎖定。相位環(huán)路鎖定能夠提供精確的時鐘綜合,且能夠降低抖動,并實現(xiàn)過濾功能。圖2-3 典型的CLB結(jié)構(gòu)示意圖 FPGA系統(tǒng)設(shè)計流程一般說來,一個比擬大的完整的工程應(yīng)該采用層次化的描述方法:分為幾個較大的模塊,定義好各功能模塊之間的接口,然后各個模塊再細(xì)分去具體實現(xiàn),這就是自頂向下的設(shè)計方法。目前這種高層次的設(shè)計方法已被廣泛采用。高層次設(shè)計只是定義系統(tǒng)的行為特征,可以不涉及實現(xiàn)工藝,因此還可以在廠家綜合庫的支持下,利用綜合優(yōu)化工具將高層次描述轉(zhuǎn)換為針對某種工藝優(yōu)化的網(wǎng)絡(luò)表,使工藝轉(zhuǎn)化變得輕而易舉。FPGA系統(tǒng)設(shè)計的工作流程如圖2-5所示。流程說明:1.工程師按照“自頂向下的設(shè)計方

27、法進(jìn)行系統(tǒng)劃分。2.輸入VerilogHDL代碼,這是設(shè)計中最為普遍的輸入方式。此外,還可以采用圖形輸入方式,這種輸入方式具有直觀、容易理解的優(yōu)點。3.將以上的設(shè)計輸入編譯成標(biāo)準(zhǔn)的VerilogHDL文件。4.進(jìn)行代碼級的功能仿真,主要是檢驗系統(tǒng)功能設(shè)計的正確性。這一步驟適用于大型設(shè)計,因為對于大型設(shè)計來說,在綜合前對源代碼仿真,就可以大大減少設(shè)計重復(fù)的次數(shù)和時間。一般情況下,這一仿真步驟可略去。圖2-4 典型的4輸入Slice結(jié)構(gòu)示意圖5.利用綜合器對VerilogHDL源代碼進(jìn)行綜合優(yōu)化處理,生成門級描述的網(wǎng)絡(luò)表文件,這是將高層次描述轉(zhuǎn)化為硬件電路的關(guān)鍵步驟。綜合優(yōu)化是針對ASIC芯片供給

28、商的某一產(chǎn)品系列進(jìn)行的,所以綜合的過程要在相應(yīng)的廠家綜合庫的支持下才能完成。6.利用產(chǎn)生的網(wǎng)絡(luò)表文件進(jìn)行適配前的時序仿真,仿真過程不涉及具體器件的硬件特性,是較為粗略的。一般的設(shè)計,也可略去這一步驟。7.利用適配器將綜合后的網(wǎng)絡(luò)表文件針對某一具體的目標(biāo)器件進(jìn)行邏輯映射操作,包括底層器件配置、邏輯分割、邏輯優(yōu)化和布局布線。8.在適配完成后,產(chǎn)生多項設(shè)計結(jié)果:a.適配報告,包括芯片內(nèi)部資源利用情況,設(shè)計的布爾方程描述情況等;b.適配后的仿真模型;c.器件編程文件。根據(jù)適配后的仿真模型,可以進(jìn)行適配后時序仿真,因為已經(jīng)得到器件的實際硬件特性如時延特性,所以仿真結(jié)果能比擬精確的預(yù)期未來芯片的實際性能。

29、如果仿真結(jié)果達(dá)不到設(shè)計要求,就修改VerilogHDL源代碼或選擇不同速度和品質(zhì)的器件,直至滿足設(shè)計要求。最后將適配器產(chǎn)生的器件編程文件通過編程器或下載電纜載入到目標(biāo)芯片F(xiàn)PGA中。 QuartusII設(shè)計平臺本設(shè)計所用軟件主要是QuartusII,在此對它做一些介紹。系統(tǒng)劃分編譯器代碼級功能仿真綜合器適配前時序仿真適配器FPGA實現(xiàn)適配后仿真模型適配后時序仿真適配報告ASIC實現(xiàn)VerilogHDL代碼或圖形方式輸入仿真綜合庫器件編程文件QuartusII是Altera提供的FPGA開發(fā)集成環(huán)境,Altera是世界上最大的可編程邏輯器件供給商之一。QuartusII提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計

30、環(huán)境,使設(shè)計者能方便地進(jìn)行設(shè)計輸入、快速處理和器件編程。 圖2-5 FPGA系統(tǒng)設(shè)計流程Altera公司的QuartusII 開發(fā)工具人機(jī)界面友好、易于使用、性能優(yōu)良,并自帶編譯、仿真功能。QuartusII軟件完全支持VerilogHDL設(shè)計流程,其內(nèi)部嵌有VerilogHDL邏輯綜合器。QuartusII 也可以利用第三方的綜合工具,如FPGA Compiler II,并能直接調(diào)用這些工具。同樣,QuartusII具備仿真功能,同時也支持第三方的仿真工具。此外,QuartusII與MATLAB和DSP Builder結(jié)合,可以進(jìn)行基于FPGA的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)實現(xiàn)的關(guān)鍵ED

31、A技術(shù)。QuartusII包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器、適配器、裝配器、時序分析器、設(shè)計輔助模塊、EDA網(wǎng)表文件生成器、編輯數(shù)據(jù)接口等??梢酝ㄟ^選擇Start Compilation來運(yùn)行所有的編譯器模塊,也可以通過選擇Start單獨運(yùn)行各個模塊。在Compiler Tool窗口中,可以翻開該模塊的設(shè)置文件或報告文件,或者翻開其它相關(guān)窗口。圖2-6 QuartusII設(shè)計流程圖2-6上排所示的是QuartusII編譯設(shè)計主控界面,它顯示了QuartusII自動設(shè)計的各主要處理環(huán)節(jié)和設(shè)計流程,包括設(shè)計輸入編輯、設(shè)計分析與綜合、適配、編程文件匯編、時序參數(shù)提取以及編程下載

32、幾個步驟。圖2-6下排的流程框圖是與上面的QuartusII設(shè)計流程相對照的標(biāo)準(zhǔn)的EDA開發(fā)流程。在設(shè)計輸入之后,QuartusII的編譯器將給出設(shè)計輸入的錯誤報告。QuartusII擁有性能良好的設(shè)計錯誤定位器,用于確定文本或圖形設(shè)計中的錯誤。在進(jìn)行編譯后,可對設(shè)計進(jìn)行時序仿真。在仿真前,需要利用波形編輯器編輯一個波形鼓勵文件。編譯和仿真檢測無誤后,便可將下載信息通過QuartusII提供的編程器下載入目標(biāo)器件中了。QuartusII圖形用戶界面的根本設(shè)計流程如下:1.使用New Project WizardFile菜單建立新工程并指定目標(biāo)器件或器件系列。2.使用Text Editor文本編

33、輯器建立 Verilog HDL、VHDL或Altera硬件描述語言AHDL設(shè)計??梢允褂肂lock Editor原理圖編輯器建立流程圖或原理圖。流程圖中可以包含代表其它設(shè)計文件的符號;還可以使用MegaWizard Plug-In Manager生成宏功能模塊和IP內(nèi)核的自定義變量,在設(shè)計中將它們實例化。3.使用Analysis & Synthesis對設(shè)計進(jìn)行綜合。4.使用Fitter對設(shè)計執(zhí)行布局布線。在對源代碼進(jìn)行少量更改之后,還可以使用增量布局布線。5.使用Timing Analyzer對設(shè)計進(jìn)行時序分析。6.使用仿真器對設(shè)計進(jìn)行時序仿真。 7.使用Assembler為設(shè)計建立編程文

34、件。 8.使用編程文件、Programmer 和Altera硬件編程器對器件進(jìn)行編程;或?qū)⒕幊涛募D(zhuǎn)換為其它文件格式以供嵌入式處理器等其它系統(tǒng)使用。3 數(shù)字鐘設(shè)計方案 數(shù)字鐘的總體結(jié)構(gòu)數(shù)字鐘實際上是一個對標(biāo)準(zhǔn)頻率1HZ進(jìn)行計數(shù)的計數(shù)電路。由于計數(shù)的起始時間不可能與標(biāo)準(zhǔn)時間如北京時間一致,故需要在電路上加一個校時電路,同時標(biāo)準(zhǔn)的1HZ時間信號必須做到準(zhǔn)確穩(wěn)定,通常使用石英晶體振蕩器電路構(gòu)成數(shù)字鐘。本設(shè)計總體框架如圖3-1所示。按鍵處理Output分頻Input計時數(shù)碼顯示模塊實時時鐘送顯示模6計數(shù)按鍵處理時間設(shè)置復(fù)位Output鬧鐘圖3-1 數(shù)字鐘的總體框架結(jié)構(gòu)3.1.1 數(shù)字鐘的工作原理振蕩器

35、產(chǎn)生穩(wěn)定的高頻脈沖信號,作為數(shù)字鐘的時間基準(zhǔn),然后經(jīng)過分頻器輸出標(biāo)準(zhǔn)秒脈沖。秒計數(shù)器滿60后向分計數(shù)器進(jìn)位,分計數(shù)器滿60后向小時計數(shù)器進(jìn)位,小時計數(shù)器按照“24翻1規(guī)律計數(shù)并向天計數(shù)器進(jìn)位,天計數(shù)器按照當(dāng)月規(guī)律計數(shù),計滿整個月份天數(shù)后向月計數(shù)器計數(shù)。計數(shù)滿后各計數(shù)器清零,重新計數(shù)。計數(shù)器的輸出分別經(jīng)譯碼器送數(shù)碼管顯示。計時出現(xiàn)誤差時,可以用校時電路校時、校分??刂菩盘栍蒘1、S2兩個三位按鈕輸入。時基電路可以由石英晶體振蕩電路構(gòu)成,假設(shè)晶振頻率1MHz,經(jīng)過6次十分頻就可以得到秒脈沖信號。譯碼顯示電路由八段譯碼器完成。3.1.2 系統(tǒng)芯片的選取本系統(tǒng)擬采用Altera公司Cyclone系列的

36、EP1C3T144芯片。選用該款芯片的原因是:1.Altera公司的Quartus II開發(fā)環(huán)境非常友好、直觀,為整個系統(tǒng)的開發(fā)提供了極大的方便;2.該FPGA片內(nèi)邏輯資源、I/O端口數(shù)和RAM容量都足夠用,并且價格相對來說比擬廉價,速度快,可以滿足要求,且有很大的升級空間。EP1C3T144是Altera公司生產(chǎn)的Cyclone I代、基于1.5V內(nèi)核,3.3VI/O,0.13um和SRAM的FPGA,容量為2910個LE,擁有13個 M4KRAM4K位+奇偶校驗塊;除此之外,還集成了許多復(fù)雜的功能,提供了全功能的鎖相環(huán)PLL,用于板級的時鐘網(wǎng)絡(luò)管理和專用I/O口,這些接口用于連接業(yè)界標(biāo)準(zhǔn)的

37、外部存儲器器件,具有本錢低和使用方便的特點,具有以下特性:1.新的可編程架構(gòu)通過設(shè)計實現(xiàn)低本錢;2.嵌入式存儲資源支持各種存儲器應(yīng)用和數(shù)字信號處理器DSP;3.采用新的串行置器件如EPCS1的低本錢配置方案;4.支持LVTTL、LVCMOS、SSTL-2以及SSTL-3 I/O標(biāo)準(zhǔn);5.支持66MHZ,32位PCI標(biāo)準(zhǔn);6.支持低速311MbpsLVDS I/O;7.支持串行總線和網(wǎng)絡(luò)接口及各種通信協(xié)議;8.使用PLL管理片內(nèi)和片外系統(tǒng)時序;9.支持外部存儲器,包括 DDR SDRAM133MHZ,F(xiàn)CRAM以及 SDR SDRAM;10.支持多種IP,包括Altera公司的MegaCore以

38、及其合伙組織的IP,支持最新推出的Nios II嵌入式處理器,具有超凡的性能、低本錢和最完整的一套軟件開發(fā)工具。 單元電路設(shè)計 分頻模塊電路設(shè)計晶體振蕩器是構(gòu)成數(shù)字式時鐘的核心,振蕩器的穩(wěn)定度及頻率的精度決定了數(shù)字鐘計時的準(zhǔn)確程度,它保證了時鐘的走時準(zhǔn)確及穩(wěn)定。石英晶體的選頻特性非常好,只有某一頻率點的信號可以通過它,其它頻率段的信號均會被它所衰減,而且,振蕩信號的頻率與振蕩電路中的R、C組件的數(shù)值無關(guān)。因此這種振蕩電路輸出的是準(zhǔn)確度極高的信號。然后再利用分頻電路,將其輸出信號轉(zhuǎn)變?yōu)槊胄盘?,其組成框圖如圖3-2所示。石英晶體振蕩電路分頻電路秒信號圖3-2 秒信號產(chǎn)生電路框圖秒信號初始化程序如下

39、:always(posedge Clk)beginif(Clk_Count1=9999)beginClk_Count1=0;Clk_1HZ=-Clk_1HZ;endelse Clk_Count1=Clk_Count1+1;end圖3-3時鐘邏輯圖由Quartus II模擬仿真的邏輯圖如圖3-3所示。由Quartus II模擬仿真的時序圖如圖3-4所示。圖3-4時鐘時序仿真圖 時、分、秒電路設(shè)計由晶振產(chǎn)生秒脈沖,進(jìn)而秒信號產(chǎn)生,秒計時器開始計時。當(dāng)秒計時器計數(shù)至59時向分計時器產(chǎn)生進(jìn)位,分計時器開始計數(shù)。同理當(dāng)分計時器計數(shù)至59時向時計數(shù)器產(chǎn)生進(jìn)位,時計數(shù)器開始計時。很快調(diào)節(jié)時間到標(biāo)準(zhǔn)時間。具體

40、時間調(diào)節(jié)模擬圖如圖3-5所示。圖中Mux10模塊能夠控制時分秒計數(shù)進(jìn)位,當(dāng)小時高位計滿23時向日期的低位產(chǎn)生進(jìn)位這樣便起到了與月日相聯(lián)系的作用。圖3-5 時分秒、月日邏輯圖3.2.3 月、日電路設(shè)計由于每個月的天數(shù)不定,這給程序設(shè)計上也帶來了麻煩,所以在此選擇將月份和時分秒分開編寫。按照每個月天數(shù)變化的規(guī)律將31天每月的月份歸納為1、3、5、7、8、10、12,30十天的月份為4、6、9、11,2月份又分為28天和29天兩種。當(dāng)S1按兩下,按動S2可調(diào)節(jié)月份。本設(shè)計把每個月是31天的月份單獨編寫程序,用“與門和“或門將1、3、5、7、8、10、12聯(lián)系到一起主要程序如下所示。if(month0

41、=4b0001)&(month14b0001)|(month0=4b0011)&(month14b0001)|(month0=4b0101)&(month14b0001)|(month0=4b0111)&(month14b0001)|(month0=4b1000)&(month14b0001)|(month0=4b0000)&(month1=4b0001)|(month0=4b0010)&(month1=4b0001) /1,3,5,7,8,10,12的天數(shù)是31。當(dāng)month0等于4且month1小于1顯示“04月 ,當(dāng)month0等于6且month1小于1顯示“06月 ,當(dāng)month0等于

42、9且month1小于1顯示“09月 ,當(dāng)month0等于11且month1等于1顯示“11月 ,且此時的這幾個月的天數(shù)均是30天。具體程序如下所示。 if(month0=4b0100)&(month14b0001)|(month0=4b0110)&(month14b0001)|(month0=4b1001)&(month14b0001)|(month0=4b0001)&(month1=4b0001) /4,6,9,11月的天數(shù)是30。 再者,由于有閏年的存,在2月份的天數(shù)有28天和29天之分,但本設(shè)計只是面向EDA試驗箱進(jìn)行模擬,且沒有設(shè)計年份,故在編寫程序時將每個月固定為28天,主要程序如下

43、:if(month0=4b0010)&(month14b0001) /2月beginif(day04b1001)&(day14b0010)|(day04b1000)&(day14b0011)day0=day0+4b1;elsebeginday0=4b0;if(day14b0010)day1=day1+4b1;elsebegin day1=4b0; month0=month0+4b1;end 本設(shè)計把這些程序用Quartus II進(jìn)行模擬仿真就會得到如圖3-5所示的邏輯圖。圖中Mux32所示的模塊即能控制月日的計數(shù)和進(jìn)位,并向顯示模塊產(chǎn)生輸入信號。圖3-6 軟件模擬月、日邏輯圖3.2.4 數(shù)碼顯

44、示功能該模塊完成對計數(shù)器編碼信息的譯碼工作,驅(qū)動數(shù)碼管那么顯示相應(yīng)的數(shù)字。具體程序為:always(Sel)begincase(Sel)4b0000:Disp_Temp=hour1;4b0001:Disp_Temp=hour0;4b0010:Disp_Temp=4b1010;4b0011:Disp_Temp=minute1;4b0100:Disp_Temp=minute0;4b0101:Disp_Temp=4b1010;4b0110:Disp_Temp=second1;4b0111:Disp_Temp=second1;4b1000:Disp_Temp=4b1010;4b1001:Disp_Te

45、mp=day0;4b1010:Disp_Temp=day1;4b1011:Disp_Temp=4b1010;4b1100:Disp_Temp=month0;4b1101:Disp_Temp=month1;endcaseendalways(Disp_Temp) begincase(Disp_Temp)4b0000:Display=7b0111111; 4b0001:Display=7b0000110; 4b0010:Display=7b1011011; 4b0011:Display=7b1001111; 4b0100:Display=7b1100110;4b0101:Display=7b1101

46、101;4b0110:Display=7b1111101; 4b0111:Display=7b0000111; 4b1000:Display=7b1111111; 4b1001:Display=7b1101111;4b1010:Display=7b1000000; default:Display=7b0000000; endcaseend當(dāng)把程序進(jìn)行軟件模擬式就會產(chǎn)生如圖3-7所示的邏輯芯片。 整點報時功能當(dāng)分計數(shù)器和秒計數(shù)器分別計數(shù)至59時秒脈沖向報時系統(tǒng)產(chǎn)生進(jìn)位信號進(jìn)而整點報時功能啟動。always(posedge Clk) beginMusic_Count=Music_Count+1;

47、Sel=Sel+1;if(minute1=5&minute0=9&second1=5)begin圖3-7 顯示譯碼器驅(qū)動芯片if(second1%2)=0)Spk=Music_Count2;else Spk=0;endelse if(minute1=0&minute0=0&second1=0&second1=0)Spk=Music_Count1;else Spk=0;end如上圖所示即為軟件模擬下的整點報時功能的邏輯圖。用軟件模擬程序的時序仿真圖如圖3-9所示。圖3-8 整點報時邏輯圖圖3-9 整點報時時序仿真圖4 結(jié)論 本設(shè)計采用FPGA技術(shù),運(yùn)用VerilogHDL語言編寫程序,然后再Q(mào)u

48、artusII軟件進(jìn)行仿真模擬。將設(shè)計程序下載到硬件電路即選取的芯片EP1C3T144上運(yùn)行調(diào)試后,最終結(jié)果與預(yù)期效果根本一致,整點報時功能正常,時、分都能夠正常計數(shù)并能由按鍵控制校時。在此次的數(shù)字鐘設(shè)計過程中,更進(jìn)一步地熟悉有關(guān)數(shù)字電路的知識和具體應(yīng)用。學(xué)會了利用QuarterII軟件進(jìn)行原理圖的繪制,硬件描述語言VerilogHDL的編寫,程序的仿真等工作。并能根據(jù)仿真結(jié)果分析設(shè)計的存在的問題和缺陷,從而進(jìn)行程序的調(diào)試和完善。在設(shè)計電路中,往往是先仿真后連接實物圖,但有時候仿真和電路連接并不是完全一致的,例如在對具體模塊的仿真的過程中,往往沒有考慮到整體設(shè)計的層面以及與上下模塊接口的設(shè)計。再加上器件對信號的延時等問題,實際下載硬件電路上后會出現(xiàn)一系列的問題,因此仿真圖和電路連接圖還是有一定區(qū)別的。總體模擬圖如圖4-1所示。圖4-1 總體模擬邏輯圖此次的數(shù)字鐘設(shè)計在于按鍵的控制和各個模塊代碼的編寫,雖然能把鍵盤接口和各個模塊的代碼編寫出來,并能正常顯示,但對于各個模塊的優(yōu)化設(shè)計還有一定的缺陷和缺乏。比方按原來的設(shè)計方案要用5*5的鍵盤進(jìn)行控制,但是考慮到按鈕太多控制比擬麻煩,所以本設(shè)計選用兩個三位的按鈕S1、S2進(jìn)行控制。總的來說,通過這次的設(shè)計更進(jìn)一步地增強(qiáng)了動手能力,對數(shù)字鐘的工作原理也有了更加透徹的

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論