硬件課程設(shè)計(jì)數(shù)字時(shí)鐘設(shè)計(jì)_第1頁(yè)
硬件課程設(shè)計(jì)數(shù)字時(shí)鐘設(shè)計(jì)_第2頁(yè)
硬件課程設(shè)計(jì)數(shù)字時(shí)鐘設(shè)計(jì)_第3頁(yè)
硬件課程設(shè)計(jì)數(shù)字時(shí)鐘設(shè)計(jì)_第4頁(yè)
硬件課程設(shè)計(jì)數(shù)字時(shí)鐘設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、東 北 石 油 大 學(xué) 課 程 設(shè) 計(jì) 2009 年 7 月 10 日 課 程 硬件課程設(shè)計(jì) 題 目 數(shù)字鐘設(shè)計(jì) 院 系 計(jì)算機(jī)與信息技術(shù)學(xué)院 專業(yè)班級(jí) 學(xué)生姓名 學(xué)生學(xué)號(hào) 指導(dǎo)教師 東北石油大學(xué)課程設(shè)計(jì)任務(wù)書 課程 硬件課程設(shè)計(jì) 題目 數(shù)字鐘設(shè)計(jì) 專業(yè) 計(jì)算機(jī) 姓名 學(xué)號(hào) 主要內(nèi)容、基本要求等 一、主要內(nèi)容: 利用 EL 教學(xué)實(shí)驗(yàn)箱、微機(jī)和 Quartus軟件系統(tǒng),使用 VHDL 語(yǔ)言輸入方法 設(shè)計(jì)數(shù)字鐘??梢岳脤哟卧O(shè)計(jì)方法和 VHDL 語(yǔ)言,完成硬件設(shè)計(jì)設(shè)計(jì)和仿真。 最后在 EL 教學(xué)實(shí)驗(yàn)箱中實(shí)現(xiàn)。 二、基本要求: 1.具有時(shí),分,秒,計(jì)數(shù)顯示功能,以 24 小時(shí)循環(huán)計(jì)時(shí)。 2.具有清零

2、功能。 三、擴(kuò)展要求 1.調(diào)節(jié)小時(shí)、分鐘功能。 2.整點(diǎn)報(bào)時(shí)功能,整點(diǎn)報(bào)時(shí)的同時(shí) LED 燈花樣顯示。 按照規(guī)范寫出論文,要求字?jǐn)?shù)在 4000 字以上,并進(jìn)行答辯。論文內(nèi)容包括概 述(學(xué)習(xí)、調(diào)研、分析、設(shè)計(jì)的內(nèi)容摘要) 、EDA 技術(shù)的現(xiàn)狀和發(fā)展趨勢(shì)、對(duì) EL 教學(xué)實(shí)驗(yàn)箱和 Quartus軟件的掌握程度、數(shù)字鐘的設(shè)計(jì)過(guò)程(包括原理圖或程 序設(shè)計(jì)、編譯、仿真分析、硬件測(cè)試的全過(guò)程) ,論文中含有原理圖、程序、仿 真波形圖及其分析報(bào)告。 完成期限 2 周 指導(dǎo)教師 梁吉?jiǎng)?專業(yè)負(fù)責(zé)人 富宇 2012 年 6 月 10 日 東北石油大學(xué)課程設(shè)計(jì)成績(jī)?cè)u(píng)價(jià)表 課程名稱硬件課程設(shè)計(jì) 題目名稱數(shù)字鐘設(shè)計(jì) 學(xué)

3、生姓名 學(xué)號(hào) 指導(dǎo)教 師姓名 梁吉?jiǎng)俾毞Q講師 序號(hào)評(píng)價(jià)項(xiàng)目指 標(biāo)(優(yōu)秀)滿分評(píng)分 1選題難度 選題難度較高,或者對(duì)原題目進(jìn)行了相當(dāng)程度 的改進(jìn)。 10 2 工作量、工作態(tài) 度和出勤率 工作量飽滿,工作努力,遵守紀(jì)律,出勤率高, 工作作風(fēng)嚴(yán)謹(jǐn),善于與他人合作。 10 3課程設(shè)計(jì)質(zhì)量 按期圓滿的完成了規(guī)定的任務(wù),方案設(shè)計(jì)合理, 思考問(wèn)題全面,系統(tǒng)功能完善。 40 4報(bào)告質(zhì)量 問(wèn)題論述思路清晰,結(jié)構(gòu)嚴(yán)謹(jǐn),文理通順,撰 寫規(guī)范,圖表完備正確。 30 5回答問(wèn)題 在進(jìn)行課程設(shè)計(jì)程序系統(tǒng)檢查時(shí),能正確回答 指導(dǎo)教師所提出的問(wèn)題。 10 6創(chuàng)新(加分項(xiàng)) 工作中有創(chuàng)新意識(shí),對(duì)前人工作有改進(jìn)或有應(yīng) 用價(jià)值。在

4、進(jìn)行系統(tǒng)檢查時(shí)能對(duì)創(chuàng)新性進(jìn)行說(shuō) 明,并在報(bào)告中有相應(yīng)的論述。 +5 總分 評(píng)語(yǔ): 指導(dǎo)教師: 梁吉?jiǎng)?2012 年 6 月 10 日 摘 要 本文介紹了利用 EDA-V 硬件系統(tǒng)和微機(jī)上的 Quartus7.2-II 等軟件系統(tǒng)。 VHDL 的英文全名是 Very-High-Speed Integrated Circuit HardwareDescription Language,誕生于 1982 年。1987 年底,VHDL 被 IEEE 和美 國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語(yǔ)言 。自 IEEE 公布了 VHDL 的標(biāo)準(zhǔn)版本,IEEE- 1076(簡(jiǎn)稱 87 版)之后,各 EDA 公司相繼推出了

5、自己的 VHDL 設(shè)計(jì)環(huán)境,或宣布 自己的設(shè)計(jì)工具可以和 VHDL 接口。此后 VHDL 在電子設(shè)計(jì)領(lǐng)域得到了廣泛的接受, 并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語(yǔ)言。有專家認(rèn)為,在新的世紀(jì)中,VHDL 于 Verilog 語(yǔ)言將承擔(dān)起大部分的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。 本文設(shè)計(jì)主要利用 VHDL 語(yǔ)言在 EDA 平臺(tái)上設(shè)計(jì)一個(gè)電子數(shù)字鐘,它的計(jì)時(shí) 周期為 24 小時(shí),顯示滿刻度為 23 時(shí) 59 分 59 秒,另外還具有校時(shí)功能和鬧鐘功 能。總的程序由幾個(gè)各具不同功能的單元模塊程序拼接而成,其中包括分頻程序 模塊、時(shí)分秒計(jì)數(shù)和設(shè)置程序模塊、比較器程序模塊、三輸入數(shù)據(jù)選擇器程序模 塊、譯碼顯示程序模塊和拼

6、接程序模塊。并且使用 Quartus7.2-II 軟件進(jìn)行電路 波形仿真,下載到 EDA 實(shí)驗(yàn)箱進(jìn)行驗(yàn)證。 關(guān)鍵詞關(guān)鍵詞: EDA(電子設(shè)計(jì)自動(dòng)化) ;VHDL(硬件描述語(yǔ)言) ,數(shù)字鐘。 目錄 第 1 章 概 述 .1 1.1 EDA 的概念.1 1.2 EDA 的工作平臺(tái).2 1.3 EDA 的發(fā)展趨勢(shì) 4 第 2 章 數(shù)字鐘設(shè)計(jì)的系統(tǒng)分析 .6 2.1 設(shè)計(jì)目的.6 2.2 功能說(shuō)明.6 2.3 實(shí)驗(yàn)原理.6 2.4 系統(tǒng)硬件.6 第 3 章 數(shù)字鐘的底層電路設(shè)計(jì) .8 3.1 設(shè)計(jì)規(guī)劃.8 3.2 設(shè)計(jì)說(shuō)明.8 3.3 底層電路程序.9 第 4 章 數(shù)字鐘的頂層文件設(shè)計(jì) .18 4.1

7、 設(shè)計(jì)說(shuō)明.18 4.2 頂層文件程序.18 第 5 章 數(shù)字鐘設(shè)計(jì)的測(cè)試與運(yùn)行 .21 5.1 數(shù)字鐘的調(diào) 試.21 5.2 數(shù)字鐘的適配與測(cè)試.24 結(jié) 論 .26 參考文獻(xiàn) .27 第 1 章 概 述 1.1 EDA 的概念 EDA 是電子設(shè)計(jì)自動(dòng)化 Electronic Design Automation 的縮寫。EDA 技術(shù)是 以大規(guī)??删幊踢壿嬈骷樵O(shè)計(jì)載體,以硬件描述語(yǔ)言為系統(tǒng)邏輯描述的主要表 達(dá)方式,以計(jì)算機(jī)、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實(shí)驗(yàn)開發(fā)系統(tǒng)為設(shè)計(jì)工 具,通過(guò)有關(guān)的開發(fā)軟件,自動(dòng)完成用軟件的方式設(shè)計(jì)電子系統(tǒng)到硬件系統(tǒng)的一 門新技術(shù)。可以實(shí)現(xiàn)邏輯編譯、邏輯化簡(jiǎn)、邏輯分

8、割、邏輯綜合及優(yōu)化,邏輯布 局布線、邏輯仿真。完成對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射、編程下載等 工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒?1.1.1EDA1.1.1EDA 技術(shù)及應(yīng)用技術(shù)及應(yīng)用 電子設(shè)計(jì)技術(shù)的核心就是 EDA 技術(shù),EDA 是指以計(jì)算機(jī)為工作平臺(tái),融合 應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(shù)、智能化技術(shù)最新成果而研制成的電子 CAD 通用軟 件包,主要能輔助進(jìn)行三方面的設(shè)計(jì)工作,即 IC 設(shè)計(jì)、電子電路設(shè)計(jì)和 PCB 設(shè) 計(jì)。EDA 技術(shù)已有 30 年的發(fā)展歷程,大致可分為三個(gè)階段。70 年代為計(jì)算機(jī)輔 助設(shè)計(jì)(CAD)階段,人們開始用計(jì)算機(jī)輔助進(jìn)行 IC 版圖編輯、PCB 布局布線,

9、 取代了手工操作。80 年代為計(jì)算機(jī)輔助工程(CAE)階段。與 CAD 相比,CAE 除了有純粹的圖形繪制功能外,又增加了電路功能設(shè)計(jì)和結(jié)構(gòu)設(shè)計(jì),并且通過(guò)電 氣連接網(wǎng)絡(luò)表將兩者結(jié)合在一起,實(shí)現(xiàn)了工程設(shè)計(jì)。CAE 的主要功能是:原理圖 輸人,邏輯仿真,電路分析,自動(dòng)布局布線,PCB 后分析。90 年代為電子系統(tǒng)設(shè) 計(jì)自動(dòng)化(EDA)階段3。 EDA 技術(shù)發(fā)展迅猛,逐漸在教學(xué)、科研、產(chǎn)品設(shè)計(jì)與制造等各方面都發(fā)揮著 巨大的作用。在教學(xué)方面:幾乎所有理工科(特別是電子信息)類的高校都開設(shè)了 EDA 課程。主要是讓學(xué)生了解 EDA 的基本原理和基本概念、鱗握用佃 L 描述系 統(tǒng)邏輯的方法、使用扔 A 工

10、具進(jìn)行電子電路課程的模擬仿真實(shí)驗(yàn)并在作畢業(yè)設(shè)計(jì) 時(shí)從事簡(jiǎn)單電子系統(tǒng)的設(shè)計(jì),為今后工作打下基礎(chǔ)。具有代表性的是全國(guó)每?jī)赡?舉辦一次大學(xué)生電子設(shè)計(jì)競(jìng)賽活動(dòng)。在科研方面:主要利用電路仿真工具(EwB 或 PSPICE、VLOL 等)進(jìn)行電路設(shè)計(jì)與仿真;利用虛擬儀器進(jìn)行產(chǎn)品調(diào)試;將 O) LI)FPGA 器件的開發(fā)應(yīng)用到儀器設(shè)備中。例如在 CDMA 無(wú)線通信系統(tǒng)中,所 有移動(dòng)手機(jī)和無(wú)線基站都工作在相同的頻譜,為區(qū)別不同的呼叫,每個(gè)手機(jī)有一 個(gè)唯一的碼序列,CDMA 基站必須能判別這些不同觀點(diǎn)的碼序列才能分辨出不同 的傳呼進(jìn)程;這一判別是通過(guò)匹配濾波器的輸出顯示在輸人數(shù)據(jù)流中探調(diào)到特定 的碼序列;FPG

11、A 能提供良好的濾波器設(shè)計(jì),而且能完成 DSP 高級(jí)數(shù)據(jù)處理功能, 因而 FPGA 在現(xiàn)代通信領(lǐng)域方面獲得廣泛應(yīng)用4。在產(chǎn)品設(shè)計(jì)與制造方面:從高 性能的微處理器、數(shù)字信號(hào)處理器一直到彩電、音響和電子玩具電路等,EDA 技 術(shù)不單是應(yīng)用于前期的計(jì)算機(jī)模擬仿真、產(chǎn)品調(diào)試,而且也在批量制作、電子設(shè) 備的研制與生產(chǎn)、電路板的焊接等有重要作用。可以說(shuō)電子 EDA 技術(shù)已經(jīng)成為 電子工業(yè)領(lǐng)域不可缺少的技術(shù)支持。 電子技術(shù)全方位納入 EDA 領(lǐng)域,EDA 使得電子領(lǐng)域各學(xué)科的界限更加模糊, 更加互為包容,突出表現(xiàn)在以下幾個(gè)方面:使電子設(shè)計(jì)成果以自主知識(shí)產(chǎn)權(quán)的方 式得以明確表達(dá)和確認(rèn)成為可能;基于 EDA 工

12、具的 ASIC 設(shè)計(jì)標(biāo)準(zhǔn)單元已涵蓋大 規(guī)模電子系統(tǒng)及 IP 核模塊;軟硬件 IP 核在電子行業(yè)的產(chǎn)業(yè)領(lǐng)域、技術(shù)領(lǐng)域和設(shè) 計(jì)應(yīng)用領(lǐng)域得到進(jìn)一步確認(rèn);SoC 高效低成本設(shè)計(jì)技術(shù)的成熟。隨著半導(dǎo)體技術(shù)、 集成技術(shù)和計(jì)算機(jī)技術(shù)的迅猛發(fā)展,電子系統(tǒng)的設(shè)計(jì)方法和設(shè)計(jì)手段都發(fā)生了很 大的變化??梢哉f(shuō)電子 EDA 技術(shù)是電子設(shè)計(jì)領(lǐng)域的一場(chǎng)革命。傳統(tǒng)的“固定功 能集成塊十連線”的設(shè)計(jì)方法正逐步地退出歷史舞臺(tái),而基于芯片的設(shè)計(jì)方法正 成為現(xiàn)代電子系統(tǒng)設(shè)計(jì)的主流。作為高等院校有關(guān)專業(yè)的學(xué)生和廣大的電子工程 師了解和掌握這一先進(jìn)技術(shù)是勢(shì)在必行,這不僅是提高設(shè)計(jì)效率的需要,更是時(shí) 代發(fā)展的需求,只有攀握了 EDA 技術(shù)

13、才有能力參與世界電子工業(yè)市場(chǎng)的競(jìng)爭(zhēng), 才能生存與發(fā)展。隨著科技的進(jìn)步,電子產(chǎn)品的更新日新月異,EDA 技術(shù)作為電 子產(chǎn)品開發(fā)研制的源動(dòng)力,已成為現(xiàn)代電子設(shè)計(jì)的核心。所以發(fā)展 EDA 技術(shù)將 是電子設(shè)計(jì)領(lǐng)域和電子產(chǎn)業(yè)界的一場(chǎng)重大的技術(shù)革命,同時(shí)也對(duì)電類課程的教學(xué) 和科研提出了更深更高的要求。特別是 EDA 技術(shù)在我國(guó)尚未普及,掌握和普及 這一全新的技術(shù),將對(duì)我國(guó)電子技術(shù)的發(fā)展具有深遠(yuǎn)的意義。 1.2 EDA 的工作平臺(tái) 1.2.1 EDA 硬件工作平臺(tái) 1.計(jì)算機(jī)。 2.EDA 實(shí)驗(yàn)開發(fā)系統(tǒng):EDA-V。 1.2.2 EDA 的軟件工作平臺(tái) PLD(Programmable Logic Devi

14、ce)是一種由用戶根據(jù)需要而自行構(gòu)造邏輯功 能的數(shù)字集成電路。目前主要有兩大類型:CPLD(Complex PLD)和 FPGA(Field Programmable Gate Array)。它們的基本設(shè)計(jì)方法是借助于 EDA 軟件,用原理圖、 狀態(tài)機(jī)、布爾表達(dá)式、硬件描述語(yǔ)言等方法,生成相應(yīng)的目標(biāo)文件,最后用編程 器或下載電纜,由目標(biāo)器件實(shí)現(xiàn)。生產(chǎn) PLD 的廠家很多,但最有代表性的 PLD 廠 家為 Altera、Xilinx 和 Lattice 公司。 1.3EDA 的發(fā)展趨勢(shì) 面對(duì)當(dāng)今飛速發(fā)展的電子產(chǎn)品市場(chǎng),設(shè)計(jì)師需要更加實(shí)用、快捷的 EDA 工 具,使用統(tǒng)一的集成化設(shè)計(jì)環(huán)境,改變傳統(tǒng)

15、設(shè)計(jì)思路,將精力集中到設(shè)計(jì)構(gòu)思、 方案比較和尋找優(yōu)化設(shè)計(jì)等方面,需要以最快的速度,開發(fā)出性能優(yōu)良、質(zhì)量一 流的電子產(chǎn)品,對(duì) EDA 技術(shù)提出了更高的要求3。未來(lái)的 EDA 技術(shù)將在仿真、 時(shí)序分析、集成電路自動(dòng)測(cè)試、高速印刷電路板設(shè)計(jì)及開發(fā)操作平臺(tái)的擴(kuò)展等方 面取得新的突破,向著功能強(qiáng)大、簡(jiǎn)單易學(xué)、使用方便的方向發(fā)展。 可編程邏輯器件已經(jīng)成為當(dāng)今世界上最富吸引力的半導(dǎo)體器件,在現(xiàn)代 電子系統(tǒng)設(shè)計(jì)中扮演著越來(lái)越重要的角色。過(guò)去的幾年里,可編程器件市場(chǎng) 的增長(zhǎng)主要來(lái)自大容量的可編程邏輯器件 CPLD 和 FPGA,其未來(lái)的發(fā)展趨 勢(shì)如下:向高密度、高速度、寬頻帶方向發(fā)展。在電子系統(tǒng)的發(fā)展過(guò)程中,

16、工程師的系統(tǒng)設(shè)計(jì)理念要受到其能夠選擇的電子器件的限制,而器件的發(fā)展 又促進(jìn)了設(shè)計(jì)方法的更新。隨著電子系統(tǒng)復(fù)雜度的提高,高密度、高速度和 寬頻帶的可編程邏輯產(chǎn)品已經(jīng)成為主流器件,3其規(guī)模也不斷擴(kuò)大,從最初 的幾百門到現(xiàn)在的上百萬(wàn)門,有些已具備了片上系統(tǒng)集成的能力。這些高密 度、大容量的可編程邏輯器件的出現(xiàn),給現(xiàn)代電子系統(tǒng)(復(fù)雜系統(tǒng))的設(shè)計(jì) 與實(shí)現(xiàn)帶來(lái)了巨大的幫助。設(shè)計(jì)方法和設(shè)計(jì)效率的飛躍,帶來(lái)了器件的巨大 需求,這種需求又促使器件生產(chǎn)工藝的不斷進(jìn)步,而每次工藝的改進(jìn),可編 程邏輯器件的規(guī)模都將有很大擴(kuò)展。3 向在系統(tǒng)可編程方向發(fā)展。在系統(tǒng)可編程是指程序(或算法)在置入用戶系 統(tǒng)后仍具有改變其內(nèi)部

17、功能的能力4。采用在系統(tǒng)可編程技術(shù),可以像對(duì)待軟件 那樣通過(guò)編程來(lái)配置系統(tǒng)內(nèi)硬件的功能,從而在電子系統(tǒng)中引入“軟硬件”的全 新概念。它不僅使電子系統(tǒng)的設(shè)計(jì)和產(chǎn)品性能的改進(jìn)和擴(kuò)充變得十分簡(jiǎn)便,還使 新一代電子系統(tǒng)具有極強(qiáng)的靈活性和適應(yīng)性,為許多復(fù)雜信號(hào)的處理和信息加工 的實(shí)現(xiàn)提供了新的思路和方法。 向可預(yù)測(cè)延時(shí)方向發(fā)展。當(dāng)前的數(shù)字系統(tǒng)中,由于數(shù)據(jù)處理量的激增,要求 其具有大的數(shù)據(jù)吞吐量,加之多媒體技術(shù)的迅速發(fā)展,要求能夠?qū)D像進(jìn)行實(shí)時(shí) 處理,就要求有高速的系統(tǒng)硬件系統(tǒng)5。為了保證高速系統(tǒng)的穩(wěn)定性,可編程邏 輯器件的延時(shí)可預(yù)測(cè)性是十分重要的。用戶在進(jìn)行系統(tǒng)重構(gòu)的同時(shí),擔(dān)心的是延 時(shí)特性會(huì)不會(huì)因?yàn)橹?/p>

18、新布線而改變,延時(shí)特性的改變將導(dǎo)致重構(gòu)系統(tǒng)的不可靠, 這對(duì)高速的數(shù)字系統(tǒng)而言將是非常可怕的。因此,為了適應(yīng)未來(lái)復(fù)雜高速電子系 統(tǒng)的要求,可編程邏輯器件的高速可預(yù)測(cè)延時(shí)是非常必要的。 向混合可編程技術(shù)方向發(fā)展。3可編程邏輯器件為電子產(chǎn)品的開發(fā)帶來(lái)了極 大的方便,它的廣泛應(yīng)用使得電子系統(tǒng)的構(gòu)成和設(shè)計(jì)方法均發(fā)生了很大的變化。 但是,有關(guān)可編程器件的研究和開發(fā)工作多數(shù)都集中在數(shù)字邏輯電路上,直到 1999 年 11 月,Lattice 公司推出了在系統(tǒng)可編程模擬電路,為 EDA 技術(shù)的應(yīng)用 開拓了更廣闊的前景。其允許設(shè)計(jì)者使用開發(fā)軟件在計(jì)算機(jī)中設(shè)計(jì)、修改模擬電 路,進(jìn)行電路特性仿真,最后通過(guò)編程電纜將

19、設(shè)計(jì)方案下載至芯片中。已有多家 公司開展了這方面的研究,并且推出了各自的模擬與數(shù)字混合型的可編程器件, 相信在未來(lái)幾年里,模擬電路及數(shù)模混合電路可編程技術(shù)將得到更大的發(fā)展。 向低電壓、低功耗方面發(fā)展。集成技術(shù)的飛速發(fā)展,工藝水平的不斷提高, 節(jié)能潮流在全世界的興起,也為半導(dǎo)體工業(yè)提出了向降低工作電壓、降低功耗的 方向發(fā)展。 面對(duì)當(dāng)今飛速發(fā)展的電子產(chǎn)品市場(chǎng),電子設(shè)計(jì)人員需要更加實(shí)用、快捷的開 發(fā)工具,使用統(tǒng)一的集成化設(shè)計(jì)環(huán)境,改變優(yōu)先考慮具體物理實(shí)現(xiàn)方式的傳統(tǒng)設(shè) 計(jì)思路,將精力集中到設(shè)計(jì)構(gòu)思、方案比較和尋找優(yōu)化設(shè)計(jì)等方面,以最快的速 度開發(fā)出性能優(yōu)良、質(zhì)量一流的電子產(chǎn)品。開發(fā)工具的發(fā)展趨勢(shì)如下:

20、具有混合 信號(hào)處理能力。由于數(shù)字電路和模擬電路的不同特性,模擬集成電路 EDA 工具 的發(fā)展遠(yuǎn)遠(yuǎn)落后于數(shù)字電路 EDA 開發(fā)工具。但是,由于物理量本身多以模擬形 式存在,實(shí)現(xiàn)高性能復(fù)雜電子系統(tǒng)的設(shè)計(jì)必然離不開模擬信號(hào)。20 世紀(jì) 90 年代 以來(lái),EDA 工具廠商都比較重視數(shù)?;旌闲盘?hào)設(shè)計(jì)工具的開發(fā)。美國(guó) Cadence 、Synopsys 等公司開發(fā)的 EDA 工具已經(jīng)具有了數(shù)?;旌显O(shè)計(jì)能力,這些 EDA 開 發(fā)工具能完成含有模數(shù)變換、數(shù)字信號(hào)處理、專用集成電路宏單元、數(shù)模變換和 各種壓控振蕩器在內(nèi)的混合系統(tǒng)設(shè)計(jì)。 高效的仿真工具。在整個(gè)電子系統(tǒng)設(shè)計(jì)過(guò)程中,仿真是花費(fèi)時(shí)間最多的工作,也是占用

21、 EAD 工具時(shí)間最多的一個(gè)環(huán)節(jié)??梢詫㈦娮酉到y(tǒng)設(shè)計(jì)的仿真過(guò)程分為兩個(gè)階段:設(shè)計(jì)前期的 系統(tǒng)級(jí)仿真和設(shè)計(jì)過(guò)程中的電路級(jí)仿真。系統(tǒng)級(jí)仿真主要驗(yàn)證系統(tǒng)的功能,如驗(yàn)證設(shè)計(jì)的有 效性等;電路級(jí)仿真主要驗(yàn)證系統(tǒng)的性能,決定怎樣實(shí)現(xiàn)設(shè)計(jì),如測(cè)試設(shè)計(jì)的精度、處理和 保證設(shè)計(jì)要求等。要提高仿真的效率,一方面是要建立合理的仿真算法;另一方面是要更好 地解決系統(tǒng)級(jí)仿真中,系統(tǒng)模型的建模和電路級(jí)仿真中電路模型的建模技術(shù)8。在未來(lái)的 EDA 技術(shù)中,仿真工具將有較大的發(fā)展空間。 理想的邏輯綜合、優(yōu)化工具。邏輯綜合功能是將高層次系統(tǒng)行為設(shè)計(jì)自動(dòng)翻譯成門級(jí)邏 輯的電路描述,做到了實(shí)際與工藝的獨(dú)立。優(yōu)化則是對(duì)于上述綜合生成

22、的電路網(wǎng)表,根據(jù)邏 輯方程功能等效的原則,用更小、更快的綜合結(jié)果替代一些復(fù)雜的邏輯電路單元,根據(jù)指定 目標(biāo)庫(kù)映射成新的網(wǎng)表。隨著電子系統(tǒng)的集成規(guī)模越來(lái)越大,幾乎不可能直接面向電路圖做 設(shè)計(jì),要將設(shè)計(jì)者的精力從繁瑣的邏輯圖設(shè)計(jì)和分析中轉(zhuǎn)移到設(shè)計(jì)前期算法開發(fā)上。邏輯綜 合、優(yōu)化工具就是要把設(shè)計(jì)者的算法完整高效地生成電路網(wǎng)表。 第第 2 2 章章 數(shù)字鐘數(shù)字鐘的系統(tǒng)分析的系統(tǒng)分析 2.1 設(shè)計(jì)目的 1.掌握多位計(jì)數(shù)器相連的設(shè)計(jì)方法。 2.掌握十進(jìn)制,六進(jìn)制,二十四進(jìn)制計(jì)數(shù)器的設(shè)計(jì)方法。 3.繼續(xù)鞏固多位共陰極掃描顯示數(shù)碼管的驅(qū)動(dòng),及編碼。 4.掌握揚(yáng)聲器的驅(qū)動(dòng)。 5.LED 燈的花樣顯示。 6.掌握

23、 CPLD 技術(shù)的層次化設(shè)計(jì)方法。 2.2 功能說(shuō)明 1.具有時(shí),分,秒,計(jì)數(shù)顯示功能,以 24 小時(shí)循環(huán)計(jì)時(shí)。 2.具有清零,調(diào)節(jié)小時(shí)、分鐘功能。 3.具有整點(diǎn)報(bào)時(shí)功能,整點(diǎn)報(bào)時(shí)的同時(shí) LED 燈花樣顯示。 2.3 實(shí)驗(yàn)原理 在同一 EPLD 芯片 EPF10K10 上集成了如下電路模塊: 1時(shí)鐘計(jì)數(shù): 秒60 進(jìn)制 BCD 碼計(jì)數(shù); 分60 進(jìn)制 BCDD 碼計(jì)數(shù); 時(shí)24 進(jìn)制 BCDD 碼計(jì)數(shù); 同時(shí)整個(gè)計(jì)數(shù)器有清零,調(diào)分,調(diào)時(shí)功能。在接近整數(shù)時(shí)間能提供報(bào)時(shí)信號(hào)。 2具有驅(qū)動(dòng) 8 位八段共陰掃描數(shù)碼管的片選驅(qū)動(dòng)信號(hào)輸出和八段字形譯碼 輸出。編碼和掃描可參照“實(shí)驗(yàn)四” 。 3揚(yáng)生器在整點(diǎn)

24、時(shí)有報(bào)時(shí)驅(qū)動(dòng)信號(hào)產(chǎn)生。 4. LED 燈按個(gè)人口味在整點(diǎn)時(shí)有花樣顯示信號(hào)產(chǎn)生。 2.4 系統(tǒng)硬件 1主芯片 EPF10K10LC84-4。 28 個(gè) LED 燈。 3揚(yáng)聲器。 48 位八段掃描共陰級(jí)數(shù)碼顯示管。 5三個(gè)按鍵開關(guān)(清零,調(diào)小時(shí),調(diào)分鐘) 。 第 3 章 數(shù)字鐘的底層電路設(shè)計(jì) 3.1 設(shè)計(jì)規(guī)劃 該數(shù)字鐘可以實(shí)現(xiàn) 3 個(gè)功能:計(jì)時(shí)功能、整點(diǎn)報(bào)時(shí)功能和重置時(shí)間功能,因 此有 3 個(gè)子模塊:計(jì)時(shí)、報(bào)時(shí)(alarm1) 、重置時(shí)間(setmin1、sethour1)。其中 計(jì)時(shí)模塊有 3 部分構(gòu)成:秒計(jì)時(shí)器(second1) 、分計(jì)時(shí)器(minute1)、時(shí)計(jì)時(shí)器 (hour1)。 1.

25、秒計(jì)數(shù)模塊:秒計(jì)數(shù),在頻率為 1HZ 的時(shí)鐘下以 60 次為循環(huán)計(jì)數(shù),并產(chǎn) 生進(jìn)位信號(hào)影 響分計(jì)數(shù)。 2. 分計(jì)數(shù)模塊:分計(jì)數(shù),在秒進(jìn)位信號(hào)為高電平時(shí),計(jì)數(shù)一次,同樣以 60 次為一個(gè)循環(huán)計(jì)數(shù),同時(shí)產(chǎn)生分進(jìn)位信號(hào)影響時(shí)計(jì)數(shù)。 3. 時(shí)計(jì)數(shù)模塊:時(shí)計(jì)數(shù),在分進(jìn)位信號(hào)為高電平時(shí),計(jì)數(shù)一次,以 24 次為 一個(gè)循環(huán)計(jì)數(shù)。 4. 時(shí)間顯示模塊:通過(guò)選中不同的數(shù)碼管,同時(shí)進(jìn)行一定頻率的掃描顯示 時(shí),分,秒。 5. 時(shí)間設(shè)置模塊:設(shè)置調(diào)試使能端,可以調(diào)時(shí),分?;竟δ苁窃谑鼓芏?為高電平時(shí),可以使時(shí)和分循環(huán)計(jì)數(shù); 6. 整點(diǎn)報(bào)時(shí)模塊:在秒計(jì)數(shù)到 50 秒時(shí),同時(shí)分計(jì)數(shù)到 59 分開始,豐鳴器 產(chǎn)生每個(gè) 2

26、 秒的鳴叫(500HZ) ,到整點(diǎn)是產(chǎn)生 750HZ 的鳴叫。 7. 鬧鐘模塊:在設(shè)定鬧鐘鬧鈴時(shí)間后,當(dāng)鬧鐘使能端有效時(shí),可在鬧鈴時(shí) 間鬧鈴,并有彩燈顯示。 3.2 設(shè)計(jì)說(shuō)明 首先分析數(shù)字時(shí)鐘,得出進(jìn)位法則大體相同,故所得時(shí)分秒進(jìn)位方式語(yǔ)法基 本相同,因此可以將時(shí)分秒定義成六位輸出端口,即分別將時(shí)分秒定義為 3 個(gè) component,分別給予設(shè)計(jì)。 3.3底層電路程序 3.3.1 秒秒計(jì)計(jì)時(shí)時(shí)器器(VHDL 語(yǔ)語(yǔ)言言編編譯譯) 其代碼如下:(VHDL 語(yǔ)言): LIBRARY ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsi

27、gned.all; ENTITY second IS PORT( clk, reset,setmin : IN STD_LOGIC; enmin : OUTSTD_LOGIC; daout: out std_logic_vector (6 downto 0); END entity second; ARCHITECTURE fun OF second IS SIGNAL count: STD_LOGIC_VECTOR( 6 downto 0); BEGIN daout = count; process ( clk , reset , setmin) begin - enmin=k; if (r

28、eset=0) then count = ; elsif (setmin=0) then enmin = clk; elsif (clk event and clk=1) then if (count(3 downto 0)=1001) then if (count 16#60#) then if (count=) then enmin=1; count=; ELSE count=count+7; end if; else count=; end if; elsif (count 16#60#) then count = count+1; enmin=0 after 100 ns; else

29、count=; end if; end if; end process; END fun; 在秒計(jì)時(shí)器的 clk 輸入一個(gè)周期為 5ns 的時(shí)鐘信號(hào);清 0 端(reset)前面 一小段(100ns)為低電平,后面均為高電平;置數(shù)端(set)前面一小段 (200ns)為低電平,后面均為高電平;秒重置端(s1)可設(shè)置數(shù)值為 50 秒,保 存波形圖,進(jìn)行仿真,產(chǎn)生如下波形: 圖 3-1 5na 時(shí)鐘信號(hào) 由上述波形可以清楚的看到:當(dāng)清 0 信號(hào)(reset)無(wú)效時(shí),秒計(jì)時(shí)器置數(shù), 從 50 秒開始計(jì)數(shù),到 59 秒時(shí)回到 0,并且輸出一個(gè)高電平。 3.3.2 分分計(jì)計(jì)時(shí)時(shí)器器(VHDL 語(yǔ)語(yǔ)言言編

30、編譯譯) 其代碼(VHDL 語(yǔ)言)如下: LIBRARY ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; ENTITY minute IS PORT( clk, clk1,reset,sethour : IN STD_LOGIC; enhour : OUTSTD_LOGIC; daout: out std_logic_vector (6 downto 0); END entity minute; ARCHITECTURE fun OF minute IS SIGNAL count: STD_LOGIC_VE

31、CTOR( 6 downto 0); BEGIN daout = count; process ( clk,reset,sethour) begin if (reset=0) then count = ; elsif (sethour=0) then enhour = clk1; elsif (clk event and clk=1) then if (count(3 downto 0)=1001) then if (count 16#60#) then if (count=) then enhour=1; count=; ELSE count=count+7; end if; else co

32、unt=; end if; elsif(count 16#60#) then count = count + 1; enhour=0 after 100 ns; else count=; end if; end if; end process; END fun; 在分計(jì)時(shí)器的 clkm 輸入一個(gè)周期為 5ns 的時(shí)鐘信號(hào);清 0 端(reset)前面一 小段(100ns)為低電平,后面均為高電平;置數(shù)端(set)前面一小段(200ns) 為低電平,后面均為高電平;分重置端(m1)可設(shè)置數(shù)值為 50 分,保存波形圖, 進(jìn)行仿真,產(chǎn)生如下波形: 圖 3-2 分計(jì)時(shí)器信號(hào) 由上述波形可以清楚的看到:

33、當(dāng)清 0 信號(hào)(reset)無(wú)效時(shí),分計(jì)時(shí)器置數(shù), 從 50 分開始計(jì)數(shù),到 59 秒時(shí)回到 0,并且從 enmin 輸出一個(gè)高電平。 3、時(shí)計(jì)時(shí)器(hour) 在時(shí)計(jì)時(shí)器的 clkh 輸入一個(gè)周期為 5ns 的時(shí)鐘信號(hào);清 0 端(reset)前面一 小段(100ns)為低電平,后面均為高電平;置數(shù)端(set)前面一小段(200ns) 為低電平,后面均為高電平;時(shí)重置端(h1)可設(shè)置數(shù)值為 20 時(shí),保存波形圖, 進(jìn)行仿真,產(chǎn)生如下波形: 圖 3-3 時(shí)計(jì)時(shí)器信號(hào) 由上述波形可以清楚的看到:當(dāng)清 0 信號(hào)(reset)無(wú)效時(shí),時(shí)計(jì)時(shí)器置數(shù), 從 20 時(shí)開始計(jì)數(shù),到 23 時(shí)回到 0,并且從

34、 enhour 輸出一個(gè)高電平。 3.3.3 時(shí)計(jì)時(shí)器(時(shí)計(jì)時(shí)器(VHDL 語(yǔ)言)語(yǔ)言) 代碼如下: LIBRARY ieee; 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

35、 0); BEGIN daout = count; process ( clk,reset) begin if (reset=0) then count = ; elsif (clk event and clk=1) then if (count(3 downto 0)=1001) then if (count 16#24#) then count=count + 7; else count=; end if; elsif(count 16#24#) then count = count + 1; else count=; end if; end if; end process; END fu

36、n; 時(shí)計(jì)時(shí)器是一個(gè) 24 進(jìn)制的計(jì)數(shù)器,它從分組件的脈沖信號(hào)輸出端接受脈沖 信號(hào),每當(dāng)一個(gè)脈沖信號(hào)來(lái)時(shí),時(shí)就自動(dòng)加 1,并且輸出個(gè)信號(hào)給時(shí)組件,直到 計(jì)滿 24,再將本身清零。該組件還能對(duì)時(shí)進(jìn)行數(shù)字調(diào)整,并可以將其全部清零。 3 3. .3 3. .4 4 時(shí)間顯示時(shí)間顯示 DeledDeled(VHDLVHDL 語(yǔ)言)語(yǔ)言) 代碼如下: LIBRARY ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; ENTITY deled IS PORT(num: IN std_logic_vector( 3 dow

37、nto 0); led: OUT std_logic_vector(6 downto 0); END deled; ARCHITECTURE fun OF deled IS BEGIN led = when num= 0000 else when num= 0001 else when num= 0010 else when num= 0011 else when num= 0100 else when num= 0101 else when num= 0110 else when num= 0111 else when num= 1000 else when num= 1001 else w

38、hen num= 1010 else when num= 1011 else when num= 1100 else when num= 1101 else when num= 1110 else when num= 1111 ; END fun; Deled 模塊是一個(gè)簡(jiǎn)單的電路,它的功能將時(shí)、分、秒三個(gè)組件中所計(jì)的數(shù) 編碼后,能對(duì)應(yīng)在七段數(shù)碼管山顯示成數(shù)字形式。 3 3. .3 3. .5 5 報(bào)時(shí)模塊報(bào)時(shí)模塊 alertalert(VHDLVHDL 語(yǔ)言)語(yǔ)言) 代碼如下: LIBRARY ieee; use ieee.std_logic_1164.all; use ieee.std_l

39、ogic_unsigned.all; ENTITY alert IS PORT( clk : INSTD_LOGIC; dain : INSTD_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 count : std_logic_vector( 1 downto 0); signal count1: std_logic_vector( 1 downto 0); BEGIN

40、 speaker:process (clk) begin speak =10) then count1=00; else count1 = count1 + 1; end if; end if; end if; end process speaker; lamper:process(clk) begin if (rising_edge(clk)then if (count = 10) then if (count =00) then lamp = 001 ; elsif (count = 01) then lamp = 010 ; elsif(count=10) then lamp = 100

41、 ; end if; count = count + 1; else count = 00; end if; end if; end process lamper; END fun ; 清 0 端(reset)前面一小段(200ns)為低電平,后面均為高電平;設(shè)置 min 的值,使其分別為58 分、59 分、00 分、01 分、02 分、03 分,保存波 形圖,進(jìn)行仿真,產(chǎn)生如下波形: 圖 3-4 報(bào)時(shí)模式信號(hào)圖 由上述波形可以清楚的看到:alarm 在 0 分時(shí)輸出高電平,并且持續(xù)至 min 不為 0。 3 3. .3 3. .6 6 譯碼模塊譯碼模塊 seltimeseltime(VHDL

42、VHDL 語(yǔ)言)語(yǔ)言) 代碼如下: LIBRARY ieee; use ieee.std_logic_1164.all use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; ENTITY seltime IS PORT( clk1, reset: INSTD_LOGIC; sec,min : IN STD_LOGIC_VECTOR(6 downto 0); hour : in std_logic_vector (5 downto 0); daout: OUTSTD_LOGIC_vector (3 downto 0); se

43、l : out std_logic_vector ( 2 downto 0); END seltime; ARCHITECTURE fun OF seltime IS SIGNAL count: STD_LOGIC_vector ( 2 downto 0); BEGIN sel = count; process ( clk1,reset) begin if (reset =0) then count = 101) then count = 000; else count daout daout(3) = 0; daout(2 downto 0) daout daout(3) = 0; daou

44、t(2 downto 0) daout daout(3 downto 2) = 00; daout(1 downto 0) = hour(5 downto 4); end case; end process; 譯碼模塊時(shí)時(shí)鐘顯示的最重要的部件,它的功能時(shí)將時(shí)、分、秒共六位譯碼 輸出顯示在六位的 led 顯示器上。它的時(shí)鐘信號(hào)應(yīng)接到一個(gè)高頻脈沖信號(hào)源上, 這樣,由于刷新的時(shí)間間隔很短,所以,led 顯示器才能一直持續(xù)的亮著。 第 4 章 數(shù)字鐘的頂層文件設(shè)計(jì) 4.1 設(shè)計(jì)說(shuō)明 建立數(shù)字鐘的頂層文件就是將已經(jīng)設(shè)計(jì)好的各個(gè)功能組件組合調(diào)用,連成一 個(gè)整體,使整個(gè)系統(tǒng)按照設(shè)計(jì)要求在實(shí)際中工作起來(lái)。 4

45、.2 頂層文件程序 代碼如下: library ieee; use ieee.std_logic_1164.all; entity clock_top is port (clk,reset,setmin,sethour,clkdsp:in std_logic; speaker: out std_logic; lamp:out std_logic_vector(2 downto 0); sel: out std_logic_vector(2 downto 0); a,b,c,d,e,f,g,dp:out std_logic); end clock_top; -* architecture a o

46、f clock_top is -* -second counter COMPONENT second PORT( clk, reset,setmin: INSTD_LOGIC; daout:out std_logic_vector(6 downto 0); enmin: OUTSTD_LOGIC); END COMPONENT; -* - minute counter COMPONENT minute PORT( clk, clk1,reset,sethour: INSTD_LOGIC; enhour: OUT STD_LOGIC; daout:out std_logic_vector(6 d

47、ownto 0); END COMPONENT; -* -hour counter COMPONENT hour PORT(clk, reset: INSTD_LOGIC; daout:out std_logic_vector(5 downto 0); END COMPONENT; -* COMPONENT alert PORT( clk: INSTD_LOGIC; dain:in std_logic_vector(6 downto 0); lamp:out std_logic_vector(2 downto 0); speak: OUTSTD_LOGIC); END COMPONENT; -

48、* COMPONENT seltime PORT( clk1, reset: IN STD_LOGIC; sec,min:in std_logic_vector(6 downto 0); hour:in std_logic_vector(5 downto 0); daout:out std_logic_vector(3 downto 0); sel: OUT STD_LOGIC_vector(2 downto 0); END COMPONENT; -* COMPONENT deled PORT( num: IN STD_LOGIC_vector(3 downto 0); led: out st

49、d_logic_vector(6 downto 0); END COMPONENT; -* signal ledout: std_logic_vector(6 downto 0); signal enmin_re,enhour_re: std_logic; signal second_daout,minute_daout:std_logic_vector(6 downto 0); signal hour_daout:std_logic_vector(5 downto 0); signal seltime_daout:std_logic_vector(3 downto 0); -* begin

50、a=ledout(0); b=ledout(1); c=ledout(2); d=ledout(3); e=ledout(4); f=ledout(5); g=ledout(6); dpreset, clk=clk, setmin=setmin, enmin=enmin_re, daout=second_daout); u2:minute port map( clk=enmin_re, clk1 =clk, reset=reset, sethour=sethour, enhour=enhour_re, daout=minute_daout); u3:hour port map( clk=enhour_re, reset=reset, daout=hour_daout); u4:alert port map( clk=clk, dain =minute_daout, speak=speaker, lamp=lamp); u5:seltime port map( clk1 =clkdsp, reset=reset, sec=second_daout, min=minut

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論