版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 一:課程設(shè)計的背景與目的</p><p> 全面熟悉、掌握VHDL語言基本知識,掌握利用VHDL語言對常用的的組合邏輯電路和時序邏輯電路編程,把編程和實際結(jié)合起來,熟悉編制和調(diào)試程序的技巧,掌握分析結(jié)果的若干有效方法,進一步提高上機動手能力,培養(yǎng)使用設(shè)計綜合電路的能力,養(yǎng)成提供文檔資料的習(xí)慣和規(guī)范編程的思想。</p><p><b> 1、EDA技術(shù)&l
2、t;/b></p><p> 人類社會已進入到高度發(fā)達的信息化社會。信息化社會的發(fā)展離不開電子信息產(chǎn)品開發(fā)技術(shù)、產(chǎn)品品質(zhì)的提高和進步。電子信息產(chǎn)品隨著科學(xué)技術(shù)的進步,其電子器件和設(shè)計方法更新?lián)Q代的速度日新月異。實現(xiàn)這種進步的主要原因就是電子設(shè)計技術(shù)和電子制造技術(shù)的發(fā)展,其核心就是電子設(shè)計自動化(EDA)技術(shù),EDA技術(shù)的發(fā)展和推廣應(yīng)用又極大地推動了電子信息產(chǎn)業(yè)的發(fā)展。為保證電子系統(tǒng)設(shè)計的速度和質(zhì)量,適應(yīng)“
3、第一時間推動產(chǎn)品”的設(shè)計要求,EDA技術(shù)正逐步成為不可缺少的意向先進技術(shù)和重要工具。</p><p><b> 2、課程設(shè)計的目的</b></p><p> (1)理解EDA開發(fā)應(yīng)用系統(tǒng)的基本思路及方法;</p><p> (2)練習(xí)使用vhdl語言編寫應(yīng)用程序的基本步驟;</p><p> ?。?)學(xué)習(xí)EDA開發(fā)
4、過程及資料收集與整理,學(xué)會撰寫課程設(shè)計報告;</p><p><b> (4)了解數(shù)字時鐘</b></p><p><b> 3、實驗環(huán)境:</b></p><p> (1)MAX+plusII 10.2操作環(huán)境</p><p> 二、數(shù)字時鐘的總體結(jié)構(gòu)設(shè)計</p><p
5、> 數(shù)字時鐘是計數(shù)器的綜合應(yīng)用,由分頻器,十分之一秒,秒鐘,分鐘,時鐘組成。十分之一秒由十進制計數(shù)器組成,秒由六十進制計數(shù)器組成,分鐘由六十進制計數(shù)器組成,時鐘由十二進制計數(shù)器組成,時鐘的計時范圍是00:00:00:0—11:59:59:9。同時為了顯</p><p> 示當(dāng)前時鐘的時間,在設(shè)計一個顯示電路。另外清零電路只需要輸入一些控制信號給時鐘電路即可。</p><p>
6、數(shù)字時鐘電路的設(shè)計分為分頻器模塊,十分之一秒計數(shù)模塊,秒模塊,分計數(shù)模塊,小時計數(shù)模塊,利用VHDL設(shè)計數(shù)字時鐘顯示電路的各個模塊,并用EDA工具對各個模塊進行仿真驗證,然后把各個模塊進行整合,最后顯示相應(yīng)的輸出狀態(tài)。</p><p> 通過以上分析可得以下框圖:</p><p> 數(shù)字時鐘的子模塊設(shè)計</p><p> 本系統(tǒng)主要由十分之一秒計數(shù)器、秒計數(shù)器
7、、分鐘計數(shù)器、小時計數(shù)器構(gòu)成,采用自</p><p> 頂向下的設(shè)計方法,子模塊利用VHDL語言設(shè)計,小時采用12進制,分鐘采用60進制,秒采用60進制和十分之一秒采用10進制。</p><p> 時鐘信號的頻率由振蕩器產(chǎn)生,由于最小單位是十分之一秒,所以時鐘信號經(jīng)分頻器后輸出頻率為10HZ的秒脈沖CLK。時鐘電路的輸入端CLK是連續(xù)脈沖,CLRN是高電平系統(tǒng)復(fù)位,EN是高電平使能端,
8、輸出端是十分之一秒的個位,秒的個位,十分之一秒的十位,分鐘個位,分鐘十位,時鐘個位,時鐘十位,最后由7個數(shù)碼顯示管顯示各位的值。</p><p><b> ?。?)分頻器:</b></p><p> library ieee; </p><p> use ieee.std_logic_1164.all;</p>&l
9、t;p> entity fenpin is</p><p> port( clka:in std_logic;</p><p> clki: out std_logic);</p><p> end entity;</p><p> architecture one of fenpin is</p><p
10、> signal cnt_10hz: integer range 0 to 399;</p><p><b> begin</b></p><p> process(clka) </p><p><b> begin</b></p><p> if(clka'event
11、and clka='1') then</p><p> cnt_10hz<=cnt_10hz+1;</p><p> if(cnt_10hz=399) then</p><p> cnt_10hz<=0;</p><p> elsif(cnt_10hz<199) then</p><
12、;p> clki<='1';</p><p><b> else</b></p><p> clki<='0';</p><p><b> end if;</b></p><p><b> end if;</b><
13、;/p><p> end process;</p><p><b> end one;</b></p><p><b> 仿真圖:</b></p><p> ?。?)十分之一秒計數(shù)器: </p><p><b> 程序如下:</b></p>
14、;<p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY SECOND_01 IS</p><p> PORT ( CLK: IN STD
15、_LOGIC;</p><p> CLR: IN STD_LOGIC;</p><p> EN: IN STD_LOGIC;</p><p> Q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> CO: OUT STD_LOGIC);</p><p> END SECO
16、ND_01;</p><p> ARCHITECTURE ART OF SECOND_01 IS</p><p> SIGNAL QI: STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b> BEGIN</b></p><p> PROCESS(CLK, CLR, EN)</
17、p><p><b> BEGIN</b></p><p><b> Q<=QI;</b></p><p> IF(CLR='1')THEN</p><p> QI<="0000"; </p><p> ELSIF(CLK
18、'EVENT AND CLK='1')THEN</p><p> IF EN='1' THEN</p><p> IF(QI="1001")THEN</p><p> QI<="0000";</p><p><b> CO<='
19、;1';</b></p><p><b> ELSE </b></p><p> QI<=QI+'1';</p><p><b> CO<='0';</b></p><p><b> END IF;</b>
20、</p><p><b> END IF;</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p><b> END ART;</b></p><p><b> 仿真圖:&
21、lt;/b></p><p><b> (3) 秒計數(shù)器:</b></p><p><b> 程序如下:</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE
22、 IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY SECOND IS</p><p> PORT( CLK:IN STD_LOGIC;</p><p> CO:OUT STD_LOGIC;</p><p> Q1:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);<
23、;/p><p> Q0:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p> END ENTITY;</p><p> ARCHITECTURE ART OF SECOND IS</p><p><b> BEGIN</b></p><p> PROC
24、ESS(CLK)</p><p><b> BEGIN</b></p><p> IF(CLK'EVENT AND CLK='1')THEN</p><p> IF(Q1<"0101")THEN</p><p> IF(Q0="1001")TH
25、EN</p><p> Q0<="0000";</p><p> Q1<=Q1+'1';</p><p><b> ELSE</b></p><p> Q0<=Q0+'1';</p><p><b> END
26、 IF;</b></p><p> CO<='0'; </p><p><b> ELSE</b></p><p> IF(Q0="1001")THEN</p><p> Q0<="0000";</p><p&
27、gt; Q1<="0000";</p><p><b> CO<='1';</b></p><p><b> ELSE</b></p><p> Q0<=Q0+'1';</p><p><b> END IF;
28、</b></p><p><b> END IF;</b></p><p> END IF; </p><p> END PROCESS;</p><p><b> END ART;</b></p><p><b> 仿真圖:</b&
29、gt;</p><p><b> ?。?)分鐘計數(shù)器:</b></p><p><b> 程序如下:</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.
30、STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY MINUTE IS</p><p> PORT(CLK:IN STD_LOGIC;</p><p> CO:OUT STD_LOGIC;</p><p> Q1:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);</p>
31、<p> Q0:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p> END ENTITY;</p><p> ARCHITECTURE ART OF MINUTE IS</p><p><b> BEGIN </b></p><p> PROCESS(CLK
32、)</p><p><b> BEGIN</b></p><p> IF(CLK'EVENT AND CLK='1')THEN</p><p> IF(Q1<"0101")THEN</p><p> IF(Q0="1001")THEN</
33、p><p> Q0<="0000";</p><p> Q1<=Q1+'1';</p><p><b> ELSE</b></p><p> Q0<=Q0+'1';</p><p><b> END IF; &l
34、t;/b></p><p><b> CO<='0';</b></p><p><b> ELSE</b></p><p> IF(Q0="1001")THEN</p><p> Q0<="0000";</p&g
35、t;<p> Q1<="0000";</p><p><b> CO<='1';</b></p><p><b> ELSE</b></p><p> Q0<=Q0+'1';</p><p><b>
36、; END IF;</b></p><p><b> END IF;</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p><b> END ART;</b></p><p
37、><b> 仿真圖:</b></p><p><b> ?。?)小時計數(shù)器:</b></p><p><b> 程序如下:</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p
38、><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY HOUR IS</p><p> PORT(CLK:IN STD_LOGIC;</p><p> Q1:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> Q0:B
39、UFFER STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p><b> END HOUR;</b></p><p> ARCHITECTURE ART OF HOUR IS</p><p><b> BEGIN</b></p><p> PROCESS(CLK)
40、 </p><p><b> BEGIN</b></p><p> IF(CLK'EVENT AND CLK='1')THEN</p><p> IF(Q1="0001")THEN</p><p> IF(Q0="0001")THEN</p&
41、gt;<p> Q1<="0000";</p><p> Q0<="0000";</p><p><b> ELSE</b></p><p> Q0<=Q0+'1';</p><p><b> END IF;<
42、;/b></p><p><b> ELSE</b></p><p> IF(Q0="1001")THEN</p><p> Q1<=Q1+'1';</p><p> Q0<="0000";</p><p><
43、b> ELSE</b></p><p> Q0<=Q0+'1';</p><p><b> END IF;</b></p><p><b> END IF;</b></p><p><b> END IF;</b></p&
44、gt;<p> END PROCESS;</p><p><b> END ART;</b></p><p><b> 仿真圖:</b></p><p><b> ?。?)顯示模塊:</b></p><p> 譯碼輸出與十進制對應(yīng)關(guān)系,</p>
45、<p><b> 程序如下:</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> USE IEEE.STD_LOGIC
46、_ARITH.ALL;</p><p> ENTITY LED IS</p><p> PORT( S:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> Q:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));</p><p><b>
47、END LED; </b></p><p> ARCHITECTURE ART OF LED IS</p><p><b> BEGIN</b></p><p> PROCESS(S)</p><p><b> BEGIN</b></p><p><
48、b> CASE S IS</b></p><p> WHEN"0000"=>Q<="0111111";</p><p> WHEN"0001"=>Q<="0000110";</p><p> WHEN"0010"=&g
49、t;Q<="1011011";</p><p> WHEN"0011"=>Q<="1001111";</p><p> WHEN"0100"=>Q<="1100110";</p><p> WHEN"0101"=
50、>Q<="1101101";</p><p> WHEN"0110"=>Q<="1111101";</p><p> WHEN"0111"=>Q<="0000111";</p><p> WHEN"1000"
51、;=>Q<="1111111";</p><p> WHEN"1001"=>Q<="1101111";</p><p> WHEN OTHERS =>Q<="0000000"; </p><p> END CASE;</p>&l
52、t;p> END PROCESS;</p><p><b> END ART;</b></p><p><b> 仿真圖:</b></p><p> 四:數(shù)字時鐘原理圖:</p><p><b> 仿真圖:</b></p><p><
53、;b> 五:總結(jié)</b></p><p> 通過這次設(shè)計,進一步加深了對EDA的了解,讓我學(xué)會了各個并行進程間相互通信協(xié)同工作的過程,進一步了解了VHDL語言的結(jié)構(gòu)和編程方法,并通過硬件實驗和對FPGA的程序下載初步掌握了電子EDA的設(shè)計方法,為以后的學(xué)習(xí)打下基礎(chǔ)。特別是每當(dāng)每一個子模塊編寫測試成功時,心里特別開心。</p><p> 程序仿真是理想環(huán)境下的結(jié)果,容
54、易實現(xiàn),而移植到硬件系統(tǒng)上會出現(xiàn)實際的問題,比如接線的不穩(wěn)定等,需要耐心排查故障,找出解決方案。雖然在設(shè)計過程中遇到一些困難但解決這些問題的過程無疑是對自己自身專業(yè)素質(zhì)的一種提高。</p><p> 總的來說,這次設(shè)計的數(shù)字時鐘還是比較成功的,有點小小的成就感,終于覺得所學(xué)的知識有了實用的價值,達到了理論與實際相結(jié)合的目的,不僅學(xué)到了不少知識而且鍛煉了能力,使自己對以后的路有了更加清楚的認(rèn)識,同時對未來有了更多
55、的信心。</p><p> 感謝老師在設(shè)計過程中對我們出現(xiàn)的問題進行詳細(xì)而具體的解答,以及對我們設(shè)計的各種啟發(fā),同時也感謝在設(shè)計時同學(xué)們給予的幫助。</p><p><b> 六:參考文獻</b></p><p> 1、趙曙光等編著 可編程邏輯器件原理、開發(fā)與應(yīng)用 西安:西安電子科技大學(xué)出版社.2000</p><p
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(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ù)字時鐘(鬧鐘)
- eda課程設(shè)計--數(shù)字時鐘的設(shè)計
- eda_課程設(shè)計報告--數(shù)字時鐘設(shè)計
- eda課程設(shè)計---多功能數(shù)字時鐘報告
- eda課程設(shè)計報告---數(shù)字時鐘倒計時
- eda課程設(shè)計---關(guān)于多功能數(shù)字時鐘的設(shè)計
- eda課程設(shè)計——基于vhdl語言的數(shù)字時鐘設(shè)計
- eda課程設(shè)計報告(多功能數(shù)字時鐘的設(shè)計)
- eda課程設(shè)計---電子時鐘
- eda課程設(shè)計--電子時鐘
- eda課程設(shè)計-- eda與數(shù)字系統(tǒng)課程設(shè)計
- 數(shù)字時鐘課程設(shè)計
- 數(shù)字時鐘課程設(shè)計
- 電子時鐘eda課程設(shè)計報告
- eda課程設(shè)計---數(shù)字跑表
- 課程設(shè)計--數(shù)字時鐘
- 數(shù)字時鐘課程設(shè)計
- 數(shù)字時鐘課程設(shè)計
評論
0/150
提交評論