《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于ADSP-BF537的視頻SOC驗證方案設(shè)計
基于ADSP-BF537的視頻SOC驗證方案設(shè)計
電子報
李陽 劉政林等
摘要: 基于ADSP-BF537的視頻SOC驗證方案設(shè)計,本文介紹一種利用嵌入Blackfin處理器的ADSP-BF537作為處理器進行SoC的FPGA實時驗證的方案及其總線接口轉(zhuǎn)換模塊的設(shè)計。
關(guān)鍵詞: SOC 視頻 ADSP-BF537
Abstract:
Key words :

    隨著硅片集成技術(shù)的高速發(fā)展,片上系統(tǒng)SoC(system-on-a-Chip)已經(jīng)成為現(xiàn)代數(shù)字系統(tǒng)設(shè)計的必然趨勢。SoC和一般數(shù)字系統(tǒng)最主要的區(qū)別是前者在單一硅片內(nèi)集成了獨立的嵌入式CPU,必要的存儲器控制器也要求集成到SoC芯片內(nèi),所以對SoC系統(tǒng)的軟硬件協(xié)同實時驗證便成為SoC設(shè)計的難點。基于IP的可重用設(shè)計方法已經(jīng)成為數(shù)字系統(tǒng)設(shè)計工程師普遍采用的系統(tǒng)設(shè)計方法。于是,設(shè)計者采用第三方IP或自行設(shè)計的軟核或兩者的組合來搭建符合要求的系統(tǒng)。對于一個SoC系統(tǒng),嵌入式CPU的選擇至關(guān)重要。第三方提供CPU的方式有軟核和固核,如果在設(shè)計過程中僅被授權(quán)采用第三方優(yōu)化的固核(版圖級),則前端FPGA實時驗證問題自然凸現(xiàn)出來。解決的辦法是選擇相應(yīng)CPU的驗證開發(fā)板或者采用其他處理器。本文介紹一種利用嵌入Blackfin處理器的ADSP-BF537作為處理器進行SoC的FPGA實時驗證的方案及其總線接口轉(zhuǎn)換模塊的設(shè)計。SoC系統(tǒng)驗證平臺結(jié)構(gòu)框圖如圖1所示。
 

1 ADSP簡介

    ADSP是ADI(Analog Device Inc.)公司推出的一系列高性能低功耗DSP芯片,而基于Blackfin處理器的ADSP-BF533一經(jīng)推出便被很多國家的設(shè)計人員立即采用,后續(xù)系列產(chǎn)品ADSP-BF5xx也被更多的系統(tǒng)設(shè)計廠家應(yīng)用到各自的產(chǎn)品中。正是因為ADSP-BF5xx系列芯片是以功能強大性能卓越的Blackfin處理器為內(nèi)核而推出的高效DSP芯片,使得人們可以采用ADSP-BF5xx系列芯片作為處理器進行視頻SoC的FPGA實時驗證。Blackfin處理器集成了一個由ADI公司和Intel公司聯(lián)合開發(fā)的基于MSA(Micro Signal Architecture)的16/32位嵌入式處理器,支持32位RISC指令集,采用10級流水線,集成了兩個16位乘法加速器,內(nèi)核主頻最高可以達到600MHz[1]。

2 ADSP外部Momory總線介紹

    ADSP外部Memory總線可以進行同步或異步操作,前者是通過時鐘輸出端CLKOUT進行同步的。本文所采用的ADSP-BF537 Ez-kit Lite開發(fā)套件的外部Memory總線的可用地址僅為19位(ADDR[19:1]),并且采用AMS[3:0]選中相應(yīng)的外部區(qū)域。ADSP-BF537的四個選通信號線對應(yīng)的外部Memory地址范圍如表1所示[2]。可以看出,直接利用ADSP外部Memory總線操作的地址空間只有4MB容量,顯然不能滿足SoC的選址需求,必須進行接口總線的轉(zhuǎn)換來提高尋址范圍。
 

    ADSP-BF537外部Memory讀寫時序波形如圖2所示,其中的ARDY信號是由外設(shè)產(chǎn)生的。ADSP通過設(shè)置EBIU_AMBCTLx寄存器,允許傳輸過程中使用ARDY握手信號,用來增強系統(tǒng)運行的準確度。ARDY信號的有效電平是可以設(shè)置的。

    EBIU_AMBCTLx寄存器還可以改變ADSP對外讀寫操作的時序,包括數(shù)據(jù)建立時間、讀寫通路時間以及數(shù)據(jù)保持時間。例如,圖2所示的寫操作建立時間、通路時間和保持時間分別是2個周期、2個周期和1個周期。如果使能ARDY信號,并設(shè)置為高電平有效,則在設(shè)定的讀寫時間內(nèi),ARDY為低電平表示外設(shè)不能寫入或者讀出數(shù)據(jù),需要ADSP繼續(xù)保持相應(yīng)的讀寫等待狀態(tài),直到ARDY信號被拉為高電平;只有當ADSP檢測到ARDY為高電平時,才能將DATA數(shù)據(jù)作為有效數(shù)據(jù)。上述過程如圖2中的讀操作,ARDY信號被拉低了一個周期。
 

    ADSP-BF537的外部Memory地址總線位寬是ADDR[19:1],這樣可以使ADSP靈活地對16/32位數(shù)據(jù)進行地址選址。例如,如果對連續(xù)地址進行16位數(shù)據(jù)的讀寫操作,ADDR[19:1]只需依次加1,而ADSP軟件開發(fā)工具中相應(yīng)的內(nèi)部變量數(shù)據(jù)類型定義為short即可[3];類似地,如果要讀寫的數(shù)據(jù)類型為int(32位)數(shù)據(jù),則每次訪問外部地址時,ADSP會連續(xù)產(chǎn)生兩次讀寫操作,并且地址總線ADDR[19:1]是連續(xù)的。

3 AHB總線介紹

    AHB(Advanced High-performance Bus)是AMBA總線中用途最為廣泛的一種高速總線,因其協(xié)議簡單、可綜合性強、支持主頻高、功耗低,已經(jīng)被很多SoC芯片作為內(nèi)部高速系統(tǒng)總線。大多數(shù)第三方IP廠商提供的功能模塊的接口都支持AMBA總線協(xié)議。AHB基本傳輸時序如圖3所示[4]。
 

4消除信號的亞穩(wěn)態(tài)現(xiàn)象

    在本次視頻SoC的FPGA驗證方案中,采用ADSP的外部Memory總線,F(xiàn)PGA既可以利用同步時鐘輸出CLKOUT進行同步設(shè)計,也可以采用異步總線讀寫。如果不使用CLKOUT而采用異步設(shè)計,則在總線轉(zhuǎn)換接口模塊設(shè)計中,首先需要保證消除讀寫信號亞穩(wěn)態(tài)現(xiàn)象。ADSP內(nèi)核主頻可以達到600MHz,外部Memory總線的采樣時鐘(CLKOUT)動態(tài)調(diào)整范圍也很大,因此對異步輸入信號可以采用增加同步觸發(fā)器進行鎖存延時的方法來消除亞穩(wěn)態(tài)[5]。具體實現(xiàn)方法是在異步輸入信號的前端加2-3級同步觸發(fā)器。FPGA驗證證明:當CLKOUT頻率為50MHz,F(xiàn)PGA系統(tǒng)主頻為25MHz時,3級同步鎖存完全可以消除亞穩(wěn)態(tài),從而保證ADSP在外部Memory總線上正確進行數(shù)據(jù)傳輸。

5總線轉(zhuǎn)換狀態(tài)機設(shè)計

    目前,大多數(shù)采用AMBA總線的SoC系統(tǒng)內(nèi)部的總線位寬是32位,多數(shù)嵌入式CPU和第三方IP核總線位寬也均為32位,因為32位地址總線和數(shù)據(jù)總線已經(jīng)可以滿足絕大多數(shù)SoC系統(tǒng)的存儲器映射寄存器的地址分配和數(shù)據(jù)交換以及外部SDRAM和FLASH的尋址需求。ADSP-BF537的外部Memory數(shù)據(jù)總線是16位,并且地址總線只有19位,因此必須通過增加必要的狀態(tài)來解決總線位寬的不匹配問題。

    為了實現(xiàn)ADSP對外進行32位的地址操作和數(shù)據(jù)操作,可以利用Blackfin處理器分兩次進行讀寫操作。寫操作分兩次進行,第一次寫,先傳輸?shù)刂泛蛿?shù)據(jù)的高16位,第二次寫才將32位的地址和數(shù)據(jù)信號傳輸?shù)紸HB總線上;進行讀操作時,需要AHB產(chǎn)生兩次讀動作,這樣才能使有效的32位數(shù)據(jù)被Blackfin處理器正確接收。第一次讀到有效的32位數(shù)據(jù)后傳輸高位,第二次讀到后傳輸?shù)臀唬⑶颐看巫x操作都需要Blackfin發(fā)出兩次讀動作,以便組合出AHB的32位地址。這樣就可以突破ADSP-BF537對外只能進行4MB空間存取的限制。以上描述過程的狀態(tài)機轉(zhuǎn)換圖如圖4所示。
 

    利用ADSP作為SoC系統(tǒng)處理器進行SoC驗證時,ADSP進行的主要操作是讀寫系統(tǒng)內(nèi)部各個功能模塊的Memory映射控制寄存器,并且通過SDRAM控制器對SoC系統(tǒng)的外部SDRAM進行數(shù)據(jù)交換操作。因此總線轉(zhuǎn)換狀態(tài)機分成讀傳輸和寫傳輸兩大部分。

    當ADSP需要進行外部Memory總線傳輸時,首先會把相應(yīng)的ams信號拉低,這時總線轉(zhuǎn)換狀態(tài)機應(yīng)該使AHB進入BUSREQ狀態(tài),要求仲裁器釋放AHB總線給CPU(ADSP)。

    對于一個寫操作,需定義一個wr_flag標志位來確定是否產(chǎn)生AHB寫動作。ams信號拉低后,經(jīng)過可配置的寫建立時間后,寫控制信號awe被拉低,初始化的wr_flag為0,表明ADSP進行的是第一次寫操作。進入的WRITE_H狀態(tài)用來鎖存寫地址和寫數(shù)據(jù)的高16位,同時會把wr_flag置為1,但并不向AHB總線發(fā)出寫命令。一個周期后重新進入BUSREQ狀態(tài),等待ADSP下一個寫命令。ADSP發(fā)出第二次寫命令后,狀態(tài)機檢測到awe=0和wr_flag=1后進入WRITE_L_ADDR狀態(tài),表明需要向AHB發(fā)出寫命令,包括hwrite、haddr、htrans、hsize等AHB控制信號。haddr是兩次寫操作地址(16位)組合而成的32位地址,htrans=2和hsize=2,表明是非連續(xù)傳輸,傳輸數(shù)據(jù)位寬是32位。下一個周期,狀態(tài)進入WRITE_L_DATA,兩次寫操作數(shù)據(jù)也相應(yīng)組合成32位。如果AHB slave的hready為高,則32位數(shù)據(jù)釋放到AHB總線上,同時復(fù)位AHB控制信號,下一個周期返回IDLE狀態(tài);如果hready為低,則繼續(xù)保持WRITE_L_DATA狀態(tài),直到AHB slave把hready拉高有效。如果等待時間過長,可以增加一個計數(shù)器使狀態(tài)機在一定時間后自動返回IDLE狀態(tài),并標記相應(yīng)的error狀態(tài)寄存器。例如,需要通過ADSP向haddr[31:0]=0x1234_5678地址內(nèi)寫入hwdata[31:0]=0xaabb_ccdd,則測試平臺(采用vmt slave)模擬ADSP對外進行兩次寫操作,第一次向addr[18:0]=0x1234內(nèi)寫0xaabb,第二次向addr[18:0]=0x5678內(nèi)寫0xccdd,如圖5所示。第二次寫操作后正確產(chǎn)生AHB寫操作。

    同樣,對于一個讀操作,狀態(tài)機也需要兩次對AHB發(fā)出讀動作,把讀到的slave數(shù)據(jù)分高低位兩次傳輸給ADSP,不同的是,為了保證AHB讀地址是32位,而不僅僅是ADSP外部Memory地址總線的19位,每次AHB的讀命令,需要ADSP兩次讀動作,第一次讀用來傳輸高位地址,第二次讀才能把完整的32位地址傳送到AHB上,使AHB產(chǎn)生讀操作。上述過程的狀態(tài)依次是圖4中的READ_ADDR_H、READ_ADDR_L、READ_HOLD、READ_TRANSFER。標志位rd_complete用來區(qū)分AHB的兩次讀動作,為0時在READ_TRANSFER狀態(tài)傳輸讀取數(shù)據(jù)的高16位,被ADSP讀取,下一個周期后進入BUSREQ狀態(tài)等待下一個讀命令;為1時在READ_TRANSTER狀態(tài)傳輸讀取數(shù)據(jù)的低16位,并返回IDLE狀態(tài)。例如需要讀取上述已經(jīng)被寫入地址haddr[31:0]=0x1235_5678的值時,第一次ADSP發(fā)出讀addr[18:0]=0x1234,第二次發(fā)出讀addr[18:0]=0x5678,這時ADSP的data只傳輸高位數(shù)據(jù)0xaabb,ADSP再發(fā)兩次相同的讀命令后,data才傳輸?shù)臀粩?shù)據(jù)0xccdd。對應(yīng)的讀操作的仿真波形如圖6所示。
 


    如前所述,ADSP外部Memory總線在對外讀寫時可以通過EBIU_AMBCTlx寄存器來選擇是否選通握手信號ARDY。為了提高傳輸?shù)目煽啃院蜏蚀_度,在設(shè)計轉(zhuǎn)換模塊時需要考慮ARDY,如圖5、圖6中的讀寫操作時序圖所示,在每一次數(shù)據(jù)傳輸完成的最后一個狀態(tài),需要將ARDY信號置1,然后在下一個IDLE或BUSREQ狀態(tài)將ARDY清0,這樣可以保證ADSP能正確讀到ADSP外部Memory數(shù)據(jù)總線上的有效數(shù)據(jù),防止因ADSP對外讀寫時序設(shè)置不合理而造成系統(tǒng)不能正常運行。

6 FPGA實現(xiàn)

    本模塊的設(shè)計是用于FPGA驗證用途的,對于大型視頻SoC系統(tǒng)的FPGA實時驗證,往往需要采用大容量的FPGA,因此本設(shè)計采用Altera Stratix II EP2S60器件進行FPGA驗證。采用Quartus綜合和布局布線后,一共需要140個ALUT和131個寄存器,最快時鐘可以達到300MHz。因為ADSP可以設(shè)置外部Memory總線的讀寫時序,所以對外訪問的速率不是惟一的。為了實現(xiàn)16位到32位的轉(zhuǎn)換雖然增加了讀寫的次數(shù),但因為ADSP外部Memory同步時鐘頻率調(diào)整范圍很大,因此本設(shè)計完全可以滿足IP核功能驗證對頻率的要求,對于視頻SoC內(nèi)部基本AHB總線和APB總線上的功能模塊都能正確實時驗證。基于ADSP-BF537內(nèi)部嵌入的Blackfin處理器及其DSP接口,已經(jīng)利用本接口模塊成功地驗證了AHB總線上的H264和MPEG一2的encode與decode加速器、Ethernet MAC控制器、SDRAM控制器以及APB總線上的UART、TIMER、AC97、GPIO和LCD控制器等低速外設(shè)。

    隨著驗證環(huán)節(jié)在SoC產(chǎn)品開發(fā)過程中所占時間和開銷的迅速增加,Altera和Xilinx在其大容量FPGA芯片產(chǎn)品中,都集成了特定類型的CPU作為系統(tǒng)處理器,但它們都受到特定FPGA器件的限制[6]。因此利用ADSP內(nèi)嵌的強大Blackfin處理器和豐富的DSP外設(shè),可以有效地提高驗證的效率和功能的完整性。本文的總線接口模塊的設(shè)計對具有不同讀寫時序的驗證板的正常工作起著重要的作用,SoC原型的搭建必然要求本模塊能真實反映實際AHB總線的動作,這樣對于保證各個功能模塊的完整性和實時工作將起很大的作用。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲天堂久久| 欧美激情视频网站| 亚洲国内精品在线| 欧美亚洲一区二区三区| 洋洋av久久久久久久一区| 亚洲国产精品成人综合色在线婷婷 | 欧美视频国产精品| 欧美精品久久一区| 欧美高清日韩| 欧美黄色aa电影| 欧美激情一区二区久久久| 欧美1区2区视频| 久久伊人一区二区| 免费观看欧美在线视频的网站| 久久精品人人做人人爽| 久久精品91久久久久久再现| 欧美一区二区免费视频| 欧美一区国产一区| 久久久久久久一区| 久久乐国产精品| 久热精品视频在线观看| 暖暖成人免费视频| 欧美激情bt| 欧美日韩国产精品一区二区亚洲| 欧美韩日精品| 欧美日韩美女在线| 欧美午夜片在线观看| 国产精品国产三级欧美二区| 国产精品久久久久久一区二区三区| 国产精品草草| 国产精品一香蕉国产线看观看 | 亚洲大胆视频| 亚洲精品视频免费观看| 亚洲午夜久久久| 欧美永久精品| 麻豆亚洲精品| 欧美日韩高清在线一区| 国产精品久久久久久久浪潮网站| 欧美视频在线观看 亚洲欧| 国产精品视频男人的天堂| 国产精品资源在线观看| 狠狠色狠狠色综合日日91app| 亚洲国产99| 亚洲小视频在线| 欧美在线3区| 夜夜嗨一区二区| 欧美影视一区| 欧美成人久久| 欧美性大战久久久久久久蜜臀| 国产精品亚发布| 亚洲大片在线| 亚洲一级黄色片| 久久国产加勒比精品无码| 亚洲国产欧美一区二区三区久久 | 久久国产精品网站| 一区二区三区精品国产| 亚洲女性裸体视频| 久久久久久亚洲精品不卡4k岛国| 久久综合国产精品| 欧美精品日韩综合在线| 欧美视频中文在线看 | 91久久中文| 一本综合久久| 欧美一进一出视频| 久久综合电影| 欧美日韩岛国| 国产精品视频不卡| 黄色成人片子| 日韩一区二区高清| 香蕉久久久久久久av网站| 欧美一区二区大片| 亚洲毛片视频| 欧美一级专区| 欧美电影美腿模特1979在线看| 欧美精品性视频| 国产精品午夜在线观看| 精品99一区二区三区| 亚洲精品欧美日韩专区| 亚洲综合三区| 亚洲日本成人女熟在线观看| 亚洲精品日产精品乱码不卡| 亚洲激情在线激情| 亚洲小视频在线观看| 久久精品国产69国产精品亚洲| 免费观看日韩| 国产精品黄色| 亚洲高清资源| 亚洲欧美日韩国产精品| 亚洲看片一区| 欧美一区二区在线看| 欧美精品在线观看| 国产午夜精品久久久久久久| 亚洲三级国产| 亚洲第一色在线| 日韩亚洲欧美高清| 欧美一区二区在线看| 亚洲视频国产视频| 麻豆精品网站| 国产精品中文字幕欧美| 在线日韩欧美| 亚洲欧美日韩一区二区| 亚洲每日在线| 久久精品成人一区二区三区| 欧美日韩三区| 亚洲电影激情视频网站| 性感少妇一区| 亚洲视频欧美在线| 欧美.www| 国产伪娘ts一区| 亚洲午夜久久久久久久久电影网| 亚洲综合精品| 一区二区三区久久久| 美国成人直播| 国产一区91| 亚洲免费小视频| 亚洲视频福利| 欧美精品观看| 在线精品一区| 久久国产精品久久w女人spa| 亚洲美女av网站| 久久亚洲一区二区| 国产一区91| 亚洲欧美日韩精品久久久| 一区二区三区国产精华| 女人色偷偷aa久久天堂| 精品999网站| 欧美在线网站| 久久久www成人免费精品| 国产精品一区二区你懂得| 亚洲国产欧美日韩另类综合| 久久精品女人的天堂av| 久久精品一本久久99精品| 国产精品五月天| 亚洲视频在线观看一区| 中文高清一区| 欧美日韩一区二区三区免费看 | 黄色成人在线| 久久国产手机看片| 性欧美8khd高清极品| 国产女人精品视频| 亚洲综合色丁香婷婷六月图片| 亚洲在线一区二区| 欧美日韩综合不卡| 亚洲国语精品自产拍在线观看| 亚洲国产精品悠悠久久琪琪| 久久一区二区三区超碰国产精品| 国模精品娜娜一二三区| 羞羞答答国产精品www一本| 久久久xxx| 国内免费精品永久在线视频| 亚洲丶国产丶欧美一区二区三区| 久久久久久久综合色一本| 国内自拍一区| 亚洲七七久久综合桃花剧情介绍| 免费成人性网站| 亚洲国产另类精品专区| 一本色道久久综合亚洲精品按摩| 久久精品国产69国产精品亚洲| 国产毛片一区| 91久久精品美女| 欧美精品一区二区三区四区| 日韩香蕉视频| 性久久久久久久久久久久| 国产午夜精品美女毛片视频| 欧美在线播放高清精品| 另类亚洲自拍| 亚洲国产精品黑人久久久| 一本在线高清不卡dvd| 欧美视频一区二区三区…| 亚洲网站在线看| 久久国产黑丝| 狠狠色综合网站久久久久久久| 亚洲日本欧美| 久久一区二区三区四区| 亚洲伦伦在线| 欧美一区在线看| 亚洲成人在线观看视频| 亚洲午夜精品| 国产亚洲第一区| 亚洲人成久久| 欧美精品色网| 欧美一区二区日韩一区二区| 欧美成人在线影院| 一区二区三区四区五区在线| 欧美在线视频在线播放完整版免费观看| 欧美精品免费在线| 亚洲综合成人婷婷小说| 美女图片一区二区| 一本色道久久88亚洲综合88| 午夜精品在线视频| 亚洲国产成人av好男人在线观看| 亚洲一区二区三区精品在线| 国内成+人亚洲+欧美+综合在线| 日韩亚洲精品视频| 国产欧美日本一区二区三区| 亚洲精品乱码久久久久久黑人| 国产精品高潮粉嫩av| 亚洲福利国产| 国产精品另类一区| 亚洲精品国精品久久99热一|