通信課程eda課件數(shù)字鐘設(shè)計_第1頁
通信課程eda課件數(shù)字鐘設(shè)計_第2頁
通信課程eda課件數(shù)字鐘設(shè)計_第3頁
通信課程eda課件數(shù)字鐘設(shè)計_第4頁
通信課程eda課件數(shù)字鐘設(shè)計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2009年9月EDA技術(shù)多功能數(shù)字鐘設(shè)計多功能數(shù)字鐘設(shè)計是前五章所學(xué)知識的綜合應(yīng)用,包含了大部分所學(xué)知識點。包含的基本電路:通用計數(shù)器、分頻器比較器、數(shù)據(jù)選擇器、七段譯碼器包含的結(jié)構(gòu)體描述方法:行為級描述、RTL級描述、結(jié)構(gòu)描述包含的具體語句:IF語句、信號賦值語句、PROCESS語句、選擇信號賦值語句、條件信號賦值語句、元件例化語句元件說明語句、信號定義語句2009年9月EDA技術(shù) 一、設(shè)計要求: 1、采用24小時制:時、分、秒計時、顯示。 2、具有手動校準(zhǔn)功能:分為時校準(zhǔn)、分校準(zhǔn)。用1個撥碼開關(guān),2個按鍵控制設(shè)置開關(guān)set、分校準(zhǔn)鍵adj_m_in、時校準(zhǔn)鍵adj_h_in; set=0

2、and adj_m_in=0時,分校準(zhǔn); set=0 and adj_h_in=0時,時校準(zhǔn)。 每當(dāng)按下一次校準(zhǔn)鍵時,時增1小時,分增1分鐘。 同正常計時用同一組計數(shù)器。 3、秒復(fù)位:只對秒復(fù)位,用一個按鍵(reset_in)控制。 4、鬧鐘功能:鬧鐘設(shè)置只控制時、分;與校時用相同的3個控制信號: set=1 and adj_m_in=0時,分設(shè)置; set=1 and adj_h_in=0時,時設(shè)置。計時用另一組獨立的計數(shù)器:設(shè)有止鬧控制,由止鬧控制開關(guān)close實現(xiàn)。不止鬧鬧鐘響維持一秒鐘。止鬧控制開關(guān)close=1即止鬧。2009年9月EDA技術(shù)一、設(shè)計要求(續(xù))5、整點報時:仿中央人民

3、廣播電臺整點報時信號,從59分50秒起每兩秒鐘發(fā)出一次低音(512hz)“嘟”信號,持續(xù)半秒,響5次,最后一次高音(1024hz)“嘀”信號,持續(xù)半秒。2009年9月EDA技術(shù)二、功能劃分時鐘信號生成部分計時功能報時功能鬧表計時功能多功能數(shù)字鐘顯示功能整點報時控制時鐘時計數(shù)器分計數(shù)器秒計數(shù)器時計數(shù)器分計數(shù)器比較器選擇器1s時鐘二分頻二十四進制計數(shù)器個位十位十進制六進制個位十位十進制六進制整點報時鬧鐘整點報時鬧鐘產(chǎn)生掃描信號七段顯示譯碼多路選擇器計數(shù)器譯碼器小數(shù)點顯示與掃描信號配合時、分、秒選其一顯示十位個位十進制六進制二十四進制計數(shù)器計時1s時鐘輸入時鐘1024分頻2009年9月EDA技術(shù)三、

4、輸入輸出信號端口輸入信號:Scanclk:時鐘信號;實驗箱提供最小時鐘0.5Hz,計時實際需要1Hz,程序中加有1024分頻,故scanclk頻率約為1024Hz。實現(xiàn)整點報時聲音控制;Set:設(shè)置鍵;設(shè)定鬧表定時時、分;計時時、分校準(zhǔn);用撥碼開關(guān),撥上為定時,撥下為校準(zhǔn);Reset_in:異步復(fù)為信號;只對秒計時復(fù)位;adj_h_in,adj_m_in:時、分校準(zhǔn),鬧鐘定時控制;close:止鬧信號;鬧鐘響后,close為1止鬧;用實驗箱的撥碼開關(guān)。輸出信號:scanout::掃描信號;用于順序點亮6個數(shù)碼管;(用16位)led_out:七段數(shù)碼管段碼;高位為g;sound_out:聲音輸出

5、接喇叭或峰鳴器;point_out:數(shù)碼管間的點;隔兩個數(shù)碼管點亮一個。用實驗箱的按鍵,按鍵按下為低電平。2009年9月EDA技術(shù)四、功能描述:通用計數(shù)器的VHDL描述LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;ENTITY counter IS GENERIC( count_value: INTEGER:=9); PORT (clk,clr,en: IN STD_LOGIC; co: OUTSTD_LOGIC; count : OUT INTEGER RANGE 0 TO count_val

6、ue);END counter;ARCHITECTURE a OF counter ISSIGNAL cnt: INTEGER RANGE 0 TO count_value;BEGINPROCESS (clk,clr)BEGINIF clr = 1 THEN cnt = 0;ELSIF (clkEVENT AND clk = 1) THEN IF en = 1 THENIF cnt = count_value THEN cnt = 0; ELSE cnt = cnt + 1; END IF; END IF;END IF;END PROCESS; co= 1 when cnt = count_v

7、alue else 0;count = cnt;END a;2009年9月EDA技術(shù)數(shù)字鐘的實體說明部分LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;entity TIMER isPORT(scanclk,reset_in,adj_h_in,adj_m_in,set,close: in std_logic;led_out: out std_logic_vector(6 downto 0);scan_out: out std_logic_vector(7 downto 0);sound_out:

8、out std_logic;point_out: out std_logic );end time;architecture rtl of TIMER isBeginEnd rtl;定義語句區(qū)功能描述(并發(fā)描述語句)2009年9月EDA技術(shù)時鐘信號生成功能部分signal clk1s: std_logic; -1s計數(shù)時鐘signal cnt: std_logic_vector( 9 downto 0);signal dy : std_logic; -整點報時控制信號,50、52”、54”、56”、58”generat_1s_clock: PROCESS (scanclk)BEGINIF (s

9、canclkEVENT AND scanclk = 1) THENcnt = cnt + 1;END IF;clk1s = cnt(9); -scanclk 1024分頻END PROCESS;PROCESS (clk1s,reset)BEGINIF reset = 1 THENdy=0;ELSIF (clk1sEVENT AND clk1s = 1) THENdy = not dy; -clk1s 2分頻,END IF;END PROCESS;2009年9月EDA技術(shù)計時功能(用元件例化語句實現(xiàn))C_sh_enC_ml_en1C_h_en1C_h_enC_ml_enC_mlC_hC_mh&s

10、lshenablereset11&clk1sdisable&Not (set)Adj_m&Not (set)Adj_henclkclrcoenclkclrcoenclkclrcoenclkclrcoenclkclrcocountcountcountcountcount&C_mh_en1C_mh_en2009年9月EDA技術(shù)計時功能(用元件例化語句實現(xiàn))signal reset ,adj_h,adj_m: std_logic;signal c_sh_en, c_ml_en, c_mh_en, c_h_en : std_logic;signal c_h_en1, c_ml_en1 , c_mh_e

11、n1 : std_logic;signal enable,disable: std_logic;signal sl,c_ml: integer range 0 to 9; signal c_mh, sh: integer range 0 to 5; signal c_h: integer range 0 to 23; component counter ISGENERIC( count_value: INTEGER);PORT(clk,clr,en : IN STD_LOGIC; co : OUT STD_LOGIC; count: OUT INTEGER RANGE 0 TO count_v

12、alue);END component;C_sh_enC_ml_en1C_h_en1C_h_en定義語句區(qū)C_ml_enC_mlC_hC_mh&slshenablereset11&clk1sdisable&Not (set)Adj_m&Not (set)Adj_henclkclrcoenclkclrcoenclkclrcoenclkclrcoenclkclrcocountcountcountcountcount&C_mh_en1C_mh_en2009年9月EDA技術(shù)元件例化reset=not reset_in; -reset_in為按鈕輸入,通用計數(shù)器clr位1狀態(tài)有效adj_m=not ad

13、j_m_in;adj_h=not adj_h_in;enable=1;disable=0; -用于不需要復(fù)位元件的clr端c_ml_en = (not set and adj_m) or (c_ml_en1 and c_sh_en);c_mh_en = (c_mh_en1 and c_ml_en);c_h_en 9) port map(clk=clk1s,clr=reset,en=enable,co=c_sh_en,count=sl);CNT10S: counter generic map( count_value = 5) port map(clk=clk1s,clr=reset,en=c_

14、sh_en,co=c_ml_en1,count=sh);CNT1M: counter generic map( count_value = 9) port map(clk=clk1s,clr=disable,en=c_ml_en,co=c_mh_en1,count=c_ml);CNT10M: counter generic map( count_value = 5) port map(clk=clk1s,clr=disable,en=c_mh_en,co=c_h_en1,count=c_mh);CNT_H: counter generic map( count_value = 23) port

15、 map(clk=clk1s,clr=disable,en=c_h_en,count=c_h);2009年9月EDA技術(shù)鬧表計時功能描述signal s_ml_en , s_mh_en, s_h_en : std_logic; signal s_mh,: integer range 0 to 5;signal s_ml: integer range 0 to 9;signal s_h: integer range 0 to 23;s_ml_en = set and adj_m;s_h_en 9) port map(clk=clk1s,clr=disable,en=s_ml_en,co=s_mh

16、_en,count=s_ml);SET10M: counter generic map( count_value = 5) port map(clk=clk1s,clr=disable,en=s_mh_en,count=s_mh);SET_H: counter generic map( count_value = 23) port map(clk=clk1s,clr=disable,en=s_h_en,count=s_h);S_ml_ens_h_enS_hs_mhAdj_mAdj_henclkclrcocountS_mlclk1sdisable&set&setenclkclrcocounten

17、clkclrcocounts_mh_en定義語句區(qū)2009年9月EDA技術(shù)顯示功能描述Signal scan:integer range 0 to 5;process (scanclk) beginif scanclkevent and scanclk=1 thenif scan = 5 thenscan=0;elsescan = scan + 1;end if;end if;end process;Scan_out= scan;10h 1h 10M 1M 10s 1s掃描信號產(chǎn)生:由計數(shù)器實現(xiàn),時鐘信號用輸入時鐘scanclk。Scan= 0:sl 1:sh 2:ml 3:mh 4:hl 5

18、:hh2009年9月EDA技術(shù)顯示功能描述選通控制信號的產(chǎn)生With scan selectScanout=“11111110” when 0, “11111101” when 1, “ 11111011” when 2, “ 11110111” when 3, “ 11101111” when 4, “11011111” when 5;2009年9月EDA技術(shù)顯示功能描述-多路選擇器signal hh: integer range 0 to 2;Signal hl,ml: integer range 0 to 9;signal mh: integer range 0 to 5;signal

19、h: integer range 0 to 23;h=c_h when set = 0 else s_h;mh=c_mh when set = 0 else s_mh;ml=c_ml when set = 0 else s_ml;hh=10 and h=20 else 0;hl=(h-0) when h=10 and h20 else (h-20);鬧鐘定時顯示與計時顯示選擇:sh,sl不需要選擇,因為秒無定時。2009年9月EDA技術(shù)時、分、秒去參加譯碼的選擇Signal hex:integer range 0 to 10;with scan selecthex=hh when 5, hl

20、when 4, mh when 3, ml when 2, sh when 1, sl when others;Scan= 0:sl 1:sh 2:ml 3:mh 4:hl 5:hh2009年9月EDA技術(shù)七段顯示譯碼signal led: STD_LOGIC_VECTOR (6 downto 0);led_out= NOT led;with hex selectled=1111001 when 1, -1 0100100 when 2, -2 0110000 when 3, -3 0011001 when 4, -4 0010010 when 5, -5 0000010 when 6, -6 1111000 when 7, -7 0000000

溫馨提示

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

最新文檔

評論

0/150

提交評論