(精品論文)eda課程設(shè)計(jì)——數(shù)字鐘_第1頁(yè)
(精品論文)eda課程設(shè)計(jì)——數(shù)字鐘_第2頁(yè)
(精品論文)eda課程設(shè)計(jì)——數(shù)字鐘_第3頁(yè)
(精品論文)eda課程設(shè)計(jì)——數(shù)字鐘_第4頁(yè)
(精品論文)eda課程設(shè)計(jì)——數(shù)字鐘_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

EDA設(shè)計(jì)報(bào)告 題 目: 數(shù)字鐘 姓 名: 學(xué) 院: 專 業(yè): 班 級(jí): 學(xué) 號(hào): 指導(dǎo)教師: 2010年6月7日目錄一 數(shù)字鐘的設(shè)計(jì)目的二 數(shù)字鐘設(shè)計(jì)的內(nèi)容三 數(shù)字鐘程序設(shè)計(jì)的思路四 數(shù)字鐘設(shè)計(jì)的整體框圖 五 數(shù)字鐘的下載和硬件測(cè)試六 心得體會(huì)第一章 數(shù)字鐘的設(shè)計(jì)目的1.學(xué)習(xí)數(shù)字鐘的設(shè)計(jì)方法2.學(xué)習(xí)較復(fù)雜的的數(shù)字系統(tǒng)的設(shè)計(jì)方法第二章 數(shù)字鐘設(shè)計(jì)的內(nèi)容 數(shù)字鐘是數(shù)字電路中的一個(gè)典型應(yīng)用,本設(shè)計(jì)實(shí)現(xiàn)數(shù)字鐘的一些基本功能,能進(jìn)行正常的時(shí).分.秒計(jì)時(shí)功能,能實(shí)現(xiàn)整點(diǎn)報(bào)時(shí)功能,當(dāng)計(jì)時(shí)達(dá)到59分52秒時(shí)開(kāi)始報(bào)時(shí),在59分52秒,59分,54秒,59分56秒,59分58秒時(shí)鳴叫,鳴叫的頻率為500HZ,在到達(dá)59分60秒時(shí)最后一聲整點(diǎn)報(bào)時(shí),頻率為1HZ。其外部接口及總體設(shè)計(jì)框圖如圖,包含control.sec.main.hour.sst五大模塊。其中時(shí)間計(jì)數(shù)電路由秒個(gè)位和秒十位計(jì)數(shù)器,分個(gè)位和分十位計(jì)數(shù)器及時(shí)個(gè)位和時(shí)十位計(jì)數(shù)器電路構(gòu)成,其中秒個(gè)位和秒十位計(jì)數(shù)器、分個(gè)位和分十位計(jì)數(shù)器為60進(jìn)制計(jì)數(shù)器,而根據(jù)設(shè)計(jì)要求,時(shí)個(gè)位和時(shí)十位計(jì)數(shù)器為24進(jìn)制計(jì)數(shù)器 第三章 數(shù)字中設(shè)計(jì)的思路1.control模塊:實(shí)現(xiàn)修改時(shí)間功能,其子模塊con1功能為采集修改數(shù)值。 control控制模塊的VHDL源代碼如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY control IS PORT( s:IN STD_LOGIC_VECTOR(5 DOWNTO 0); rst0,clk:IN STD_LOGIC; min1,min0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); sec1,sec0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); hour1,hour0:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END;ARCHITECTURE one OF control IS SIGNAL min11,min00,sec11,sec00,hour11,hour00:STD_LOGIC_VECTOR(3 DOWNTO 0); COMPONENT con1 IS PORT(s,rst:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END COMPONENT con1; BEGIN u0:con1 PORT MAP(s=s(0),rst=rst0,q=sec00); u1:con1 PORT MAP(s=s(1),rst=rst0,q=sec11); u2:con1 PORT MAP(s=s(2),rst=rst0,q=min00); u3:con1 PORT MAP(s=s(3),rst=rst0,q=min11); u4:con1 PORT MAP(s=s(4),rst=rst0,q=hour00); u5:con1 PORT MAP(s=s(5),rst=rst0,q=hour11); PROCESS(clk) BEGIN IF clkEVENT AND clk=1 THEN sec1=sec11; sec0=sec00; min1=min11; min0=min00; hour1=hour11; hour0=hour00; END IF; END PROCESS;END;2.con1 模塊:實(shí)現(xiàn)對(duì)按鍵數(shù)的統(tǒng)計(jì),按鍵一次,計(jì)數(shù)器加1,如果大于9時(shí),自動(dòng)清零。 con1模塊的VHDL源代碼如下LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY con1 IS PORT(s,rst:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END;ARCHITECTURE one OF con1 IS SIGNAL q1:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(s,rst) BEGIN IF rst=1 THEN q1=0000; ELSIF sEVENT AND s=1 THEN IF q11001 THEN q1=q1+1; ELSE q1=0000; END IF; END IF; END process; q=q1;END;3.sst模塊:為整點(diǎn)報(bào)時(shí)提供控制信號(hào),當(dāng)58min,秒為52,54,56,58時(shí),q500輸出為“1”,秒為00時(shí),q1k輸出“1”,這兩個(gè)信號(hào)經(jīng)過(guò)邏輯門實(shí)現(xiàn)報(bào)時(shí)功能。 sst 模塊的VHDL源代碼如下LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY sst IS PORT(m1,m0,s1,s0:IN STD_LOGIC_VECTOR(3 DOWNTO 0); clk:IN STD_LOGIC; q500,q1k:OUT STD_LOGIC);END;ARCHITECTURE one OF sst IS BEGIN PROCESS(clk) BEGIN IF clkEVENT AND clk=1 THEN IF m1=0101 AND m0=1001 AND s1=0101 THEN IF s0=0001 or s0=0011 or s0=0101 or s0=0111 THEN q500=1; ELSE q500=0; END IF; END IF; IF m1=0101 AND m0=1001 AND s1=0101 AND s0=1001 THEN q1k=1; ELSE q1k=0; END IF; END IF; END PROCESS;END;4. ccc模塊:對(duì)系統(tǒng)時(shí)鐘clk輸入時(shí)4MHz頻率進(jìn)行分頻,產(chǎn)生頻率分別為1000HZ,500HZ和1HZ的時(shí)鐘信號(hào)。ccc模塊的VHDL源代碼如下LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ccc IS PORT( clk:IN STD_LOGIC; q500,q1k,q1sec:OUT STD_LOGIC);END;ARCHITECTURE one OF ccc IS SIGNAL x,y,z:STD_LOGIC; BEGIN PROCESS(clk) VARIABLE cnt:INTEGER RANGE 0 TO 1999; BEGIN IF clkEVENT AND clk=1 THEN IF cnt1999 THEN cnt:=cnt+1; ELSE cnt:=0; x=NOT x; END IF; END IF; END PROCESS; q1k=x; PROCESS(x) BEGIN IF xEVENT AND x=1 THEN y=not y; END IF; END PROCESS; q500=y; PROCESS(y) VARIABLE cnt:INTEGER RANGE 0 TO 499; BEGIN IF yEVENT AND y=1 THEN IF cnt499 THEN cnt:=cnt+1; ELSE cnt:=0; z=NOT z; END IF; END IF; END PROCESS; q1sec=z;END;5.hour模塊 源代碼如下library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity hour is Port ( clk ,clr: in std_logic; rst : in std_logic; hour0,hour1:in std_logic_vector(3 downto 0); hour11 : buffer std_logic_vector(3 downto 0); hour00 : buffer std_logic_vector(3 downto 0); co : out std_logic); end hour; architecture behav of hour is signal cnt1,cnt0:std_logic_vector(3 downto 0);beginprocess(clk,clr)beginif clr=1then cnt1=0000; cnt0=0000;elsif rst=1 then cnt1=hour1; cnt0=hour0;elsif clkevent and clk=1thenif cnt1=0010 and cnt0=0100then co=1; cnt1=0000; cnt0=0000;elsif cnt01001then cnt0=cnt0+1; co=0; else cnt0=0000; if cnt10010then cnt1=cnt1+1; co=0; end if; end if ;end if ;end process;hour11=cnt1;hour00=cnt0;end behav;6.min模塊源代碼如下library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity min is Port ( clk ,clr: in std_logic; rst : in std_logic; min0,min1:in std_logic_vector(3 downto 0); min11 : buffer std_logic_vector(3 downto 0); min00 : buffer std_logic_vector(3 downto 0); co : out std_logic); end min; architecture behav of min is signal cnt1,cnt0:std_logic_vector(3 downto 0);beginprocess(clk,clr)beginif clr=1then cnt1=0000; cnt0=0000;elsif rst=1 then cnt1=min1; cnt0=min0;elsif clkevent and clk=1thenif cnt1=0110 and cnt0=1001then co=1; cnt1=0000; cnt0=0000;elsif cnt00110then cnt0=cnt0+1; co=0; else cnt0=0000; if cnt11001then cnt1=cnt1+1; co=0; end if; end if ;end if ;end process;min11=cnt1;min00=cnt0;end behav;7.sec模塊源代碼如下library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity sec is Port ( clk ,clr: in std_logic; rst : in std_logic; sec0,sec1:in std_logic_vector(3 downto 0); sec11 : buffer std_logic_vector(3 downto 0); sec00 : buffer std_logic_vector(3 downto 0); co : out std_logic); end sec; architecture behav of sec is signal cnt1,cnt0:std_logic_vector(3 downto 0);beginprocess(clk,clr)beginif clr=1then cnt1=0000; cnt0=0000;elsif rst=1 then cnt1=sec1; cnt0=sec0;elsif clkevent and clk=1thenif cnt1=0110 and cnt0=1001then co=1; cnt1=0000; cnt0=0000;elsif cnt00110then cnt0=cnt0+1; co=0; else cnt0=0000; if cnt11001then cnt1=cnt1+1; co=0; end if; end if ;end if ;end process;sec11=cnt1;sec00=cnt0;end behav;8.10分頻的VHDL語(yǔ)言LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY fen10 IS PORT(clk:IN STD_LOGIC; q:OUT STD_LOGIC);END fen10;ARCHITECTURE behav OF fen10 ISBEGIN PROCESS(clk) VARIABLE cnt:INTEGER RANGE 0 TO 9; BEGIN IF clkEVENT AND clk=1 THEN IF cnt9 THEN cnt:=cnt+1; q=0; ELSE cnt:=0; q=1; END IF; END IF; END PROCESS;END behav;Fen10的仿真波形圖總的原理圖:端口說(shuō)明 S5.0信號(hào)對(duì)應(yīng)6個(gè)控制鍵,分別對(duì)應(yīng)秒個(gè)位,秒十位,分個(gè)位,分十位,小時(shí)個(gè)位,小時(shí)十位。 rst信號(hào)為復(fù)位信號(hào) ,在系統(tǒng)初始化時(shí)使用, clk 為時(shí)鐘,

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論