版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> EDA課程設(shè)計(jì)報(bào)告</b></p><p> 設(shè)計(jì)題目: 數(shù)字時(shí)鐘設(shè)計(jì) </p><p> 專 業(yè): 通信技術(shù) </p><p> 姓 名: </p><p> 學(xué) 號(hào):
2、</p><p> 指導(dǎo)老師: </p><p><b> 前 言</b></p><p> 隨著基于PLD的EDA技術(shù)的發(fā)展和應(yīng)用領(lǐng)域的擴(kuò)大和深入,EDA技術(shù)在電子信息、通信、自動(dòng)控制及計(jì)算機(jī)應(yīng)用領(lǐng)域的重要性日益提高。</p><p> 作為現(xiàn)在的大學(xué)生應(yīng)熟練掌握這門技術(shù),為以后的
3、發(fā)展打下良好的基礎(chǔ),本實(shí)驗(yàn)設(shè)計(jì)是應(yīng)用QuartusII環(huán)境及VHDL語言設(shè)計(jì)一個(gè)時(shí)間可調(diào)的數(shù)字時(shí)鐘。使自己熟練使用QuartusII環(huán)境來進(jìn)行設(shè)計(jì),掌握VHDL語言的設(shè)計(jì)方法。要注重理論與實(shí)踐之間的不同,培養(yǎng)自己的實(shí)踐能力!</p><p> 一、課程設(shè)計(jì)任務(wù)及要求</p><p><b> 1.1實(shí)驗(yàn)?zāi)康?lt;/b></p><p> 1)
4、掌握VHDL語言的基本運(yùn)用</p><p> 2)掌握QuartusII的簡(jiǎn)單操作并會(huì)使用EDA實(shí)驗(yàn)箱</p><p> 3)掌握一個(gè)基本EDA課程設(shè)計(jì)的操作</p><p><b> 1.2功能設(shè)計(jì)</b></p><p> 1)有時(shí)、分、秒計(jì)數(shù)顯示功能,小時(shí)為24進(jìn)制,分鐘和秒為60進(jìn)制以24小時(shí)循環(huán)計(jì)時(shí)&l
5、t;/p><p> 2)設(shè)置復(fù)位、清零等功能</p><p> 3)有校時(shí)功能,可以分別對(duì)時(shí)及分進(jìn)行單獨(dú)校時(shí),使其校正到標(biāo)準(zhǔn)時(shí)間</p><p> 4)時(shí)鐘計(jì)數(shù)顯示時(shí)有LED燈顯示;</p><p><b> 二、整體設(shè)計(jì)思想</b></p><p> 2.1性能指標(biāo)及功能設(shè)計(jì) </p
6、><p> 1)時(shí)、分、秒計(jì)時(shí)器</p><p> 時(shí)計(jì)時(shí)器為一個(gè)24進(jìn)制計(jì)數(shù)器,分、秒計(jì)時(shí)器均為60進(jìn)制計(jì)數(shù)器。當(dāng)秒計(jì)時(shí)器接受到一個(gè)秒脈沖時(shí),秒計(jì)數(shù)器開始從1計(jì)數(shù)到60,此時(shí)秒顯示器將顯示00、01、02、...、59、00;每當(dāng)秒計(jì)數(shù)器數(shù)到00時(shí),就會(huì)產(chǎn)生一個(gè)脈沖輸出送至分計(jì)時(shí)器,此時(shí)分計(jì)數(shù)器數(shù)值在原有基礎(chǔ)上加1,其顯示器將顯示00、01、02、...、59、00;每當(dāng)分計(jì)數(shù)器數(shù)到00
7、時(shí),就會(huì)產(chǎn)生一個(gè)脈沖輸出送至?xí)r計(jì)時(shí)器,此時(shí)時(shí)計(jì)數(shù)器數(shù)值在原有基礎(chǔ)上加1,其顯示器將顯示00、01、02、...、23、00。即當(dāng)數(shù)字鐘運(yùn)行到23點(diǎn)59分59秒時(shí),當(dāng)秒計(jì)時(shí)器在接受一個(gè)秒脈沖,數(shù)字鐘將自動(dòng)顯示00點(diǎn)00分00秒。</p><p><b> 2)校時(shí)電路</b></p><p> 當(dāng)開關(guān)撥至校時(shí)檔時(shí),電子鐘秒計(jì)時(shí)工作,通過時(shí)、分校時(shí)開關(guān)分別對(duì)時(shí)、分進(jìn)行
8、校對(duì),開關(guān)每按1次,與開關(guān)對(duì)應(yīng)的時(shí)或分計(jì)數(shù)器加1,當(dāng)調(diào)至需要的時(shí)與分時(shí),撥動(dòng)reset開關(guān),電子鐘從設(shè)置的時(shí)間開始往后計(jì)時(shí)。</p><p><b> 2.2總體方框圖</b></p><p><b> 三、詳細(xì)設(shè)計(jì)</b></p><p> 3.1數(shù)字鐘的基本工作原理:</p><p>
9、3.1.1時(shí)基T 產(chǎn)生電路</p><p> 數(shù)字鐘以其顯示時(shí)間的直觀性、走時(shí)準(zhǔn)確性作為一種計(jì)時(shí)工具,數(shù)字鐘的基本組成部分離不開計(jì)數(shù)器,在控制邏輯電路的控制下完成預(yù)定的各項(xiàng)功能。</p><p> 由晶振產(chǎn)生的頻率非常穩(wěn)定的脈沖,經(jīng)整形、穩(wěn)定電路后,產(chǎn)生一個(gè)頻率為1Hz的、非常穩(wěn)定的計(jì)數(shù)時(shí)鐘脈沖。</p><p> 3.1.2調(diào)時(shí)、調(diào)分信號(hào)的產(chǎn)生</p&
10、gt;<p> 由計(jì)數(shù)器的計(jì)數(shù)過程可知,正常計(jì)數(shù)時(shí),當(dāng)秒計(jì)數(shù)器(60進(jìn)制)計(jì)數(shù)到59 時(shí),再來一個(gè)脈沖,則秒計(jì)數(shù)器清零,重新開始新一輪的計(jì)數(shù),而進(jìn)位則作為分計(jì)數(shù)器的計(jì)數(shù)脈沖,使分計(jì)數(shù)器計(jì)數(shù)加1。現(xiàn)在我們把電路稍做變動(dòng):把秒計(jì)數(shù)器的進(jìn)位脈沖和一個(gè)頻率為2Hz的脈沖信號(hào)同時(shí)接到一個(gè)2選1數(shù)據(jù)選擇器的兩個(gè)數(shù)據(jù)輸入端,而位選信號(hào)則接一個(gè)脈沖按鍵開關(guān),當(dāng)按鍵開關(guān)不按下去時(shí)(即為0),則數(shù)據(jù)選擇器將秒計(jì)數(shù)器的進(jìn)位脈沖送到分計(jì)數(shù)器,此
11、時(shí),數(shù)字鐘正常工作;當(dāng)按鍵開關(guān)按下去時(shí)(即為1),則數(shù)據(jù)選擇器將另外一個(gè)2Hz 的信號(hào)作為分計(jì)數(shù)器的計(jì)數(shù)脈沖,使其計(jì)數(shù)頻率加快,當(dāng)達(dá)到正確時(shí)間時(shí),松開按鍵開關(guān),從而達(dá)到調(diào)時(shí)的目的。調(diào)節(jié)小時(shí)的時(shí)間也一樣的實(shí)現(xiàn)。</p><p> 3.1.3計(jì)數(shù)顯示電路</p><p> 由計(jì)數(shù)部分、數(shù)據(jù)選擇器、譯碼器組成,是時(shí)鐘的關(guān)鍵部分。</p><p> 1、計(jì)數(shù)部分:由兩
12、個(gè)60進(jìn)制計(jì)數(shù)器和一個(gè)24 進(jìn)制計(jì)數(shù)器組成,其中60 進(jìn)制計(jì)數(shù)器可用6 進(jìn)制計(jì)數(shù)器和10 進(jìn)制計(jì)數(shù)器構(gòu)成;24 進(jìn)制的小時(shí)計(jì)數(shù)同樣可用6 進(jìn)制計(jì)數(shù)器和10 進(jìn)制計(jì)數(shù)器得到:當(dāng)計(jì)數(shù)器計(jì)數(shù)到24 時(shí),“2”和“4”同時(shí)進(jìn)行清零,則可實(shí)現(xiàn)24 進(jìn)制計(jì)數(shù)。</p><p> 2、數(shù)據(jù)選擇器:84 輸入14 輸出的多路數(shù)據(jù)選擇器,因?yàn)楸緦?shí)驗(yàn)用到了8個(gè)數(shù)碼管(有兩個(gè)用來產(chǎn)生隔離符號(hào)‘—’)。</p><
13、p> 3、譯碼器:七段譯碼器。譯碼器必須能譯出‘—’,由實(shí)驗(yàn)二中譯碼器真值表可得:字母F 的8421BCD 碼為“1111”,譯碼后為“1000111”,現(xiàn)在如果只譯出‘—’,即字母F的中間一橫,則譯碼后應(yīng)為“0000001”,這樣,在數(shù)碼管上顯示的就為‘—’。</p><p><b> 3.2設(shè)計(jì)思路</b></p><p> 根據(jù)系統(tǒng)設(shè)計(jì)要求,系統(tǒng)設(shè)計(jì)
14、采用自頂向下設(shè)計(jì)方法,由時(shí)鐘分頻部分、計(jì)時(shí)部分、按鍵部分調(diào)時(shí)部分和顯示部分五個(gè)部分組成。這些模塊都放在一個(gè)頂層文件中。</p><p><b> 1)時(shí)鐘計(jì)數(shù):</b></p><p> 首先下載程序進(jìn)行復(fù)位清零操作,電子鐘從00:00:00計(jì)時(shí)開始。sethour可以調(diào)整時(shí)鐘的小時(shí)部分, setmin可以調(diào)整分鐘,步進(jìn)為1。</p><p&g
15、t; 由于電子鐘的最小計(jì)時(shí)單位是1s,因此提供給系統(tǒng)的內(nèi)部的時(shí)鐘頻率應(yīng)該大于1Hz,這里取100Hz。CLK端連接外部10Hz的時(shí)鐘輸入信號(hào)clk。對(duì)clk進(jìn)行計(jì)數(shù),當(dāng)clk=10時(shí),秒加1,當(dāng)秒加到60時(shí),分加1;當(dāng)分加到60時(shí),時(shí)加1;當(dāng)時(shí)加到24時(shí),全部清0,從新計(jì)時(shí)。</p><p> 用6位數(shù)碼管分別顯示“時(shí)”、“分”、“秒”,通過OUTPUT( 6 DOWNTO 0 )上的信號(hào)來點(diǎn)亮指定的LED七
16、段顯示數(shù)碼管。</p><p><b> 時(shí)間設(shè)置:</b></p><p> 手動(dòng)調(diào)節(jié)分鐘、小時(shí),可以對(duì)所設(shè)計(jì)的時(shí)鐘任意調(diào)時(shí)間,這樣使數(shù)字鐘真正具有使用功能。我們可以通過實(shí)驗(yàn)板上的鍵7和鍵4進(jìn)行任意的調(diào)整,因?yàn)槲覀冇玫臅r(shí)鐘信號(hào)均是1HZ的,所以每LED燈變化一次就來一個(gè)脈沖,即計(jì)數(shù)一次。</p><p><b> 3)清零功能
17、:</b></p><p> reset為復(fù)位鍵,低電平時(shí)實(shí)現(xiàn)清零功能,高電平時(shí)正常計(jì)數(shù)??梢愿鶕?jù)我們自己任意時(shí)間的復(fù)位。</p><p><b> 3.3設(shè)計(jì)步驟</b></p><p> 3.3.1工程建立及存盤</p><p> 1.打開 QuartusⅡ,單擊“File”菜單,選擇 File→
18、New Project Wizard,對(duì)話框如下:分別輸入項(xiàng)目的工作路徑、項(xiàng)目名和實(shí)體名,單擊Finish。</p><p> 2.單擊“File”菜單,選擇New,彈出小對(duì)話框,雙擊“VHDL File",即選中了文本編輯方式。在出現(xiàn)的“Vhdl1.vhd”文本編輯窗中鍵入VHDL程序,輸入完畢后,選擇File→Save As,即出現(xiàn)“Save As”對(duì)話框。選擇自己建立好的存放本文件的目錄,然后在
19、文件名框中鍵入文件名,按“Save”按鈕。</p><p> 3. 建立工程項(xiàng)目,在保存VHDL文件時(shí)會(huì)彈出是否建立項(xiàng)目的小窗口,點(diǎn)擊“Yes”確定。即出現(xiàn)建立工程項(xiàng)目的導(dǎo)航窗口,點(diǎn)擊“Next”,最后在出現(xiàn)的屏幕中分別鍵入新項(xiàng)目的工作路徑、項(xiàng)目名和實(shí)體名。選擇芯片EP2C35F672C6。注意,原理圖輸入設(shè)計(jì)方法中,存盤的原理圖文件名可以是任意的,但VHDL程序文本存盤的文件名必須與文件的實(shí)體名一致,輸入后,
20、單擊“Finish”按鈕。</p><p> 3.3.2工程項(xiàng)目的編譯</p><p> 單擊工具條上的編譯符號(hào)開始編譯,編譯后進(jìn)行“打包”操作。生成模塊器件。</p><p><b> 3.3.4時(shí)序仿真</b></p><p> 建立波形文件:選擇 File→New,在New窗中選中“Other File”標(biāo)
21、簽。在出現(xiàn)的屏幕中選擇“Vector Waveform File”項(xiàng)出現(xiàn)一新的屏幕。在出現(xiàn)的新屏幕中,雙擊“Name”下方的空白處,彈出“Insert Nod or Bus”對(duì)話框,單擊該對(duì)話框的“Node Finder……”。在屏幕中的 Filter 中選擇 Pins,單擊“List”。而后,單擊“>>”,所有輸入/輸出都被拷貝到右邊的一側(cè),這些正是我們希望的各個(gè)引腳,也可以只選其中的的一部分,根據(jù)實(shí)際情況決定。然后單擊屏
22、幕右上腳的 “OK”。在出現(xiàn)的小屏幕上單擊“OK”。 </p><p> 設(shè)定仿真時(shí)間寬度。選擇 Edit → End time…選項(xiàng),在End time選擇窗中選擇適當(dāng)?shù)姆抡鏁r(shí)間域,以便有足夠長(zhǎng)的觀察時(shí)間。</p><p> 波形文件存盤。選擇File→Save as 選項(xiàng),直接存盤即可。</p><p> 運(yùn)行仿真器。在菜單中選擇項(xiàng),直到出現(xiàn),仿真結(jié)束。&
23、lt;/p><p><b> 未曾編輯的仿真波形</b></p><p><b> 仿真波形</b></p><p><b> 3.3.5引腳鎖定</b></p><p> 將設(shè)計(jì)編程下載進(jìn)選定的目標(biāo)器件中,如EPF10K10,作進(jìn)一步的硬件測(cè)試,將設(shè)計(jì)的所有輸入輸出引腳分
24、別與目標(biāo)器件的EPF10K10的部分引腳相接,操作如下:</p><p> 1.選擇 Assignments → Assignments Editor ,即進(jìn)入 Assignments Editor編輯器。在Category 欄選擇 Pin,或直接單擊右上側(cè)的 Pin 按鈕。</p><p> 2.雙擊 TO 欄的《new》,在出現(xiàn)的的下拉欄中選擇對(duì)應(yīng)的端口信號(hào)名(如 D[0]);然后
25、雙擊對(duì)應(yīng)的欄的《new》,在出現(xiàn)的下拉欄中選擇對(duì)應(yīng)的端口信號(hào)名的期間引腳號(hào)。</p><p> 3.最后存儲(chǔ)這些引腳鎖定信息后,必須再編譯(啟動(dòng) )一次,才能將引腳鎖定信息編譯進(jìn)編程下載文件中。此后就可以準(zhǔn)備將編譯好的 SOF 文件下載到試驗(yàn)系統(tǒng)的FPGA中去了。</p><p><b> 引腳鎖定</b></p><p><b>
26、; 3.3.6硬件測(cè)試</b></p><p> 1.首先將下載線把計(jì)算機(jī)的打印機(jī)口與目標(biāo)板(如開發(fā)板或?qū)嶒?yàn)板)連接好,打開電源,選擇模式7。</p><p> 2.打開編輯窗和配置文件。選擇,彈出一個(gè)編輯窗。在Mode欄中選擇JTAG,并在選項(xiàng)下的小方框打勾。注意核對(duì)下載文件路徑與文件名。如果文件沒有出現(xiàn)或者出錯(cuò),單擊左Add file側(cè)按鈕,手動(dòng)選擇配置文件 cloc
27、k.sof。</p><p> 3.最后單擊下載標(biāo)符Start,即進(jìn)入對(duì)目標(biāo)器件 FPGA 的配置下載操作。當(dāng) Progress 顯示100%,以及在底部的處理欄中出現(xiàn) Configuration Succeeded 時(shí),表示編程成功,如圖所示。注意,如果必要時(shí),可再次單擊 Start ,直至編程成功。</p><p> 4.下載完成后,通過硬件測(cè)試進(jìn)一步確定設(shè)計(jì)是否達(dá)到所有的技術(shù)指標(biāo)
28、,如未達(dá)到,可逐步檢查,哪部分出現(xiàn)問題。如果是代碼出現(xiàn)問題,須修改代碼;若是時(shí)序波形圖有問題,須重新設(shè)置。</p><p><b> 3.3.7實(shí)驗(yàn)結(jié)果</b></p><p> 實(shí)驗(yàn)箱使用模式7,鍵8為復(fù)位按鍵,鍵8為1時(shí)正常工作。鍵4設(shè)置小時(shí),鍵7設(shè)置分鐘。</p><p> 下載成功后,按下鍵8,及使六個(gè)LED復(fù)位清零,顯示數(shù)秒的自
29、動(dòng)計(jì)時(shí),可以通過4鍵設(shè)置小時(shí)數(shù),7鍵設(shè)置分鐘數(shù)。當(dāng)秒數(shù)滿60則進(jìn)一位,分鐘數(shù)滿60進(jìn)一位,當(dāng)顯示為23:59:59時(shí),秒數(shù)在加一則顯示00:00:00,之后從新計(jì)時(shí)。</p><p><b> 四、設(shè)計(jì)總結(jié)</b></p><p> 通過這次課程設(shè)計(jì),我進(jìn)一步加深了對(duì)電子設(shè)計(jì)自動(dòng)化的了解。并進(jìn)一步熟練了對(duì)QuartusII軟件的操作。在編寫程序的過程中,遇到了很多
30、問題,使我發(fā)現(xiàn)自己以前學(xué)習(xí)上存在的不足。通過與同學(xué)探討和請(qǐng)教老師,終于把問題都解決了,并加深了對(duì)數(shù)字時(shí)鐘原理和設(shè)計(jì)思路的了解。</p><p> 同時(shí)也掌握了做課程設(shè)計(jì)的一般流程,為以后的設(shè)計(jì)積累了一定的經(jīng)驗(yàn)。做課程設(shè)計(jì)時(shí),先查閱相關(guān)知識(shí),把原理吃透,確定一個(gè)大的設(shè)計(jì)方向,在按照這個(gè)方向分模塊的把要實(shí)現(xiàn)的功能用流程圖的形式展示。最后參照每個(gè)模塊把輸入和輸出引腳設(shè)定,運(yùn)用我們所學(xué)的VHDL語言進(jìn)行編程??傊?,通過
31、這次的設(shè)計(jì),進(jìn)一步了解了EDA技術(shù),收獲很大,對(duì)軟件編程、排錯(cuò)調(diào)試、相關(guān)儀器設(shè)備的使用技能等方面得到較全面的鍛煉和提高。</p><p> 在此,也感謝康老師的悉心指導(dǎo),使自己學(xué)到了很多東西??!</p><p><b> 五、附錄</b></p><p> 5.1 VHDL源程序</p><p><b>
32、 Alert模塊</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY alert IS</p><p>
33、 PORT(clk:IN STD_LOGIC;</p><p> dain:IN STD_LOGIC_VECTOR(6 DOWNTO 0);</p><p> speak:OUT STD_LOGIC;</p><p> lamp:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));</p><p> END aler
34、t;</p><p> ARCHITECTURE fun OF alert IS </p><p> SIGNAL count:STD_LOGIC_VECTOR(1 DOWNTO 0);</p><p> SIGNAL count1:STD_LOGIC_VECTOR(1 DOWNTO 0);</p><p><b> BEG
35、IN</b></p><p> speaker:PROCESS(clk)</p><p><b> BEGIN</b></p><p> --speak<=count1(1);</p><p> IF(clk'event and clk='1')THEN</p>
36、;<p> IF(dain="0000000")THEN</p><p> speak<=count1(1);</p><p> IF(count1>="10")THEN</p><p> count1<="00";--count1
37、 ELSE</p><p> count1<=count1+1;</p><p> --speak<=count1(0);</p><p><b> END IF ; </b></p><p><b> END IF ;</b></p&
38、gt;<p><b> END IF ; </b></p><p> END PROCESS speaker;</p><p> lamper:PROCESS(clk)</p><p><b> BEGIN</b></p><p> IF(rising_edge(clk))
39、THEN</p><p> IF(count<="10")THEN</p><p> IF(count="00")THEN</p><p> lamp<="001";-</p><p> ELSIF(count="01")THEN</p&
40、gt;<p> lamp<="010";</p><p> ELSIF(count="10")THEN</p><p> lamp<="100";</p><p><b> END IF;</b></p><p> count
41、<=count+1;</p><p><b> ELSE</b></p><p> count<="00";</p><p><b> END IF;</b></p><p><b> END IF;</b></p><
42、;p> END PROCESS lamper;</p><p><b> END fun;</b></p><p><b> Hour模塊</b></p><p> LIBRARY IEEE;</p><p> use IEEE.STD_LOGIC_1164.ALL;</p&g
43、t;<p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY hour IS</p><p> PORT(clk,reset:IN STD_LOGIC;</p><p> daout:out STD_LOGIC_VECTOR(5 DOWNTO 0));</p><p>
44、 END ENTITY hour;</p><p> ARCHITECTURE fun OF hour IS</p><p> SIGNAL count:STD_LOGIC_VECTOR(5 DOWNTO 0); </p><p><b> BEGIN</b></p><p> daout<=count;
45、</p><p> PROCESS(clk,reset)</p><p><b> BEGIN</b></p><p> IF(reset='0')THEN count<="000000"; </p><p> ELSIF(clk'event and clk=&
46、#39;1')THEN </p><p> IF(count(3 DOWNTO 0)="1001")THEN </p><p> IF(count<16#23#)THEN </p><p> count<=count+7; </p><
47、p><b> else</b></p><p> count<="000000"; </p><p><b> END IF;</b></p><p> ELSIF (count<16#23#)THEN </p><p>
48、 count<=count+1;</p><p> ELSE </p><p> count<="000000";</p><p> END IF; --END IF(count(3 DOWNTO 0)="1001")</p><p>
49、END IF; --END IF(reset='0')</p><p> END PROCESS;</p><p><b> END fun;</b></p><p><b> Minute模塊</b></p><p> LIBRARY IEEE;
50、</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY minute IS</p><p> PORT(clk,clk1,reset,sethour:IN STD_LOGIC; </p>
51、;<p> enhour:OUT STD_LOGIC;</p><p> daout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));</p><p> END ENTITY minute ;</p><p> ARCHITECTURE fun OF minute IS</p><p> SIGNA
52、L count :STD_LOGIC_VECTOR (6 DOWNTO 0);</p><p> SIGNAL enhour_1, enhour_2: STD_LOGIC; --enmin_</p><p> BEGIN --enmin_2</p><p> daout<=count;</p>
53、<p> enhour_2<= (sethour and clk1); --sethour</p><p> enhour<= (enhour_1 or enhour_2);</p><p> PROCESS(clk,reset,sethour)</p><p><b> BEGIN </b></p>
54、<p> IF(reset='0') THEN </p><p> count<="0000000";</p><p> ELSIF(clk'event and clk='1')THEN </p><p> IF(count (3 DOWNTO 0) ="1001&q
55、uot;)THEN</p><p> IF(count <16#60#) THEN </p><p> IF(count="1011001") THEN-</p><p> enhour_1<='1';</p><p> count<="0000000
56、"; --count</p><p> ELSE </p><p> count<=count+7; </p><p><b> END IF; </b></p><p><b> ELSE</b></p><p> cou
57、nt<="0000000";--count</p><p> END IF; --END IF(count<16#60#)</p><p> ELSIF (count <16#60#) THEN</p><p> count<=count+1; </p><p> enhour_1&l
58、t;='0' after 100 ns; </p><p> ELSE </p><p> count<="0000000"; </p><p> END IF; --END IF(count(3 DOWNTO 0)="1001")</p><p&
59、gt; END IF; --END IF(reset='0')</p><p> END process;</p><p><b> END fun;</b></p><p><b> Second模塊</b></p><p> LIBRARY IEEE;</p>
60、;<p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY second IS</p><p> PORT( clk,reset,setmin:STD_LOGIC;</p><p> enmin
61、:OUT STD_LOGIC;</p><p> daout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));</p><p> END ENTITY second;</p><p> ARCHITECTURE fun OF second IS</p><p> SIGNAL count:STD_LOGIC_VEC
62、TOR(6 DOWNTO 0);</p><p> SIGNAL enmin_1,enmin_2:STD_LOGIC; </p><p> BEGIN </p><p> daout<=count;</p><p> enmin_2<=(setmin and clk); --set
63、min</p><p> enmin<=(enmin_1 or enmin_2); --enmin</p><p> PROCESS(clk,reset,setmin)</p><p><b> BEGIN</b></p><p> IF(reset='0')THEN count<=&
64、quot;0000000";</p><p> ELSIF(clk 'event and clk='1')then </p><p> IF(count(3 downto 0)="1001")then </p><p> IF(count<16#60#)then </p><
65、;p> IF(count="1011001")then </p><p> enmin_1<='1';count<="0000000";</p><p><b> ELSE </b></p><p> count<=count+7;</p>
66、;<p><b> END IF;</b></p><p><b> ELSE </b></p><p> count<="0000000"; </p><p> END IF; </p><p> ELSIF
67、(count<16#60#)then </p><p> count<=count+1; </p><p> enmin_1<='0'after 100 ns; </p><p> ELSE </p><p> count<="000000
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- eda數(shù)字時(shí)鐘課程設(shè)計(jì)
- eda課程設(shè)計(jì)——數(shù)字時(shí)鐘設(shè)計(jì)
- eda課程設(shè)計(jì)---數(shù)字時(shí)鐘(鬧鐘)
- eda課程設(shè)計(jì)--數(shù)字時(shí)鐘的設(shè)計(jì)
- eda_課程設(shè)計(jì)報(bào)告--數(shù)字時(shí)鐘設(shè)計(jì)
- eda課程設(shè)計(jì)---多功能數(shù)字時(shí)鐘報(bào)告
- eda課程設(shè)計(jì)---關(guān)于多功能數(shù)字時(shí)鐘的設(shè)計(jì)
- eda課程設(shè)計(jì)報(bào)告---數(shù)字時(shí)鐘倒計(jì)時(shí)
- eda課程設(shè)計(jì)——基于vhdl語言的數(shù)字時(shí)鐘設(shè)計(jì)
- eda課程設(shè)計(jì)報(bào)告(多功能數(shù)字時(shí)鐘的設(shè)計(jì))
- eda課程設(shè)計(jì)---電子時(shí)鐘
- eda課程設(shè)計(jì)--電子時(shí)鐘
- eda課程設(shè)計(jì)-- eda與數(shù)字系統(tǒng)課程設(shè)計(jì)
- 數(shù)字時(shí)鐘課程設(shè)計(jì)
- 數(shù)字時(shí)鐘課程設(shè)計(jì)
- eda課程設(shè)計(jì)--數(shù)字秒表設(shè)計(jì)
- 課程設(shè)計(jì)--數(shù)字時(shí)鐘
- 數(shù)字時(shí)鐘課程設(shè)計(jì)
- 數(shù)字時(shí)鐘課程設(shè)計(jì)
- 數(shù)字時(shí)鐘課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論