VHDL課程設(shè)計(jì)_第1頁
VHDL課程設(shè)計(jì)_第2頁
VHDL課程設(shè)計(jì)_第3頁
VHDL課程設(shè)計(jì)_第4頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、VHDL課程設(shè)計(jì)可編程邏輯器件及應(yīng)用課程設(shè)計(jì)題目:數(shù)字電子鐘設(shè)計(jì)與實(shí)現(xiàn)姓名:11111學(xué)號:111111111班級:111111111同組人員:1111指導(dǎo)教師:1111完成日期: 111111111目錄一、設(shè)計(jì)目的二、設(shè)計(jì)內(nèi)容三、設(shè)計(jì)原理四、設(shè)計(jì)方法4.1分頻器(輸入1024Hz頻率,輸出1Hz和512Hz信號)4.2六十進(jìn)制計(jì)數(shù)器4.3二十四進(jìn)制計(jì)數(shù)器4.4整點(diǎn)報(bào)時(shí)模塊(數(shù)據(jù)選擇器)4.5校時(shí)校分模塊4.6完整數(shù)字鐘4.7開發(fā)平臺及硬件顯示結(jié)果五、課程設(shè)計(jì)總結(jié)一、設(shè)計(jì)目的1.熟練的運(yùn)用數(shù)字系統(tǒng)的設(shè)計(jì)方法進(jìn)行數(shù)字系統(tǒng)設(shè)計(jì)2.掌握較復(fù)雜的數(shù)字系統(tǒng)設(shè)計(jì)3.掌握原理圖設(shè)計(jì)方法和VHDL語言設(shè)計(jì)方法

2、二、設(shè)計(jì)內(nèi)容分別用原理圖和VHDL語言設(shè)計(jì)1.顯示時(shí)、分、秒的數(shù)字鐘,顯示格式如下:具有清零、校時(shí)、校分、整點(diǎn)報(bào)時(shí)等功能三、設(shè)計(jì)原理該系統(tǒng)由振蕩器、分頻器、“時(shí)、分、秒”計(jì)數(shù)器、譯碼器及顯示器、校時(shí)電路、整點(diǎn)報(bào)時(shí)電路等組成。石英晶體振蕩器和分頻器產(chǎn)生整個(gè)系統(tǒng)的時(shí)基信號,它直接決定計(jì)時(shí)系統(tǒng)的精度。“秒計(jì)數(shù)器”采用六十進(jìn)制計(jì)數(shù)器,每累計(jì)60秒向“分計(jì)數(shù)器”進(jìn)位;“分計(jì)數(shù)器”采用六十進(jìn)制計(jì)數(shù)器,每累計(jì)60分向“時(shí)計(jì)數(shù)器”進(jìn)位;“時(shí)計(jì)數(shù)器”采用二十四進(jìn)制計(jì)數(shù)器,按照“24翻1”規(guī)律計(jì)數(shù)。“時(shí)、分、秒”計(jì)數(shù)器的輸出經(jīng)譯碼器送顯示器顯示。校時(shí)電路用來當(dāng)計(jì)時(shí)出現(xiàn)誤差時(shí)對“時(shí)、分、秒”進(jìn)行校對調(diào)整。整點(diǎn)報(bào)時(shí)電

3、路是根據(jù)計(jì)時(shí)系統(tǒng)的輸出狀態(tài)產(chǎn)生一脈沖信號,然后去觸發(fā)音頻發(fā)生器實(shí)現(xiàn)報(bào)時(shí)。四、設(shè)計(jì)方法4.1分頻器(輸入1024Hz頻率,輸出1Hz和512Hz信號)數(shù)字鐘系統(tǒng)中需要1Hz、512Hz、1024Hz三種脈沖信號。1Hz信號用于計(jì)數(shù)的秒信號,也用于校時(shí)、校分的信號,1024Hz和512Hz用于整點(diǎn)報(bào)時(shí)。由于系統(tǒng)板上提供1024Hz信號,用分頻器可得到這些信號。1)原理圖設(shè)計(jì)原理圖設(shè)計(jì)時(shí),可用三個(gè)16進(jìn)制計(jì)數(shù)器74161串接后得到1Hz、512Hz 兩種脈沖信號。分頻器原理圖:分頻器仿真波形:由仿真波形可以看出,輸入為1024Hz(實(shí)驗(yàn)仿真時(shí)沒有精確計(jì)算周期)信號,512Hz的輸出端頻率變?yōu)檩斎氲囊?/p>

4、半,1Hz輸出端頻率變?yōu)檩斎氲?/1024,可知所設(shè)計(jì)分頻器具有將1024Hz信號分頻得到512Hz和1Hz信號的功能。2)VHDL語言設(shè)計(jì)VHDL語言設(shè)計(jì)分頻器是,可做一個(gè)10位二進(jìn)制計(jì)數(shù)器,其中輸出的512Hz=out(0),1Hz=out(9)。分頻器VHDL語言:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fenpin isPORT(clk:IN STD_LOGIC;out1:OUT STD_LOGIC;out51

5、2:OUT STD_LOGIC);END fenpin;ARCHITECTURE a OF fenpin ISSIGNAL count: STD_LOGIC_VECTOR(9 DOWNTO 0);BEGINPROCESS(clk)BEGINif(clkevent AND clk=0)thencount end if;END PROCESS;out512 out1 END a;4.2六十進(jìn)制計(jì)數(shù)器1)原理圖設(shè)計(jì)74160分別設(shè)計(jì)一個(gè)帶清零功能的10進(jìn)制計(jì)數(shù)器和6進(jìn)制計(jì)數(shù)器,然后串聯(lián)起來就是六十進(jìn)制計(jì)數(shù)器。60進(jìn)制計(jì)數(shù)器原理圖如下:60進(jìn)制計(jì)數(shù)器仿真波形:由仿真波形可看出,在計(jì)數(shù)脈沖作用下,輸出端

6、高四位q60H3,q60H2,q60H1,q60H0的bcd碼在05之間循環(huán),而低四位q60L3,q60L2,q60L1,q60L0在09之間循環(huán),這樣完成了059的計(jì)數(shù)功能。2)VHDL語言設(shè)計(jì)VHDL語言設(shè)計(jì)時(shí),整體設(shè)計(jì)一個(gè)帶清零功能的60進(jìn)制計(jì)數(shù)器的BCD碼計(jì)數(shù)器。輸出低四位為outbcd3.0,高四位為outbce7.0。60進(jìn)制計(jì)數(shù)器VHDL語言:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY bcd60 isPOR

7、T(clk:IN STD_LOGIC;reset:IN STD_LOGIC;c:OUT STD_LOGIC;daout:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END bcd60;ARCHITECTURE a OF bcd60 ISSIGNAL count: STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(clk,reset)BEGINif(reset = 1)thencount elsif(clkevent AND clk=1)thenif(count if(count(3 downto 0)=1001)thencount els

8、ecount c end if;elsecount c end if;end if;END PROCESS;daout END a;4.3二十四進(jìn)制計(jì)數(shù)器1)原理圖設(shè)計(jì)原理圖設(shè)計(jì)時(shí),用74160設(shè)計(jì)一個(gè)帶清零功能的24進(jìn)制BCD碼計(jì)數(shù)器。q24H3,q24H2,q24H1,q24H0 為輸出的高四位,其在00000010即02之間循環(huán),q24L3, q24L2,q24L1,q24L0為輸入的低四位,其在00001001即在09之間循環(huán)。后一個(gè)74160在計(jì)數(shù)脈沖作用下計(jì)數(shù),當(dāng)?shù)?后,再一個(gè)脈沖便產(chǎn)生進(jìn)位信號,RCO端產(chǎn)生一個(gè)脈沖送到前一個(gè)74160使之加一。當(dāng)前一個(gè)74160為2,后有一個(gè)74

9、160為3時(shí)產(chǎn)生清零信號,使兩個(gè)計(jì)數(shù)器同時(shí)清零。這樣便完成24進(jìn)制計(jì)數(shù)。24進(jìn)制計(jì)數(shù)器原理圖:24進(jìn)制計(jì)數(shù)器仿真波形2)VHDL語言設(shè)計(jì)VHDL語言設(shè)計(jì)時(shí),整體設(shè)計(jì)一個(gè)帶清零功能的24進(jìn)制BCD碼計(jì)數(shù)器。24進(jìn)制BCD碼VHDL語言代碼:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY bcd24 isPORT(clk:IN STD_LOGIC;reset:IN STD_LOGIC;c:OUT STD_LOGIC;daout:O

10、UT STD_LOGIC_VECTOR(7 DOWNTO 0);END bcd24;ARCHITECTURE a OF bcd24 ISSIGNAL count: STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(clk,reset)BEGINif(reset = 1)thencount elsif(clkevent AND clk=1)thenif(count(3 downto 0)=1001)thenif(count count elsecount end if;elsif(count count celsecount cend if;end if;END

11、 PROCESS;daout END a;4.4整點(diǎn)報(bào)時(shí)模塊(數(shù)據(jù)選擇器)1)原理圖整點(diǎn)報(bào)時(shí)是數(shù)字鐘最基本功能電路之一。要求在離整點(diǎn)10s時(shí)進(jìn)行報(bào)時(shí),即當(dāng)時(shí)間在59:51、59:53、59:55、59:57時(shí)以低音512Hz信號持續(xù)1s發(fā)出整點(diǎn)報(bào)時(shí)的預(yù)警聲,在59:59時(shí)以高音1024Hz信號持續(xù)1s發(fā)出整點(diǎn)報(bào)時(shí)聲。當(dāng)59:5X時(shí),小時(shí)輸出的八位數(shù)是01011001,分的八位數(shù)是0101XXXX。將其中高電平對應(yīng)得管腳接到與非門,當(dāng)計(jì)數(shù)器到達(dá)59:5X時(shí)與非門的輸出為0,將4選1數(shù)據(jù)選擇器打開。將秒信號的個(gè)位sLa、sLd分別接到4選1數(shù)據(jù)選擇器地址端A、B。如圖:從真值表看出:mLd mLc

12、 mLb mLa 顯示十進(jìn)制數(shù)mLd mLa組合0 0 0 0 0 000 0 0 1 1 010 0 1 0 2 000 0 1 1 3 010 1 0 0 4 000 1 0 1 5 010 1 1 0 6 000 1 1 1 7 011 0 0 0 8 001 0 0 1 9 01當(dāng)59:51、59:53、59:55、59:57時(shí),mLa、mLd為01,從上圖看出選中2C1端口,喇叭發(fā)出512Hz低音信號。當(dāng)59:59是,mLa、mLd為11.從上圖看出選中端口2C3,喇叭發(fā)出1024Hz 高音信號。2)VHDL語言代碼LIBRARY IEEE;USE IEEE.STD_LOGIC_11

13、64.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY baoshi isPORT(clock:IN STD_LOGIC;clk1024,clk512:IN STD_LOGIC;tm,tc:IN STD_LOGIC_VECTOR(7 DOWNTO 0);speaker:OUT STD_LOGIC);END baoshi;ARCHITECTURE a OF baoshi ISBEGINPROCESS(tm,tc,clock)beginif(tm = 01011001 AND tc(7 downto 4)

14、=0101 AND tc(0)=1)then if(tc(3 downto 0)= 1001)thenspeaker elsespeaker end if;elsespeaker end if;END PROCESS;END a;4.5校時(shí)校分模塊校時(shí)校分電路中用到2選1電路進(jìn)行信號選擇。原理圖:仿真波形:VHDL語言代碼:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux21 isPORT(a,b:IN STD_LOGIC;s:IN STD_LOGIC;y:OUT STD_LOGIC);END mux21;ARCHITECTURE one

15、OF mux21 ISBEGINPROCESS(a,b,s)BEGINif(s=0)thenyelseyend if;END PROCESS;END one;2選1數(shù)據(jù)選擇器頂層文件2選1電路接在前級向后間進(jìn)位信號之間。2選1電路輸入信號一個(gè)是前級向后級的進(jìn)位信號,另一個(gè)是1Hz信號。當(dāng)SEL信號等于1時(shí)選擇A端信號,輸入下級時(shí)鐘端的信號為1Hz信號,實(shí)現(xiàn)校時(shí)、校分;當(dāng)SEL信號等于0時(shí)選擇B端信號,輸入下級時(shí)鐘端的信號為正常的進(jìn)位信號,實(shí)現(xiàn)正常計(jì)時(shí)。4.6完整數(shù)字鐘1)原理圖設(shè)計(jì)2)仿真圖VHDL語言頂層文件:總體仿真:從仿真圖可以看出,所設(shè)計(jì)時(shí)鐘具備校時(shí)、校分、清零、整點(diǎn)報(bào)時(shí)的功能,符合課程設(shè)計(jì)要求。4.7開發(fā)平臺及硬件顯示結(jié)果開發(fā)平臺:GW48-CK EDA 實(shí)驗(yàn)開發(fā)系統(tǒng)編號00067058帶MAX+PLUSII 軟件PC機(jī)硬件顯示結(jié)果:五、課程設(shè)計(jì)總結(jié)本次可編程邏輯電路課程設(shè)計(jì)在設(shè)計(jì)系統(tǒng)以及畫原理圖和編寫程序過程當(dāng)中,由于對可編程邏輯電路不太熟悉以及對MAX+PLUSII軟件的運(yùn)用也很生疏,我們遇到了很多問題,并且對遇到的問題也只能在網(wǎng)上搜索或請教老師,但

溫馨提示

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

評論

0/150

提交評論