語音芯片的asic設計word版本_第1頁
語音芯片的asic設計word版本_第2頁
語音芯片的asic設計word版本_第3頁
語音芯片的asic設計word版本_第4頁
語音芯片的asic設計word版本_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

語音芯片的ASIC設計頂層模塊——信號描述信號I/O寬度

功能描述rstI1全局異步復位信號(高電平有效)clk2mhzI12MHz時鐘信號fastI1快速播放信號輸入端(高電平有效)switchI1歌曲模式選擇信號(switch為低電平“0”選擇“曲目”,高電平“1”選擇“句子”)autoI1自動播放信號(auto高電平時按順序循環播放全部歌曲,在auto信號為低電時,根據switch和mode信號選擇相應歌曲模式播放)haltI1暫停信號(高電平有效)spksO1音頻信號輸出(上升沿觸發)passedI1上一句或者上一首跳轉信號(上升沿觸發)modeI2模式選擇信號“00”順序播放

“01”隨機播放

“10”單曲循環“11”快進跳轉沿觸發有效頂層模塊——整體框圖頂層模塊——具體信號模塊關聯——內部框圖ADDR

ADDR模塊

信號I/O寬度

功能描述clkI1節拍發生器產生的4Hz或8hz時鐘信號

EnI1使能端LdI1置數端RstI1異步復位信號(高電平有效)Data_inI9數據輸入Addr_outO9數據輸出功能描述:它的功能是按照音樂節拍輸出相應音符。在正常播放模式下,該計數器的時鐘頻率為2Hz,快速播放模式為4Hz。當EN為高電平時,LD為低電平時,每來一個時鐘上升沿,地址計數器加1,輸出給樂曲數據存儲器ROM。ROMROM模塊信號I/O寬度

功能描述addrI9當前音符在ROM中的地址doutO5ROM輸出的音符數據與index端口相連接功能描述:ROM中存儲的樂譜數據,以1/4拍來轉化,ROM總共要存儲437個數據,所以ROM的地址位寬為9位。因為樂譜只用到21個音符,所以ROM的輸出為5位。RANDOM

RANDOM模塊信號I/O寬度

功能描述clkI1節拍發生器產生的4Hz或8hz時鐘信號RstI1異步復位信號(高電平有效)RandomO3輸出隨機數功能描述:產生隨機數傳給狀態機,由狀態機決定播放第幾首歌。音符解碼模塊

音頻解碼模塊所示為音頻解碼模塊,它的功能是將ROM輸出的音符數據轉換成該音符所對應的初始值,輸出給數控分頻模塊,數控分頻模塊根據該初始值對2MHz時鐘進行分頻。表6音頻解碼端口信號描述信號I/O寬度 功能描述indexI4ROM輸出的音符數據toneO13音符所對應的初始值信號I/O 寬度功能描述toneI13音符所對應的初始值clk2mhzI12mhz信號enoI1使能信號haltI1暫停信號rstI1全局異步復位信號(高電平有效)spksO1將信號放大發聲數控分頻模塊數控分頻模塊所示為數控分頻模塊,它的功能是根據不同音符的初始值對2MHz的時鐘進行相應的分頻,產生該音符所對應頻率的波形。分頻后所得波形由spks端口輸出。數控分頻模塊由主分頻模塊和二分頻模塊組成。memo記憶模塊

memo記憶模塊信號I/O寬度 功能描述rstI1全局異步復位信號(高電平有效)ClkI1節拍發生器產生的4Hz或8hz時鐘信號addrI9快進信號(高電平有效)cnumO2記錄當前曲目編碼pnum02記錄過去曲目編碼

memo記憶模塊的作用是記憶當前播放地址。比如在順序播放模式下第一首歌曲到第二首歌曲,passed信號在播放第二首歌曲有效,歌曲播放第一首首地址。在隨機播放模式下,第一首歌曲隨機播放到第三首歌曲,passed信號于第三首歌曲有效,歌曲播放第一首首地址。同理上一曲模式。驗證規劃通過提取項目中可能發生的各種情況來驗證項目的正確性。模式間跳轉驗證單曲循環模式,如圖:正在進行模式間的轉換,如圖:模式間跳轉驗證由單曲循環跳轉到了順序播放模式。典型驗證1.上一句功能連跳測試2.驗證單曲循環下的各種模塊功能(上一曲)3.隨機播放模式下暫停信號測試4.第一首未放完進行上一首功能測試連跳測試連續給passed1信號有效,測試如下Atuo=1時,switch=1,passed=11000ns1100ns有效Passed1在1000ns時歌曲跳到上一句,隨后100ns再次有效,歌曲跳到當前上一句,實現連跳功能。

連跳測試Atuo=0,mode=00,播放到第3首是mode=10,第3首歌循環。

Passed1=1,第三首到第二首。

單曲循環模塊功能隨機模式暫停信號Atuo=0,mode=01,passed1=1時,因為是隨機模式,從第三首歌跳到第一首。隨機模式暫停信號隨機模式暫停信號有效第一首未放完進行上一首功能測試Atuo=1時,將paseed1信號于第一首播放中加入,跳到第一首歌曲首地址,上一首功能實現狀態轉換圖狀態機斷言`defineassert_clk(arg)\assertproperty(@(posedgeclk)disableiff(rst)arg)

a_fsm_asyn_rst:assertproperty(@(posedgeclk)rst|->(state==Idle));a_fsm_state_coding:`assert_clk($onehot0(state)==1);a_fsm_norm_trans1:`assert_clk((state==S0)|=>(state==S1));a_fsm_norm_trans2:`assert_clk((state==S2)||(state==S3)|->($past(state==S1)==1));a_fsm_norm_trans3:`assert_clk((state==S2)||(state==S3)|=>(state==S0));a_fsm_norm_trans4:`assert_clk((state==S1)&&$rose(accl)|->##1state==S2##1state==S0##1state==S1);a_fsm_norm_trans5:`assert_clk((state==S1)&&$rose(passed)|->##1state==S3##1state==S0##1state==S1);a_fsm_forbid_trans1:`assert_clk($stable(rst)&&(state==Idle)|->($past(state==S0)==0)&&($past(state==S2)==0)&&($past(state==S3)==0));狀態機斷言斷言通過率整體斷言狀態機局部斷言例一局部trans2斷言:正常狀態下,當前狀態是S2(0100)快倒狀態,或者S3(1000)回放狀態,上一個狀態一定是S1(0010)播放狀態。狀態機局部斷言例二局部trans4斷言:當快倒信號有效時(mode=2’b11),狀態會從播放狀態(S1)跳到快到狀態(S2)再到置數狀態(S0)再回播放狀態(S1),如圖0010->0100->0001->0010。隨機斷言斷言通過率整體斷言地址計數器斷言斷言通過率整體斷言Rom表斷言斷言通過率整體斷言項目總結通過本次項目,我們了解了數字電路的設計流程,掌握了數字電路的編寫與仿真,掌握了SVA斷言的基本原理和語法,當然我們的設

溫馨提示

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

評論

0/150

提交評論