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

下載本文檔

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

文檔簡介

1、課 程 設(shè) 計(jì)題 目 數(shù)字秒表設(shè)計(jì) 院 系 信息工程學(xué)院 班級 姓名 指導(dǎo)教師 - 12 -目錄第1章 :系統(tǒng)設(shè)計(jì)要求.3第2章 :實(shí)驗(yàn)?zāi)康?3第3章 :實(shí)驗(yàn)原理.3第4章 :系統(tǒng)設(shè)計(jì)方案.3第5章 :主要VHDL源程序.4 1) 十進(jìn)制計(jì)數(shù)器的VHDL源程序.42) 六進(jìn)制計(jì)數(shù)器的VHDL源程序.5 3)蜂鳴器的VHDL源程序.5 4)譯碼器的VHDL源程序.65)控制選擇器的VHDL源程序.76)元原件例化的VHDL源程序.8第六章:系統(tǒng)仿真.10第七章:系統(tǒng)擴(kuò)展思路.11第八章:設(shè)計(jì)心得總結(jié).11數(shù)字秒表的設(shè)計(jì)1、 系統(tǒng)設(shè)計(jì)要求 1.秒表共有6個輸出顯示,分別為百分之一秒、十分之一秒、秒

2、、十秒、分、十分,所以共有6個計(jì)數(shù)器與之相對應(yīng),6個計(jì)數(shù)器的輸出全都為BCD碼輸出,這樣便于和顯示譯碼器的連接。當(dāng)計(jì)時達(dá)60分鐘后,蜂鳴器鳴響10聲。 2.整個秒表還需有一個啟動信號和一個歸零信號,以便秒表能隨意停止及啟動。 3.秒表的邏輯結(jié)構(gòu)較簡單,它主要由顯示譯碼器、分頻器、十進(jìn)制計(jì)數(shù)器、六進(jìn)制計(jì)數(shù)器和報警器組成。在整個秒表中最關(guān)鍵的是如何獲得一個精確的100HZ計(jì)時脈沖。2、 實(shí)驗(yàn)?zāi)康耐ㄟ^本次課設(shè),加深對EDA技術(shù)設(shè)計(jì)的理解,學(xué)會用Quartus工具軟件設(shè)計(jì)基本電路,熟練掌握VHDL語言,為以后工作使用打下堅(jiān)實(shí)的基礎(chǔ)。3、 實(shí)驗(yàn)原理秒表由于其計(jì)時精確,分辨率高(0.01秒),在各種競技場

3、所得到了廣泛的應(yīng)用。秒表的工作原理與數(shù)字時基本相同,唯一不同的是秒表的計(jì)時時鐘信號,由于其分辨率為0.01秒,所以整個秒表的工作時鐘是在100Hz的時鐘信號下完成。當(dāng)秒表的計(jì)時小于1個小時時,顯示的格式是mm-ss-xx(mm表示分鐘:059;ss表示秒:059;xx表示百分之一秒:099),當(dāng)秒表的計(jì)時大于或等于一個小時時,顯示的和多功能時鐘是一樣的,就是hh-mm-ss(hh表示小時:099),由于秒表的功能和鐘表有所不同,所以秒表的hh表示的范圍不是023,而是099,這也是和多功能時鐘不一樣的地方。在設(shè)計(jì)秒表的時候,時鐘的選擇為100Hz。變量的選擇:因?yàn)閤x(0.01秒)和hh(小時

4、)表示的范圍都是099,所以用兩個4位二進(jìn)制碼(BCD碼)表示;而ss(秒鐘)和mm(分鐘)表示的范圍是059,所以用一個3位的二進(jìn)制碼和一個4位的二進(jìn)制碼(BCD)碼表示。顯示的時候要注意的問題就是小時的判斷,如果小時是00,則顯示格式為mm-ss-xx,如果小時不為00,則顯示hh-mm-ss。4、 系統(tǒng)設(shè)計(jì)方案秒表的邏輯結(jié)構(gòu)較簡單,它主要由顯示譯碼器、分頻器、十進(jìn)制計(jì)數(shù)器、六進(jìn)制計(jì)數(shù)器和報警器組成。四個10進(jìn)制計(jì)數(shù)器:用來分別對百分之一秒、十分之一秒、秒和分進(jìn)行計(jì)數(shù);兩個6進(jìn)制計(jì)數(shù)器:用來分別對十秒和十分進(jìn)行計(jì)數(shù);分頻器:用來產(chǎn)生100HZ計(jì)時脈沖;顯示譯碼器:完成對顯示的控制。 根據(jù)電

5、路持點(diǎn),用層次設(shè)計(jì)概念將此設(shè)計(jì)任務(wù)分成若干模塊,規(guī)定每一模塊的功能和各模塊之間的接口。按適配劃分后的管腳定位,同相關(guān)功能塊硬件電路接口連線。用VHDL語言描述所有底層模塊。清零信號為異步清零。當(dāng)最高位記到6時 停止計(jì)數(shù) 顯示譯碼器全部顯示零,并發(fā)出十聲警報聲。按下復(fù)位按鈕后繼續(xù)計(jì)數(shù)。數(shù)字秒表擬由單片的CPLD/FPGA來實(shí)現(xiàn),經(jīng)分析設(shè)計(jì)要求,擬定整個系統(tǒng)由10個模塊組成,原理圖如下:5、 主要VHDL源程序1. 十進(jìn)制計(jì)數(shù)器的VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entit

6、y count10 isport (clk,start,clr : in std_logic;cout : out std_logic;daout : out std_logic_vector(3 downto 0);end count10;architecture one of count10 issignal q0 : std_logic_vector(3 downto 0);signal q1 : std_logic;beginprocess(clk,clr)beginif clr='1' then q0<="0000"elsif ( clk&#

7、39;event and clk='1') thenif start='1' then if q0="1001" then q0<="0000"q1<='1' else q0<=q0+1;q1<='0' end if;end if;end if;end process;daout<= q0;cout<=q1;end one;2. 六進(jìn)制計(jì)數(shù)器的VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.

8、std_logic_unsigned.all;entity count6 isport (clk,start,clr : in std_logic;cout : out std_logic;daout : out std_logic_vector(3 downto 0);end count6;architecture two of count10 issignal q0 : std_logic_vector(3 downto 0);signal q1 : std_logic;beginprocess(clk,clr)beginif clr='1' then q0<=&qu

9、ot;0000"elsif ( clk'event and clk='1') thenif start='1' then if q0="0101" then q0<="0000"q1<='1' else q0<=q0+1;q1<='0' end if;end if;end if;end process;daout<= q0;cout<=q1;end two;3. 蜂鳴器的VHDL源程序library ieee;use ieee.std_l

10、ogic_1164.all;use ieee.std_logic_unsigned.all;entity alarm isport(clk,I:in std_logic; q:out std_logic );end alarm;architecture ar of alarm issignal n:integer range 0 to 20;signal q0:std_logic;beginprocess(clk)begin if clk'event and clk='1'thenif i='0' then q0<='0'n<

11、=0;elsif n<=19 and i='1' thenq0<=not q0;n<=n+1;else q0<='0'end if;end if;end process;q<=q0;end ar;4. 譯碼器的VHDL源程序library ieee; use ieee.std_logic_1164.all; entity deled is port(num:in std_logic_vector(3 downto 0); led:out std_logic_vector(6 downto 0); end deled ; archit

12、ecture a of deled is begin process(num) begin case num is when"0000"=>led<="0111111" when"0001"=>led<="0000110" when"0010"=>led<="1011011" when"0011"=>led<="1001111" when"0100"=>led&l

13、t;="1100110" when"0101"=>led<="1101101" when"0110"=>led<="1111101" when"0111"=>led<="0100111" when"1000"=>led<="1111111" when"1001"=>led<="1101111" when others=

14、>led<="0000000" end case; end process; end a;5. 控制選擇器的VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity seltime isport(clr,clk: in bit; dain0,dain1,dain2,dain3,dain4,dain5: in std_logic_vector(3 downto 0); sel: out std_logic_vector(2 downto 0); da

15、out: out std_logic_vector(3 downto 0);end seltime;architecture a of seltime is signal temp:integer range 0 to 5;begin process(clk) begin if (clr='1') then daout<="0000" sel<="000" temp<=0; elsif (clk='1'and clk'event) then if temp=5 then temp<=0; e

16、lse temp<=temp + 1; end if; case temp is when 0=>sel<="000"daout<=dain0; when 1=>sel<="001"daout<=dain1; when 2=>sel<="010"daout<=dain2; when 3=>sel<="011"daout<=dain3; when 4=>sel<="100"daout<=dain4; w

17、hen 5=>sel<="101"daout<=dain5; end case; end if; end process;end a;6. 分頻器的VHDL源程序library ieee;use ieee.std_logic_1164.all;entity div isport(clr,clk: in std_logic; q: buffer std_logic);end div;architecture a of div is signal count:integer range 0 to 99999; beginprocess(clr,clk)begi

18、nif (clk'event and clk='1') thenif clr='1' thencount<=0;elsif count=99999 thencount<=0;q<= not q;elsecount<=count+1;end if;end if;end process;end a;7. 元原件例化的VHDL源程序library ieee;use ieee.std_logic_1164.all;entity mb_top isport ( stop,start,clk:in std_logic; a,b,c,d,e,f

19、,g,speaker:out std_logic; sel:out std_logic_vector(2 downto 0);end mb_top;architecture a of mb_top iscomponent divport(clr,clk: in std_logic; q: buffer std_logic);end component;component count10port( clr,start,clk:in std_logic; cout:out std_logic; daout:buffer std_logic_vector(3 downto 0);end compon

20、ent;component count6 port( clr,start,clk:in std_logic; cout:out std_logic; daout:buffer std_logic_vector(3 downto 0);end component;component seltimeport( clr,clk:in std_logic; dain1:in std_logic_vector(3 downto 0); dain2:in std_logic_vector(3 downto 0); dain3:in std_logic_vector(3 downto 0); dain4:i

21、n std_logic_vector(3 downto 0); dain5:in std_logic_vector(3 downto 0); dain6:in std_logic_vector(3 downto 0); sel:out std_logic_vector(2 downto 0); daout:out std_logic_vector(3 downto 0);end component;component deledport( num:in std_logic_vector(3 downto 0); led:out std_logic_vector(6 downto 0);end

22、component;component alarmport( clk,i:in std_logic; q:out std_logic);end component;signal div_q,b_cout,s_cout,m_cout,sm_cout,f_cout,sf_cout:std_logic;signal b_daout,s_daout,m_daout,sm_daout,f_daout,sf_daout,seltime_daout:std_logic_vector(3 downto 0);signal ledout:std_logic_vector(6 downto 0);begina&l

23、t;=ledout(0);b<=ledout(1);c<=ledout(2);d<=ledout(3);e<=ledout(4);f<=ledout(5);g<=ledout(6);u1:div port map(stop,clk,div_q);u2:count10 port map(stop,start,div_q,b_cout,b_daout);u3:count10 port map(stop,start,b_cout,s_cout,s_daout);u4:count10 port map(stop,start,s_cout,m_cout,m_daout

24、);u5:count6 port map(stop,start,m_cout,sm_cout,sm_daout);u6:count10 port map(stop,start,sm_cout,f_cout,f_daout);u7:count6 port map(stop,start,f_cout,sf_cout,sf_daout);u8:seltime port map(stop,div_q,b_daout,s_daout,m_daout,sm_daout,f_daout,sf_daout,sel,seltime_daout);u9:deled port map(seltime_daout,ledout);u10:alarm port map(div_q,sf_cout,speaker);end a;6、 系統(tǒng)仿真1. 十進(jìn)制2. 六進(jìn)制3. 蜂鳴器4. 譯碼器5. 控制選擇器7、 系統(tǒng)擴(kuò)展思路根據(jù)實(shí)驗(yàn)的內(nèi)容可以適當(dāng)?shù)奶砑右恍┯袑?shí)際作用和可行性的功能,如可以記錄并顯示多個數(shù)據(jù)。根據(jù)擴(kuò)展的內(nèi)容設(shè)計(jì)相應(yīng)的電路和模塊來完成擴(kuò)展的內(nèi)容。比如記錄和顯示多個數(shù)據(jù),可以用多個秒表進(jìn)行計(jì)數(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論