EDA課設(shè)——定時(shí)器_第1頁(yè)
EDA課設(shè)——定時(shí)器_第2頁(yè)
EDA課設(shè)——定時(shí)器_第3頁(yè)
EDA課設(shè)——定時(shí)器_第4頁(yè)
EDA課設(shè)——定時(shí)器_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、成 績(jī) 評(píng) 定 表學(xué)生姓名班級(jí)學(xué)號(hào)專(zhuān) 業(yè)電子信息工程課程設(shè)計(jì)題目定時(shí)器設(shè)計(jì)評(píng)語(yǔ)組長(zhǎng)簽字:成績(jī)?nèi)掌?2015年 月 日 課程設(shè)計(jì)任務(wù)書(shū)學(xué) 院信息科學(xué)與工程學(xué)院專(zhuān) 業(yè)電子信息工程學(xué)生姓名班級(jí)學(xué)號(hào)課程設(shè)計(jì)題目定時(shí)器設(shè)計(jì)一、目的: 訓(xùn)練學(xué)生綜合運(yùn)用學(xué)過(guò)的基礎(chǔ)知識(shí),獨(dú)立進(jìn)行查找資料、選擇方案、代碼設(shè)計(jì)、撰寫(xiě)報(bào)告,進(jìn)一步加深對(duì)EDA技術(shù)的理解。二、要求: 能正確劃分設(shè)計(jì)層次;收集資料;獨(dú)立思考,刻苦專(zhuān)研,嚴(yán)禁抄襲;按時(shí)完成設(shè)計(jì)任務(wù),認(rèn)真、正確地書(shū)寫(xiě)課程設(shè)計(jì)報(bào)告。三、功能要求: 通過(guò)設(shè)計(jì),定時(shí)器可以整體清零;可以定時(shí)最高到99MIN;以秒速度遞增至預(yù)定時(shí)間,以秒速度遞減至零。三、進(jìn)度安排:課程設(shè)計(jì)時(shí)間為10

2、天(2周)1、調(diào)研、查資料1天。2、總體方案設(shè)計(jì)2天。3、代碼設(shè)計(jì)與調(diào)試5天。4、撰寫(xiě)報(bào)告1天。5、驗(yàn)收1天。指導(dǎo)教師: 2015年 月 日專(zhuān)業(yè)負(fù)責(zé)人:2015年 月 日學(xué)院教學(xué)副院長(zhǎng):2015年 月 日目 錄1 概述1 1.1 設(shè)計(jì)背景和意義1 1.2 設(shè)計(jì)任務(wù)1 1.3 設(shè)計(jì)要求12 原理設(shè)計(jì)及層次劃分12.1 工作原理12.2 層次劃分23 軟件設(shè)計(jì)23.1控制計(jì)數(shù)模塊模塊代碼設(shè)計(jì)23.2 報(bào)警器模塊代碼設(shè)計(jì)43.3 譯碼器模塊代碼設(shè)計(jì)53.4 定時(shí)器原件例化模塊代碼設(shè)計(jì)54 仿真及測(cè)試64.1 控制計(jì)數(shù)模塊仿真64.2報(bào)警器模塊仿真84.3 譯碼器模塊代碼仿真94.4 定時(shí)器原件例化模

3、塊代碼仿真105 總結(jié)116 參考文獻(xiàn)111 概述 1.1 設(shè)計(jì)背景和意義EDA技術(shù)是指以計(jì)算機(jī)為工作平臺(tái),融合了應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理及智能化技術(shù)的最新成果,進(jìn)行電子產(chǎn)品的自動(dòng)設(shè)計(jì)。 利用EDA工具,電子設(shè)計(jì)師可以從概念、算法、協(xié)議等開(kāi)始設(shè)計(jì)電子系統(tǒng),大量工作可以通過(guò)計(jì)算機(jī)完成,并可以將電子產(chǎn)品從電路設(shè)計(jì)、性能分析到設(shè)計(jì)出IC版圖或PCB版圖的整個(gè)過(guò)程的計(jì)算機(jī)上自動(dòng)處理完成。 EDA技術(shù)是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語(yǔ)言VHDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和

4、編程下載等工作。EDA技術(shù)的出現(xiàn),極大地提高了電路設(shè)計(jì)的效率和可操作性,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。 1.2 設(shè)計(jì)任務(wù) 通過(guò)設(shè)計(jì),定時(shí)器可以整體清零;可以定時(shí)最高到99MIN;以秒速度遞增至預(yù)定時(shí)間,以秒速度遞減至零。 1.3 設(shè)計(jì)要求 具有整體清零(reset)功能,定時(shí)99分鐘。以秒速度遞增至99分鐘停止,啟動(dòng)報(bào)警(cout)5秒鐘。具有置位(cn)控制,即cn高電平時(shí),clk脈沖上升沿到來(lái),計(jì)數(shù)加一;cn低電平時(shí),置位結(jié)束,進(jìn)入倒計(jì)時(shí)階段,以秒速度使輸出計(jì)數(shù)減一至零結(jié)束,并同時(shí)報(bào)警(cout)5秒鐘。時(shí)鐘信號(hào)提供秒信號(hào)(1HZ);四位數(shù)碼管靜態(tài)顯示,高位high(3 downto 0)顯示分

5、,低位low(3 downto 0)顯示秒2 原理設(shè)計(jì)及層次劃分2.1 工作原理1.系統(tǒng)設(shè)計(jì)方案 時(shí)鐘信號(hào)a 控制計(jì)時(shí)部分譯碼器數(shù)碼管時(shí)鐘信號(hào)b報(bào)警器 通過(guò)記數(shù)器控制中心輸入秒信號(hào),并輸出兩個(gè)四位的BCD碼,可分別來(lái)表示各位與十位,也可整體復(fù)位清零。通過(guò)該記數(shù)器實(shí)現(xiàn)以秒速度遞增至清零,該記數(shù)器以秒的速度遞增至99來(lái)實(shí)現(xiàn)置位,而以秒的速度遞減至零以實(shí)現(xiàn)定時(shí)功能。當(dāng)以秒速度遞增至99分鐘停止,啟動(dòng)報(bào)警(cout)5秒鐘。cn低電平時(shí),置位結(jié)束,進(jìn)入倒計(jì)時(shí)階段,以秒速度使輸出計(jì)數(shù)減一至零結(jié)束時(shí)也同時(shí)報(bào)警(cout)5秒鐘。通過(guò)二選一選擇器對(duì)個(gè)位和十位進(jìn)行掃描輸出,并將輸出送到譯碼器,通過(guò)譯碼器對(duì)輸入

6、的四位BCD碼進(jìn)行七段碼編譯,然后輸出到數(shù)碼管。2.2 層次劃分 2.2.1控制計(jì)數(shù)模塊Aaa控制計(jì)數(shù)模塊,是該定時(shí)器的核心部分.res為復(fù)位端,用來(lái)清零,采用異步復(fù)位方式;cn用于置位,高電平有效。cout端將在定時(shí)結(jié)束時(shí)產(chǎn)生高電平。Low和high為四位BCD碼輸出端口,可用于顯示。當(dāng)cn有效時(shí),clk脈沖上升沿到來(lái),計(jì)數(shù)加1;當(dāng)cn為低電平時(shí),置位結(jié)束,進(jìn)入計(jì)時(shí)階段,每1個(gè)時(shí)鐘周期發(fā)出一個(gè)脈沖,使輸出記數(shù)減1,直到記時(shí)結(jié)束,令cout位為高電平為止。 2.2.2報(bào)警器模塊主要功能是計(jì)數(shù)器以秒速度遞增至99分鐘停止時(shí)啟動(dòng)報(bào)警(cout)5秒鐘。倒計(jì)時(shí)階段,計(jì)時(shí)器以秒速度使輸出計(jì)數(shù)減一至零結(jié)

7、束時(shí)也同時(shí)報(bào)警(cout)5秒鐘。當(dāng)始終把脈沖clk上升沿到來(lái)時(shí)count開(kāi)始計(jì)數(shù),同時(shí)speak置高電平開(kāi)始報(bào)警,當(dāng)計(jì)數(shù)達(dá)到5s后speak置0,停止報(bào)警。它的操作源程序如下:2.2.3 譯碼器模塊 譯碼器yima是對(duì)四位BCD碼進(jìn)行七段碼譯碼,其輸出p0p6分別接數(shù)碼管各段進(jìn)行顯示輸出。2.2.4 定時(shí)器原件例化模塊3 軟件設(shè)計(jì)3.1 控制計(jì)數(shù)模塊代碼設(shè)計(jì) Aaa控制計(jì)數(shù)模塊,是該定時(shí)器的核心部分.res為復(fù)位端,用來(lái)清零,采用異步復(fù)位方式;cn用于置位,高電平有效。cout端將在定時(shí)結(jié)束時(shí)產(chǎn)生高電平。Low和high為四位BCD碼輸出端口,可用于顯示。當(dāng)cn有效時(shí),clk脈沖上升沿到來(lái),

8、計(jì)數(shù)加1;當(dāng)cn為低電平時(shí),置位結(jié)束,進(jìn)入計(jì)時(shí)階段,每1個(gè)時(shí)鐘周期發(fā)出一個(gè)脈沖,使輸出記數(shù)減1,直到記時(shí)結(jié)束,令cout位為高電平為止。該模塊的源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jsq is port (cn,res,clk:in std_logic; cout :out std_logic; flow,fhigh,mlow,mhigh:out std_logic_vector(3 downto 0);end jsq;architecture art of

9、jsq issignal fdisplow,fdisphigh,mdisplow,mdisphigh:std_logic_vector(3 downto 0); -定義信號(hào)分別表示分鐘和秒鐘的十位和個(gè)位beginprocess(clk,cn,res)beginif(res=1)thenmdisplow=0000;mdisphigh=0000;fdisplow=0000;fdisphigh=0000; cout=0; -res高電平執(zhí)行復(fù)位elsif (clkevent and clk=1)then if cn=1then if mdisplow9 then mdisplow=mdisplow+

10、1;-秒鐘個(gè)位數(shù)小于9時(shí)執(zhí)行計(jì)數(shù)加1 cout=0; elsif mdisplow=1001 and mdisphigh5 then mdisplow=0000; mdisphigh=mdisphigh+1;-秒鐘十位進(jìn)位加1 elsif mdisphigh=0101 and fdisplow9 then mdisplow=0000; mdisphigh=0000; fdisplow=fdisplow+1;-滿(mǎn)59秒后分鐘個(gè)位加1 elsif fdisplow=1001 and fdisphigh9 then mdisplow=0000; mdisphigh=0000; fdisplow=00

11、00; fdisphigh=fdisphigh+1;-滿(mǎn)9分59秒后分鐘十位加1 elsif fdisplow=1000 and fdisphigh=1001 then mdisplow=0000; mdisphigh=0000; fdisplow=1001;-計(jì)時(shí)至99分停止 elsif fdisplow=1001 and fdisphigh=1001 then cout0 then mdisplow=mdisplow-1;-秒鐘減1 cout0 then mdisplow=1001; mdisphigh0 then mdisplow=1001; mdisphigh=0101; fdispl

12、ow0 then mdisplow=1001; mdisphigh=0101; fdisplow=1001; fdisphigh=fdisphigh-1;-分減10 elsif fdisphigh=0000and fdisplow=0000and mdisphigh=0000and mdisplow=0000then cout=1;-倒計(jì)時(shí)結(jié)束cout變?yōu)楦唠娖?end if; end if;end if;end process;mhigh=mdisphigh;mlow=mdisplow;fhigh=fdisphigh;flow=fdisplow;end art;3.2 報(bào)警器模塊代碼設(shè)計(jì)主要

13、功能是計(jì)數(shù)器以秒速度遞增至99分鐘停止時(shí)啟動(dòng)報(bào)警(cout)5秒鐘。倒計(jì)時(shí)階段,計(jì)時(shí)器以秒速度使輸出計(jì)數(shù)減一至零結(jié)束時(shí)也同時(shí)報(bào)警(cout)5秒鐘。當(dāng)始終把脈沖clk上升沿到來(lái)時(shí)count開(kāi)始計(jì)數(shù),同時(shí)speak置高電平開(kāi)始報(bào)警,當(dāng)計(jì)數(shù)達(dá)到5s后speak置0,停止報(bào)警。它的操作源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cou5 isport(clk,reset,en:in std_logic; speak:out std_logic);end cou5;archi

14、tecture behavior of cou5 issignal count:std_logic_vector(2 downto 0);-定義計(jì)數(shù)信號(hào)beginprocess(reset,clk)beginif reset=1 or en=0 thencount(2 downto 0)=000;speak=0;-有復(fù)位信號(hào)或始能端低電平時(shí)輸出0elseif(clkevent and clk=1)thencount=count+1;speak5 thenspeakppppppppppp=0000000;end case;end process;end arc;3.4 定時(shí)器原件例化模塊代碼設(shè)計(jì)

15、library ieee;use ieee.std_logic_1164.all;entity yjlh isport(sen,resa,clka,resb: in std_logic; myimal:out std_logic_vector(6 downto 0); -秒鐘個(gè)位譯碼輸出 myimah:out std_logic_vector(6 downto 0); -秒鐘十位譯碼輸出 fyimal:out std_logic_vector(6 downto 0); -分鐘個(gè)位譯碼輸出 fyimah:out std_logic_vector(6 downto 0); -分鐘十位譯碼輸出 ba

16、oj:out std_logic );end entity yjlh;architecture art of yjlh iscomponent jsq isport (cn,res,clk:in std_logic; cout :out std_logic; flow,fhigh,mlow,mhigh:out std_logic_vector(3 downto 0);end component jsq; -jsq控制模塊component yima isport(a:in std_logic_vector(3 downto 0); p:out std_logic_vector(6 downto

17、 0);end component yima;-譯碼模塊component cou5 isport(clk,reset,en:in std_logic; speak:out std_logic);end component cou5;-報(bào)警模塊signal s1,s2,s3,s4:std_logic_vector(3 downto 0);signal s5:std_logic;beginu1:jsq port map(sen,resa,clka,s5,s1,s2,s3,s4);u2:yima port map(s1,fyimal);u3:yima port map(s2,fyimah);u4:

18、yima port map(s3,myimal);u5:yima port map(s4,myimah);u6:cou5 port map(clka,resb,s5,baoj);-各模塊通過(guò)位置關(guān)聯(lián)end architecture art;4 仿真及測(cè)試4.1 控制計(jì)數(shù)模塊仿真該計(jì)數(shù)器生成的原件如下圖所示: 圖一 計(jì)數(shù)器原件生成圖計(jì)數(shù)器波形仿真圖如下圖所示: 圖二 計(jì)數(shù)器波形仿真 Aaa控制計(jì)數(shù)模塊,是該定時(shí)器的核心部分.res為復(fù)位端,用來(lái)清零,采用異步復(fù)位方式;cn用于置位,高電平有效。cout端將在定時(shí)結(jié)束時(shí)產(chǎn)生高電平。Low和high為四位BCD碼輸出端口,可用于顯示。當(dāng)cn有效時(shí),c

19、lk脈沖上升沿到來(lái),計(jì)數(shù)加1;當(dāng)cn為低電平時(shí),置位結(jié)束,進(jìn)入計(jì)時(shí)階段,每1個(gè)時(shí)鐘周期發(fā)出一個(gè)脈沖,使輸出記數(shù)減1,直到記時(shí)結(jié)束,令cout位為高電平為止。4.2 報(bào)警器模塊仿真該報(bào)警器生成的原件圖如下: 圖三 報(bào)警器原件生成圖該報(bào)警器波形仿真圖如下: 圖四 報(bào)警器波形仿真主要功能是計(jì)數(shù)器以秒速度遞增至99分鐘停止時(shí)啟動(dòng)報(bào)警(cout)5秒鐘。倒計(jì)時(shí)階段,計(jì)時(shí)器以秒速度使輸出計(jì)數(shù)減一至零結(jié)束時(shí)也同時(shí)報(bào)警(cout)5秒鐘。當(dāng)始終把脈沖clk上升沿到來(lái)時(shí)count開(kāi)始計(jì)數(shù),同時(shí)speak置高電平開(kāi)始報(bào)警,當(dāng)計(jì)數(shù)達(dá)到5s后speak置0,停止報(bào)警。4.3 譯碼器模塊仿真該譯碼器原件生成圖如下: 圖五 譯碼器原件生成圖 該譯碼器波形仿真圖如下: 圖六 譯碼器波形仿真譯碼器yima是對(duì)四位BCD碼進(jìn)行七段碼譯碼,其輸出p0p6分別接數(shù)碼管各段進(jìn)行顯示輸出。4.4定時(shí)器原件例化模塊仿真定時(shí)器原件例化后生成的原件圖如下: 圖七 定時(shí)器原件生成圖3. 定時(shí)器原件例化后波形仿真圖如下: 圖八 定時(shí)器原件例化后波形仿真5 總結(jié)在這次課程設(shè)計(jì)中,基本完成了99分鐘定時(shí)器的設(shè)計(jì),實(shí)現(xiàn)了其所有功能。但是在此過(guò)程中,遇到了很多困難,如編寫(xiě)程序過(guò)程中出現(xiàn)錯(cuò)誤語(yǔ)句,或者編寫(xiě)的語(yǔ)句不能完成預(yù)期的功能等。但經(jīng)過(guò)反復(fù)修改與調(diào)試,程序沒(méi)有了錯(cuò)誤,盡管如此,該程序也未能

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論