版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 一、引言</b></p><p> 隨著科學(xué)技術(shù)的迅猛發(fā)展,電子工業(yè)界經(jīng)歷了巨大的飛躍。集成電路的設(shè)計正朝著速度快、性能高、容量大、體積小和微功耗的方向發(fā)展?;谶@種情況,可編程邏輯器件的出現(xiàn)和發(fā)展大大改變了傳統(tǒng)的系統(tǒng)設(shè)計方法??删幊踢壿嬈骷拖鄳?yīng)的設(shè)計技術(shù)體現(xiàn)在三個主要方面:一是可編程邏輯器件的芯片技術(shù);二是適用于可邏輯編程器件的硬件編程技術(shù),三是可編程邏輯
2、器件設(shè)計的EDA開發(fā)工具,它主要用來進(jìn)行可編程邏輯器件應(yīng)用的具體實現(xiàn)。在本實驗中采用了集成度較高的FPGA 可編程邏輯器件, 選用了VHDL硬件描述語言和MAX + p lusⅡ開發(fā)軟件。VHDL硬件描述語言在電子設(shè)計自動化( EDA)中扮演著重要的角色。由于采用了具有多層次描述系統(tǒng)硬件功能的能力的“自頂向下”( Top - Down)和基于庫(L ibrary - Based)的全新設(shè)計方法,它使設(shè)計師們擺脫了大量的輔助設(shè)計工作,而把
3、精力集中于創(chuàng)造性的方案與概念構(gòu)思上,用新的思路來發(fā)掘硬件設(shè)備的潛力,從而極大地提高了設(shè)計效率,縮短了產(chǎn)品的研制周期。MAX + p lusⅡ是集成了編輯器、仿真工具、檢查/分析工具和優(yōu)化/綜合工具的這些所有開發(fā)工具的一種集成的開發(fā)環(huán)</p><p><b> 二、相關(guān)知識簡介</b></p><p> 1、EDA簡介20世紀(jì)90年代,國際上電子和計算機(jī)技術(shù)較
4、先進(jìn)的國家,一直在積極探索新的電子電路設(shè)計方法,并在設(shè)計方法、工具等方面進(jìn)行了徹底的變革,取得了巨大成功。在電子技術(shù)設(shè)計領(lǐng)域,可編程邏輯器件(如CPLD、FPGA)的應(yīng)用,已得到廣泛的普及,這些器件為數(shù)字系統(tǒng)的設(shè)計帶來了極大的靈活性。這些器件可以通過軟件編程而對其硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),從而使得硬件的設(shè)計可以如同軟件設(shè)計那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計方法、設(shè)計過程和設(shè)計觀念,促進(jìn)了EDA技術(shù)的迅速發(fā)展。EDA是
5、電子設(shè)計自動化(Electronic Design Automation)的縮寫,在20世紀(jì)90年代初從計算機(jī)輔助設(shè)計(CAD)、計算機(jī)輔助制造(CAM)、計算機(jī)輔助測試(CAT)和計算機(jī)輔助工程(CAE)的概念發(fā)展而來的。EDA技術(shù)就是以計算機(jī)為工具,設(shè)計者在EDA軟件平臺上,用硬件描述語言HDL完成設(shè)計文件,然后由計算機(jī)自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等
6、工作。EDA技術(shù)的出現(xiàn),極大地提高了電路設(shè)計的效率和可操作性</p><p> 2、VHDL簡介 硬件描述語言HDL(HardwareDescriptionLanguage)誕生于1962年。HDL是用形式化的方法描述數(shù)字電路和設(shè)計數(shù)字邏輯系統(tǒng)的語言。主要用于描述離散電子系統(tǒng)的結(jié)構(gòu)和行為。與SDL(SoftwareDescriptionLanguage)相似,經(jīng)歷了從機(jī)器碼(晶體管和焊接)、匯編(網(wǎng)表)、
7、到高級語言(HDL)的過程。 VHDL翻譯成中文就是超高速集成電路硬件描述語言,他誕生于1982年。最初是由美國國防部開發(fā)出來供美軍用來提高設(shè)計的可靠性和縮減開發(fā)周期的一種使用范圍較小的設(shè)計語言。1987年底,VHDL被IEEE和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。自IEEE公布了VHDL的標(biāo)準(zhǔn)版本,IEEE-1076(簡稱87版)之后,各EDA公司相繼推出了自己的VHDL設(shè)計環(huán)境,或宣布自己的設(shè)計工具可以和VHDL接口。此后VHDL
8、在電子設(shè)計領(lǐng)域得到了廣泛的接受,并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語言。1993年,IEEE對VHDL進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展VHDL的內(nèi)容,公布了新版本的VHDL,(即IEEE標(biāo)準(zhǔn)的1076-1993</p><p><b> 三、課程設(shè)計題目</b></p><p> 設(shè)計并實現(xiàn)具有一定功能的數(shù)字小系統(tǒng)(數(shù)字鐘)</p>
9、<p><b> 四、課程設(shè)計要求:</b></p><p> 1、該數(shù)字鐘可以實現(xiàn)3個功能:計時功能、整點報時功能和重置時間功能,因此有3個功能:計時、重置時間、復(fù)位。</p><p> 2、對所有設(shè)計的小系統(tǒng)能夠正確分析;3、基于VHDL語言描述系統(tǒng)的功能;4、在quartus 2環(huán)境中編譯通過;5、仿真通過并得到正確的波形;6、給出相應(yīng)的
10、設(shè)計報告。</p><p><b> 五、課程設(shè)計思路</b></p><p> 其中計時模塊有4部分構(gòu)成:秒計時器(second)、分計時器(minute)、時計時器(hour)、日計時器(date)、月計時器(mouth)、年計時器(year) 1) 秒計時器(second)是由一個60進(jìn)制的計數(shù)器構(gòu)成的,具有清0、置數(shù)
11、和計數(shù)功能。其中reset為清0信號,當(dāng)reset為0時,秒計時器清0;set 為置數(shù)信號,當(dāng)set為0時,秒計時器置數(shù),置s1的值。clk為驅(qū)動秒計時器的時鐘,sec為秒計時器的輸出,ensec為秒計時器的進(jìn)位信號,作為下一級的時鐘輸入信號。 2)分計時器(minute)是由一個60進(jìn)制的計數(shù)器構(gòu)成的,具有清0、置數(shù)和計數(shù)功能。其中reset為清0信號,當(dāng)reset為0時,分計時器清0;set 為置數(shù)信號,當(dāng)set為0時,分
12、計時器置數(shù),置m1的值。 clkm為驅(qū)動分計時器工作的時鐘,與ensec相連接;min為分計時器的輸出;enmin為分計時器的進(jìn)位信號,作為下一級的時鐘輸入信號。</p><p> 3)時計時器(hour)是由一個24進(jìn)制的計數(shù)器構(gòu)成的,具有清0、置數(shù)和計數(shù)功能。其中reset為清0信號,當(dāng)reset為0時,時計時器清0;set 為置數(shù)信號,當(dāng)set為0時,時計時器置數(shù),置h1的值。 clkh為驅(qū)動時計時器工作
13、的時鐘,與enmin相連接;hour為時計時器的輸出;enhour為時計時器的進(jìn)位信號,作為下一級的時鐘輸入信號。 </p><p> 4)日計時器( date1)是由一個60進(jìn)制的計數(shù)器構(gòu)成的,具有清0、置數(shù)和計數(shù)功能。其中reset為清0信號,當(dāng)reset為0時,星期計時器清0;set 為置數(shù)信號,當(dāng)set為0時,星期計時器置數(shù),置d1的值。 clkd為驅(qū)動星期計時器工作的
14、時鐘,與enhour相連接;date為日計時器的輸出,endate為分計時器的進(jìn)位信號,作為下一級的時鐘輸入信號,由于月份的天數(shù)存在天數(shù)不同,閏年2月的天數(shù)為28天等情況,還設(shè)計了一個潤年判別器,準(zhǔn)確顯示時間。</p><p> 5)月計時器(mouth)是由一個60進(jìn)制的計數(shù)器構(gòu)成的,具有清0、置數(shù)和計數(shù)功能。其中reset為清0信號,當(dāng)reset為0時,星期計時器清0;set 為置數(shù)信號,當(dāng)set為0時,星
15、期計時器置數(shù),置mou1的值,clkmou為驅(qū)動星期計時器工作的時鐘,與enday相連接;mou為日計時器的輸出,enmou為分計時器的進(jìn)位信號,作為下一級的時鐘輸入信號。</p><p> 6)計時器(year)是由一個60進(jìn)制的計數(shù)器構(gòu)成的,具有清0、置數(shù)和計數(shù)功能。其中reset為清0信號,當(dāng)reset為0時,星期計時器清0;set 為置數(shù)信號,當(dāng)set為0時,星期計時器置數(shù),置y1的值,clky為驅(qū)動星
16、期計時器工作的時鐘,與enmou相連接;year為日計時器的輸出。</p><p> 六、相關(guān)VHDL程序</p><p><b> 1、屏幕切換模塊</b></p><p> 運用狀態(tài)機(jī)進(jìn)行屏幕切換,分別顯示年月日,以及時分秒</p><p> library IEEE;</p><p>
17、; use IEEE.STD_LOGIC_1164.ALL;</p><p> use IEEE.STD_LOGIC_ARITH.ALL;</p><p> use IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> -- Uncomment the following lines to use the declarations t
18、hat are</p><p> -- provided for instantiating Xilinx primitive components.</p><p> --library UNISIM;</p><p> --use UNISIM.VComponents.all;</p><p> entity mux3 is&l
19、t;/p><p> Port ( clk,Reset,sel : in std_logic;</p><p> int1,int2,int3,int4,int5,int6,int7,int8,int9,int10,int11,int12:IN STD_LOGIC_VECTOR(3 DOWNTO 0);-- rst must</p><p> a1,a2,a3,a4
20、,a5,a6: out std_logic_vector(3 downto 0));</p><p><b> end mux3;</b></p><p> architecture Behavioral of mux3 is</p><p> TYPE states IS (st0, st1, st2, st3, st4, st5, s
21、t6, st7); </p><p> SIGNAL STX: states ;</p><p><b> begin</b></p><p> COM1 : PROCESS(STX,int1,int2,int3,int4,int5,int6,int7,int8,int9,int10,int11,int12) </p&
22、gt;<p> BEGIN --決定轉(zhuǎn)換狀態(tài)的進(jìn)程</p><p> CASE STX IS </p><p> WHEN st0 => a1<=int1;a2<=int2;a3<=int3;a4<=int4;a5<=int5;a6<=int6;</p><p> WHEN st1
23、=> a1<=int7;a2<=int8;a3<=int9;a4<=int10;a5<=int11;a6<=int12;</p><p> WHEN st2 => a1<=int7;a2<=int8;a3<=int9;a4<=int10;a5<=int11;a6<=int12;</p><p> WHE
24、N st3 => a1<=int7;a2<=int8;a3<=int9;a4<=int10;a5<=int11;a6<=int12; </p><p> WHEN st4 => a1<=int7;a2<=int8;a3<=int9;a4<=int10;a5<=int11;a6<=int12;</p><p&g
25、t; WHEN st5 => a1<=int1;a2<=int2;a3<=int3;a4<=int4;a5<=int5;a6<=int6;</p><p> WHEN st6 => a1<=int1;a2<=int2;a3<=int3;a4<=int4;a5<=int5;a6<=int6;</p><p&g
26、t; WHEN st7 => a1<=int1;a2<=int2;a3<=int3;a4<=int4;a5<=int5;a6<=int6;</p><p> WHEN OTHERS => NULL; </p><p> END CASE ;</p><p> END PROCESS COM1;</p>
27、;<p> REG: PROCESS (clk,Reset,sel) --主控時序進(jìn)程</p><p><b> BEGIN</b></p><p> IF Reset = '1' THEN STX<= st0; --異步復(fù)位 </p><p&
28、gt; ELSIF clk='1' AND clk'EVENT THEN </p><p> if sel='1' then</p><p> CASE STX IS</p><p> WHEN st0=>STX<=st1;</p><p> WHEN st1=>STX<
29、;=st2;</p><p> WHEN st2=>STX<=st3;</p><p> WHEN st3=>STX<=st4;</p><p> WHEN st4=>STX<=st5;</p><p> WHEN st5=>STX<=st6;</p><p>
30、 WHEN st6=>STX<=st7;</p><p> WHEN st7=>STX<=st0;</p><p><b> END CASE;</b></p><p><b> END IF;</b></p><p><b> END if;</b&
31、gt;</p><p> END PROCESS; </p><p><b> 2、顯示切換程序</b></p><p> library IEEE;</p><p> use IEEE.STD_LOGIC_1164.ALL;</p><p> use IEEE.STD_LOGIC_AR
32、ITH.ALL;</p><p> use IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> -- Uncomment the following lines to use the declarations that are</p><p> -- provided for instantiating Xilinx primiti
33、ve components.</p><p> --library UNISIM;</p><p> --use UNISIM.VComponents.all;</p><p> entity mux1 is</p><p> Port ( clk,ina,inb,sel,Reset : in std_logic;</p>
34、<p> result : out std_logic);</p><p><b> end mux1;</b></p><p> architecture Behavioral of mux1 is</p><p> TYPE state IS(st0,st1,st2,st3,st4,st5,st6,st7);</
35、p><p> SIGNAL STX:state;</p><p><b> begin</b></p><p> REG1: PROCESS(ina,inb,STX)</p><p><b> BEGIN</b></p><p> CASE STX IS</p&g
36、t;<p> WHEN st0=>result<=ina;</p><p> WHEN st1=>result<=ina;</p><p> WHEN st2=>result<=inb;</p><p> WHEN st3=>result<=inb;</p><p> W
37、HEN st4=>result<=inb;</p><p> WHEN st5=>result<=inb;</p><p> WHEN st6=>result<=inb;</p><p> WHEN st7=>result<=inb;</p><p><b> END CASE
38、;</b></p><p> END PROCESS;</p><p> REG2:PROCESS(clk,sel,Reset)</p><p><b> BEGIN</b></p><p> IF(Reset='1') THEN</p><p><b&g
39、t; STX<=st0;</b></p><p> ELSIF(clk'EVENT AND clk='1')THEN</p><p> if sel='1' then </p><p> CASE STX IS</p><p> WHEN st0=>STX<=st
40、1;</p><p> WHEN st1=>STX<=st2;</p><p> WHEN st2=>STX<=st3;</p><p> WHEN st3=>STX<=st4;</p><p> WHEN st4=>STX<=st5;</p><p> WHE
41、N st5=>STX<=st6;</p><p> WHEN st6=>STX<=st7;</p><p> WHEN st7=>STX<=st0;</p><p><b> END CASE;</b></p><p><b> END IF;</b>&l
42、t;/p><p><b> end if;</b></p><p> END PROCESS REG2;</p><p> end Behavioral;</p><p><b> 3、置數(shù)操作模塊</b></p><p> 運用狀態(tài)機(jī),進(jìn)行置數(shù)操作</p>
43、<p> library IEEE;</p><p> use IEEE.STD_LOGIC_1164.ALL;</p><p> use IEEE.STD_LOGIC_ARITH.ALL;</p><p> use IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> -- Uncomment
44、 the following lines to use the declarations that are</p><p> -- provided for instantiating Xilinx primitive components.</p><p> --library UNISIM;</p><p> --use UNISIM.VComponen
45、ts.all;</p><p> entity mux is</p><p> Port ( clk,ina,inb,sel,Reset : in std_logic;</p><p> r1,r2,r3,r4,r5,r6 : out std_logic);</p><p><b> end mux;</b>&l
46、t;/p><p> architecture Behavioral of mux is</p><p> TYPE state IS(st0,st1,st2,st3,st4,st5,st6,st7);</p><p> SIGNAL STX:state;</p><p><b> begin</b></p>
47、;<p> PROCESS(ina,inb,STX)</p><p><b> BEGIN</b></p><p> CASE STX IS</p><p> WHEN st0=>r1<=ina;r2<='0';r3<='0';r4<='0';r
48、5<='0';r6<='0';</p><p> WHEN st1=>r1<=ina;r2<='0';r3<='0';r4<='0';r5<='0';r6<='0';</p><p> WHEN st2=>r1<
49、;='0';r2<='0';r3<='0';r4<='0';r5<='0';r6<=inb;</p><p> WHEN st3=>r1<='0';r2<='0';r3<='0';r4<='0';r5<=
50、inb;r6<='0';</p><p> WHEN st4=>r1<='0';r2<='0';r3<='0';r4<=inb;r5<='0';r6<='0';</p><p> WHEN st5=>r1<='0';
51、r2<='0';r3<=inb;r4<='0';r5<='0';r6<='0';</p><p> WHEN st6=>r1<='0';r2<=inb;r3<='0';r4<='0';r5<='0';r6<=
52、9;0';</p><p> WHEN st7=>r1<=inb;r2<='0';r3<='0';r4<='0';r5<='0';r6<='0';</p><p><b> END CASE;</b></p><p&
53、gt; END PROCESS;</p><p> PROCESS(clk,sel,Reset)</p><p><b> BEGIN</b></p><p> IF(Reset='1') THEN</p><p><b> STX<=st0;</b></p&g
54、t;<p> ELSIF(clk'EVENT AND clk='1')THEN</p><p> if sel='1' then</p><p> CASE STX IS</p><p> WHEN st0=>STX<=st1;</p><p> WHEN st1=&
55、gt;STX<=st2;</p><p> WHEN st2=>STX<=st3;</p><p> WHEN st3=>STX<=st4;</p><p> WHEN st4=>STX<=st5;</p><p> WHEN st5=>STX<=st6;</p>&
56、lt;p> WHEN st6=>STX<=st7;</p><p> WHEN st7=>STX<=st0;</p><p><b> END CASE;</b></p><p><b> END IF;</b></p><p><b> end i
57、f;</b></p><p> END PROCESS;</p><p> end Behavioral;</p><p> end Behavioral;</p><p><b> 4、秒顯示模塊</b></p><p> library IEEE;</p>
58、<p> use IEEE.STD_LOGIC_1164.ALL;</p><p> use IEEE.STD_LOGIC_ARITH.ALL;</p><p> use IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> -- Uncomment the following lines to use the declar
59、ations that are</p><p> -- provided for instantiating Xilinx primitive components.</p><p> --library UNISIM;</p><p> --use UNISIM.VComponents.all;</p><p> entity s
60、ecute1 is</p><p> Port ( clkm,set,reset : in std_logic;</p><p> sec2,sec1 : inout std_logic_vector(3 downto 0);</p><p> ensec : out std_logic);</p><p> end secute1;
61、</p><p> architecture Behavioral of secute1 is</p><p><b> begin</b></p><p> Process(clkm,reset,set)</p><p><b> Begin</b></p><p>
62、; If reset='1' then sec2<="0000";sec1<="0000"; </p><p> Elsif set='1' then sec2<="0101";sec1<="1000"; </p&g
63、t;<p> Elsif (clkm'event and clkm='1') then</p><p> if sec2="0101" AND sec1="1001" then sec2<="0000";sec1<="0000";ensec<='1';
64、 </p><p> elsif sec1="1001" then sec2<=sec2+'1';sec1<="0000";ensec<='0';</p><p> else sec1<=sec1+'1';ensec<='0';
65、 </p><p><b> end if;</b></p><p><b> end if;</b></p><p> End process;</p><p> end Behavioral;</p><p><b>
66、 5、分顯示模塊</b></p><p> library IEEE;</p><p> use IEEE.STD_LOGIC_1164.ALL;</p><p> use IEEE.STD_LOGIC_ARITH.ALL;</p><p> use IEEE.STD_LOGIC_UNSIGNED.ALL;</p&g
67、t;<p> -- Uncomment the following lines to use the declarations that are</p><p> -- provided for instantiating Xilinx primitive components.</p><p> --library UNISIM;</p><p
68、> --use UNISIM.VComponents.all;</p><p> entity minute1 is</p><p> Port ( clkm,set,reset : in std_logic;</p><p> min2,min1 : inout std_logic_vector(3 downto 0);</p><
69、;p> enmin : out std_logic);</p><p> end minute1;</p><p> architecture Behavioral of minute1 is</p><p><b> begin</b></p><p> Process(clkm,reset,set)&
70、lt;/p><p><b> Begin</b></p><p> If reset='1' then min2<="0000";min1<="0000"; </p><p> Elsif set='1' then min2<=&quo
71、t;0101";min1<="1000"; </p><p> Elsif (clkm'event and clkm='1') then</p><p> if min2="0101" AND min1="1001" then min2<=&qu
72、ot;0000";min1<="0000";enmin<='1'; </p><p> elsif min1="1001" then min2<=min2+'1';min1<="0000";enmin<='0';</p><p>
73、 else min1<=min1+'1';enmin<='0'; </p><p><b> end if;</b></p><p><b> end if;</b></p><p> End process;<
74、;/p><p> end Behavioral;</p><p><b> 6、小時顯示模塊</b></p><p> library IEEE;</p><p> use IEEE.STD_LOGIC_1164.ALL;</p><p> use IEEE.STD_LOGIC_ARITH.
75、ALL;</p><p> use IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> -- Uncomment the following lines to use the declarations that are</p><p> -- provided for instantiating Xilinx primitive c
76、omponents.</p><p> --library UNISIM;</p><p> --use UNISIM.VComponents.all;</p><p> entity hour1 is</p><p> Port ( clkh,set,reset: in std_logic;</p><p>
77、 hor2,hor1 : inout std_logic_vector(3 downto 0);</p><p> enhour : out std_logic);</p><p> end hour1;</p><p> architecture Behavioral of hour1 is</p><p><b> b
78、egin</b></p><p> Process(clkh,reset,set)</p><p><b> Begin</b></p><p> If reset='1' then hor2<="0000";hor1<="0000";
79、</p><p> Elsif set='1' then hor2<="0010";hor1<="0011"; </p><p> Elsif (clkh'event and clkh='1') then</p><p> if hor
80、2="0010" AND hor1="0011" then hor2<="0000";hor1<="0000";enhour<='1'; </p><p> elsif hor1="1001" then hor2<=hor2+'1';ho
81、r1<="0000";enhour<='0';</p><p> else hor1<=hor1+'1';enhour<='0'; </p><p><b> end if;</b></p><p><b>
82、; end if;</b></p><p> End process;</p><p> end Behavioral;</p><p> 7、日顯示模塊(已加入閏年判斷功能)</p><p> library IEEE;</p><p> use IEEE.STD_LOGIC_1164.ALL
83、;</p><p> use IEEE.STD_LOGIC_ARITH.ALL;</p><p> use IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> -- Uncomment the following lines to use the declarations that are</p><p>
84、-- provided for instantiating Xilinx primitive components.</p><p> --library UNISIM;</p><p> --use UNISIM.VComponents.all;</p><p> entity date1 is</p><p> Port ( c
85、lkd,set : in std_logic;</p><p> dat2,dat1 : inout std_logic_vector(3 downto 0);</p><p> endate : out std_logic);</p><p> end date1;</p><p> architecture Behavioral
86、of date1 is</p><p><b> begin</b></p><p> Process(clkd,set)</p><p> Begin </p><p> if set='1' then dat2<="0010";dat1<=&quo
87、t;1000"; </p><p> Elsif (clkd'event and clkd='1')then</p><p> if dat2="0011" AND dat1="0000" then dat2<="0000";dat1<="0
88、001";endate<='1';</p><p> elsif dat1="1001" then dat2<=dat2+'1';dat1<="0000";endate<='0';</p><p> else dat1<=dat1+'1'; e
89、ndate<='0'; </p><p><b> end if;</b></p><p><b> end if;</b></p><p> End process;</p><p> end Behav
90、ioral;</p><p><b> 8、月顯示模塊</b></p><p> library IEEE;</p><p> use IEEE.STD_LOGIC_1164.ALL;</p><p> use IEEE.STD_LOGIC_ARITH.ALL;</p><p> use
91、 IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> -- Uncomment the following lines to use the declarations that are</p><p> -- provided for instantiating Xilinx primitive components.</p><p>
92、; --library UNISIM;</p><p> --use UNISIM.VComponents.all;</p><p> entity month1 is</p><p> Port ( clkn,set: in std_logic;</p><p> mon2,mon1 : inout std_logic_vecto
93、r(3 downto 0);</p><p> enmon : out std_logic);</p><p> end month1;</p><p> architecture Behavioral of month1 is</p><p><b> begin</b></p><p>
94、; Process(clkn,set)</p><p> Begin </p><p> if set='1' then mon2<="0000";mon1<="0110"; </p><p> Elsif (clkn'event and
95、clkn='1') then</p><p> if mon2="0001" AND mon1="0010" then mon2<="0000";mon1<="0001";enmon<='1'; </p><p> elsif mon1=&qu
96、ot;1001" then mon2<=mon2+'1';mon1<="0000";enmon<='0';</p><p> else mon1<=mon1+'1'; enmon<='0'; </p><p
97、><b> end if;</b></p><p><b> end if;</b></p><p> End process;</p><p><b> 9、年顯示模塊</b></p><p> library IEEE;</p><p&g
98、t; use IEEE.STD_LOGIC_1164.ALL;</p><p> use IEEE.STD_LOGIC_ARITH.ALL;</p><p> use IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> -- Uncomment the following lines to use the declarations
99、that are</p><p> -- provided for instantiating Xilinx primitive components.</p><p> --library UNISIM;</p><p> --use UNISIM.VComponents.all;</p><p> entity yearth1
100、is</p><p> Port ( clkn,set: in std_logic;</p><p> year2,year1 : inout std_logic_vector(3 downto 0);</p><p> enyear : out std_logic);</p><p> end yearth1;</p>
101、<p> architecture Behavioral of yearth1 is</p><p><b> begin</b></p><p> Process(clkn,set)</p><p> Begin </p><p> if set='1' then y
102、ear2<="0001";year1<="0001"; </p><p> Elsif (clkn'event and clkn='1') then</p><p> if year2="1001" AND year1="1001" then
103、 year2<="0000";year1<="0001"; </p><p> elsif year1="1001" then year2<=year2+'1';year1<="0000";enyear<='0';</p><p>
104、else year1<=year1+'1'; enyear<='0'; </p><p><b> end if;</b></p><p><b> end if;</b></p><p> end Behav
105、ioral;</p><p><b> 七、實驗心得</b></p><p> 感謝老師對我的教育培養(yǎng),你平時對我的細(xì)心指導(dǎo),課程設(shè)計的過程是對所學(xué)的電子技術(shù)基本理論知識的綜合運用,對三年專業(yè)知識的一次綜合應(yīng)用、擴(kuò)充和深化,也是對我們理論運用于實際設(shè)計的一次鍛煉。通過課程設(shè)計,我不僅溫習(xí)了以前在課堂上學(xué)習(xí)的專業(yè)知識,同時我也得到了老師和同學(xué)的幫助,學(xué)習(xí)和體會到了電
106、子技術(shù)的基本技能和思想。 在這段時間里,我學(xué)到了很多知識也有很多感受。當(dāng)然在做的過程中也遇到過很多的麻煩,一些沒有接觸過的元件,它們的封裝需要自己去書籍、網(wǎng)上搜索,在更新的時候會有一些錯誤,自己很難改正,只得求助老師,最后得以解決。和老師的溝通交流更使我對設(shè)計有了新的認(rèn)識也對自己提出了新的要求,這對我能力的提高大有好處。這個課題設(shè)計的過程讓我學(xué)習(xí)、工作的思路有了更為明朗的認(rèn)識:它是站在一定高度上去工作的,眼界要放寬,思路要開闊,內(nèi)容
107、要飽滿。</p><p> 非常感謝學(xué)院能給我們提供這樣的一個可以自己動腦、動手進(jìn)行設(shè)計的機(jī)會,同時也大大加強(qiáng)了同學(xué)之間的溝通,以及學(xué)生與老師之間的交流,這是一個放飛自我的平臺,也是我們理想與實際結(jié)合的升華,我想學(xué)院給我們提供的這些,教會我們的這些不僅僅在現(xiàn)在有用,對于我們今后步入社會也是同樣有用的。我在工作中不怕失敗,在失敗中總結(jié)經(jīng)驗,為成功積累素材;學(xué)著自我超越,敢于嘗試,在嘗試中進(jìn)步,這對我能力的提高大有
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計報告--數(shù)字鐘
- eda課程設(shè)計報告---數(shù)字鐘設(shè)計
- eda數(shù)字鐘課程設(shè)計
- 數(shù)字鐘--eda課程設(shè)計
- eda數(shù)字鐘課程設(shè)計
- eda課程數(shù)字鐘設(shè)計報告
- eda課程設(shè)計——多功能數(shù)字鐘
- eda數(shù)字鐘設(shè)計報告
- eda課程設(shè)計---基于fpga的數(shù)字鐘設(shè)計
- eda課程設(shè)計報告--基于vhdl的數(shù)字鐘的設(shè)計
- eda課程設(shè)計--數(shù)字鐘的設(shè)計與制作
- eda實現(xiàn)多功能數(shù)字鐘課程設(shè)計
- eda數(shù)字鐘課程設(shè)計--用vhdl語言實現(xiàn)數(shù)字鐘的設(shè)計
- 數(shù)字鐘課程設(shè)計報告
- 數(shù)字鐘課程設(shè)計報告
- 數(shù)字鐘課程設(shè)計報告
- 數(shù)字鐘課程設(shè)計報告
- EDA課程設(shè)計--數(shù)字鐘的設(shè)計與制作.doc
- 數(shù)字鐘課程設(shè)計--數(shù)字時鐘設(shè)計報告
- 數(shù)字鐘課程設(shè)計--數(shù)字時鐘設(shè)計報告
評論
0/150
提交評論