VHDL數(shù)字秒表設(shè)計71172_第1頁
VHDL數(shù)字秒表設(shè)計71172_第2頁
VHDL數(shù)字秒表設(shè)計71172_第3頁
VHDL數(shù)字秒表設(shè)計71172_第4頁
VHDL數(shù)字秒表設(shè)計71172_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 課程設(shè)計(綜合實驗)報告( 2014- 2015 年度第 1 學期)名 稱:VHDL語言與數(shù)字系統(tǒng)設(shè)計 題 目: 電子秒表 院 系: 班 級: 學 號: 學生姓名: 指導教師: 陳曉梅 設(shè)計周數(shù): 2周 成 績: 日期:2015年1月23日目錄一、課程設(shè)計(綜合實驗)的目的與要求1二、設(shè)計(實驗)正文2三、課程設(shè)計(綜合實驗)總結(jié)或結(jié)論5四、參考文獻6附錄(設(shè)計流程圖、程序、表格、數(shù)據(jù)等)7一、課程設(shè)計(綜合實驗)的目的與要求1 目的 1.1學習使用VHDL語言,以及EDA芯片的下載仿真。1.2掌握較為復雜的邏輯設(shè)計和調(diào)試。1.3學習用原理圖+VHDL語言設(shè)計邏輯電路。1.4掌握Quartu

2、es軟件的使用方法。2 實驗要求2.1設(shè)計一塊電子秒表,能夠精確反映計時時間。2.2秒表計時的最大范圍為1小時,精度為0.01秒,秒表可得到計時時間的分、秒、0.1秒等量度。2.3當復位清零有效時,秒表清零并做好計時準備。2.4設(shè)置秒表的啟動/停止開關(guān)二、設(shè)計(實驗)正文1 設(shè)計過程1. 1十進制計數(shù)器十進制計數(shù)器就是輸入一個時鐘脈沖計一個數(shù),技術(shù)當前值通過4位輸出端口輸出。當計數(shù)到九且再來一個脈沖時計數(shù)輸出清零,且進位端給出高電平。再來脈沖繼續(xù)計數(shù),進位端清零。計數(shù)只有在使能端為1時有效,否則保持。部分源程序及說明:BEGIN -當clk,clr,ena信號發(fā)生變化時,啟動計數(shù)功能IF cl

3、r='1' THEN -復位清零信號有效tmp<="0000"-任何時刻都將計數(shù)器清零ELSIF clk'EVENT AND clk='1' THEN-時鐘上升沿IF ena='1' THEN-允許計數(shù)IF tmp="1001" THEN-計數(shù)器滿tmp<="0000"ELSEtmp<=tmp+'1'-計數(shù)器加1eND IF;END IF;END IF;END PROCESS;PROCESS(tmp)-當計數(shù)器發(fā)生變化時,啟動輸出功能BEGINI

4、F tmp="0000"THEN-計數(shù)器狀態(tài)為0時co<='1'-進位輸出信號有效ELSEco<='0'-否則,為0END IF;END PROCESS;q<=tmp;-輸出計數(shù)器的值END rtl;1. 2六進制計數(shù)器六進制計數(shù)器就是輸入一個時鐘脈沖計一個數(shù),技術(shù)當前值通過4位輸出端口輸出。當計數(shù)到六且再來一個脈沖時計數(shù)輸出清零,且進位端給出高電平。再來脈沖繼續(xù)計數(shù),進位端清零。計數(shù)只有在使能端為1時有效,否則保持。部分源程序及說明:PROCESS(clk,clr,ena)BEGIN IF clr='1'

5、THENtmp<="0000"ELSIF clk'EVENT AND clk='1' THENIF ena='1' THENIF tmp="0101" THEN-計數(shù)器到6,計數(shù)器滿tmp<="0000"ELSEtmp<=tmp+'1'END IF;END IF;END IF;END PROCESS;1. 3頂層模塊設(shè)計將十進制計數(shù)模塊與六進制模塊通過例化,級聯(lián)在一起,得到電子秒表例化程序說明:BEGIN-原件例化語句,通過計數(shù)器的級聯(lián)實現(xiàn)數(shù)字秒表U1:cnt1

6、0 PORT MAP (clk0,clr0,en,dataout(3 downto 0),co1);U2:cnt10 PORT MAP (co1,clr0,en,dataout(7 downto 4),co2);U3:cnt10 PORT MAP (co2,clr0,en,dataout(11 downto 8),co3);U4:cnt6 PORT MAP (co3,clr0,en,dataout(15 downto 12),co4);U5:cnt10 PORT MAP (co4,clr0,en,dataout(19 downto 16),co5);U6:cnt6 PORT MAP (co5,

7、clr0,en,dataout(23 downto 20);END rtl;2. 仿真結(jié)果2.1十進制計數(shù)器仿真結(jié)果2.2六進制計數(shù)器仿真結(jié)果2.3頂層模塊仿真結(jié)果2.4啟動/停止與清零功能說明:在8.0ns到9.5ns時,清零信號為高電平1有效,清零功能觸發(fā),秒表清零,在15ns到18ns時,使能信號為低電平0,此時不再繼續(xù)計數(shù),即暫停功能觸發(fā)。三、課程設(shè)計(綜合實驗)總結(jié)或結(jié)論1. 結(jié)論: 這次課程設(shè)計是要求用 EDA技術(shù)中的Quartus6.0作為開發(fā)工具 ,設(shè)計一個簡單的電子秒表,秒表的時鐘信號源可由時鐘脈沖得到。整個設(shè)計分為3個主要模塊,十進制計數(shù)模塊、六進制計數(shù)模塊和頂層模塊。該數(shù)

8、字式秒表具有清零功能 ,能夠在計時過程中隨時停止計時 ,恢復到初始狀態(tài)。且該秒表還有啟動/停止功能。實驗證明該秒表工作正常 ,基本上已達到了預期的設(shè)計要求。 2. 體會及感想、收獲: 開始做設(shè)計時總是會犯一些錯誤,參考書上的例題,問老師和同學,慢慢的對編程熟悉了一些。在不停的改錯不停的編譯下得到了正確的程序。在設(shè)計中要求我們要有耐心和毅力,還要細心,稍有不慎,一個小小的錯誤就會導致結(jié)果的不正確,比如一個分號,或者一個冒號,再或者賦值時的形式,而對錯誤的檢查要求我要有足夠的耐心。通過這次設(shè)計和設(shè)計中遇到的問題,也積累了一定的經(jīng)驗,對以后從事集成電路設(shè)計工作會有一定的幫助?,F(xiàn)在,又掌握了一個新的技

9、能,雖然還不熟練,但后來會好起來的,我相信。四、參考文獻1 劉欲曉 方強 黃宛寧. EDA技術(shù)與VHDL電路開發(fā)應(yīng)用實踐 電子工業(yè)出版社 2009年4月第一版.2付永慶 VHDL語言及其應(yīng)用 高等教育出版社 2005年5月第一版3潘松 黃繼業(yè) EDA技術(shù)與VHDL 清華大學出版社 2013年4月第四版附錄(設(shè)計流程圖、程序、表格、數(shù)據(jù)等)1設(shè)計過程 11 十進制計數(shù)器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt10 ISPORT(clk:IN STD_LOGIC;clr:I

10、N STD_LOGIC;ena:IN STD_LOGIC;q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);co:OUT STD_LOGIC);END cnt10;ARCHITECTURE rtl OF cnt10 ISSIGNAL tmp :STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(clk,clr,ena)BEGIN IF clr='1' THENtmp<="0000"ELSIF clk'EVENT AND clk='1' THENIF ena='1&#

11、39; THENIF tmp="1001" THENtmp<="0000"ELSEtmp<=tmp+'1'eND IF;END IF;END IF;END PROCESS;PROCESS(tmp)BEGINIF tmp="0000"THENco<='1'ELSEco<='0'END IF;END PROCESS;q<=tmp;END rtl;12 六進制計數(shù)器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.

12、STD_LOGIC_UNSIGNED.ALL;ENTITY cnt6 ISPORT(clk:IN STD_LOGIC;clr:IN STD_LOGIC;ena:IN STD_LOGIC;q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);co:OUT STD_LOGIC);END cnt6;ARCHITECTURE rtl OF cnt6 ISSIGNAL tmp :STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(clk,clr,ena)BEGIN IF clr='1' THENtmp<="0000&qu

13、ot;ELSIF clk'EVENT AND clk='1' THENIF ena='1' THENIF tmp="0101" THENtmp<="0000"ELSEtmp<=tmp+'1'END IF;END IF;END IF;END PROCESS;PROCESS(tmp)BEGINIF tmp="0000"THENco<='1'ELSEco<='0'END IF;END PROCESS;q<=tmp;END r

14、tl;13 頂層模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY stopwatch ISPORT(clk0:IN STD_LOGIC;clr0:IN STD_LOGIC;en:IN STD_LOGIC;dataout1 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);dataout2 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);dataout3 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);dataout4 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);c

15、o:OUT STD_LOGIC);END stopwatch;ARCHITECTURE rtl OF stopwatch ISCOMPONENT cnt6 ISPORT(clk:IN STD_LOGIC;clr:IN STD_LOGIC;ena:IN STD_LOGIC;q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);co:OUT STD_LOGIC);END component cnt6;COMPONENT cnt10 ISPORT(clk:IN STD_LOGIC;clr:IN STD_LOGIC;ena:IN STD_LOGIC;q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);co:OUT STD_LOGIC);END COMPONENT cnt10;SIGNAL co1: STD_LOGIC;SIGNAL co2: STD_LOGIC;SIGNAL co3: STD_

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論