版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1 蕪湖職業(yè)技術(shù)學(xué)院第第10講講 Verilog HDL綜合設(shè)計實踐綜合設(shè)計實踐數(shù)字跑表數(shù)字跑表 十字路口交通燈控制器十字路口交通燈控制器樂曲演奏電路樂曲演奏電路自動售飲料機自動售飲料機 實用多功能數(shù)字鐘實用多功能數(shù)字鐘計費器計費器 本講通過一些多功能數(shù)字的電路設(shè)計進(jìn)一步討論基于Verilog的開發(fā)實踐。這些設(shè)計實例經(jīng)常在數(shù)字電路和相關(guān)課程中遇到。還可以把這些設(shè)計與實際的實驗開發(fā)裝置相結(jié)合,實際觀察設(shè)計效果。2 蕪湖職業(yè)技術(shù)學(xué)院 10.1 數(shù)字跑表 設(shè)計一個數(shù)字跑表,該跑表具有復(fù)位、暫停、秒表計時等功能。該數(shù)字跑表的結(jié)構(gòu)示意圖為: 首先對數(shù)字跑表進(jìn)行結(jié)構(gòu)和功能劃分。跑表設(shè)三個輸入端,分別為時鐘
2、輸入(CLK)、復(fù)位(CLR)和啟動/暫停(PAUSE)按鍵。3 蕪湖職業(yè)技術(shù)學(xué)院 復(fù)位信號的高電平有效,可對跑表進(jìn)行異步清零;當(dāng)啟動/暫停鍵為低電平時,跑表開始計時,為高電平時暫停,變低后在原來的數(shù)值基礎(chǔ)上繼續(xù)計數(shù)。這兩個控制信號的作用如表:表10.1 兩個控制信號的作用 為便于顯示,百分秒、秒、和分鐘信號皆采用BCD碼計數(shù)方式,并直接輸出到6個數(shù)碼管顯示出來。4 蕪湖職業(yè)技術(shù)學(xué)院 0 0 0 0 0 0 分鐘 秒 百分秒 5 9 5 9 9 9 分鐘 秒 百分秒分析:當(dāng)百分秒計數(shù)器加到99時,再加1就會變?yōu)?,并產(chǎn)生向秒級進(jìn)位;這時秒計數(shù)器加1,當(dāng)秒計數(shù)器加到59時,再加1就會變?yōu)?,并產(chǎn)
3、生向分鐘級進(jìn)位;這時分鐘計數(shù)器加1,當(dāng)分鐘計數(shù)器加到59時,再加1就會清零。5 蕪湖職業(yè)技術(shù)學(xué)院 5 9 5 9 9 9 分鐘 秒 百分秒24135高 低 高 低高 低具體分析:當(dāng)百分秒計數(shù)器的低位為9時,再加1變?yōu)?,向百分秒高位進(jìn)位;百分秒高位加1,當(dāng)百分秒高位計數(shù)到9時,再加1變?yōu)?,向秒計數(shù)器進(jìn)位;秒計數(shù)器低位加1,當(dāng)秒低位為9時,再加1變?yōu)?,并向秒高位進(jìn)位;秒高位加1,當(dāng)秒高位計數(shù)到5時,再加1變?yōu)?,并向分鐘進(jìn)位;分鐘低位加1,當(dāng)分鐘低位為9時,再加1變?yōu)?,并向分鐘高位進(jìn)位;分鐘高位加1,當(dāng)分鐘高位為5時,再加1變?yōu)?。6 蕪湖職業(yè)技術(shù)學(xué)院 根據(jù)分析,可將數(shù)字跑表分成三個計時模
4、塊:百分秒計時模塊、秒計時模塊、分鐘計時模塊。百分秒計時依賴時鐘的上升沿或下降沿進(jìn)行加1計數(shù);秒計時依賴百分秒計數(shù)到99100那一時刻進(jìn)行加1計數(shù);分鐘計時依賴秒計數(shù)到5960那一時刻進(jìn)行加1計數(shù)。高 低 1 9高 低2 0高 低 9 9高 低 0 0 百分秒高 低 1 9高 低2 0高 低 5 9高 低 0 0進(jìn)位高 低 1 9高 低2 0高 低 5 9高 低 0 0 秒進(jìn)位 分鐘7 蕪湖職業(yè)技術(shù)學(xué)院信號定義CLK: 時鐘信號CLR : 異步復(fù)位信號PAUSE: 暫停信號MSH、MSL:百分秒的高位和低位SH、SL:秒信號的高位和低位MH、ML:分鐘信號的高位和低位8 蕪湖職業(yè)技術(shù)學(xué)院9 蕪
5、湖職業(yè)技術(shù)學(xué)院10 蕪湖職業(yè)技術(shù)學(xué)院11 蕪湖職業(yè)技術(shù)學(xué)院綜合后數(shù)字跑表的端口連接示意圖:仿真結(jié)果:12 蕪湖職業(yè)技術(shù)學(xué)院 10.2 交通燈控制器 用Verilog語言設(shè)計一個十字路口交通燈控制器,示意圖如下圖所示: A方向和B方向各設(shè)紅(R)、黃(Y)、綠(G)和左拐(L)4盞燈,4種燈按合理的順序亮滅,并能將燈亮的時間以倒計時的形式顯示出來。13 蕪湖職業(yè)技術(shù)學(xué)院功能要求 兩個方向各種燈亮的時間能夠進(jìn)行設(shè)置和修改,此外,假設(shè)A方向是主干路,車流量大,因此A方向通行的時間應(yīng)比B方向長。 交通燈控制器的狀態(tài)轉(zhuǎn)換表如圖所示: 表中,1表示燈亮,0表示燈滅。A方向和B方向的紅、黃、綠和左拐燈分別用
6、R1、Y1、G1、L1和R2、Y2、G2、L2來表示。14 蕪湖職業(yè)技術(shù)學(xué)院 從狀態(tài)轉(zhuǎn)換表中可以看出,每個方向4種燈依次按如下順序點亮,并不斷循環(huán):綠燈黃燈左拐燈黃燈紅燈 并且每個方向紅燈亮的時間應(yīng)該與另一個方向綠、黃、左拐、黃燈亮的時間相等。黃燈所起的作用就是用來在綠燈和左拐燈后進(jìn)行緩沖,以提醒行人該方向馬上要禁行了。設(shè)計實現(xiàn)1、設(shè)計思路 根據(jù)交通燈控制器要實現(xiàn)的功能,考慮用兩個并行執(zhí)行的always模塊來分別控制A和B兩個方向的4盞燈。這兩個always模塊使用同一個時鐘信號,以進(jìn)行同步,也就是說,兩個進(jìn)程的敏感信號是同一個。15 蕪湖職業(yè)技術(shù)學(xué)院 每個always模塊控制一個方向的4種燈
7、按如下順序點亮,并往復(fù)循環(huán): 綠燈黃燈左拐燈黃燈紅燈 每種燈亮的時間采用一個減法計數(shù)器進(jìn)行計數(shù),計數(shù)器是同步預(yù)置法設(shè)計,這樣只需要改變預(yù)置數(shù)據(jù),就能改變計數(shù)器的模,因此每個方向只要一個計數(shù)器進(jìn)行計時即可。 為便于顯示燈亮的時間,計數(shù)器的輸出均采用BCD碼,顯示由4個數(shù)碼管來完成,A方向和B方向各用兩個數(shù)碼管。16 蕪湖職業(yè)技術(shù)學(xué)院2、信號定義CLK: 為同步時鐘;EN:使能信號,為1時,則控制器開始工作;LAMPA:控制A方向4盞燈的亮滅;其中, LAMPA0 LAMPA3分別控制A方向的左拐燈、綠燈、黃燈和紅燈;LAMPB:控制B方向4盞燈的亮滅;其中, LAMPB0 LAMPB3分別控制B
8、方向的左拐燈、綠燈、黃燈和紅燈;ACOUNT:用于A方向燈的時間顯示,8位,可驅(qū)動兩個數(shù)碼管;BCOUNT:用于B方向燈的時間顯示,8位,可驅(qū)動兩個數(shù)碼管; 設(shè)定A方向紅、綠、黃、左拐燈亮的時間分別為55s、40s、5s和15s,B方向紅、綠、黃、左拐燈亮的時間分別為:65s、30s、5s和15s。假如要改變這些時間,只需改變計數(shù)器的預(yù)置數(shù)即可。17 蕪湖職業(yè)技術(shù)學(xué)院3、代碼實現(xiàn)18 蕪湖職業(yè)技術(shù)學(xué)院19 蕪湖職業(yè)技術(shù)學(xué)院20 蕪湖職業(yè)技術(shù)學(xué)院21 蕪湖職業(yè)技術(shù)學(xué)院22 蕪湖職業(yè)技術(shù)學(xué)院23 蕪湖職業(yè)技術(shù)學(xué)院 10.3樂曲演奏電路 在本節(jié)中,采用FPGA器件驅(qū)動揚聲器構(gòu)成一個樂曲演奏電路。 樂
9、曲演奏原理:組成樂曲的每個音符的頻率值(音調(diào))及其持續(xù)的時間(音長)是音樂能連續(xù)演奏所需的兩個基本數(shù)據(jù),因此只要控制輸出到揚聲器的激勵信號的頻率的高低和持續(xù)時間,就可以使揚聲器發(fā)出連續(xù)的樂曲聲。24 蕪湖職業(yè)技術(shù)學(xué)院音調(diào)的控制 頻率的高低決定了音調(diào)的高低。音樂的十二平均率規(guī)定:每兩個八度音(如簡譜中的中音1和高音1)之間的頻率相差一倍。在兩個八度音之間又可以分為十二個半音,每兩個半音的頻率比為21/12 。另外,音名A(簡譜中的低音6)的頻率為440Hz,音名B到C之間、E到F之間為半音,其余為全音。由此可以計算出簡譜中從低音1至高音1之間每個音名對應(yīng)的頻率。25 蕪湖職業(yè)技術(shù)學(xué)院簡譜中的音名
10、與頻率的關(guān)系26 蕪湖職業(yè)技術(shù)學(xué)院 所有不同頻率的信號都是從同一基準(zhǔn)頻率分頻得到的。由于音階頻率多為非整數(shù),而分頻系數(shù)又不能分為小數(shù),因此必須將計算得到的分頻數(shù)四舍五入取整。若基準(zhǔn)頻率過低,則由于分頻比太小,四舍五入取整后的誤差較大,若基準(zhǔn)頻率過高,雖然誤差變小,但分頻數(shù)將變大。實際的設(shè)計應(yīng)綜合考慮這兩個方面的因素,在盡量減小頻率誤差的前提下取合適的基準(zhǔn)頻率。本例中選取6MHz為基準(zhǔn)頻率。若無6MHz的時鐘頻率,則可以先分頻得到6MHz或換一個新的基準(zhǔn)頻率。實際上,只要各個音名間的相對頻率關(guān)系不變,C作1與D作1演奏出的音樂聽起來都不會“走調(diào)”。27 蕪湖職業(yè)技術(shù)學(xué)院“梁?!逼吻V該樂曲各音
11、階頻率及相應(yīng)的分頻比見表:28 蕪湖職業(yè)技術(shù)學(xué)院 為了減小輸出的偶次諧波分量,最后輸出到揚聲器的波形應(yīng)為對稱方波,因此在到達(dá)揚聲器之前有一個二分頻的分頻器。表中的分頻比就是在從6MHz二分頻得到的3MHz頻率基礎(chǔ)上計算得出的。如果用正弦波代替對稱方波驅(qū)動揚聲器將會有更好的結(jié)果。 從表中可以看出,最大的分頻系數(shù)為9102,故采用14位二進(jìn)制計數(shù)器分頻可滿足需要。表中,除給出了分頻比之外,還給出了對應(yīng)于各個音階頻率時計數(shù)器不同的預(yù)置數(shù)。對于不同的分頻系數(shù),只要加載不同的預(yù)置數(shù)即可。 此外,對于樂曲中的休止符,只要將分頻系數(shù)設(shè)為0,即初始值為214 -1=16383即可,此時揚聲器將不會發(fā)聲。29
12、蕪湖職業(yè)技術(shù)學(xué)院音長的控制 音符的持續(xù)時間須根據(jù)樂曲的速度及每個音符的節(jié)拍數(shù)來確定。 梁祝片段音樂中,最短的音符為4分音符,如果將全音符的持續(xù)時間設(shè)為1s的話,則只需要再提供一個4Hz的時鐘頻率即可產(chǎn)生4分音符的時長。 樂曲演奏電路的原理框圖為:30 蕪湖職業(yè)技術(shù)學(xué)院 其中,樂譜產(chǎn)生電路用來控制音樂的音調(diào)和音長。控制音調(diào)通過設(shè)置計數(shù)器的預(yù)置數(shù)來實現(xiàn),預(yù)置不同的數(shù)值就可以使計數(shù)器產(chǎn)生不同頻率的信號,從而產(chǎn)生不同的音調(diào)??刂埔糸L是通過控制計數(shù)器預(yù)置數(shù)的停留時間來實現(xiàn)的,預(yù)置數(shù)停留的時間越長,則該音符演奏的時間也就越長。每個音符的演奏時間都是0.25的整數(shù)倍,對于節(jié)拍較長的音符,如2分音符,在記譜時
13、將該音名連續(xù)記錄兩次即可。 音名顯示電路用來顯示樂曲演奏時的對應(yīng)的音符??梢杂?個數(shù)碼管分別顯示高、中、低音的音名,實現(xiàn)演奏的動態(tài)顯示,十分直觀。 為了使演奏能循環(huán)進(jìn)行,需另外設(shè)置一個時長計數(shù)器,當(dāng)樂曲演奏完成時,保證自動從頭開始演奏。31 蕪湖職業(yè)技術(shù)學(xué)院設(shè)計實現(xiàn)1. 信號定義與說明clk_4Hz :用于控制音長(節(jié)拍)的時鐘頻率;clk_6MHz:用于產(chǎn)生各種音階頻率的基準(zhǔn)頻率;speaker:用于激勵揚聲器的輸出信號,本設(shè)計為方波 信號;high,med,low:分別用于顯示高音、中音、低音音符, 各驅(qū)動一個數(shù)碼管來顯示。32 蕪湖職業(yè)技術(shù)學(xué)院2. 代碼實現(xiàn)33 蕪湖職業(yè)技術(shù)學(xué)院34 蕪
14、湖職業(yè)技術(shù)學(xué)院35 蕪湖職業(yè)技術(shù)學(xué)院36 蕪湖職業(yè)技術(shù)學(xué)院37 蕪湖職業(yè)技術(shù)學(xué)院38 蕪湖職業(yè)技術(shù)學(xué)院39 蕪湖職業(yè)技術(shù)學(xué)院 10.4 自動售飲料機的設(shè)計 自動售飲料機是一種典型的利用狀態(tài)機進(jìn)行電路設(shè)計的例子。本例采用有限狀態(tài)機設(shè)計,使用case語句來描述各個狀態(tài)之間的轉(zhuǎn)移關(guān)系?;貞浺幌耤ase語句的使用。當(dāng)多路選擇的控制條件幾種在某個變量的變化上時,用case語句加以表達(dá)十分方便且直觀。case語句最適于描述有限狀態(tài)機,比如像CPU的譯碼部分的描述等。case語句的用法:case (敏感信號表達(dá)式)值1:塊語句1;值2:塊語句2;.值n:塊語句n;default:塊語句n+1;endcase
15、40 蕪湖職業(yè)技術(shù)學(xué)院 當(dāng)case語句中敏感表達(dá)式的值與值1相同時,執(zhí)行塊語句1;當(dāng)敏感信號表達(dá)式與值2相同時,執(zhí)行表達(dá)式2;依次類推,最后,如果敏感表達(dá)式的值與上面列出的值1到值n都不相同的話,則執(zhí)行default后面的語句塊n+1。值1至值n必須各不相同,一旦判斷與某值相同并執(zhí)行相應(yīng)語句塊后,case語句便告結(jié)束。如果某幾個連續(xù)排列的值執(zhí)行的是同一條語句,則這幾個項之間可用逗號隔開,而將執(zhí)行行語句放在這幾個項的最后一個中。 下面用case語句設(shè)計一個自動售飲料機。假定每瓶飲料售價為2.5元,可使用2種幣種,即5角(half_dollar)、1元(one_dollar),機器有找零功能。41
16、 蕪湖職業(yè)技術(shù)學(xué)院 機器設(shè)兩個投幣孔,分別接受1元和5元兩種硬幣,因硬幣識別裝置牽涉到傳感器,在實驗板上用兩個按鍵來代替。有兩個輸入口,分別輸出飲料和找零,還設(shè)兩個燈,提示用戶取走飲料和零錢,也可用聲音來提醒。另外可設(shè)兩個數(shù)碼管,用于顯示已投入的幣值。本設(shè)計中,該顯示模塊省略,如果需要,可自行加上。42 蕪湖職業(yè)技術(shù)學(xué)院設(shè)計實現(xiàn)1. 信號定義與說明clk:時鐘輸入;reset:系統(tǒng)復(fù)位信號half_dollar:代表投入5角硬幣one_dollar:代表投入1元硬幣half_out:表示找零信號dispense:表示機器售出一瓶飲料collect:該信號用于提示投幣者取走飲料43 蕪湖職業(yè)技術(shù)學(xué)院2. 代碼實現(xiàn)44 蕪湖職業(yè)技術(shù)學(xué)院45 蕪湖職業(yè)技術(shù)學(xué)院46 蕪湖職業(yè)技術(shù)學(xué)院 parameter參數(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人信用貸款協(xié)議(2024年版)
- 2025年度健康食品研發(fā)與購銷合作框架協(xié)議3篇
- 2025年寵物醫(yī)院聯(lián)合科研項目合作協(xié)議3篇
- 2025版事業(yè)單位新員工試用期勞動合同范本3篇
- 小學(xué)課外閱讀與語文學(xué)科素養(yǎng)的培育
- 科技型企業(yè)組織架構(gòu)的靈活性與穩(wěn)定性
- 二零二五年餐飲業(yè)食品安全宣傳教育合作協(xié)議書模板3篇
- 2025版仙崇線道路養(yǎng)護與管理服務(wù)合同3篇
- 中介服務(wù)居間合同范本(2024年版)版B版
- 二零二五版集裝箱堆場管理及服務(wù)合同3篇
- 《色彩基礎(chǔ)》課程標(biāo)準(zhǔn)
- 人力資源 -人效評估指導(dǎo)手冊
- 大疆80分鐘在線測評題
- 2023年成都市青白江區(qū)村(社區(qū))“兩委”后備人才考試真題
- 2024中考復(fù)習(xí)必背初中英語單詞詞匯表(蘇教譯林版)
- 《現(xiàn)代根管治療術(shù)》課件
- 肩袖損傷的護理查房課件
- 2023屆北京市順義區(qū)高三二模數(shù)學(xué)試卷
- 公司差旅費報銷單
- 2021年上海市楊浦區(qū)初三一模語文試卷及參考答案(精校word打印版)
- 八年級上冊英語完形填空、閱讀理解100題含參考答案
評論
0/150
提交評論