版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔-下載后可編輯基于ADSP—BF537的視頻SOC驗(yàn)證方案設(shè)計(jì)-基礎(chǔ)電子隨著硅片集成技術(shù)的高速發(fā)展,片上系統(tǒng)SoC(system-on-a-Chip)已經(jīng)成為現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)的必然趨勢(shì)。SoC和一般數(shù)字系統(tǒng)主要的區(qū)別是前者在單一硅片內(nèi)集成了獨(dú)立的嵌入式CPU,必要的存儲(chǔ)器控制器也要求集成到SoC芯片內(nèi),所以對(duì)SoC系統(tǒng)的軟硬件協(xié)同實(shí)時(shí)驗(yàn)證便成為SoC設(shè)計(jì)的難點(diǎn)?;贗P的可重用設(shè)計(jì)方法已經(jīng)成為數(shù)字系統(tǒng)設(shè)計(jì)工程師普遍采用的系統(tǒng)設(shè)計(jì)方法。于是,設(shè)計(jì)者采用第三方IP或自行設(shè)計(jì)的軟核或兩者的組合來(lái)搭建符合要求的系統(tǒng)。對(duì)于一個(gè)SoC系統(tǒng),嵌入式CPU的選擇至關(guān)重要。第三方提供CPU的方式有軟核和固核,如果在設(shè)計(jì)過(guò)程中僅被授權(quán)采用第三方優(yōu)化的固核(版圖級(jí)),則前端FPGA實(shí)時(shí)驗(yàn)證問(wèn)題自然凸現(xiàn)出來(lái)。解決的辦法是選擇相應(yīng)CPU的驗(yàn)證開(kāi)發(fā)板或者采用其他處理器。
本文介紹一種利用嵌入Blackfin處理器的ADSP-BF537作為處理器進(jìn)行SoC的FPGA實(shí)時(shí)驗(yàn)證的方案及其總線接口轉(zhuǎn)換模塊的設(shè)計(jì)。
1ADSP簡(jiǎn)介ADSP是ADI(AnalogDeviceInc.)公司推出的一系列高性能低功耗DSP芯片,而基于Blackfin處理器的ADSP-BF533一經(jīng)推出便被很多國(guó)家的設(shè)計(jì)人員立即采用,后續(xù)系列產(chǎn)品ADSP-BF5xx也被更多的系統(tǒng)設(shè)計(jì)廠家應(yīng)用到各自的產(chǎn)品中。正是因?yàn)锳DSP-BF5xx系列芯片是以功能強(qiáng)大性能卓越的Blackfin處理器為內(nèi)核而推出的高效DSP芯片,使得人們可以采用ADSP-BF5xx系列芯片作為處理器進(jìn)行視頻SoC的FPGA實(shí)時(shí)驗(yàn)證。Blackfin處理器集成了一個(gè)由ADI公司和Intel公司聯(lián)合開(kāi)發(fā)的基于MSA(MicroSignalArchitecture)的16/32位嵌入式處理器,支持32位RISC指令集,采用10級(jí)流水線,集成了兩個(gè)16位乘法加速器,內(nèi)核主頻可以達(dá)到600MHz[1]。2ADSP外部Momory總線介紹ADSP外部Memory總線可以進(jìn)行同步或異步操作,前者是通過(guò)時(shí)鐘輸出端CLKOUT進(jìn)行同步的。本文所采用的ADSP-BF537Ez-kitLite開(kāi)發(fā)套件的外部Memory總線的可用地址僅為19位(ADDR[19:1]),并且采用AMS[3:0]選中相應(yīng)的外部區(qū)域。ADSP-BF537的四個(gè)選通信號(hào)線對(duì)應(yīng)的外部Memory地址范圍如表1所示[2]??梢钥闯?,直接利用ADSP外部Memory總線操作的地址空間只有4MB容量,顯然不能滿足SoC的選址需求,必須進(jìn)行接口總線的轉(zhuǎn)換來(lái)提高尋址范圍。
ADSP-BF537外部Memory讀寫時(shí)序波形如圖2所示,其中的ARDY信號(hào)是由外設(shè)產(chǎn)生的。ADSP通過(guò)設(shè)置EBIU_AMBCTLx寄存器,允許傳輸過(guò)程中使用ARDY握手信號(hào),用來(lái)增強(qiáng)系統(tǒng)運(yùn)行的準(zhǔn)確度。ARDY信號(hào)的有效電平是可以設(shè)置的。EBIU_AMBCTLx寄存器還可以改變ADSP對(duì)外讀寫操作的時(shí)序,包括數(shù)據(jù)建立時(shí)間、讀寫通路時(shí)間以及數(shù)據(jù)保持時(shí)間。例如,通路時(shí)間和保持時(shí)間分別是2個(gè)周期、2個(gè)周期和1個(gè)周期。如果使能ARDY信號(hào),并設(shè)置為高電平有效,則在設(shè)定的讀寫時(shí)間內(nèi),ARDY為低電平表示外設(shè)不能寫入或者讀出數(shù)據(jù),需要ADSP繼續(xù)保持相應(yīng)的讀寫等待狀態(tài),直到ARDY信號(hào)被拉為高電平;只有當(dāng)ADSP檢測(cè)到ARDY為高電平時(shí),才能將DATA數(shù)據(jù)作為有效數(shù)據(jù)。上述過(guò)程如圖2中的讀操作,ARDY信號(hào)被拉低了一個(gè)周期。ADSP-BF537的外部Memory地址總線位寬是ADDR[19:1],這樣可以使ADSP靈活地對(duì)16/32位數(shù)據(jù)進(jìn)行地址選址。例如,如果對(duì)連續(xù)地址進(jìn)行16位數(shù)據(jù)的讀寫操作,ADDR[19:1]只需依次加1,而ADSP軟件開(kāi)發(fā)工具中相應(yīng)的內(nèi)部變量數(shù)據(jù)類型定義為short即可[3];類似地,如果要讀寫的數(shù)據(jù)類型為int(32位)數(shù)據(jù),則每次訪問(wèn)外部地址時(shí),ADSP會(huì)連續(xù)產(chǎn)生兩次讀寫操作,并且地址總線ADDR[19:1]是連續(xù)的。3AHB總線介紹AHB(AdvancedHigh-performanceBus)是AMBA總線中用途為廣泛的一種高速總線,因其協(xié)議簡(jiǎn)單、可綜合性強(qiáng)、支持主頻高、功耗低,已經(jīng)被很多SoC芯片作為內(nèi)部高速系統(tǒng)總線。大多數(shù)第三方IP廠商提供的功能模塊的接口都支持AMBA總線協(xié)議。
4消除信號(hào)的亞穩(wěn)態(tài)現(xiàn)象在本次視頻SoC的FPGA驗(yàn)證方案中,采用ADSP的外部Memory總線,F(xiàn)PGA既可以利用同步時(shí)鐘輸出CLKOUT進(jìn)行同步設(shè)計(jì),也可以采用異步總線讀寫。如果不使用CLKOUT而采用異步設(shè)計(jì),則在總線轉(zhuǎn)換接口模塊設(shè)計(jì)中,首先需要保證消除讀寫信號(hào)亞穩(wěn)態(tài)現(xiàn)象。ADSP內(nèi)核主頻可以達(dá)到600MHz,外部Memory總線的采樣時(shí)鐘(CLKOUT)動(dòng)態(tài)調(diào)整范圍也很大,因此對(duì)異步輸入信號(hào)可以采用增加同步觸發(fā)器進(jìn)行鎖存延時(shí)的方法來(lái)消除亞穩(wěn)態(tài)[5]。具體實(shí)現(xiàn)方法是在異步輸入信號(hào)的前端加2-3級(jí)同步觸發(fā)器。FPGA驗(yàn)證證明:當(dāng)CLKOUT頻率為50MHz,F(xiàn)PGA系統(tǒng)主頻為25MHz時(shí),3級(jí)同步鎖存完全可以消除亞穩(wěn)態(tài),從而保證ADSP在外部Memory總線上正確進(jìn)行數(shù)據(jù)傳輸。5總線轉(zhuǎn)換狀態(tài)機(jī)設(shè)計(jì)目前,大多數(shù)采用AMBA總線的SoC系統(tǒng)內(nèi)部的總線位寬是32位,多數(shù)嵌入式CPU和第三方IP核總線位寬也均為32位,因?yàn)?2位地址總線和數(shù)據(jù)總線已經(jīng)可以滿足絕大多數(shù)SoC系統(tǒng)的存儲(chǔ)器映射寄存器的地址分配和數(shù)據(jù)交換以及外部SDRAM和FLASH的尋址需求。ADSP-BF537的外部Memory數(shù)據(jù)總線是16位,并且地址總線只有19位,因此必須通過(guò)增加必要的狀態(tài)來(lái)解決總線位寬的不匹配問(wèn)題。為了實(shí)現(xiàn)ADSP對(duì)外進(jìn)行32位的地址操作和數(shù)據(jù)操作,可以利用Blackfin處理器分兩次進(jìn)行讀寫操作。寫操作分兩次進(jìn)行,次寫,先傳輸?shù)刂泛蛿?shù)據(jù)的高16位,第二次寫才將32位的地址和數(shù)據(jù)信號(hào)傳輸?shù)紸HB總線上;進(jìn)行讀操作時(shí),需要AHB產(chǎn)生兩次讀動(dòng)作,這樣才能使有效的32位數(shù)據(jù)被Blackfin處理器正確接收。次讀到有效的32位數(shù)據(jù)后傳輸高位,第二次讀到后傳輸?shù)臀?,并且每次讀操作都需要Blackfin發(fā)出兩次讀動(dòng)作,以便組合出AHB的32位地址。這樣就可以突破ADSP-BF537對(duì)外只能進(jìn)行4MB空間存取的限制。
利用ADSP作為SoC系統(tǒng)處理器進(jìn)行SoC驗(yàn)證時(shí),ADSP進(jìn)行的主要操作是讀寫系統(tǒng)內(nèi)部各個(gè)功能模塊的Memory映射控制寄存器,并且通過(guò)SDRAM控制器對(duì)SoC系統(tǒng)的外部SDRAM進(jìn)行數(shù)據(jù)交換操作。因此總線轉(zhuǎn)換狀態(tài)機(jī)分成讀傳輸和寫傳輸兩大部分。當(dāng)ADSP需要進(jìn)行外部Memory總線傳輸時(shí),首先會(huì)把相應(yīng)的ams信號(hào)拉低,這時(shí)總線轉(zhuǎn)換狀態(tài)機(jī)應(yīng)該使AHB進(jìn)入BUSREQ狀態(tài),要求仲裁器釋放AHB總線給CPU(ADSP)。對(duì)于一個(gè)寫操作,需定義一個(gè)wr_flag標(biāo)志位來(lái)確定是否產(chǎn)生AHB寫動(dòng)作。ams信號(hào)拉低后,經(jīng)過(guò)可配置的寫建立時(shí)間后,寫控制信號(hào)awe被拉低,初始化的wr_flag為0,表明ADSP進(jìn)行的是次寫操作。進(jìn)入的WRITE_H狀態(tài)用來(lái)鎖存寫地址和寫數(shù)據(jù)的高16位,同時(shí)會(huì)把wr_flag置為1,但并不向AHB總線發(fā)出寫命令。一個(gè)周期后重新進(jìn)入BUSREQ狀態(tài),等待ADSP下一個(gè)寫命令。ADSP發(fā)出第二次寫命令后,狀態(tài)機(jī)檢測(cè)到awe=0和wr_flag=1后進(jìn)入WRITE_L_ADDR狀態(tài),表明需要向AHB發(fā)出寫命令,包括hwrite、haddr、htrans、hsize等AHB控制信號(hào)。haddr是兩次寫操作地址(16位)組合而成的32位地址,htrans=2和hsize=2,表明是非連續(xù)傳輸,傳輸數(shù)據(jù)位寬是32位。下一個(gè)周期,狀態(tài)進(jìn)入WRITE_L_DATA,兩次寫操作數(shù)據(jù)也相應(yīng)組合成32位。如果AHBslave的hready為高,則32位數(shù)據(jù)釋放到AHB總線上,同時(shí)復(fù)位AHB控制信號(hào),下一個(gè)周期返回IDLE狀態(tài);如果hready為低,則繼續(xù)保持WRITE_L_DATA狀態(tài),直到AHBslave把hready拉高有效。如果等待時(shí)間過(guò)長(zhǎng),可以增加一個(gè)計(jì)數(shù)器使?fàn)顟B(tài)機(jī)在一定時(shí)間后自動(dòng)返回IDLE狀態(tài),并標(biāo)記相應(yīng)的error狀態(tài)寄存器。例如,需要通過(guò)ADSP向haddr[31:0]=0x1234_5678地址內(nèi)寫入hwdata[31:0]=0xaabb_ccdd,則測(cè)試平臺(tái)(采用vmtslave)模擬ADSP對(duì)外進(jìn)行兩次寫操作,次向addr[18:0]=0x1234內(nèi)寫0xaabb,第二次向addr[18:0]=0x5678內(nèi)寫0xccdd,如圖5所示。第二次寫操作后正確產(chǎn)生AHB寫操作。同樣,對(duì)于一個(gè)讀操作,狀態(tài)機(jī)也需要兩次對(duì)AHB發(fā)出讀動(dòng)作,把讀到的slave數(shù)據(jù)分高低位兩次傳輸給ADSP,不同的是,為了保證AHB讀地址是32位,而不僅僅是ADSP外部Memory地址總線的19位,每次AHB的讀命令,需要ADSP兩次讀動(dòng)作,次讀用來(lái)傳輸高位地址,第二次讀才能把完整的32位地址傳送到AHB上,使AHB產(chǎn)生讀操作。上述過(guò)程的狀態(tài)依次是圖4中的READ_ADDR_H、READ_ADDR_L、READ_HOLD、READ_TRANSFER。標(biāo)志位rd_complete用來(lái)區(qū)分AHB的兩次讀動(dòng)作,為0時(shí)在READ_TRANSFER狀態(tài)傳輸讀取數(shù)據(jù)的高16位,被ADSP讀取,下一個(gè)周期后進(jìn)入BUSREQ狀態(tài)等待下一個(gè)讀命令;為1時(shí)在READ_TRANSTER狀態(tài)傳輸讀取數(shù)據(jù)的低16位,并返回IDLE狀態(tài)。例如需要讀取上述已經(jīng)被寫入地址haddr[31:0]=0x1235_5678的值時(shí),次ADSP發(fā)出讀addr[18:0]=0x1234,第二次發(fā)出讀addr[18:0]=0x5678,這時(shí)ADSP的data只傳輸高位數(shù)據(jù)0xaabb,ADSP再發(fā)兩次相同的讀命令后,data才傳輸?shù)臀粩?shù)據(jù)0xccdd。對(duì)如前所述,ADSP外部Memory總線在對(duì)外讀寫時(shí)可以通過(guò)EBIU_AMBCTlx寄存器來(lái)選擇是否選通握手信號(hào)ARDY。為了提高傳輸?shù)目煽啃院蜏?zhǔn)確度,在設(shè)計(jì)轉(zhuǎn)換模塊時(shí)需要考慮ARDY,在每數(shù)據(jù)傳輸完成的一個(gè)狀態(tài),需要將ARDY信號(hào)置1,然后在下一個(gè)IDLE或BUSREQ狀態(tài)將ARDY清0,這樣可以保證ADSP能正確讀到ADSP外部Memory數(shù)據(jù)總線上的有效數(shù)據(jù),防止因ADSP對(duì)外讀寫時(shí)序設(shè)置不合理而造成系統(tǒng)不能正常運(yùn)行。6FPGA實(shí)現(xiàn)本模塊的設(shè)計(jì)是用于FPGA驗(yàn)證用途的,對(duì)于大型視頻SoC系統(tǒng)的FPGA實(shí)時(shí)驗(yàn)證,往往需要采用大容量的FPGA,因此本設(shè)計(jì)采用AlteraStratixIIEP2S60器件進(jìn)行FPGA驗(yàn)證。采用Quartus綜合和布局布線后,一共需要140個(gè)ALUT和131個(gè)寄存器,快時(shí)鐘可以達(dá)到300MHz。因?yàn)锳DSP可以設(shè)置外部Memory總線的讀寫時(shí)序,所以對(duì)外訪問(wèn)的速率不是惟一的。為了實(shí)現(xiàn)16位到32位的轉(zhuǎn)換雖然增加了讀寫的次數(shù),但因?yàn)锳DSP外部Memory同步時(shí)鐘頻率調(diào)整范圍很大,因此本設(shè)計(jì)完全可以滿足IP核功能驗(yàn)證對(duì)頻率的要求,對(duì)于視頻SoC內(nèi)部基本AHB總線和APB總線上的功能模塊都能正確實(shí)時(shí)驗(yàn)證。基于ADSP-BF537內(nèi)部嵌入的Blackfin處理器及其DSP接口,已經(jīng)利用本接口模塊成功地驗(yàn)證了AHB總線上的H264和MPEG一2的encode與decode加速器、EthernetMAC控制器、SDRAM控制器以及APB總線上的UART、TIMER、AC97、GPIO和LCD控制器等低速外設(shè)。
隨著驗(yàn)證環(huán)節(jié)在SoC產(chǎn)品開(kāi)發(fā)過(guò)程中所占時(shí)間和開(kāi)銷的迅速增加,Altera和Xilinx在其大容量FPGA芯片產(chǎn)品中,都集成了特定類型的CPU作為系統(tǒng)處理器,但它們都受到特定FPGA器件的限制[6]。因此利用ADSP內(nèi)嵌的強(qiáng)大Blackfin處理器和豐富的DSP外設(shè),可以有效地提高驗(yàn)證的效率和功能的完整性。本文的總線接口模塊的設(shè)計(jì)對(duì)具有不同讀寫時(shí)序的驗(yàn)證板的正常工作起著重要的作用,SoC原型的搭建必然要求本模塊能真實(shí)反映實(shí)際AHB總線的動(dòng)作,這樣對(duì)于保證各個(gè)功能模塊的完整性和實(shí)時(shí)工作將起很大的作用。
(李陽(yáng)1,劉政林1,湯加躍2,鄒雪城1)參考
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年庫(kù)房轉(zhuǎn)租合同轉(zhuǎn)租條件、轉(zhuǎn)租手續(xù)及租金處理分析
- 2024年企業(yè)內(nèi)部審計(jì)保密協(xié)議
- 2024年度企業(yè)社會(huì)責(zé)任報(bào)告合同
- 2024年度住宅小區(qū)木門安裝工程合同
- 2024年度許可使用合同(商標(biāo))
- 腰椎ct課件教學(xué)課件
- 2024北京技術(shù)合同
- 2024年大數(shù)據(jù)使用協(xié)議:數(shù)據(jù)收集、分析和應(yīng)用的具體規(guī)定
- 液體密度課件教學(xué)課件
- 輿論學(xué)課件教學(xué)
- 醫(yī)院全員教育培訓(xùn)管理工作制度規(guī)定辦法.docx
- 二十四孝故事
- 英語(yǔ)課堂小說(shuō)《月亮與六便士》(課堂PPT)
- 專項(xiàng)基金投資募集合作框架協(xié)議模版
- (完整word版)拼音練習(xí)jqx和ü、üe的相拼
- 醫(yī)療質(zhì)量檢查分析、總結(jié)、反饋5篇
- 桅桿工藝技術(shù)及施工要求
- (完整版)六年級(jí)下冊(cè)體育教學(xué)計(jì)劃與教案
- 北京地鐵受電弓的維護(hù)與故障檢修-畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 幼兒園教育和家庭教育的有效結(jié)合研究
- 集團(tuán)公司兩金管理評(píng)價(jià)辦法
評(píng)論
0/150
提交評(píng)論