第10章數字系統的FPGA設計.ppt_第1頁
第10章數字系統的FPGA設計.ppt_第2頁
第10章數字系統的FPGA設計.ppt_第3頁
第10章數字系統的FPGA設計.ppt_第4頁
第10章數字系統的FPGA設計.ppt_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第10章數字系統的FPGA設計,10.1 數字鐘的FPGA設計,10.2樂曲演奏電路FPGA設計,10.3 多功能算術邏輯運算單元的EDA設計,10.4數字系統設計課題,數字系統是指由若干數字電路和邏輯部件構成的能夠處理或傳送、存儲數字信息的設備數字系統通??梢苑譃槿齻€部分,即系統輸入輸出接口、數據處理器和控制器。數字系統結構框圖如圖10-1所示。,10.1.1設計要求,數字鐘功能:數字鐘的時間為24小時一個周期;數字鐘須顯示時、分、秒; 校時功能:可以分別對時、分、秒進行單獨校時,使期調整到標準時間; 擴展功能:整點報時系統。設計報整點報時電路,每當數字鐘計時59分50秒時開始報時,并發(fā)出鳴

2、叫聲,到達整點時鳴叫結束,鳴叫頻率為100Hz。,10.1.2系統組成方框圖,手動校時,模式選擇,基準時鐘 1kHz,主體電路,時、分秒計數器模塊,動 態(tài) 顯 示,系統復位,報時模塊,揚聲器,10.1.3 數字鐘的層次化設計方案,根據上述功能,可以把多功能數字式電子鐘 系統劃分為三部分:時鐘源(即標準秒鐘的 產生電路),時分秒計數器模塊、數字鐘模 塊、校時模塊、數字秒表模塊、鬧鐘和整 點報模塊。,時分秒計數器模塊,時分秒計數器模塊由秒個位、十位計數器、分個位、十位計數及時個位、十位計數電路構成。其中:秒個位和秒十位計數器、分個位和分十位計數為六十進制計數器,而根據設計要求時個位和時十位構成的為

3、二十四進制計數器。,六十進制計數器,圖10-5為六十進制計數器模塊的原理圖,由前面的分析知分和秒計數器都是模M=60的計數器,其規(guī)律為0001585900,此底層計數器模塊的設計中保留了一個計數使能端CEN、異步清零端Clrn和進位輸出端Tc,這三個引腳是為了實現各計數器模塊之間進行級聯,以便實現校時控制而預留的。,六十進制計數器原理圖,六十進制計數器仿真輸出波形,時計數器模塊的設計,時計數器模塊由分和秒級使能,每小時 只產生一個脈沖。當該條件滿足時, 74160的ENT變?yōu)楦唠娖?,即分和秒?為“59分59秒”。時計數器模塊能計數和 顯示023小時.同樣可用2片74160同步 級聯設計成二十

4、四進制計數器。,時計數器模塊原理圖,二十四進制計數器仿真輸出波形,模式計數譯碼器子模塊設計,模式計數譯碼器子模塊的輸入數字種的 功能設置鍵為Mode按鈕,第1次按Mode按鈕 時為校秒狀態(tài), 按第2次為校分狀態(tài), 按第3次 為校時狀態(tài),按第4次為計時狀態(tài), 如此循環(huán)。剛剛通電時 MODE=0為計時狀態(tài)。,模式計數譯碼器子模塊的原理圖,模式計數譯碼器子模塊的仿真輸出波形,數字鐘校時單元頂層電路模塊設計,根據校時單元的功能特性,可利用時鐘基準輸出的100Hz信號自動校時,在功能設置鍵Mode按鈕的選擇下,撥動一個校時開關KEY后(KEY=1時開始校時;KEY=0時停止校時,100Hz信號分別作用于

5、時分秒計數器,使之自動遞增,直至增加到希望的值后,再將校時開關KEY撥回初始狀態(tài)即可。,數字鐘校時單元頂層電路模塊設計,10.1.4 數字鐘的頂層設計和仿真,(1)數字鐘的頂層設計輸入,(2)仿真設計 本設計中要仿真的對象為數字鐘,須設定一個1KHZ的輸入時鐘信號和一個校時開關K2,模式的設置開關信號K1的波形,為了能夠看到合適的仿真結果,所設計的輸入信號的頻率和實際的1HZ信號的頻率是不同的,本設計中假定網格時間(Grid Size)為10ns,總模擬時間(END TIME)為1s。,頂層設計仿真,10.1.5硬件測試,(1)1KHz接系統的clock0(接1KHz) (2) Alarm接時

6、鐘報警SPEAKER, (3)用鍵8、鍵5表示模式選擇鍵和調整鍵,此兩鍵所對應的目標芯片EP1C6的引腳分別是240、237。,1確定引腳編號,2引腳鎖定 根據第9章9.3節(jié)的流程即可完成引腳鎖定工作。 3編程下載和硬件測試,10.2樂曲演奏電路FPGA設計,10.2.1 設計要求,在QuartusII中利用可編程邏輯器件,設計一個 樂曲演奏電路。由鍵盤輸入控制音響,同時可 自動演奏樂曲。演奏時可選擇鍵盤輸入樂曲或 者已存入的樂曲,并配以一個小揚聲器。 其結構如圖10-23所示,該設計產生的音樂 選自梁祝片段。,10.2.2 原理描述,樂曲演奏電路主要由數控分頻器和樂曲存儲模塊組成。 數控分頻

7、器對演奏電路的基準頻率進行分頻,得到與 各個音階對應的頻率輸出。樂曲存儲模塊產生節(jié)拍控 制和音階選擇信號,即在此模塊中可存放一個樂曲曲 譜真值表,由一個計數器來控制此真值表的輸出, 而由計數器的計數時鐘信號作為樂曲節(jié)拍控制信號。,10.2.3 樂曲硬件演奏電路的層次化設計方案,樂曲硬件演奏電路分為三個模塊: (1)音樂節(jié)拍發(fā)生器NoteTabs模塊, (2)音符譯碼電路Tonetaba模塊, (3)數控分頻模塊(speaker)。,10.2.3 樂曲硬件演奏電路的層次化設計方案,(1)音樂節(jié)拍發(fā)生器NoteTabs設計,該模塊將利用FPGA的片內ROM存放樂曲簡譜真值表, 由一個二進制計數器為

8、樂曲數據存儲器ROM的地址 發(fā)生器。該計數器的計數頻率為4Hz,即每一計數值的 停留時間為0.25秒,隨著NoteTab中計數器按4Hz的時 鐘頻率作加法計數時,即隨地址值遞增時,樂曲數據 ROM中的音符數據,將從ROM中的輸出口輸向音符譯 碼電路Tonetaba,所存儲樂曲就開始連續(xù)自然地演奏起來。,其設計流程如下:,利用MegaWizard Plug-In Manager定制音 符數據存儲器musica1,定制ROM模塊的初始化數據文件data1.mif,音樂節(jié)拍發(fā)生器NoteTabs的VHDL設計,10.2.3 樂曲硬件演奏電路的層次化設計方案,(2)音符譯碼電路Tonetaba設計,音

9、符譯碼電路即音調發(fā)生器實際上是一個查表電路,放置21個音樂簡譜對應的頻率表,根據該表為數控分頻模塊(speaker)提供所發(fā)音符頻率的初始值(該初始值可參照表10-2),而此數在數控分頻模塊入口的停留時間即為此音符的節(jié)拍數,不失一般性,VDHL程序中僅設置了“梁?!睒非恳舴鶎囊舴l率的初始值,共16個,每個音符停留時間由音樂節(jié)拍發(fā)生器的時鐘頻率決定,在此為4Hz信號.,10.2.3 樂曲硬件演奏電路的層次化設計方案,(3)數控分頻模塊(speaker)設計,數控分頻器對演奏電路的基準頻率進行分頻,得到與各個音階對應的頻率輸出。數控分頻模塊是由一個初值可變的13位加法計數器構成。該計數

10、器的模為8192,當計數器計滿時,產生一個進位信號FullSpkS,該信號就是用作發(fā)音的頻率信號(其頻率值參見表10-2)。,在計數器的預置端給定不同的初值,其輸出將產生不同的頻率信號,頻率信號初值Tone就是前級音符譯碼電路Tonetaba的輸出,它計滿所需要的分頻比可由下式決定: Tone12.0+ 分頻比=8192+進位信號FullSpkS,10.2.3 樂曲硬件演奏電路的層次化設計方案,(3)數控分頻模塊(speaker)設計,結合表10-2,分析式(10-5)可知,低音時,Tone值小,分頻比大,進位信號SpkS的周期長,揚聲器發(fā)出的聲音低,Tone隨音樂的樂譜而變化,自動控制分頻比

11、,從而實現數控分頻,發(fā)生信號的頻率與Tone成正比,這就是利用數控分頻器自動演奏音樂的原理。,10.2.4樂曲演奏電路頂層電路的設計和仿真,根據圖10-15的樂曲演奏電路示意圖,可得圖10-17 所示的是頂層電路原理圖。,10.3 多功能算術邏輯運算單元的EDA設計,10.3.1設計要求,利用74181設計一個帶進位控制的8位算術邏輯運算單元ALU_8,該算術邏輯運算單元具有16個數據通路,實現表10-4所示基本算術運算功能和邏輯運算功能。,10.3 多功能算術邏輯運算單元的EDA設計,10.3.2 原理描述,計算機的一個最主要功能就是處理各種算術和邏輯運算,該功能要由CPU中的運算器來完成。

12、運算器也稱算術邏輯運算單元(ALU)。其主要功能包括:,執(zhí)行數值數據的算術加減乘除等運算, 執(zhí)行邏輯數據的與或非等邏輯運算, 暫時存放參加運算的數據和中間結果, 由多個通用寄存器來承擔。 運算器通常也是數據傳輸的通路 。,10.3 多功能算術邏輯運算單元的EDA設計,10.3.2 原理描述,根據設計要求,可得帶進位控制的8位算術邏輯運算單元的結構框圖如圖10-19所示。其中8位ALU運算器模塊,是利用2片4位ALU芯片74181級聯構成的8位字長ALU。,10.3.3多功能算術邏輯運算單元層次化設計方案,1ALU運算器模塊ALU_8的設計,10.3.3多功能算術邏輯運算單元層次化設計方案,21

13、6路通道計數模塊CNT_16的設計 CNT_16實際上為一模16的二進制計數器, 可利用QuartusII的兆功能設計向導 MegaWizard Plug-In Manager定制模16的二進制計數器,定制時設clock為計數輸入脈沖,q3.0為計數的二進制數輸出,供ALU_8選擇不同的運算模式。,10.3.3多功能算術邏輯運算單元層次化設計方案,3數據寄存器模塊REG_A_B 數據寄存器模塊REG_A_B的原理圖如圖10-21所示。為進行雙操作數運算,運算器模塊的兩個8位數據由數據輸入總線分別通過數據寄存器模塊REG_A_B兩個電平鎖存器74373鎖入。該模塊的輸入全部連在數據總線Data_bus7.0中,通過數據選擇開關A0_B0,依次選擇輸出數據A7.0、B7.0給運算器模塊ALU_8。,10.3.4多功能算術邏輯運算單元的頂層設計和仿真,根據10.3.2節(jié)的原理描述,可得到圖10-22所示的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論