數(shù)字時鐘課程設(shè)計_第1頁
數(shù)字時鐘課程設(shè)計_第2頁
數(shù)字時鐘課程設(shè)計_第3頁
數(shù)字時鐘課程設(shè)計_第4頁
數(shù)字時鐘課程設(shè)計_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEIPAGEII東北石油大學課程設(shè)計課程課程硬件課程設(shè)計題目數(shù)字時鐘設(shè)計院系計算機與信息技術(shù)學院專業(yè)班級學生姓名學生學號指導(dǎo)教師東北石油大學課程設(shè)計任務(wù)書課程硬件課程設(shè)計題目數(shù)字時鐘設(shè)計專業(yè)主要內(nèi)容、基本要求等一、主要內(nèi)容:利用EL教學實驗箱、微機和QuartusⅡ軟件系統(tǒng),使用VHDL語言和層次設(shè)計方法設(shè)計實現(xiàn)數(shù)字鐘,完成硬件設(shè)計設(shè)計和功能仿真,最后下載到EL教學實驗箱中予以實現(xiàn)。二、基本要求:1.具有時,分,秒,計數(shù)顯示功能,以24小時循環(huán)計時。2.具有清零功能。三、擴展要求1.整點報時功能。四、參考文獻[1]孫富明,李笑盈.基于多種EDA工具的FPGA設(shè)計,電子技術(shù)應(yīng)用,2002年1月,第1期[2]潘松,黃繼業(yè).EDA技術(shù)實用教程.北京:科學出版社,2002[3]盧杰,賴毅.VHDL與數(shù)字電路設(shè)計.北京:科學出版社,2001[4]譚會生,張昌凡.EDA技術(shù)及應(yīng)用[M].西安:西安電子科技大學出版社,2004.4.[5]江國強.EDA技術(shù)習題與實驗[M].北京:電子工業(yè)出版社,2005.1.完成期限2周指導(dǎo)教師專業(yè)負責人2012年P(guān)AGE17東北石油大學本科生課程設(shè)計(論文)第1章概述EDA的簡述EDA技術(shù)是現(xiàn)代電子信息工程領(lǐng)域的一門新技術(shù),EDA主要包括4大要素:1.大規(guī)??删幊踢壿嬈骷?.硬件描述語言3.軟件開發(fā)工具4.實驗。開發(fā)系統(tǒng)但從EDA技術(shù)的幾個主要方面的內(nèi)容來看,可以理解為:EDA技術(shù)是以大規(guī)??删幊踢壿嬈骷樵O(shè)計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達方式,以計算機、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實驗開發(fā)系統(tǒng)為設(shè)計工具,通過有關(guān)的開發(fā)軟件,自動完成用軟件的方式設(shè)計電子系統(tǒng)到硬件系統(tǒng)的一門新技術(shù)??梢詫崿F(xiàn)邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化,邏輯布局布線、邏輯仿真。完成對于特定目標芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒琜2]。利用EDA工具,電子設(shè)計師可以從概念、算法、協(xié)議等開始設(shè)計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產(chǎn)品從電路設(shè)計、性能分析到設(shè)計出IC版圖或PCB版圖的整個過程的計算機上自動處理完成?,F(xiàn)在對EDA的概念或范疇用得很寬。包括在機械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學、軍事等各個領(lǐng)域,都有EDA的應(yīng)用。目前EDA技術(shù)已在各大公司、企事業(yè)單位和科研教學部門廣泛使用。例如在飛機制造過程中,從設(shè)計、性能測試及特性分析直到飛行模擬,都可能涉及到EDA技術(shù)。EDA技術(shù)是伴隨著計算機、集成電路、電子系統(tǒng)的設(shè)計發(fā)展起來的,至今已有30多年的歷程。大致可以分為三個發(fā)展階段。20世紀70年代的CAD(計算機輔助設(shè)計)階段:這一階段的主要特征是利用計算機輔助進行電路原理圖編輯,PCB布同布線,使得設(shè)計師從傳統(tǒng)高度重復(fù)繁雜的繪圖勞動中解脫出來。20世紀80年代的QAE(計算機輔助工程設(shè)計)階段:這一階段的主要特征是以邏輯摸擬、定時分析、故障仿真、自動布局布線為核心,重點解決電路設(shè)計的功能檢測等問題,使設(shè)計能在產(chǎn)品制作之前預(yù)知產(chǎn)品的功能與性能[3]。20世紀90年代是EDA(電子設(shè)計自動化)階段:這一階段的主要特征是以高級描述語言,系統(tǒng)級仿真和綜合技術(shù)為特點,采用“自頂向下”的設(shè)計理念,將設(shè)計前期的許多高層次設(shè)計由EDA工具來完成[4]。EDA是電子技術(shù)設(shè)計自動化,也就是能夠幫助人們設(shè)計電子電路或系統(tǒng)的軟件工具。該工具可以在電子產(chǎn)品的各個設(shè)計階段發(fā)揮作用,使設(shè)計更復(fù)雜的電路和系統(tǒng)成為可能。在原理圖設(shè)計階段,可以使用EDA中的仿真工具論證設(shè)計的正確性;在芯片設(shè)計階段,可以使用EDA中的芯片設(shè)計工具設(shè)計制作芯片的版圖;在電路板設(shè)計階段,可以使用EDA中電路板設(shè)計工具設(shè)計多層電路板。特別是支持硬件描述語言的EDA工具的出現(xiàn),使復(fù)雜數(shù)字系統(tǒng)設(shè)計自動化成為可能,只要用硬件描述語言將數(shù)字系統(tǒng)的行為描述正確,就可以進行該數(shù)字系統(tǒng)的芯片設(shè)計與制造[5]。21世紀將是EDA技術(shù)的高速發(fā)展期,EDA技術(shù)將是對21世紀產(chǎn)生重大影響的十大技術(shù)之一。1.2EDA技術(shù)設(shè)計方法(1)前端設(shè)計(系統(tǒng)建模RTL級描述)后端設(shè)計(FPGAASIC)系統(tǒng)建模。

(2)IP復(fù)用。

(3)前端設(shè)計。

(4)系統(tǒng)描述:建立系統(tǒng)的數(shù)學模型。

(5)功能描述:描述系統(tǒng)的行為或各子模塊之間的數(shù)據(jù)流圖。

(6)邏輯設(shè)計:通常以文本、原理圖、邏輯圖、布爾表達式來表示設(shè)計結(jié)果。

(7)仿真:包括功能仿真和時序仿真,主要驗證系統(tǒng)功能的正確性及時序特性。第2章系統(tǒng)工作平臺介紹2.1EDA的軟件工作平臺PLD(ProgrammableLogicDevice)是一種由用戶根據(jù)需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。目前主要有兩大類型:CPLD(ComplexPLD)和FPGA(FieldProgrammableGateArray)。它們的基本設(shè)計方法是借助于EDA軟件,用原理圖、狀態(tài)機、布爾表達式、硬件描述語言等方法,生成相應(yīng)的目標文件,最后用編程器或下載電纜,由目標器件實現(xiàn)。生產(chǎn)PLD的廠家很多,但最有代表性的PLD廠家為Altera、Xilinx和Lattice公司。我們采用了QuartusⅡ軟件作為開發(fā)工具。2.2QuartusⅡ軟件概述QuartusII是Altera公司的綜合性PLD開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多種設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整PLD設(shè)計流程。QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設(shè)計流程外,提供了完善的用戶圖形界面設(shè)計方式。具有運行速度快,界面統(tǒng)一,功能集中,易學易用等特點。QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計的復(fù)雜性、加快了設(shè)計速度。對第三方EDA工具的良好支持也使用戶可以在設(shè)計流程的各個階段使用熟悉的第三方EDA工具。此外,QuartusII通過和DSPBuilder工具與Matlab/Simulink相結(jié)合,可以方便地實現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設(shè)計、嵌入式軟件開發(fā)、可編程邏輯設(shè)計于一體,是一種綜合性的開發(fā)平臺。MaxplusII作為Altera的上一代PLD設(shè)計軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前Altera已經(jīng)停止了對MaxplusII的更新支持,QuartusII與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在QuartusII中包含了許多諸如SignalTapII、ChipEditor和RTLViewer的設(shè)計輔助工具,集成了SOPC和HardCopy設(shè)計流程,并且繼承了MaxplusII友好的圖形界面及簡便的使用方法。第3章數(shù)字時鐘主要設(shè)計過程3.1數(shù)字時鐘設(shè)計思想1.時鐘計數(shù): 秒——60進制BCD碼計數(shù); 分——60進制BCDD碼計數(shù); 時——24進制BCDD碼計數(shù);同時整個計數(shù)器有清零功能,在接近整數(shù)時間能提供報時信號。2.具有驅(qū)動8位八段共陰掃描數(shù)碼管的片選驅(qū)動信號輸出和八段字形譯碼輸出。3.揚生器在整點時有報時驅(qū)動信號產(chǎn)生。3.2數(shù)字時鐘設(shè)計流程圖時鐘輸入信號1時鐘輸入信號1秒模塊時模塊八段數(shù)碼管顯示分模塊報時模塊進位時鐘輸入信號2進位圖3-1數(shù)字時鐘流程圖第4章數(shù)字時鐘的詳細設(shè)計過程4.1秒模塊秒模塊的主要功能是由60進制(由兩個10進制的計數(shù)器拼湊出來,分別對秒個位以及秒十位進行計數(shù))的計數(shù)器實現(xiàn)的,其中設(shè)置了兩個輸入端:clk和rst做為時鐘和使能端;三個輸出端:sec0,sec1和co分別作為秒個位,秒十位和進位端;兩個計數(shù)變量cnt1和cnt0。在進程中,當rst為高電平時,則將變量cnt1與cnt0同時清零。當時鐘信號發(fā)生改變并且出現(xiàn)上升沿時,如果變量cnt1與cnt0分別為5和9時,則進位輸出端高電平有效。否則當變量cnt0小于9時,cnt0計數(shù)加1,進位輸出端低電平不輸出。當變量cnt0大于等于9時,變量cnt0清零,同時變量cnt1計數(shù)加1,進位輸出端低電平不輸出。最后再將兩個變量cnt1與cnt0分別送給輸出端sec1和sec0(如圖4-1所示)。圖4-1秒模塊秒模塊程序節(jié)選:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitySECONDisport(clk,rst:instd_logic;時鐘/清零信號sec1,sec0:outstd_logic_vector(3downto0);秒高位/低位co:outstd_logic);輸出/進位信號endSECOND;architectureSECofSECONDis…………下圖為秒模塊程序仿真圖:圖4-2秒模塊仿真圖4.2分模塊同秒模塊相似也由60進制(由兩個10進制的計數(shù)器拼湊出來,分別對分個位以及分十位進行計數(shù))的計數(shù)器實現(xiàn)的,其中設(shè)置了兩個輸入端:clk和clr做為時鐘和使能端;三個輸出端:min0,min1和co分別作為分個位,分十位和進位端;兩個計數(shù)變量cnt1和cnt0。在進程中,當clr為高電平時,則將變量cnt1與cnt0同時清零。當時鐘信號發(fā)生改變并且出現(xiàn)上升沿時,如果變量cnt1與cnt0分別為5和9時,則進位輸出端高電平有效。否則當變量cnt0小于9時,cnt0計數(shù)加1,進位輸出端低電平不輸出。當變量cnt0大于等于9時,變量cnt0清零,同時變量cnt1計數(shù)加1,進位輸出端低電平不輸出。最后再將兩個變量cnt1與cnt0分別送給輸出端min1和min0(如圖4-3示)。圖4-3分模塊分模塊程序節(jié)選:…………beginifclr='1'then當clr為1時,高低位均為0cnt1:="0000";cnt0:="0000";elsifclk'eventandclk='1'thenifcnt1="0101"andcnt0="1001"then當記數(shù)為59(即經(jīng)過59個記時脈沖)co<='1';進位cnt1:="0000";cnt0:="0000";elsifcnt0<"1001"then小于9時cnt0:=cnt0+1;co<='0';elsecnt0:="0000";cnt1:=cnt1+1;co<='0';endif;endif;…………分模塊仿真圖如下:圖4-4分模塊仿真圖4.3時模塊秒模塊的主要功能是由24進制(同樣由兩個10進制的計數(shù)器拼湊出來,分別對時個位以及時十位進行計數(shù))的計數(shù)器實現(xiàn)的,其中設(shè)置了兩個輸入端:clk和clr做為時鐘和使能端;三個輸出端:h1,h0和co分別作為時個位,時十位和報時端;兩個計數(shù)變量cnt1和cnt0。在進程中,當clr為高電平時,則將變量cnt1與cnt0同時清零。當時鐘信號發(fā)生改變并且出現(xiàn)上升沿時,如果變量cnt1與cnt0分別為2和3,則將變量cnt1與cnt0同時清零。否則當變量cnt0小于9時,cnt0計數(shù)加1,報時輸出端高電平有效。當變量cnt0大于等于9時,變量cnt0清零,同時變量cnt1計數(shù)加1,報時輸出端高電平有效。最后再將兩個變量cnt1與cnt0分別送給輸出端h1,h0(如圖4-5所示)。圖4-5時模塊時模塊程序節(jié)選:………………elsecnt1:=cnt1+1;高位記數(shù)累加cnt0:="0000";co<='1';endif;endif;h1<=cnt1;h0<=cnt0;endprocess;endhour_arc;下圖為時模塊仿真圖:圖4-6時模塊仿真圖4.4報時模塊報時模塊很簡單,其輸入端:clk作為時鐘,m0、m1、s0、s1作為秒個/十位、分個/十位的信號輸入端。輸出端:qlk作為報時端。當clk為高電平有效時,如果m0、m1、s0、s1同時有效,則qlk輸出‘1’,否則qlk輸出‘0’(如圖4-7所示)。圖4-7報時模塊報時模塊程序節(jié)選:…………process(clk)beginifm1="0101"andm0="1001"ands1="0101"ands0="1001"then當秒高位為5,低位為9時且分高位為5,低位為9時,也就是“59分59秒”的時候“報時”qlk<='1';高頻輸出為1elseqlk<='0';endif;…………4.5八段數(shù)碼管掃描電路該模塊是由計數(shù)器來實現(xiàn)的。輸入端:clk,sec0,sec1,min0,min1,h0,h1分別作為掃描時鐘,和秒個/十位,分個/十位,時個/十位,輸出端:daout,sel分別作為輸出顯示和位選信號端。信號:count作為計數(shù)信號。在進程中,當clk發(fā)生改變并且出現(xiàn)上升沿時,如果信號count大于等于5時,則將其清零,否則計數(shù)加1。通過case語句在計數(shù)器中的6種信號狀態(tài)下將秒個/十位,分個/十位,時個/十位分別送給輸出端daout。最后將信號count送給位選信號端sel(如圖4-8所示)。圖4-8八段數(shù)碼管掃描電路數(shù)碼管顯示驅(qū)動電路程序節(jié)選:…………casecountiswhen"000"=>daout<=sec0;秒個位when"001"=>daout<=sec1;秒十位when"010"=>daout<=min0;分個位when"011"=>daout<=min1;分十位when"100"=>daout<=h0;時個位when"101"=>daout<=h1;時十位whenothers=>daout<=sec0;endcase;…………4.6數(shù)碼管顯示驅(qū)動電路該模塊的輸入端為d,它與八段數(shù)碼管掃描電路相連,輸出端為q,是段選信號輸出端。通過case語句將0到9的每個數(shù)字用7段譯碼管表示出來并送給輸出端q(如圖4-9所示)。4-9數(shù)碼管顯示驅(qū)動電路數(shù)碼管顯示驅(qū)動電路程序節(jié)選:…………casediswhen"0000"=>q<="0111111";--顯示0when"0001"=>q<="0000110";--顯示1when"0010"=>q<="1011011";--顯示2when"0011"=>q<="1001111";--顯示3when"0100"=>q<="1100110";--顯示4when"0101"=>q<="1101101";--顯示5when"0110"=>q<="1111101";--顯示6when"0111"=>q<="0100111";--顯示7when"1000"=>q<="1111111";--顯示8whenothers=>q<="1101111";--顯示9endcase;…………4.7數(shù)字時鐘頂層文件頂層文件的輸入端有跟秒模塊時鐘端相連的clk1端,與秒、分、時模塊使能端相連的reset,與八段數(shù)碼管掃描電路的時鐘端相連的clkdsp。輸出端有與報時模塊相連的喇叭speaker,與數(shù)碼管顯示驅(qū)動電路相連的dp,與八段數(shù)碼管掃描電路相連的sel1。在內(nèi)部連線中,秒模塊的個/十位的輸出端、分模塊的個/十位的輸出端、時模塊的個/十位的輸出端通過信號分別與數(shù)碼管顯示驅(qū)動電路的輸入端sec0,sec1,min0,min1,h0,h1和報時模塊的m0、m1、s0、s1相連。秒模塊的進位輸出端與分模塊的時鐘輸入端相連,分模塊的進位輸出端與時模塊的時鐘輸入端相連,時模塊的報時輸出端與報時模塊的時鐘輸入端相連,數(shù)碼管顯示驅(qū)動電路的輸入端為與八段數(shù)碼管掃描電路的輸出端相連。頂層文件程序節(jié)選:…………COMPONENTHOURport(clk,clr:instd_logic;輸入時鐘/高電平有效的使能信號h1,h0:outstd_logic_vector(3downto0);co:outstd_logic);時高位/低位endCOMPONENT;COMPONENTALERTport(clk:instd_logic;高頻聲控制qlk:outstd_logic);低頻聲控制endCOMPONENT;…………第5章功能測試5.1頂層文件仿真對頂層文件進行仿真得出下圖:圖5-1頂層文件仿真圖5.2引腳設(shè)置和下載圖5-2圖形式引腳鎖定對話框圖5-3配置文件下載窗口5.3電子數(shù)字鐘硬件驗證將電子數(shù)字鐘的sof下載文件下載到EL試驗箱的MAX7000芯片中,運行結(jié)果見圖5-4所示。從圖5-4中可見,秒、分、時電路均按60進制和24進制進行計數(shù)。本次設(shè)計達到了任務(wù)書中規(guī)定的任務(wù)。5-4EL教學實驗箱顯示圖結(jié)論通過這段時間的學習,使我初步的掌握了EDA技術(shù)的應(yīng)用,在此同時也掌握了其相關(guān)的應(yīng)用軟件QuartusII的安裝及基本使用方法。在本次的課程設(shè)計中,利用微機和QuartusII軟件系統(tǒng),在老師的幫助下我完成了數(shù)字時鐘的設(shè)計。并且通過多次的認證,確認實驗結(jié)果與理論相一致,實驗的設(shè)計和結(jié)果均為正確。在數(shù)字時鐘的設(shè)計過程中我掌握了EDA技術(shù)的VHDL文本輸入的設(shè)計方法,這種方法讓設(shè)計更加的簡潔和方便。同時也非常牢固了掌握了數(shù)字時鐘的設(shè)計原理,包括計數(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論