EDA數(shù)字鐘的設(shè)計實驗報告_第1頁
EDA數(shù)字鐘的設(shè)計實驗報告_第2頁
EDA數(shù)字鐘的設(shè)計實驗報告_第3頁
EDA數(shù)字鐘的設(shè)計實驗報告_第4頁
EDA數(shù)字鐘的設(shè)計實驗報告_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

成績指導(dǎo)教師日期五邑大學(xué)實驗報告實驗課程名稱:EDA實驗 院系名稱:信息工程學(xué)院 專業(yè)名稱:通信工程(物聯(lián)網(wǎng))(一)實驗?zāi)康模?/p>

設(shè)計并實現(xiàn)具有一定功能的數(shù)字鐘。掌握各類計數(shù)器及它們相連的設(shè)計方法,掌握多個數(shù)碼管顯示的原理與方法,掌握FPGA的層次化設(shè)計方法,掌握VHDL語言的設(shè)計思想以及整個數(shù)字系統(tǒng)的設(shè)計。此數(shù)字鐘具有時,分,秒計數(shù)顯示功能,能實現(xiàn)清零,調(diào)節(jié)小時,分鐘以及整點報時的功能。

(二)實驗器材:

計算機(jī)

一臺,EDA實驗箱

一臺。

(三)實驗原理:實驗內(nèi)容:

1.正常的時、分、秒計時功能,分別由6個數(shù)碼管顯示24小時、60分鐘,60秒鐘的計數(shù)器顯示。

2.按鍵實現(xiàn)“校時”“校分”功能;

3.用揚聲器做整點報時。當(dāng)計時到達(dá)59’50”時鳴叫。

方案:利用試驗箱上的七段碼譯碼器(模式7),采用靜態(tài)顯示,系統(tǒng)時鐘選擇1Hz。整個系統(tǒng)可以是若干文件組成,用PORT

MAP

實現(xiàn)的方式;也可以是一個文件用多進(jìn)程方式實現(xiàn);亦或者是用文本和圖形混合的方式實現(xiàn);亦或者是用LPM參數(shù)化模塊實現(xiàn)。(五)實驗步驟:

1.

新建一個文件夾,命名為shuzizhong.

2.

輸入源程序。打開QuartusⅡ,選擇File→new命令。在New窗口中的DesignFiles欄選擇編譯文件-的語言類型,這里選擇VHDL

File選項。然后在VHDL文本編譯窗口中輸入秒模塊程序。

秒模塊源程序如下:

library

ieee;use

SECOND

isport(clk,clr:in

std_logic;----時鐘/清零信號

sec1,sec0:out

std_logic_vector(3

downto

0);----秒高位/低位

co:out

std_logic);-------輸出/進(jìn)位信號end

SECOND;architecture

SEC

of

SECOND

isbeginprocess(clk,clr)variable

cnt1,cnt0:std_logic_vector(3

downto

0);---計數(shù)beginif

clr='1'

then----當(dāng)ckr為1時,高低位均為0cnt1:="0000";cnt0:="0000";elsif

clk'event

and

clk='1'

thenif

cnt1="0101"

and

cnt0="1000"

then----當(dāng)記數(shù)為58(實際是經(jīng)過59個記時脈沖)co<='1';----進(jìn)位cnt0:="1001";----低位為9elsif

cnt0<"1001"

then----小于9時cnt0:=cnt0+1;----計數(shù)elsecnt0:="0000";if

cnt1<"0101"

then----高位小于5時cnt1:=cnt1+1;elsecnt1:="0000";co<='0';end

if;end

if;end

if;sec1<=cnt1;sec0<=cnt0;end

process;end

SEC;

3.文件存盤。選擇File→Save

As命令,找到已經(jīng)設(shè)立的文件夾,存盤文件名應(yīng)與實體名一致。

4.創(chuàng)建工程。打開并建立新工程管理窗口,選擇File→New

Project

Wizard命令,即彈出設(shè)置窗口,命名為57。

5.將設(shè)計文件加入工程中。單擊Next按鈕,在彈出的對話框中單擊File欄后的按鈕,單擊Add

All按鈕,將與工程相關(guān)的所有VHDL文件都加入此工程。

6.選擇目標(biāo)芯片。單擊Next按鈕,選擇目標(biāo)器件,首先在Device

Family下拉列表框中選擇Cyclone系列。分別選擇Package為TQFP,Pincount為144和Speed

grade為8,選擇此系列的具體芯片為EP3C5E144C8。

7.工具設(shè)置。單擊Next按鈕后,彈出的下一個窗口是EDA工具設(shè)置窗口—EDA

Tool

Settings.

8.結(jié)束設(shè)置。再單擊Next按鈕后即彈出工程設(shè)置統(tǒng)計窗口,單擊Finish按鈕,即已設(shè)定好此工程。

9.全程編譯。選擇Processing→Start

Compilation命令,啟動全程編譯。

10.編譯成功后,將VHDL文件設(shè)置成可調(diào)用的文件。在秒模塊程序文件SECOND處于打開的情況下,選擇菜單File→Creat/Update→Creat

Symbol

Files

for

Current

File,進(jìn)行封裝(元件文件名為SECOND),以便在高層次設(shè)計中調(diào)用。同時,在編譯成功的基礎(chǔ)上,選擇Processing中的Generate

Functional

Simuliation

Netlist生成仿真文件,以方便之后的仿真使用。

11.

選擇File→new命令。在New窗口中的DesignFiles欄選擇編譯文件的語言類型,這里選擇VHDL

File選項。然后在VHDL文本編譯窗口中輸入分模塊程序。然后對分模塊程序進(jìn)行保存、編譯,封裝成可調(diào)用的文件,取名為minute。分模塊的源程序如下:

library

ieee;

use

MINUTE

isport(en,setmin,clr,clk:in

std_logic;----時鐘/清零信號

MIN1,MIN0:out

std_logic_vector(3

downto

0);----秒高位/低位

co:out

std_logic);-------輸出/進(jìn)位信號end

MINUTE;architecture

MIN

of

MINUTE

isbeginprocess(en,setmin,clr,clk)variable

cnt1,cnt0:std_logic_vector(3

downto

0);---計數(shù)beginif

clr='1'

then----當(dāng)ckr為1時,高低位均為0cnt1:="0000";cnt0:="0000";elsif(clk'event

and

clk='1')

thenif

(en='1'

or

setmin='1')

thenif

cnt1="0101"

and

cnt0="1000"

then----當(dāng)記數(shù)為58(實際是經(jīng)過59個記時脈沖)co<='1';----進(jìn)位cnt0:="1001";----低位為9elsif

cnt0<"1001"

then----小于9時cnt0:=cnt0+1;----計數(shù)elsecnt0:="0000";if

cnt1<"0101"

then----高位小于5時cnt1:=cnt1+1;elsecnt1:="0000";co<='0';end

if;end

if;end

if;end

iF;MIN1<=cnt1;MIN0<=cnt0;end

process;end

MIN;

12.

選擇File→new命令。在New窗口中的DesignFiles欄選擇編譯文件的語言類型,這里選擇VHDL

File選項。然后在VHDL文本編譯窗口中輸入小時模塊程序。然后對分模塊程序進(jìn)行保存、編譯,封裝成可調(diào)用的文件,取名為HOUR.

小時模塊的源程序:

library

ieee;use

hour

isport(reset,en

,sethour,clk

:

in

std_logic;

daout

:

out

std_logic_vector(7

downto

0));end

HOUR;architecture

behav

of

HOUR

issignal

count

:

std_logic_vector(3

downto

0);signal

counter

:

std_logic_vector(3

downto

0);beginp1:

process(reset,sethour,en)beginif

reset='1'

then

count<="0000";

counter<="0000";

elsif(clk'event

and

clk='1')

then

if

(en='1'

or

sethour

='1')

then

if

(counter<2)

then

if

(count=9)

then

count<="0000";

counter<=counter

+

1;

else

count<=count+1;

end

if;

else

if

(count=3)

then

count<="0000";

counter<="0000";

else

count<=count+1;

end

if;

end

if;

end

if;

end

if

;

end

process;daout(7

downto

4)<=counter;daout(3

downto

0)<=count;end

behav;

13.

繪制原理圖。選擇File→new命令。在New窗口中的DesignFiles欄選擇編譯文件的語言類型,這里選擇Block

Diagram/Schematic選項,按OK按鈕后將打開原理圖編輯窗口。雙擊原理圖編輯窗口任何位置,彈出輸入文件的對話框,分別在Name欄鍵入元件名input、SECOND、minute、HOUR和輸出引腳output,并用單擊拖動的方法參考電路圖接好電路,作為本項工程的頂層電路原理設(shè)計圖。

14.全程編譯。選擇Processing→Start

Compilation命令,啟動全程編譯。

15.引腳鎖定。

選擇Assignments→Assignments

Edi按模式七設(shè)置設(shè)置相應(yīng)引腳。

16.

編譯文件下載。打開編程窗和配置文件。首先將適配板上的JTAG口和USB或并口通信線連好,打開電源,在工程管理窗口選擇Tool→Programmer命令,彈出如圖所示的編程窗口,編程模式選擇JPEG,并選中下載文件右側(cè)的第一個小方框。

17.設(shè)置編程器。選擇USB-Blaster,單擊左上角的Hardware

Setup按鈕,在彈出的窗口中設(shè)置下載接口方式。向FPGA下載SOF文件前,要選擇打鉤Program/Configure項,最后單擊下載標(biāo)示符Start按鈕,即進(jìn)入對目標(biāo)器件FPGA的配置下載操作。當(dāng)Progress顯示出100%以及在底部的處理欄中出現(xiàn)“Configuration

Succeeded”時,便是編程成功。

18.觀察數(shù)碼管的秒、分鐘和小時的情況。(六)實驗結(jié)果:秒模塊編譯成功:

生成波形文件成功:仿真成功:數(shù)字鐘編譯成功:仿真成功:選擇芯片類型:引腳鎖定:下

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論