版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、HEFEI UNIVERSITY 課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)報(bào)告 題題 目目 基于 VHDL 語言數(shù)字鐘的設(shè)計(jì) 系系 別別 年級專業(yè)年級專業(yè) 姓姓 名名 指導(dǎo)老師指導(dǎo)老師 完成時(shí)間完成時(shí)間 摘 要 本設(shè)計(jì)主要研究基于 VHDL 的語音數(shù)字鐘的設(shè)計(jì),該數(shù)字鐘具有年、月、日、時(shí)、分、 秒計(jì)數(shù)顯示功能,以 24 小時(shí)循環(huán)計(jì)數(shù);具有校對功能、整點(diǎn)報(bào)時(shí)以及清零、使能功能。 本設(shè)計(jì)主要是在介紹了 EDA 及 VHDL 一些相關(guān)基本知識的基礎(chǔ)上,進(jìn)一步采用 EDA 技 術(shù),以硬件描述語言 VHDL 為系統(tǒng)邏輯描述手段設(shè)計(jì)文件,在 Max+plusII 工具軟件環(huán)境 下,采用自頂向下的設(shè)計(jì)方法,由各個(gè)基本模塊共同構(gòu)
2、建了一個(gè)多功能語音數(shù)字鐘,最 后通過仿真出時(shí)序圖實(shí)現(xiàn)預(yù)定功能。其中,重點(diǎn)敘述了數(shù)字鐘的設(shè)計(jì)原理和分模塊實(shí)現(xiàn) 的方法,詳細(xì)介紹了各模塊的設(shè)計(jì)程序并給出了各模塊的波形仿真圖及分析,最后通過 在 Max+plusII 上進(jìn)行時(shí)序仿真,調(diào)試運(yùn)行,在硬件測試后,驗(yàn)證了所設(shè)計(jì)的系統(tǒng)達(dá)到了 預(yù)先設(shè)計(jì)目標(biāo)。 通過這次的設(shè)計(jì)更進(jìn)一步地增強(qiáng)了實(shí)驗(yàn)的動手能力,對數(shù)字鐘的工作原理及 EDA 技 術(shù)也有了更加透徹的理解。 關(guān)鍵詞:VHDL EDA 數(shù)字鐘 仿真圖 The Design of a Voice Digital Clock Based on VHDL Abstract The design for a mul
3、ti-functional digital clock, with a year, month, day, hours, minutes and seconds count display to a 24-hour cycle count; have proof functions and the whole point timekeeping function. The design is mainly the introduction of the EDA and some related basic knowledge of VHDL, based on the further use
4、of EDA technology, hardware-description language VHDL description logic means for the system design documents, in MaxplusII tools environment, a top-down design, by the various modules together build a voice digital clock. Finally, a timing diagram of the simulation to achieve the intended function.
5、 Describes the key design principles and digital clock sub-module approach. Finally,by Max + plusII on timing simulation, debugging and running, by the hardware testing, the two systems designed are verified to realize the advanced design goal. Through this experimental design further enhances the a
6、bility of the digital clock works and EDA technology has a more thorough understanding. Keywords: VHDL EDA digital clock Simulation diagram 目 錄 第一章緒論 .1 1.1 選題背景 .1 1.1.1 課題相關(guān)技術(shù)的發(fā)展.1 1.1.2 課題研究的必要性.2 1.2 課題研究的內(nèi)容.2 第二章 EDA 概述 .3 2.1 EDA 簡介 .3 2.2 可編程邏輯器件 FPGA .3 2.3 硬件描述語言 VHDL .4 2.3.1 VHDL 的特點(diǎn).5 2.
7、3.2 VHDL 的設(shè)計(jì)結(jié)構(gòu).6 2.3.3 VHDL 的設(shè)計(jì)步驟.6 2.4 MAX+plus 概述.7 第三章 數(shù)字鐘的設(shè)計(jì)要求及總體設(shè)計(jì) .8 3.1 設(shè)計(jì)要求 .8 3.2 總體設(shè)計(jì).8 3.2.1 設(shè)計(jì)框圖.8 3.2.2 設(shè)計(jì)原理圖.9 3.3 設(shè)計(jì)原理.10 3.4 各模塊及其功能 .10 3.5 端口引腳名稱 .11 第四章 VHDL 程序設(shè)計(jì).12 4.1 分頻模塊 .12 4.2 軟件設(shè)計(jì) .13 4.2.1 SECOND 模塊.13 4.2.2 MINUTE 模塊.15 4.2.3 HOUR 模塊.17 4.2.4 掃描模塊 .18 4.2.5 顯示模塊.20 4.2.6
8、 定時(shí)鬧鐘模塊.21 4.2.7 日計(jì)數(shù)模塊 .23 4.2.8 月計(jì)數(shù)模塊 .25 4.2.9 年計(jì)數(shù)模塊 .27 4.3 硬件測試及說明 .30 4.3.1 頂層模塊原理圖.30 4.3.2 電子鐘基本功能仿真結(jié)果.31 4.3.3 硬件測試說明.32 4.3.4 結(jié)論.32 第五章 總結(jié) .33 參考文獻(xiàn) .35 致 謝 .36 第一章 緒論 現(xiàn)代社會的標(biāo)志之一就是信息產(chǎn)品的廣泛使用,而且是產(chǎn)品的性能越來越強(qiáng),復(fù)雜 程度越來越高,更新步伐越來越快。支撐信息電子產(chǎn)品高速發(fā)展的基礎(chǔ)就是微電子制造 工藝水平的提高和電子產(chǎn)品設(shè)計(jì)開發(fā)技術(shù)的發(fā)展。前者以微細(xì)加工技術(shù)為代表,而后者 的代表就是電子設(shè)計(jì)
9、自動化(electronic design automatic,EDA)技術(shù)。 本設(shè)計(jì)采用的VHDL是一種全方位的硬件描述語言,具有極強(qiáng)的描述能力,能支持系 統(tǒng)行為級、寄存器傳輸級和邏輯門級三個(gè)不同層次的設(shè)計(jì);支持結(jié)構(gòu)、數(shù)據(jù)流、行為三 種描述形式的混合描述、覆蓋面廣、抽象能力強(qiáng),因此在實(shí)際應(yīng)用中越來越廣泛。ASIC 是專用的系統(tǒng)集成電路,是一種帶有邏輯處理的加速處理器。而FPGA是特殊的ASIC芯片, 與其他的ASIC芯片相比,它具有設(shè)計(jì)開發(fā)周期短、設(shè)計(jì)制造成本低、開發(fā)工具先進(jìn)、標(biāo) 準(zhǔn)產(chǎn)品無需測試、質(zhì)量穩(wěn)定以及可實(shí)時(shí)在線檢測等優(yōu)點(diǎn)。 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了
10、鐘表原先的報(bào) 時(shí)功能。諸如定時(shí)自動報(bào)警、定時(shí)啟閉電路、定時(shí)開關(guān)烘箱、通斷動力設(shè)備,甚至各種 定時(shí)電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及 擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。這次設(shè)計(jì)的內(nèi)容就是在了解 VHDL 語言的一些基本 語法和概念的基礎(chǔ)上,進(jìn)一步應(yīng)用 VHDL,在 MAX+ plus II 的環(huán)境下設(shè)計(jì)一個(gè)電子鐘, 最后通過仿真出時(shí)序圖實(shí)現(xiàn)預(yù)定功能。 1.1 選題背景 本節(jié)將從 EDA 應(yīng)用開發(fā)技術(shù)與數(shù)字鐘技術(shù)發(fā)展的客觀實(shí)際出發(fā),通過對該技術(shù)發(fā)展 狀況的了解,以及課題本身的需要,指出研究基于 VHDL 系統(tǒng)數(shù)字鐘的設(shè)計(jì)與實(shí)現(xiàn)的 必要性。 1.1.1 課題相關(guān)技
11、術(shù)的發(fā)展 當(dāng)今電子產(chǎn)品正向功能多元化,體積最小化,功耗最低化的方向發(fā)展。它與傳統(tǒng)的電 子產(chǎn)品在設(shè)計(jì)上的顯著區(qū)別師大量使用大規(guī)??删幊踢壿嬈骷?,使產(chǎn)品的性能提高,體 積縮小,功耗降低。同時(shí)廣泛運(yùn)用現(xiàn)代計(jì)算機(jī)技術(shù),提高產(chǎn)品的自動化程度和競爭力, 縮短研發(fā)周期。EDA 技術(shù)正是為了適應(yīng)現(xiàn)代電子技術(shù)的要求,吸收眾多學(xué)科最新科技成 果而形成的一門新技術(shù)。 美國 ALTERA 公司的可編程邏輯器件采用全新的結(jié)構(gòu)和先進(jìn)的技術(shù),加上 MaxplusII(或最新的 QUARTUS)開發(fā)環(huán)境,更具有高性能,開發(fā)周期短等特點(diǎn),十分方便 進(jìn)行電子產(chǎn)品的開發(fā)和設(shè)計(jì)。 EDA 技術(shù),技術(shù)以大規(guī)??删幊踢壿嬈骷樵O(shè)計(jì)載體,
12、以硬件描述語言為系統(tǒng)邏輯 描述主要表達(dá)方式,以計(jì)算機(jī)、大規(guī)模可編程邏輯器件的開發(fā)軟件及實(shí)驗(yàn)開發(fā)系統(tǒng)為設(shè) 計(jì)工具,通過有關(guān)的開發(fā)軟件,自動完成用軟件的方式設(shè)計(jì)的電子系統(tǒng)到硬件系統(tǒng)的邏 輯編譯,邏輯化簡,邏輯分割,邏輯映射,編程下載等工作。最終形成集成電子系統(tǒng)或 專用集成芯片的一門新技術(shù)。 本設(shè)計(jì)利用 VHDL 硬件描述語言結(jié)合可編程邏輯器件進(jìn)行的,并通過數(shù)碼管動態(tài)顯示 計(jì)時(shí)結(jié)果。數(shù)字鐘可以由各種技術(shù)實(shí)現(xiàn),如單片機(jī)等.利用可編程邏輯器件具有其他方式 沒有的特點(diǎn),它具有易學(xué),方便,新穎,有趣,直觀,設(shè)計(jì)與實(shí)驗(yàn)項(xiàng)目成功率高,理論 與實(shí)踐結(jié)合緊密,體積小,容量大,I/O 口豐富,易編程和加密等特點(diǎn),并且
13、它還具有 開放的界面,豐富的設(shè)計(jì)庫,模塊化的工具以及 LPM 定制等優(yōu)良性能,應(yīng)用非常方便。 因此,本設(shè)計(jì)采用可編程邏輯器件實(shí)現(xiàn)。 1.1.2 課題研究的必要性 現(xiàn)在是一個(gè)知識爆炸的新時(shí)代。新產(chǎn)品、新技術(shù)層出不窮,電子技術(shù)的發(fā)展更是日 新月異??梢院敛豢鋸埖恼f,電子技術(shù)的應(yīng)用無處不在,電子技術(shù)正在不斷地改變我們 的生活,改變著我們的世界。在這快速發(fā)展的年代,時(shí)間對人們來說是越來越寶貴,在 快節(jié)奏的生活時(shí),人們往往忘記了時(shí)間,一旦遇到重要的事情而忘記了時(shí)間,這將會帶 來很大的損失。因此我們需要一個(gè)定時(shí)系統(tǒng)來提醒這些忙碌的人。數(shù)字化的鐘表給人們 帶來了極大的方便。近些年,隨著科技的發(fā)展和社會的進(jìn)步
14、,人們對數(shù)字鐘的要求也越 來越高,傳統(tǒng)的時(shí)鐘已不能滿足人們的需求。多功能數(shù)字鐘不管在性能還是在樣式上都 發(fā)生了質(zhì)的變化,有電子鬧鐘、數(shù)字鬧鐘等等。 1.2 課題研究的內(nèi)容 本設(shè)計(jì)主要研究基于 VHDL 的語音數(shù)字鐘的設(shè)計(jì),要求時(shí)間以 24 小時(shí)為一個(gè)周期,顯 示時(shí)、分、秒。具有校時(shí)、報(bào)時(shí)功能以及清零、使能功能。 第 2 章 EDA 概述 2.1 EDA 簡介 20 世紀(jì) 90 年代,國際上電子和計(jì)算機(jī)技術(shù)較先進(jìn)的國家,一直在積極探索新的電 子電路設(shè)計(jì)方法,并在設(shè)計(jì)方法、工具等方面進(jìn)行了徹底的變革,取得了巨大成功。在 電子技術(shù)設(shè)計(jì)領(lǐng)域,可編程邏輯器件(如 CPLD、FPGA)的應(yīng)用,已得到廣泛的
15、普及,這 些器件為數(shù)字系統(tǒng)的設(shè)計(jì)帶來了極大的靈活性。這些器件可以通過軟件編程而對其硬件 結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),從而使得硬件的設(shè)計(jì)可以如同軟件設(shè)計(jì)那樣方便快捷。這一 切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法、設(shè)計(jì)過程和設(shè)計(jì)觀念,促進(jìn)了 EDA 技術(shù)的迅 速發(fā)展。 EDA 是電子設(shè)計(jì)自動化( Electronic Design Automation)的縮寫,在 20 世紀(jì) 90 年代初從計(jì)算機(jī)輔助設(shè)計(jì)( CAD)、計(jì)算機(jī)輔助制造( CAM)、計(jì)算機(jī)輔助測試 (CAT)和計(jì)算機(jī)輔助工程( CAE)的概念發(fā)展而來的。 EDA 技術(shù)就是以計(jì)算機(jī)為工 具,設(shè)計(jì)者在 EDA 軟件平臺上,用硬件描述語言 HDL
16、 完成設(shè)計(jì)文件,然后由計(jì)算機(jī) 自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定 目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA 技術(shù)的出現(xiàn),極大地提高 了電路設(shè)計(jì)的效率和可操作性,減輕了設(shè)計(jì)者的勞動強(qiáng)度。 這些器件可以通過軟件編程而對其硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),從而使得硬件 的設(shè)計(jì)可以如同軟件設(shè)計(jì)那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方 法、設(shè)計(jì)過程和設(shè)計(jì)觀念,促進(jìn)了EDA 技術(shù)的迅速發(fā)展。 2.2 可編程邏輯器件FPGA FPGA是現(xiàn)場可編程門陣列(Field Programmable Gate Array)的簡稱,與之相應(yīng)的 CPLD是復(fù)雜可編
17、程邏輯器件(Complex Programmable Logic Device)的簡稱,兩者的功 能基本相同,只是實(shí)現(xiàn)原理略有不同,所以有時(shí)可以忽略這兩者的區(qū)別,統(tǒng)稱為可編程 邏輯器件或CPLD/PGFA。CPLD/PGFA幾乎能完成任何數(shù)字器件的功能,上至高性能CPU,下 至簡單的74電路。它如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入或 硬件描述語言自由的設(shè)計(jì)一個(gè)數(shù)字系統(tǒng)。通過軟件仿真可以事先驗(yàn)證設(shè)計(jì)的正確性,在 PCB完成以后,利用CPLD/FPGA的在線修改功能,隨時(shí)修改設(shè)計(jì)而不必改動硬件電路。使 用CPLA/FPGA開發(fā)數(shù)字電路,可以大大縮短設(shè)計(jì)時(shí)間,減少PCB面積,提高
18、系統(tǒng)的可靠性。 這些優(yōu)點(diǎn)使得CPLA/FPGA技術(shù)在20世紀(jì)90年代以后得到飛速的發(fā)展,同時(shí)也大大推動了 EDA軟件和硬件描述語言HDL的進(jìn)步。 2.3 硬件描述語言 VHDL 硬件描述語言 HDL(HardwareDescriptionLanguage)誕生于 1962 年。HDL 是用 形式化的方法描述數(shù)字電路和設(shè)計(jì)數(shù)字邏輯系統(tǒng)的語言。主要用于描述離散電子系統(tǒng) 的結(jié)構(gòu)和行為。與 SDL(SoftwareDescriptionLanguage)相似,經(jīng)歷了從機(jī)器碼 (晶體管和焊接)、匯編(網(wǎng)表)、到高級語言( HDL)的過程。 VHDL 翻譯成中文就是超高速集成電路硬件描述語言 ,他誕生于
19、1982 年。最初是 由美國國防部開發(fā)出來供美軍用來提高設(shè)計(jì)的可靠性和縮減開發(fā)周期的一種使用范圍 較小的設(shè)計(jì)語言。 1987 年底,VHDL 被 IEEE 和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言 。 自 IEEE 公布了 VHDL 的標(biāo)準(zhǔn)版本, IEEE-1076(簡稱 87 版)之后,各 EDA 公司相繼 推出了自己的 VHDL 設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具可以和VHDL 接口。此后 VHDL 在電子設(shè)計(jì)領(lǐng)域得到了廣泛的接受,并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語言。 1993 年,IEEE 對 VHDL 進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展VHDL 的內(nèi)容,公布了新版本的 VHDL
20、,(即 IEEE 標(biāo)準(zhǔn)的 1076-1993 版本)主要是應(yīng)用在數(shù) 字電路的設(shè)計(jì)中?,F(xiàn)在, VHDL 和 Verilog 作為 IEEE 的工業(yè)標(biāo)準(zhǔn)硬件描述語言,又得 到眾多 EDA 公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語言。有專 家認(rèn)為,在新的世紀(jì)中, VHDL 于 Verilog 語言將承擔(dān)起大部分的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。 目前,它在中國的應(yīng)用多數(shù)是用 FPGA/CPLD/EPLD 的設(shè)計(jì)中。當(dāng)然在一些實(shí)力較為 雄厚的單位,它也被用來設(shè)計(jì) ASIC。 VHDL 主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件 特征的語句外, VHDL 的語言形式和描述風(fēng)格與
21、句法是十分類似于一般的計(jì)算機(jī)高級 語言。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)。 2.3.1 VHDL 的特點(diǎn) 應(yīng)用 VHDL 進(jìn)行系統(tǒng)設(shè)計(jì),有以下幾方面的特點(diǎn) : 1)功能強(qiáng)大 VHDL 具有功能強(qiáng)大的語言結(jié)構(gòu)。它可以用明確的代碼描述復(fù)雜的控制邏輯設(shè)計(jì)。 并且具有多層次的設(shè)計(jì)描述功能,
22、支持設(shè)計(jì)庫和可重復(fù)使用的元件生成。VHDL 是一 種設(shè)計(jì)、仿真和綜合的標(biāo)準(zhǔn)硬件描述語言。 2)可移植性 VHDL 語言是一個(gè)標(biāo)準(zhǔn)語言,其設(shè)計(jì)描述可以為不同的EDA 工具支持。它可以從 一個(gè)仿真工具移植到另一個(gè)仿真工具,從一個(gè)綜合工具移植到另一個(gè)綜合工具,從一 個(gè)工作平臺移植到另一個(gè)工作平臺。此外,通過更換庫再重新綜合很容易移植為 ASIC 設(shè)計(jì)。 3)獨(dú)立性 VHDL 的硬件描述與具體的工藝技術(shù)和硬件結(jié)構(gòu)無關(guān)。設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu), 也不必管最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。程序設(shè)計(jì)的硬件目標(biāo) 器件有廣闊的選擇范圍,可以是各系列的CPLD、FPGA 及各種門陣列器件。 4)可
23、操作性 由于 VHDL 具有類屬描述語句和子程序調(diào)用等功能,對于已完成的設(shè)計(jì),在不改 變源程序的條件下,只需改變端口類屬參量或函數(shù),就能輕易地改變設(shè)計(jì)的規(guī)模和結(jié) 構(gòu)。 5)靈活性 VHDL 最初是作為一種仿真標(biāo)準(zhǔn)格式出現(xiàn)的,有著豐富的仿真語句和庫函數(shù)。使其 在任何大系統(tǒng)的設(shè)計(jì)中,隨時(shí)可對設(shè)計(jì)進(jìn)行仿真模擬。所以,即使在遠(yuǎn)離門級的高層 次(即使設(shè)計(jì)尚未完成時(shí)),設(shè)計(jì)者就能夠?qū)φ麄€(gè)工程設(shè)計(jì)的結(jié)構(gòu)和功能的可行性進(jìn) 行查驗(yàn),并做出決策。 2.3.2 VHDL 的設(shè)計(jì)結(jié)構(gòu) VHDL 描述數(shù)字電路系統(tǒng)設(shè)計(jì)的行為、功能、輸入和輸出。它在語法上與現(xiàn)代編程 語言相似,但包含了許多與硬件有特殊關(guān)系的結(jié)構(gòu)。 VHDL
24、 將一個(gè)設(shè)計(jì)稱為一個(gè)實(shí)體 Entity(元件、電路或者系統(tǒng)),并且將它分成 外部的可見部分(實(shí)體名、連接)和內(nèi)部的隱藏部分(實(shí)體算法、實(shí)現(xiàn))。當(dāng)定義了 一個(gè)設(shè)計(jì)的實(shí)體之后,其他實(shí)體可以利用該實(shí)體,也可以開發(fā)一個(gè)實(shí)體庫。所以,內(nèi) 部和外部的概念對系統(tǒng)設(shè)計(jì)的 VHDL 是十分重要的。 外部的實(shí)體名或連接由實(shí)體聲明 Entity 來描述。而內(nèi)部的實(shí)體算法或?qū)崿F(xiàn)則由 結(jié)構(gòu)體 Architecture 來描述。結(jié)構(gòu)體可以包含相連的多個(gè)進(jìn)程process 或者組建 component 等其他并行結(jié)構(gòu)。需要說明的是,它們在硬件中都是并行運(yùn)行的。 2.3.3 VHDL 的設(shè)計(jì)步驟 采用 VHDL 的系統(tǒng)設(shè)計(jì),
25、一般有以下 6 個(gè)步驟: 1)要求的功能模塊劃分; 2)VHDL 的設(shè)計(jì)描述(設(shè)計(jì)輸入); 3)代碼仿真模擬(前仿真); 4)計(jì)綜合、優(yōu)化和布局布線; 5)布局布線后的仿真模擬(后仿真); 6)設(shè)計(jì)的實(shí)現(xiàn)(下載到目標(biāo)器件)。 第三章 數(shù)字鐘的設(shè)計(jì)要求及總體設(shè)計(jì) 3.1 設(shè)計(jì)要求 1)具有時(shí)、分、秒計(jì)數(shù)顯示功能,以 24 小時(shí)循環(huán)計(jì)時(shí); 2)具有清零、使能功能 3)具有調(diào)節(jié)小時(shí)、分功能; 4)具有整點(diǎn)報(bào)時(shí)功能; 3.1.1 功能要求分析 根據(jù)以上數(shù)字鐘的功能要求,需要完成以下幾個(gè)部分: 1)時(shí)鐘模塊:由試驗(yàn)箱內(nèi)部時(shí)鐘提供,對計(jì)數(shù)器提供計(jì)數(shù)時(shí)鐘信號; 2)秒鐘模塊:對秒進(jìn)行 60 進(jìn)制循環(huán)計(jì)數(shù),并
26、向分鐘產(chǎn)生進(jìn)位,同時(shí)具有調(diào)分功能; 3)分鐘模塊:對分進(jìn)行 60 進(jìn)制循環(huán)計(jì)數(shù),并向小時(shí)產(chǎn)生進(jìn)位,同時(shí)具有調(diào)時(shí)功能 4)小時(shí)模塊:對小時(shí)進(jìn)行 24 進(jìn)制循環(huán)計(jì)數(shù)。 3.2 總體設(shè)計(jì) 時(shí)計(jì)數(shù)器 標(biāo)準(zhǔn)秒信號脈沖 秒計(jì)數(shù)器分計(jì)數(shù)器 分脈沖信號 號 時(shí)脈沖信號 秒輸出 分輸出 時(shí)輸出 六段顯示譯碼器譯碼 LED 七段顯示器顯示 “時(shí)”“分”“秒” 設(shè)計(jì)框圖 3.3 設(shè)計(jì)原理 電子時(shí)鐘是一個(gè)將“時(shí)”“分”“秒”顯示于人的視覺器官的計(jì)時(shí)裝置。它的計(jì)時(shí) 周期為 24 小時(shí);顯示滿刻度為 23 時(shí) 59 分 59 秒,另外具備校時(shí)功能。因此,一個(gè)基本 的數(shù)字鐘電路主要由“時(shí)”“分”“秒”計(jì)數(shù)器校時(shí)電路組成。將
27、標(biāo)準(zhǔn)秒信號送入“秒 計(jì)數(shù)器”,“秒計(jì)數(shù)器”采用 60 進(jìn)制計(jì)數(shù)器,每累加 60 秒發(fā)送一個(gè)“分脈沖”信號, 該信號將被送到“分計(jì)數(shù)器”?!胺钟?jì)數(shù)器”也采用 60 進(jìn)制計(jì)數(shù)器,每累加 60 分發(fā)送 一個(gè)“時(shí)脈沖”信號,該信號將被送到“時(shí)計(jì)數(shù)器”?!皶r(shí)計(jì)數(shù)器”采用 24 進(jìn)制計(jì)數(shù)器, 可實(shí)現(xiàn)對一天 24 小時(shí)的累計(jì)。譯碼顯示電路“時(shí)”“分”“秒”計(jì)數(shù)器的輸出狀態(tài)六段 顯示譯碼器譯碼。通過六位七段顯示器顯示出來。校時(shí)電路器是用來對“時(shí)” “分”“秒”顯示數(shù)字進(jìn)行校時(shí)調(diào)整的,可以根據(jù)當(dāng)前需要的時(shí)間來設(shè)置電子時(shí)鐘的時(shí) 間,使它從這個(gè)時(shí)間開始計(jì)時(shí)。也可以對電子鐘復(fù)位,重新開始計(jì)時(shí)。 3.4 各模塊及其功能
28、 電子鐘計(jì)數(shù)采用層次化設(shè)計(jì),將設(shè)計(jì)任務(wù)分成若干個(gè)模塊,規(guī)定每一模塊的功能和 各模塊之間的接口。 1)秒模塊:用來對秒進(jìn)行計(jì)時(shí),當(dāng)記到計(jì)數(shù)器的低四位為 1001 時(shí),若高三位不是 101 時(shí),則秒計(jì)數(shù)器加 7,目的是使計(jì)數(shù)值變?yōu)?BCD 碼。若高三位是 101 時(shí),則有一進(jìn)位。 當(dāng)計(jì)數(shù)器的低四位不為 1001 時(shí),計(jì)數(shù)器加 1。 2)分模塊:用來對分進(jìn)行計(jì)時(shí),當(dāng)記到計(jì)數(shù)器的低四位為 1001 時(shí),若高三位不是 101 時(shí),則分計(jì)數(shù)器加 7,目的是使計(jì)數(shù)值變?yōu)?BCD 碼。若高三位是 101 時(shí),則有一進(jìn)位。 當(dāng)計(jì)數(shù)器的低四位不為 1001 時(shí),計(jì)數(shù)器加 1。 3)小時(shí)模塊:用來對時(shí)進(jìn)行計(jì)數(shù),當(dāng)記
29、到計(jì)數(shù)器的低四位為 1001 時(shí),若高三位小于 010 時(shí),則時(shí)計(jì)數(shù)器加 7,目的是使計(jì)數(shù)值變?yōu)?BCD 碼。當(dāng)計(jì)數(shù)器的高三位小于 010,低 四位小于 1001 時(shí),計(jì)數(shù)器加 1;若當(dāng)計(jì)數(shù)器記到時(shí),則有一進(jìn)位。 4)整點(diǎn)報(bào)時(shí)功能模塊 ALERT:輸入為分秒信號,輸出為高頻聲控Q1K 和 Q500。 第四章 VHDL 程序設(shè)計(jì) 4.1 Alert 模塊 LIBRARY ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; ENTITY alert IS PORT( clk:IN STD_LOGIC; dain:I
30、N STD_LOGIC_VECTOR (6 DOWNTO 0); speak:OUT STD_LOGIC; lamp:OUT STD_LOGIC_VECTOR (2 DOWNTO 0); END alert; ARCHITECTURE fun OF alert IS signal coun:std_logic_vector (1 downto 0); signal count1:std_logic_vector (1 downto 0); BEGIN speaker:process(clk) begin speak=10)then count1=00; else count1=count1+1
31、; end if; end if; end if; end process speaker; lamper:process(clk) begin if(rising_edge(clk)then if(coun=10)then if(coun=00)then lamp=001; elsif(coun=01)then lamp=010; elsif(coun=10)then lamp=100; end if; coun=coun+1; else coun=00; end if; end if; end process lamper; END fun; 4.2 Hour 模塊 LIBRARY iee
32、e; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; ENTITY hour IS PORT( clk,reset:IN STD_LOGIC; daout:out std_logic_vector(5 downto 0); END entity hour; ARCHITECTURE fun OF hour IS SIGNAL count:STD_LOGIC_VECTOR(5 downto 0); BEGIN daout=count; process(clk,reset) begin if(reset=0)then co
33、unt=; elsif(clkevent and clk=1)then if (count(3 downto 0)=1001)then if(count=16#23#)then count=count+7; else count=; end if; elsif(count16#23#)then count=count+1; else count=; end if; end if; end process; END fun; 4.3 Minute 模塊 LIBRARY ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.a
34、ll; ENTITY minute IS PORT( clk,clk1,reset,sethour:IN STD_LOGIC; enhour:OUT STD_LOGIC; daout:out std_logic_vector(6 downto 0); END entity minute; ARCHITECTURE fun OF minute IS SIGNAL count:STD_LOGIC_VECTOR(6 downto 0); SIGNAL enhour_1,enhour_2:STD_LOGIC; BEGIN daout=count; enhour_2=(sethour and clk1)
35、; enhour=(enhour_1 or enhour_2); process(clk,reset,sethour) begin if(reset=0)then count=; elsif(clkevent and clk=1)then if(count(3 downto 0)=1001)then if(count16#60#)then if(count=)then enhour_1=1; count=; ELSE count=count+7; end if; else count=; end if; elsif(count16#60#)then count=count+1; enhour_
36、1=0after 100 ns; else count=; end if; end if; end process; END fun; 4.4 Second 模塊 LIBRARY ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; ENTITY second IS PORT( clk,reset,setmin:IN STD_LOGIC; enmin:OUT STD_LOGIC; daout:out std_logic_vector(6 downto 0); END entity second; ARCHITEC
37、TURE fun OF second IS SIGNAL count:STD_LOGIC_VECTOR(6 downto 0); SIGNAL enmin_1,enmin_2:STD_LOGIC; BEGIN daout=count; enmin_2=(setmin and clk); enmin=(enmin_1 or enmin_2); process(clk,reset,setmin) begin if(reset=0) then count=; elsif(clkevent and clk=1)then if(count(3 downto 0)=1001)then if(count16
38、#60#)then if(count=)then enmin_1=1;count=; else count=count+7; end if; else count=; end if; elsif(count16#60#)then count=count+1; enmin_1=0 after 100 ns; else end if; end if; end process; end fun ; 4.5 頂層模塊原理圖 圖 4.3 4.6 時(shí)基 T 產(chǎn)生電路 數(shù)字鐘以其顯示時(shí)間的直觀性、走時(shí)準(zhǔn)確性作為一種計(jì)時(shí)工具,數(shù)字鐘的基本組成 部分離不開計(jì)數(shù)器,在控制邏輯電路的控制下完成預(yù)定的各項(xiàng)功能。 由晶
39、振產(chǎn)生的頻率非常穩(wěn)定的脈沖,經(jīng)整形、穩(wěn)定電路后,產(chǎn)生一個(gè)頻率為 1Hz 的、 非常穩(wěn)定的計(jì)數(shù)時(shí)鐘脈沖。 4.7 調(diào)時(shí)、調(diào)分信號的產(chǎn)生 由計(jì)數(shù)器的計(jì)數(shù)過程可知,正常計(jì)數(shù)時(shí),當(dāng)秒計(jì)數(shù)器(60 進(jìn)制)計(jì)數(shù)到 59 時(shí), 再來一個(gè)脈沖,則秒計(jì)數(shù)器清零,重新開始新一輪的計(jì)數(shù),而進(jìn)位則作為分計(jì)數(shù)器的計(jì) 數(shù)脈沖,使分計(jì)數(shù)器計(jì)數(shù)加 1?,F(xiàn)在我們把電路稍做變動:把秒計(jì)數(shù)器的進(jìn)位脈沖和一 個(gè)頻率為 2Hz 的脈沖信號同時(shí)接到一個(gè) 2 選 1 數(shù)據(jù)選擇器的兩個(gè)數(shù)據(jù)輸入端,而位選信 號則接一個(gè)脈沖按鍵開關(guān),當(dāng)按鍵開關(guān)不按下去時(shí)(即為 0) ,則數(shù)據(jù)選擇器將秒計(jì)數(shù)器 的進(jìn)位脈沖送到分計(jì)數(shù)器,此時(shí),數(shù)字鐘正常工作;當(dāng)按鍵
40、開關(guān)按下去時(shí)(即為 1) ,則 數(shù)據(jù)選擇器將另外一個(gè) 2Hz 的信號作為分計(jì)數(shù)器的計(jì)數(shù)脈沖,使其計(jì)數(shù)頻率加快,當(dāng)達(dá) 到正確時(shí)間時(shí),松開按鍵開關(guān),從而達(dá)到調(diào)時(shí)的目的。調(diào)節(jié)小時(shí)的時(shí)間也一樣的實(shí)現(xiàn)。 4.8 計(jì)數(shù)顯示電路 由計(jì)數(shù)部分、數(shù)據(jù)選擇器、譯碼器組成,是時(shí)鐘的關(guān)鍵部分。 (1)計(jì)數(shù)部分:由兩個(gè) 60 進(jìn)制計(jì)數(shù)器和一個(gè) 24 進(jìn)制計(jì)數(shù)器組成,其中 60 進(jìn)制計(jì) 數(shù)器可用 6 進(jìn)制計(jì)數(shù)器和 10 進(jìn)制計(jì)數(shù)器構(gòu)成;24 進(jìn)制的小時(shí)計(jì)數(shù)同樣可用 6 進(jìn)制計(jì) 數(shù)器和 10 進(jìn)制計(jì)數(shù)器得到:當(dāng)計(jì)數(shù)器計(jì)數(shù)到 24 時(shí), “2”和“4”同時(shí)進(jìn)行清零,則可 實(shí)現(xiàn) 24 進(jìn)制計(jì)數(shù)。 (2)數(shù)據(jù)選擇器:84 輸入
41、14 輸出的多路數(shù)據(jù)選擇器,因?yàn)楸緦?shí)驗(yàn)用到了 8 個(gè)數(shù) 碼管(有兩個(gè)用來產(chǎn)生隔離符號 ) 。 (3)譯碼器:七段譯碼器。譯碼器必須能譯出 ,由實(shí)驗(yàn)二中譯碼器真值表可 得:字母 F 的 8421BCD 碼為“1111” ,譯碼后為“” ,現(xiàn)在如果只譯出 ,即字母 F 的中間一橫,則譯碼后應(yīng)為“” ,這樣,在數(shù)碼管上顯示的就為 。 4.94.9 硬件測試說明 實(shí)驗(yàn)箱使用模式 5,鍵 1 為復(fù)位按鍵,鍵 1 為 1 時(shí)正常工作。鍵 3 設(shè)置小時(shí),鍵 2 設(shè)置分鐘。 下載成功后,按下鍵 1,及使六個(gè) LED 復(fù)位清零,顯示數(shù)秒的自動計(jì)時(shí),可以 通過 2 鍵設(shè)置小時(shí)數(shù),3 鍵設(shè)置分鐘數(shù)。當(dāng)秒數(shù)滿 60
42、則進(jìn)一位,分鐘數(shù)滿 60 進(jìn)一位, 當(dāng)顯示為 23:59:59 時(shí),秒數(shù)在加一則顯示 00:00:00,之后從新計(jì)時(shí)。 第五章 總結(jié) 本設(shè)計(jì)主要是在介紹了 EDA 及 VHDL 一些相關(guān)基本知識的基礎(chǔ)上,進(jìn)一步采用 EDA 技 術(shù),以硬件描述語言 VHDL 為系統(tǒng)邏輯描述手段設(shè)計(jì)文件,在 Max+plusII 工具軟件環(huán)境 下,采用自頂向下的設(shè)計(jì)方法,由各個(gè)基本模塊共同構(gòu)建了一個(gè)多功能語音數(shù)字鐘,最 后通過仿真出時(shí)序圖實(shí)現(xiàn)預(yù)定功能。其中,重點(diǎn)敘述了數(shù)字鐘的設(shè)計(jì)原理和分模塊實(shí)現(xiàn) 的方法,詳細(xì)介紹了各模塊的設(shè)計(jì)程序并給出了各模塊的波形仿真圖及分析,最后通過 在 Max+plusII 上進(jìn)行時(shí)序仿真,調(diào)試運(yùn)行,在硬件測試后,驗(yàn)證了所設(shè)計(jì)的系統(tǒng)達(dá)到了 預(yù)先設(shè)計(jì)目標(biāo)。 數(shù)字鐘實(shí)際上就是一個(gè)計(jì)數(shù)器,只要對計(jì)數(shù)器的進(jìn)位進(jìn)行相應(yīng)的設(shè)計(jì)就可以成為一個(gè) 數(shù)字鐘。在此次設(shè)計(jì)中,主要是對秒、分為六十進(jìn)制,時(shí)為二十四進(jìn)制的計(jì)數(shù)器的設(shè)計(jì)。 而整個(gè)數(shù)字鐘又是由振蕩器、分頻器、計(jì)數(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會議檔案管理與歸檔制度
- 商城小程序庫存管理:功能全的平臺
- 2026年首都師大附中教育集團(tuán)招聘備考題庫及答案詳解參考
- 2026年石城縣文化旅游發(fā)展集團(tuán)有限公司下屬子公司經(jīng)理(職業(yè)經(jīng)理人)招聘備考題庫及答案詳解參考
- 中學(xué)學(xué)生社團(tuán)活動總結(jié)與評估制度
- 2026年河?xùn)|區(qū)婦幼保健計(jì)劃生育服務(wù)中心招聘派遣制工作人員備考題庫及完整答案詳解一套
- 2026年武漢市第三十二中學(xué)招聘初中教師備考題庫及一套答案詳解
- 2026年長樂區(qū)教師進(jìn)修學(xué)校公開遴選教研員及財(cái)務(wù)人員備考題庫及1套完整答案詳解
- 企業(yè)員工培訓(xùn)與職業(yè)發(fā)展目標(biāo)制度
- 2026年數(shù)字版權(quán)授權(quán)合作協(xié)議
- 電商平臺消費(fèi)者權(quán)益保護(hù)政策
- 14J936變形縫建筑構(gòu)造
- TD/T 1012-2016 土地整治項(xiàng)目規(guī)劃設(shè)計(jì)規(guī)范(正式版)
- 2069-3-3101-002WKB產(chǎn)品判定準(zhǔn)則-外發(fā)
- 《繼電保護(hù)智能運(yùn)維檢修 第5部分:在線監(jiān)測站端信息描述》
- 動物園市場競爭中的差異化策略
- 氣錘計(jì)算方法
- 人力資源服務(wù)機(jī)構(gòu)管理制度
- 聯(lián)合利華中國公司銷售運(yùn)作手冊
- 電氣二次設(shè)備定期工作標(biāo)準(zhǔn)
- 銀行開戶單位工作證明模板
評論
0/150
提交評論