EDA課程設(shè)計-數(shù)字秒表的設(shè)計_第1頁
EDA課程設(shè)計-數(shù)字秒表的設(shè)計_第2頁
EDA課程設(shè)計-數(shù)字秒表的設(shè)計_第3頁
EDA課程設(shè)計-數(shù)字秒表的設(shè)計_第4頁
EDA課程設(shè)計-數(shù)字秒表的設(shè)計_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 EDA技術(shù)及應(yīng)用課程設(shè)計 課程設(shè)計報告題 目: 數(shù)字秒表的設(shè)計 院 (系): 專業(yè)班級: 學(xué)生姓名: 學(xué) 號: 指導(dǎo)教師: 20 13 年 6 月 24 日至20 13 年 7 月 3 日華中科技大學(xué)武昌分校制 數(shù)字秒表的設(shè)計 課程設(shè)計任務(wù)書一、設(shè)計(調(diào)查報告/論文)題目數(shù)字秒表的設(shè)計二、設(shè)計(調(diào)查報告/論文)主要內(nèi)容下述設(shè)計內(nèi)容需由學(xué)生個人獨立完成:1掌握QuartusII軟件使用, 了解電路描述、綜合、模擬過程;2. 學(xué)習(xí)VHDL程序中數(shù)據(jù)對象、數(shù)據(jù)類型、順序語句、并行語句的綜合使用,了解VHDL程序的基本結(jié)構(gòu)。3掌握秒表工作原理;4掌握宏單元模塊調(diào)用方法;5. 掌握分頻,計數(shù)器模塊,控

2、制信號產(chǎn)生模塊,鎖存器模塊顯示模塊程序編寫;6. 掌握波形仿真方法及正確處理程序調(diào)試過程中所遇到的問題。三、原始資料1. QuartusII軟件。2. 數(shù)字頻率計的設(shè)計參考資料四、要求的設(shè)計(調(diào)查/論文)成果1程序編寫規(guī)范,注釋詳細;2. 計時范圍:0.01秒-1小時,誤差小于0.5秒;3. 按要求完成課程設(shè)計報告,格式符合學(xué)校規(guī)范標(biāo)準(zhǔn),字數(shù)不少于2000字。五、進程安排第 1-2天 理論講解,學(xué)生查找資料;第 3-6天 程序編寫;第 7 天 程序調(diào)試;第8-10 天 調(diào)試,驗收,評分。六、主要參考資料1 譚會生,張昌凡.EDA技術(shù)及應(yīng)用.第2版.西安:西安電子科技大學(xué)出版社.2 潘松,黃繼業(yè)

3、.EDA技術(shù)與VHDL.第3版.北京:清華大學(xué)出版社,2003.3 李蘭英.NiosII嵌入式軟核SOPC設(shè)計原理及應(yīng)用.北京:北京航空航天大學(xué)出版社,2006.指導(dǎo)教師(簽名):20 年 月 日 目 錄目錄1摘要21.設(shè)計目的32.設(shè)計要求33.設(shè)計過程3 3.1設(shè)計規(guī)劃3 3.2建立工程4 3.3建立各個功能模塊程序并進行仿真調(diào)試5 3.3.1 50MHz分頻為1000Hz分頻器的源程序5 3.3.2 50MHz分頻為100Hz分頻器的源程序5 3.3.3 改變分頻系數(shù)6 3.3.4 十進制計數(shù)器的源程序7 3.3.5 六進制計數(shù)器的源程序8 3.3.6 數(shù)字秒表的源程序10 3.3.7

4、數(shù)碼管顯示的源程序12 3.4建立邏輯圖13 3.5系統(tǒng)與外設(shè)端口的連接15 3.6啟動程序觀察結(jié)果154.設(shè)計總結(jié)165.參考資料17附錄18 摘 要 隨著人們生活水平的日益提高,社會體系的日益完善,人們對于各種應(yīng)用 器件的要求也越來越高。秒表作為日常生活中,特別是體育運動中應(yīng)用的特別廣泛,所以精確且方便使用的秒表就被越來越多的人所選擇。本秒表計時器用于體育競賽及各種要求有較精確時的各領(lǐng)域,往常利用中小規(guī)模集成電路實現(xiàn),但一般體積大,使用攜帶不方便。利用VHDL在FPGA或CPLD上實現(xiàn)1/100秒計時控制器,能充分發(fā)揮VHDL與可編程邏輯器件靈活、高效、集成度高的特點。利用VHDL語言設(shè)計

5、基于計算機電路中時鐘脈沖原理的數(shù)字秒表。該秒表能對0秒59分59.59秒范圍進行計時,顯示最長時間是59分59秒。計時精度達到10ms。設(shè)計了復(fù)位開關(guān)和啟停開關(guān)。復(fù)位開關(guān)可以在任何情況下使用,使用以后計時器清零,并做好下一次計時的準(zhǔn)備。關(guān)鍵詞:EDA技術(shù) VHDL語言 計時器 數(shù)碼管 1.設(shè)計目的 本次設(shè)計的目的就是在掌握EDA實驗開發(fā)系統(tǒng)的初步使用基礎(chǔ)上,進一步了解EDA技術(shù),同時也對計算機系統(tǒng)中時鐘控制系統(tǒng)進行了解,掌握狀態(tài)機工作原理,同時了解計算機時鐘脈沖是怎么產(chǎn)生和工作的,以及怎樣變頻的。在掌握所學(xué)課程理論知識時。通過對數(shù)字秒表的設(shè)計,進行理論與實際的結(jié)合,提高與計算機有關(guān)設(shè)計能力,提

6、高分析、解決計算機技術(shù)實際問題的能力。通過課程設(shè)計深入理解計算機結(jié)構(gòu)與控制實現(xiàn)的技術(shù),達到課程設(shè)計的目標(biāo)。并讓我們從中認識到自己的不足,以便以后加以改正,彌補自己的不足,以達到實驗效果。2. 設(shè)計要求1.計時精度應(yīng)大于1/100S,計時器能顯示1/100S的時間,誤差小于0.5秒。計時器的最大計時時間為1小時,為此需要6位的顯示器,顯示的最長時間為59分 59.99秒。設(shè)置有復(fù)位和起/停開關(guān),復(fù)位開關(guān)用來使計數(shù)器清零,做好計時準(zhǔn)備。起停開關(guān)的 使用方法與傳統(tǒng)的機械式計數(shù)器相同,即按一下,啟動計時器開始計時,再按一下計 時終止。3. 設(shè)計過程3.1 設(shè)計規(guī)劃 根據(jù)數(shù)字秒表的設(shè)計要求可以采用自頂向

7、下的設(shè)計方案,系統(tǒng)的整體組裝設(shè)計原理圖如圖1所示,它主要由控制模塊、時基分頻模塊,計時模塊和顯示模塊四部分組成。各模塊分別完成計時過程的控制功能、計時功能與顯示功能。數(shù)字秒表計時控制電路控制狀態(tài)機計時電路顯示電路時基分頻電路計數(shù)器六進制計數(shù)器掃描電路七段譯碼器十進制計數(shù)器 圖1 系統(tǒng)組成框圖 3.2 建立工程名打開QuartusII4.1,先執(zhí)行File下的New命令,新建源程序,新建文件類型的選擇界面如圖2所示。再執(zhí)行File下的New Project Wizard命令,如圖3所示,打開新建工程向?qū)В鶕?jù)提示進行有關(guān)設(shè)置或選擇,創(chuàng)建一個新的工程,并要求工程名與頂層文件名一致。對于已經(jīng)建立的文

8、件或工程,需要使用時打開即可。 圖2 新建文件類型的選擇界面 圖3 新建工程向?qū)Р僮?.3 建立各個功能模塊程序并進行仿真調(diào)試3.3.1 50MHz分頻為1000Hz分頻器的源程序library ieee;use ieee.std_logic_1164.all;entity clkgen1 is port(clk:in std_logic; newclk:out std_logic);end entity clkgen1;architecture art of clkgen1 is signal cnt:integer range 0 to 10#49999#; begin process(c

9、lk)is begin if clkevent and clk=1 then if cnt=10#49999#then cnt=0; else cnt=cnt+1; end if; end if; end process; process(cnt)is begin if cnt=10#49999#then newclk=1; else newclk=0; end if; end process;end architecture art;3.3.2 50MHz分頻為100Hz分頻器的源程序library ieee;use ieee.std_logic_1164.all;entity clkgen

10、 is port(clk:in std_logic; newclk:out std_logic);end entity clkgen;architecture art of clkgen is signal cnt:integer range 0 to 10#499999#; begin process(clk)is begin if clkevent and clk=1 then if cnt=10#499999#then cnt=0; else cnt=cnt+1; end if; end if; end process; process(cnt)is begin if cnt=10#49

11、9999#then newclk=1; else newclk=0; end if; end process;end architecture art;3.3.3 改變分頻系數(shù)在本次設(shè)計中因為分頻常數(shù)為500000比較大,其輸出需要計數(shù)500000次才發(fā)生一次變化,在我們設(shè)定的時間間隔內(nèi),根本看不到輸出的變化,也無法判斷該程序的真確與否,故我們將分頻系數(shù)改為30其仿真程序如下:library ieee;use ieee.std_logic_1164.all;entity clkgen is port(clk:in std_logic; newclk:out std_logic);end ent

12、ity clkgen;architecture art of clkgen is -signal cnt:integer range 0 to 10#499999#; signal cnt:integer range 0 to 10#29#; begin process(clk)is begin if clkevent and clk=1 then -if cnt=10#499999#then cnt=0; if cnt=10#29#then cnt=0; else cnt=cnt+1; end if; end if; end process; process(cnt)is begin-if

13、cnt=10#499999#then newclk=1;if cnt=10#29#then newclk=1; else newclk=0; end if; end process;end architecture art;仿真結(jié)果如下圖4所示: 圖4 CLKGEN的時序仿真結(jié)果3.3.4 十進制計數(shù)器的源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt10 is port(clk:in std_logic; clr:in std_logic; ena:in std_log

14、ic; cq:out std_logic_vector(3 downto 0); co:out std_logic);end entity cnt10;architecture art of cnt10 is signal cqi:std_logic_vector(3 downto 0); begin process(clk,clr,ena)is begin if clr=1 then cqi=0000; elsif clkevent and clk=1 then if ena=1 then if cqi=1001 then cqi=0000; else cqi=cqi+1;end if; e

15、nd if; end if; end process; process(cqi)is begin if cqi=0000 then co=1; else co=0;end if; end process; cq=cqi;end architecture art;其仿真結(jié)果如下圖5所示:圖5 十進制計數(shù)器的時序仿真結(jié)果3.3.5 六進制計數(shù)器的源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt6 is port(clk:in std_logic; clr:in std_log

16、ic; ena:in std_logic; cq:out std_logic_vector(3 downto 0); co:out std_logic);end entity cnt6;architecture art of cnt6 is signal cqi:std_logic_vector(3 downto 0); begin process(clk,clr,ena)is begin if clr=1 then cqi=0000; elsif clkevent and clk=1 then if ena=1 then if cqi=0101 then cqi=0000; else cqi

17、=cqi+1;end if; end if; end if; end process; process(cqi)is begin if cqi=0000 then co=1; else co=0;end if; end process; cq=cqi;end architecture art;其仿真結(jié)果如下圖6所示:圖6 六進制計數(shù)器的時序仿真結(jié)果六進制計數(shù)器無進位和清零信號和使能信號的源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt6666 is port(clk:i

18、n std_logic; cq:out std_logic_vector(2 downto 0); end entity cnt6666;architecture art of cnt6666 is signal cqi:std_logic_vector(2 downto 0); begin process(clk)is begin if clkevent and clk=1 then if cqi=101 then cqi=000; else cqi=cqi+1;end if; end if; end process; cqclk,newclk=s0); u1:cnt10 port map(

19、s0,clr,ena,dout(3 downto 0),s1); u2:cnt10 port map(s1,clr,ena,dout(7 downto 4),s2); u3:cnt10 port map(s2,clr,ena,dout(11 downto 8),s3); u4:cnt6 port map(s3,clr,ena,dout(15 downto 12),s4); u5:cnt10 port map(s4,clr,ena,dout(19 downto 16),s5); u6:cnt6 port map(s5,clr,ena,dout(23 downto 20);end architec

20、ture art;其仿真結(jié)果如下圖8所示:圖8 數(shù)字秒表的時序仿真結(jié)果3.3.7 數(shù)碼管顯示的源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity led isport(din: in std_logic_vector(3 downto 0);dout: out std_logic_vector(6 downto 0);end led;architecture behv of led isbeginprocess(din)begincase din iswhen 0000 = dou

21、t dout dout dout dout dout dout dout dout dout dout dout dout dout dout dout dout=0000000;end case;end process;end behv;3.4 建立邏輯圖邏輯總圖如下圖9:圖9邏輯總圖其中times邏輯圖如下圖10:圖10 times邏輯圖LED的顯示模塊原理:LED有段碼和位碼之分,所謂段碼就是讓LED顯示出8.的八位數(shù)據(jù),一般情況下要通過一個譯碼電路,將輸入的4位2進制數(shù)轉(zhuǎn)換為與LED顯示對應(yīng)的8位段碼。位碼也就是LED的顯示使能端,對于共陰級的LED而言,低電平使能(在本實驗箱中所有的

22、LED均位共陰級的),在本實驗中設(shè)計了一個3位的循環(huán)計數(shù)器,將計數(shù)結(jié)果輸入到38譯碼器74ls138,譯碼結(jié)果輸出即可依次使能每個LED。Display邏輯圖如下圖11:圖11 Display邏輯圖3.5 系統(tǒng)與外設(shè)端口的連接系統(tǒng)與外設(shè)端口的連接如下圖12:圖12 系統(tǒng)與外設(shè)端口的連接3.6 啟動程序觀察結(jié)果系統(tǒng)與外設(shè)端口連接完畢就可以開始下載、選擇、啟動,觀察結(jié)果如下圖13: 圖13 觀察結(jié)果圖4. 設(shè)計總結(jié)在本次設(shè)計過程中,我查閱了大量的書籍,不但鞏固和加深了所學(xué)的專業(yè)基礎(chǔ)課知識,還將所學(xué)的知識融會貫通,并且將課本與實際相結(jié)合,真正實現(xiàn)了學(xué)有所用。通過這次課程設(shè)計之后,一定把以前所學(xué)過的知

23、識重新溫故。我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正提高自己的實際動手能力和獨立思考的能力。在課程設(shè)計過程中遇到各種問題是常有的,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題的。課程設(shè)計結(jié)束了,但是從中學(xué)到的知識會讓我受益終身。發(fā)現(xiàn)、提出、分析、解決問題和實踐能力的提高都會受益于我在以后的學(xué)習(xí)、工作和生活中。設(shè)計過程,好比是我們?nèi)祟惓砷L的歷程,常有一些不如意,但畢竟這是第一次做,難免會遇到各種各樣的問題。在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。我們通過查閱大量有關(guān)資料,并在小組中互相討論,交流經(jīng)驗和自學(xué),若遇到實在搞不明白的問題就會及時請教老師,使自己學(xué)到了不少知識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。通過這次課程設(shè)計我也發(fā)現(xiàn)了自身存在的不足之處,雖然感覺理論上已經(jīng)掌握,但在運用到實踐的過程中仍有意想不到的困惑,經(jīng)過一番努力才得以解決。這也激發(fā)了我今后努力學(xué)習(xí)的興趣,我想這將對我以后的學(xué)習(xí)產(chǎn)生積極的影響。通過這次設(shè)計,我懂得了學(xué)習(xí)的重要性,了解到理論知識與實踐相結(jié)合的重要意義,

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論