EDA電子萬年歷課題論文_第1頁(yè)
EDA電子萬年歷課題論文_第2頁(yè)
EDA電子萬年歷課題論文_第3頁(yè)
EDA電子萬年歷課題論文_第4頁(yè)
EDA電子萬年歷課題論文_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、成績(jī)齊魯理工學(xué)院課程設(shè)計(jì)說明書(論文) 題 目 電子萬年歷 課 程 名 稱 EDA及實(shí)驗(yàn) 二 級(jí) 學(xué) 院 機(jī)電工程學(xué)院 專 業(yè) 電子信息工程 班 級(jí) 2012級(jí)電子信息工程 學(xué) 生 姓 名 梁 昊 學(xué) 號(hào) 201212301034 設(shè) 計(jì) 地 點(diǎn) 電氣信息工程訓(xùn)練中心 指 導(dǎo) 教 師 臧紅巖 設(shè)計(jì)起止時(shí)間:2015年12月3日至2015年12月10日 前 言 21世紀(jì)是信息爆炸的時(shí)代,生活的節(jié)奏越來越快,大家的時(shí)間觀念越來越強(qiáng),但是老式的鐘表以及日歷等時(shí)間顯示工具已經(jīng)不太合適。如鐘表易壞,需經(jīng)常維修,日歷每天都需要翻頁(yè)等。對(duì)此,數(shù)字萬年歷的設(shè)計(jì)就用了用武之地。 基于DEA的萬年歷設(shè)計(jì),采用軟件

2、開發(fā)模塊,開發(fā)成本底,而且功能設(shè)計(jì)上有很大的靈活度,需要在軟件上進(jìn)行簡(jiǎn)單的修該就能實(shí)現(xiàn)不同的功能要求,能夠滿足不同的環(huán)境要求。同時(shí),該設(shè)計(jì)在精度上遠(yuǎn)遠(yuǎn)超過鐘表,并且不需要維修,也不用沒天的翻頁(yè),極其的方便。且能夠添加各種不同的功能要求。例如:在其上加鬧鐘,同時(shí)顯示陰陽(yáng)歷等。綜上所述本設(shè)計(jì)具有設(shè)計(jì)方便、功能多樣、電路簡(jiǎn)潔成本低廉等優(yōu)點(diǎn),符合社會(huì)發(fā)展的趨勢(shì),前景廣闊。 基于EDA的萬年歷設(shè)計(jì),主要完成的任務(wù)是使用VHDL語(yǔ)言,在QuartusII上完成電路的設(shè)計(jì),程序的開發(fā),基本功能是能夠顯示、修改年、月、日、時(shí)、分、秒。電路的設(shè)計(jì)模塊分為幾個(gè)模塊:控制、時(shí)間顯示調(diào)整、時(shí)、分、年、月、日各模塊。各

3、個(gè)模塊完成不同的任務(wù),合在一起就構(gòu)成了萬年歷。軟件模塊直接在QuartusII上進(jìn)行,使用VHDL語(yǔ)言,根據(jù)各個(gè)模塊的不同功能和它們之間的控制關(guān)系進(jìn)行編寫。目錄一、設(shè)計(jì)總體思路41.1設(shè)計(jì)總體內(nèi)容44、具備日歷調(diào)整功能和節(jié)日提醒功能。41.2設(shè)計(jì)要求52、用VHDL設(shè)計(jì)各單元電路,完成其功能仿真和編譯并生成低層模塊;51.3課程設(shè)計(jì)的意義51.4設(shè)計(jì)總體思路5基于FPGA利用VHDL語(yǔ)言進(jìn)行編程然后利用其生成模塊化然后利用模塊再連接成頂層文件。51.5設(shè)計(jì)框圖6二、單元電路設(shè)計(jì)72.1天模塊72.2月模塊92.3年模塊112.4星期模塊122.5提醒模塊132.6控制模塊152.7顯示模塊16

4、三、總電路設(shè)計(jì)圖19四、電路調(diào)試19五、設(shè)計(jì)調(diào)試總結(jié)與體會(huì)21六、附錄22七、參考文獻(xiàn)23一、設(shè)計(jì)總體思路1.1設(shè)計(jì)總體內(nèi)容 用FPGA為核心器件,用VHDL為設(shè)計(jì)手段設(shè)計(jì)制作一個(gè)具有大小月份自動(dòng)調(diào)節(jié)和閏年補(bǔ)償功能的數(shù)字日歷,具體設(shè)計(jì)要求如下:1、用7個(gè)數(shù)碼管從左到右分別顯示年(后兩位)、月、日和星期;星期與日之間隔開一位。2、年計(jì)數(shù)從00到99循環(huán);月、日的計(jì)數(shù)顯示均從1開始,并具備大小月份自動(dòng)調(diào)節(jié)和閏年補(bǔ)償功能,即日期的計(jì)數(shù)實(shí)現(xiàn)大月31天,小月30天,二月28天或29天(閏年)的自動(dòng)調(diào)整(注意:7、8月均為大月)。3、對(duì)星期的計(jì)數(shù)顯示從1到6再到日(日用8代替);注意星期應(yīng)和實(shí)際日歷相吻合

5、。4、具備日歷調(diào)整功能和節(jié)日提醒功能。要求采用分層次描述方式,且用圖形輸入和文本輸入混合方式建立描述文件。1.2設(shè)計(jì)要求1、設(shè)計(jì)思路清晰,給出整體設(shè)計(jì)框圖;2、用VHDL設(shè)計(jì)各單元電路,完成其功能仿真和編譯并生成低層模塊;3、在Quartus中完成頂層設(shè)計(jì)并編譯通過;4、在Quartus中完成設(shè)計(jì)下載并調(diào)試電路;5、寫出設(shè)計(jì)報(bào)告;1.3課程設(shè)計(jì)的意義 了解EDA技術(shù),掌握VHDL硬件描述語(yǔ)言的設(shè)計(jì)方法和思想,通過學(xué)習(xí)的VHDL語(yǔ)言結(jié)合電子電路的設(shè)計(jì)知識(shí)理論聯(lián)系實(shí)際,掌握所學(xué)的課程知識(shí),鞏固所學(xué)課堂知識(shí),理論聯(lián)系實(shí)際,提高分析、解決計(jì)算機(jī)技術(shù)實(shí)際問題的獨(dú)立工作能力。為了進(jìn)一步了解計(jì)算機(jī)工作組成原

6、理與系統(tǒng)結(jié)構(gòu),深入學(xué)習(xí)EDA技術(shù),用VHDL技術(shù),用VHDL語(yǔ)言去控制將會(huì)使我們對(duì)本專業(yè)知識(shí)可以更好地掌握。熟悉QUARUS II軟件的應(yīng)用。熟悉EDA實(shí)驗(yàn)開發(fā)系統(tǒng)的基本使用。學(xué)習(xí)用VHDL基本單元電路的時(shí)間應(yīng)用。進(jìn)一步掌握EDA的多層次設(shè)計(jì)方法。1.4設(shè)計(jì)總體思路 基于FPGA利用VHDL語(yǔ)言進(jìn)行編程然后利用其生成模塊化然后利用模塊再連接成頂層文件。 完成該萬年歷時(shí),需要用一個(gè)可以選擇計(jì)數(shù)器,在這里面可以完成對(duì)28、29、30、31天的計(jì)數(shù)功能,接下來需要一個(gè)十二進(jìn)制計(jì)數(shù)器來進(jìn)行月份的計(jì)數(shù),然后就是利用一個(gè)一百進(jìn)制的計(jì)數(shù)器來進(jìn)行年數(shù)的計(jì)數(shù),最后是利用一個(gè)七進(jìn)制計(jì)數(shù)器來進(jìn)行星期的計(jì)時(shí)。到此為止

7、就完成了我們所需要的幾個(gè)計(jì)數(shù)模塊。通過一個(gè)控制模塊來判斷該年是不是閏年以及該月是大月或者小月。數(shù)碼管的顯示我們通過一個(gè)數(shù)碼驅(qū)動(dòng)模塊來實(shí)現(xiàn)。對(duì)于特別日子的提醒功能,同樣應(yīng)用一個(gè)報(bào)警模塊然后通過一個(gè)喇叭進(jìn)行提醒。 通過這些模塊的組合,我們可以完成具有閏年補(bǔ)償功能的萬年歷的設(shè)計(jì),同時(shí)可以通過控制鍵對(duì)時(shí)間和星期進(jìn)行調(diào)整。1.5設(shè)計(jì)框圖控 制 模 塊顯 示 模 塊天模塊月模塊年模塊提醒模塊二、單元電路設(shè)計(jì) 2.1天模塊程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity tian isport

8、(clk,s1,s2:in std_logic;d1,d2:out std_logic_vector(3 downto 0);cout:out std_logic);end tian;architecture one of tian issignal q11,q22:std_logic_vector(3 downto 0);signal s1s2:std_logic_vector(1 downto 0);beginprocess(clk,s1,s2)beginif clkevent and clk=1 thenq11=q11+1;if q11=9 then q110);q22=q22+1;en

9、d if;s1s2if q22=3 and q11=1 then q22=0000;q11=0001;cout=1;else coutif q22=3 and q11=0 then q22=0000;q11=0001;cout=1;else coutif q22=2 and q11=8 then q22=0000;q11=0001;cout=1;else coutif q22=2 and q11=9 then q22=0000;q11=0001;cout=1;else coutnull;end case;end if;end process;d1=q11;d2=q22;end;模塊圖:2.2月

10、模塊程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity yue isport(clk,run:in std_logic;m1,m2:out std_logic_vector(3 downto 0);a,b,cout:out std_logic);end yue;architecture one of yue issignal q1:std_logic_vector(3 downto 0):=0001;signal q2:std_logic_vector(3 downto 0):=0

11、000;signal q2q1:std_logic_vector(7 downto 0);beginprocess(clk)beginif clkevent and clk=1 thenq1=q1+1;if q1=9 then q10);q2=q2+1;end if;if q2=1 and q1=2 then q2=0000;q1=0001;cout=1;else cout=0;end if;end if;q2q1a=0;bif run=1 then a=1;b=1;else a=1;ba=0;ba=0;ba=0;ba=0;ba=0;ba=0;ba=0;ba=0;ba=0;ba=0;bnull

12、;end case;end process;m1=q1;m2=q2;end;模塊圖:2.3年模塊程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity nian isport(clk:in std_logic;y1,y2:out std_logic_vector(3 downto 0);run:out std_logic);end nian;architecture one of nian issignal q1,q2:std_logic_vector(3 downto 0);sign

13、al q3:std_logic_vector(3 downto 0):=0000;signal run1:std_logic:=1;beginprocess(clk)beginif clkevent and clk=1 thenq1=q1+1;if q1=9 then q10);q2=q2+1;end if;if q2=9 and q1=9 then q2=0000;q1=0000;end if;end if;end process;process(clk)beginif clkevent and clk=1 thenq3=q3+1;if q3=3 then q30);run1=1;else

14、run1 =0;end if;end if;y1=q1;y2=q2;run=run1;end process;end;模塊圖:2.4星期模塊程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity xingqi isport(clk:in std_logic;q1:out std_logic_vector(3 downto 0);end xingqi;architecture one of xingqi issignal q11:std_logic_vector(3 downto 0);

15、beginprocess(clk)beginif clkevent and clk=1 thenq11=q11+1;if q11=6 then q117 then q11=0001; end if;end if;end process;q1=q11;end;模塊圖:2.5提醒模塊程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity alarm isport(clk:in std_logic; T1,T2,yue1,yue2:in std_logic_vector(3 downto

16、0); alarm:out std_logic);end alarm; architecture one of alarm issignal q11:std_logic_vector(15 downto 0);beginprocess(T1,T2,yue1,yue2)begin q11alarmalarmalarmnull; end case; end process;end one;模塊圖:2.6控制模塊程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity tiaoshi ispo

17、rt(k1,k2:in std_logic; m1,m2,m3,m4:in std_logic;n1,n2,n3,n4:out std_logic);end entity;architecture one of tiaoshi issignal q:std_logic_vector(3 downto 0); beginprocess(k1) begin if k1event and k1=1 then q=q+1; if q=4 then qn1=m1;n2=m2;n3=m3;n4n1=k2;n2=0;n3=0;n4n1=0;n2=k2;n3=0;n4n1=0;n2=0;n3=k2;n4n1=

18、0;n2=0;n3=0;n4n1=0;n2=0;n3=0;n4NULL;end case;end process;end;模塊圖:2.7顯示模塊程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY led IS PORT ( CLK : IN STD_LOGIC; d0,d1,d2,d3,d4,d5,d6,d7:in STD_LOGIC_VECTOR(3 DOWNTO 0); SG : OUT STD_LOGIC_VECTOR(6 DOWNTO 0); BT : OUT STD_LO

19、GIC_VECTOR(7 DOWNTO 0) ); END;ARCHITECTURE one OF led IS SIGNAL CNT8 : STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL A : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINP1:PROCESS( CNT8 ) BEGIN CASE CNT8 IS WHEN 000 = BT = 00000001 ; A BT = 00000010 ; A BT = 00000100 ; A BT = 00001000 ; A BT = 00010000 ; A BT = 00100000 ;

20、 A BT = 01000000 ; A BT = 10000000 ; A NULL ; END CASE ; END PROCESS P1; P2:PROCESS(CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN CNT8 SG SG SG SG SG SG SG SG SG SG SG SG SG SG SG SG NULL ; END CASE ; END PROCESS P3; END; 模塊圖:三、總電路設(shè)計(jì)圖四、電路調(diào)試天模塊調(diào)試結(jié)果:月模塊調(diào)試結(jié)果:年模塊調(diào)試結(jié)果:提醒模塊調(diào)試結(jié)果:當(dāng)不是特殊的日子時(shí);星期模塊調(diào)試:五、設(shè)計(jì)調(diào)試總結(jié)與體會(huì) 經(jīng)過這次課程設(shè)計(jì)使我進(jìn)一步了解計(jì)算機(jī)工作組成原理與系統(tǒng)結(jié)構(gòu),深入學(xué)習(xí)EDA技術(shù),用VHDL技術(shù),用VHDL語(yǔ)言去控制將會(huì)使我對(duì)本專業(yè)知識(shí)可以更好地掌握。熟悉QUAR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論