數字鐘河南工業大學EDA課程設計_第1頁
數字鐘河南工業大學EDA課程設計_第2頁
數字鐘河南工業大學EDA課程設計_第3頁
數字鐘河南工業大學EDA課程設計_第4頁
數字鐘河南工業大學EDA課程設計_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 課 程 設 計課程設計名稱: EDA課程設計 專 業 班 級 電科1301 學 生 姓 名 : 學 號 : 201316030 指 導 教 師 : 焦素敏 課程設計時間: 2016-6-202016-7-2 1 設計任務及要求用VHDL語言在FPGE/CPLD上實現數字鐘的設計。掌握各類計數器的設計方法;掌握多個數碼管顯示的原理與方法;掌握VHDL語言的設計思想;掌握EDA技術的層次化設計方法;對整個系統的設計有一個初步了解。數字鐘的設計要求如下:(1)具有正確的時、分、秒計時功能。(2)計時結果要有6個數碼管分別顯示時、分、秒的個位和十位。(3)有校時功能,當Key3鍵按下時,分計數器以秒

2、脈沖的速度遞增,并按60min循環,即計數到59min后再回00。當按下Key1鍵時,時計數器以秒脈沖的速度遞增,并按24h循環,即計數到23h后再回00。(4)利用揚聲器整點報時。2設計原理及總體框圖數字鐘的頂層電路原理圖如圖1所示:(圖1 數字鐘的頂層電路原理圖)Clky引腳輸入1Hz秒脈沖,輸入一個60進制秒計數器,60進制計數器外接輸出引腳,輸出到秒數碼管上顯示。當計滿60位時,輸出引腳CO產生進位輸出電平,輸入到60進制分計數器上。60進制分計數器接受來自60進制秒計數器的進位電平開始計數,并由輸出引腳將所計數字輸出到分數碼管上顯示。當計滿60個數后,產生進位輸出電平,由進位輸出CO

3、引腳輸出到20進制時計數器上。20進制時計數器接受來自60進制分計數器的進位電平開始計數,并由輸出引腳將所計數字輸出到時數碼管上顯示。當計滿20個數后,產生進位輸出電平,由進位輸出CO引腳輸出到異步清零引腳Key3上,整個系統清零,從00:00:00開始重新計數。整點報時模塊,當是整點顯示時,蜂鳴器報時,key1、key2、key3、引腳分別接開關。key3負責清零,key1引腳接1Hz秒脈沖時實現以秒頻率校準分功能,key2引腳接1Hz秒脈沖實現以秒頻率校準時功能。3 程序設計60進制BCD碼計數器的源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;U

4、SE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt60 ISPORT( clr:IN STD_LOGIC; clk:IN STD_LOGIC; ten:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); one:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); co:OUT STD_LOGIC );END cnt60;ARCHITECTURE behav OF cnt60 ISSIGNAL cin:STD_LOGIC;BEGINPROCESS(clk,clr)VARIABLE cnt0:STD_LOGIC_VECTOR(3 DO

5、WNTO 0);BEGINIF clr=1 THEN cnt0:=0000;ELSIF clkEVENT AND clk=1 THENIF cnt0=1000 THENcnt0:=cnt0+1;cin=1;ELSIF cnt0=1001 THENcin=0;cnt0:=0000;ELSEcnt0:=cnt0+1;cin=0;END IF;END IF;one=cnt0;END PROCESS;PROCESS(clk,clr,cin)VARIABLE cnt1:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF clr=1 THEN cnt1:=0000;ELSIF clk

6、EVENT AND clk=1 THENco=0;IF cin=1 THEN IF cnt1=0101THENcnt1:=0000;co=1;ELSEcnt1:=cnt1+1;co=0;END IF;END IF;ELSEcnt1:=cnt1;END IF;ten=cnt1;END PROCESS;END behav;24進制計數器的VHDL源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt24 ISPORT( clr:IN STD_LOGIC; clk:IN STD_L

7、OGIC; ten:OUT STD_LOGIC_VECTOR(7 DOWNTO 4); one:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); co:OUT STD_LOGIC );END cnt24;ARCHITECTURE behav OF cnt24 ISSIGNAL t10:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL o1:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL cin:STD_LOGIC;BEGINten=t10;one=o1;p1:PROCESS(clk,clr)BEGINIF(clr=1) THEN

8、o1=0000;ELSIF clkEVENT AND clk=1 THENIF(o1=1001) OR (t10=0010 AND o1=0011)THENo1=0000;cin=0;ELSIF(o1=1000)THENo1=o1+1;cin=1;ELSEo1=o1+1;cin=0;END IF;END IF;END PROCESS p1;p2:PROCESS(clk,clr,cin)BEGINIF(clr=1) THEN t10=0000;ELSIF clkEVENT AND clk=1 THENIF(t10=0010 AND o1=0011)THEN t10=0000;co=1;ELSE

9、co=0;END IF;IF cin=1 THEN t10=t10+1;END IF;END IF;END PROCESS p2;END behav;二選一模塊VHDL源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY twoxuan1 IS PORT(A:IN STD_LOGIC;B:IN STD_LOGIC;C:IN STD_LOGIC;Y:OUT STD_LOGIC);END twoxuan1;ARCHITECTURE behav OF twoxuan1 ISBEGINPRO

10、CESS(C)BEGIN IF C=0 THEN Y=A;ELSEY=B;END IF;END PROCESS;END behav;整點報時源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY zhengdianbaoshi IS PORT(clk:IN STD_LOGIC;miaog,miaos,feng,fens:IN STD_LOGIC_VECTOR(3 DOWNTO 0);qout:OUT STD_LOGIC);END zhengdianbaoshi;ARCHITECTURE behav OF zhengdianbaoshi ISsign

11、al A:STD_LOGIC;BEGINPROCESS(clk)BEGIN IF clkEVENT AND clk=1 THENIF miaos=0000 AND fens=0000 AND feng=0000 AND miaog=0000 THENqout=1;ELSIF miaos=0010 THENqout=0;END IF;END IF;END PROCESS ;END behav;4 編譯及仿真Quartus II 是Alter公司推出的第四代EDA開發工具軟件,同第三代設計工具MAX+PLUS II相比,其功能更加完善,特別適合大規模邏輯電路的設計。Quartus II的設計流程與

12、其他工具軟件一樣,也可以概括為設計輸入,設計編譯,設計仿真和設計下載等過程,Quartus II支持圖形輸入,文本輸入等多種輸入方法。Alter公司的Quartus II是一個全面的,易于使用且具有獨立解決問題能力的軟件,可以完成設計流程中的輸入綜合,布局布線,時序分析,仿真和編程下載等所有功能。數字鐘仿真波形為圖2所示:(圖2 數字鐘仿真波形)由波形圖可以看出,clk為輸入1Hz秒脈沖,One為輸出秒的個位,ten為輸出秒的十位。Ne1為輸出分的個位,ten為輸出分的十位。One2為輸出時的個位,ten為輸出時的十位。SOUND為整點報時輸出。由最后一行,可以看出,波形總共為兩端,分別為第一

13、段對應12個整點報時,每個整點報時對應一個分鐘十位的進位。由此圖可見,波形仿真正確。圖3為數字鐘仿真波形為局部放大圖(圖3 數字鐘仿真波形為局部放大圖 )60進制計數器的仿真波形如圖4:(圖4 60進制計數器的仿真波形)第一行為輸入的1Hz的秒脈沖,由波形圖可以看出,最后一行對應的60進制計數器的十位從0變化到5倒數第二行對應的個位,從0變化到9,每個十位數字變化時,對應10個個位數字從0變化到。由此可以看出,波形仿真成功。24進制計數器的仿真波形如下圖5所示:(圖5 24進制計數器的仿真波形)第一行為輸入的1Hz的秒脈沖,由波形圖可以看出,最后一行對應的24進制計數器的十位從0變化到2,十位

14、數字0和1對應10個個位數字從0變化到9,十位數字2對應個位數字從0變化到3。倒數第二行對應的個位。由此可以看出,波形仿真成功。5 硬件調試與結果分析按照正確的方法進行引腳鎖定后進行編程下載,下載成功后按照引腳鎖定的管腳進行連線。可以看到數碼管從00;00;00;開始顯示計數,秒計滿60秒后分進一位,分計滿60為后時進一位,時計滿24后從00:00:00開始計數。整點時報時聲音響起。按下key1鍵時,將1Hz秒脈沖信號送到分計數器,可以實現快速校分功能。當按下key2鍵時,分計數器以秒脈沖的速度遞增,并按24h循環,即計數到23h后再回到00.硬件驗證成功。6 參考文獻1 焦素敏.EDA課程設

15、計指導書.鄭州:河南工業大學,20082焦素敏.EDA技術基礎.北京:清華大學出版社,20143邊肇祺.模式識別(第二版).北京:清華大學出版社,1988,25354李永忠.幾種小波變換的圖像處理技術.西北民族學院學報(自然科學版),2001.6,22(3),1518 心得體會通過這次課程設計,我進一步加深了對EDA編程的了解。并進一步熟練了對QuartusII軟件的操作,更為重要的是時隔一年以后有一次認真地復習了EDA所學的知識,加深了對所學知識的理解與應用。 在編寫程序的過程中,遇到了很多問題,使我發現自己以前學習上存在的不足。通過與同學探討和請教老師,終于把問題都解決了,并加深了對數字時

16、鐘原理和設計思路的了解。 同時我也掌握了做課程設計的一般流程,為以后的電子設計這塊積累了一定的經驗,為以后從事相關工作一些幫助。剛開始做時,僅僅做了一個比較簡單的數字鐘,沒有做整點報時與校對分、時的功能。在第一次驗收時,老師幫忙指出了其中的不足之處,在課下,我又對其進行了修改,增加了整點報時與校對分、時的功能。 做課程設計時,先查閱相關知識,把原理吃透,確定一個大的設計方向,在按照這個方向分模塊的把要實現的功能用流程圖的形式展示。最后參照每個模塊把輸入和輸出引腳設定,運用我們所學的VHDL語言進行編程。總之,通過這次的設計,進一步了解了EDA技術,收獲很大,對軟件編程、排錯調試、相關儀器設備的使用技能等方面得到較全面的鍛煉和提高。 電子信息科學與技術 專業課程設計任務書學生姓名專業班級電科1301學號題 目數字鐘的設計課題性質工程設計課題來源自擬課題指導教師焦素敏同組姓名主要內容(1)具有正確的時、分、秒計時功能。(2)計時結果要有6個數碼管分別顯示時、分、秒的個位和十位。(3)有校時功能,當Key3鍵按下時,分計數器以秒脈沖的速度遞增,并按60min循環,即計數到59min后再回00。當按下Key1鍵時,時計數器以秒脈沖的速度遞增,并按24h循環,即計數到23h后再回00。

溫馨提示

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

評論

0/150

提交評論