《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 基于ADSP-BF537的視頻SoC驗證方案及其接口的設計

基于ADSP-BF537的視頻SoC驗證方案及其接口的設計

2008-04-01
作者:李 陽1, 劉政林1, 湯加躍2

  摘 要: 視頻SoC規模的飛速增長,給FPGA驗證帶來很大挑戰,大容量外部SDRAM以及更多的外設" title="外設">外設模塊的采用,不但增加了硬件復雜度,也給相應驅動程序的調試帶來很大難度。為了全面有效地進行FPGA驗證,提出了一種在SoC驗證平臺中,利用ADSP-BF537" title="ADSP-BF537">ADSP-BF537作為處理器的驗證方案,并重點介紹了ADSP外部Memory總線和SoC系統總線(AHB)轉換模塊的設計。該方案已成功應用在深圳艾科創新微電子有限公司的某款視頻SoC項目中。
  關鍵詞: 視頻SoC FPGA 驗證平臺 ADSP-BF537 AHB


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


1 ADSP簡介
  ADSP是ADI(Analog Device Inc.)公司推出的一系列高性能低功耗DSP芯片,而基于Blackfin處理器的ADSP-BF533一經推出便被很多國家的設計人員立即采用,后續系列產品ADSP-BF5xx也被更多的系統設計廠家應用到各自的產品中。正是因為ADSP-BF5xx系列芯片是以功能強大性能卓越的Blackfin處理器為內核而推出的高效DSP芯片,使得人們可以采用ADSP-BF5xx系列芯片作為處理器進行視頻SoC的FPGA實時驗證。Blackfin處理器集成了一個由ADI公司和Intel公司聯合開發的基于MSA(Micro Signal Architecture)的16/32位嵌入式處理器,支持32位RISC指令集,采用10級流水線,集成了兩個16位乘法加速器,內核主頻最高可以達到600MHz[1]
2 ADSP外部Memory總線介紹
  ADSP外部Memory總線可以進行同步或異步操作,前者是通過時鐘輸出端CLKOUT進行同步的。本文所采用的ADSP-BF537 Ez-kit Lite開發套件的外部Memory總線的可用地址僅為19位(ADDR[19:1]),并且采用AMS[3:0]選中相應的外部區域。ADSP-BF537的四個選通信號線對應的外部Memory地址范圍如表1所示[2]。可以看出,直接利用ADSP外部Memory總線操作的地址空間只有4MB容量,顯然不能滿足SoC的選址需求,必須進行接口總線的轉換來提高尋址范圍。


  ADSP-BF537外部Memory讀寫時序波形如圖2所示,其中的ARDY信號是由外設產生的。ADSP通過設置EBIU_AMBCTLx寄存器,允許傳輸過程中使用ARDY握手信號,用來增強系統運行的準確度。ARDY信號的有效電平是可以設置的。EBIU_AMBCTLx寄存器還可以改變ADSP對外讀寫操作" title="讀寫操作">讀寫操作的時序,包括數據建立時間、讀寫通路時間以及數據保持時間。例如,圖2所示的寫操作建立時間、通路時間和保持時間分別是2個周期、2個周期和1個周期。如果使能ARDY信號,并設置為高電平有效,則在設定的讀寫時間內,ARDY為低電平表示外設不能寫入或者讀出數據,需要ADSP繼續保持相應的讀寫等待狀態,直到ARDY信號被拉為高電平;只有當ADSP檢測到ARDY為高電平時,才能將DATA數據作為有效數據。上述過程如圖2中的讀操作,ARDY信號被拉低了一個周期。


  ADSP-BF537的外部Memory地址總線" title="地址總線">地址總線位寬是ADDR[19:1],這樣可以使ADSP靈活地對16/32位數據進行地址選址。例如,如果對連續地址進行16位數據的讀寫操作,ADDR[19:1]只需依次加1,而ADSP軟件開發工具中相應的內部變量數據類型定義為short即可[3];類似地,如果要讀寫的數據類型為int(32位)數據,則每次訪問外部地址時,ADSP會連續產生兩次讀寫操作,并且地址總線ADDR[19:1]是連續的。
3 AHB總線介紹
  AHB(Advanced High-performance Bus)是AMBA總線中用途最為廣泛的一種高速總線,因其協議簡單、可綜合性強、支持主頻高、功耗低,已經被很多SoC芯片作為內部高速系統總線。大多數第三方IP廠商提供的功能模塊的接口都支持AMBA總線協議。AHB基本傳輸時序如圖3所示[4]


4 消除信號的亞穩態現象
  在本次視頻SoC的FPGA驗證方案中,采用ADSP的外部Memory總線,FPGA既可以利用同步時鐘輸出CLKOUT進行同步設計,也可以采用異步總線讀寫。如果不使用CLKOUT而采用異步設計,則在總線轉換接口模塊設計中,首先需要保證消除讀寫信號亞穩態現象。ADSP內核主頻可以達到600MHz,外部Memory總線的采樣時鐘(CLKOUT)動態調整范圍也很大,因此對異步輸入信號可以采用增加同步觸發器進行鎖存延時的方法來消除亞穩態[5]。具體實現方法是在異步輸入信號的前端加2~3級同步觸發器。FPGA驗證證明:當CLKOUT頻率為50MHz,FPGA系統主頻為25MHz時,3級同步鎖存完全可以消除亞穩態,從而保證ADSP在外部Memory總線上正確進行數據傳輸。
5 總線轉換狀態機設計
  目前,大多數采用AMBA總線的SoC系統內部的總線位寬是32位,多數嵌入式CPU和第三方IP核總線位寬也均為32位,因為32位地址總線和數據總線已經可以滿足絕大多數SoC系統的存儲器映射寄存器的地址分配和數據交換以及外部SDRAM和FLASH的尋址需求。ADSP-BF537的外部Memory數據總線是16位,并且地址總線只有19位,因此必須通過增加必要的狀態來解決總線位寬的不匹配問題。
  為了實現ADSP對外進行32位的地址操作和數據操作,可以利用Blackfin處理器分兩次進行讀寫操作。寫操作分兩次進行,第一次寫,先傳輸地址和數據的高16位,第二次寫才將32位的地址和數據信號傳輸到AHB總線上;進行讀操作時,需要AHB產生兩次讀動作,這樣才能使有效的32位數據被Blackfin處理器正確接收。第一次讀到有效的32位數據后傳輸高位,第二次讀到后傳輸低位,并且每次讀操作都需要Blackfin發出兩次讀動作,以便組合出AHB的32位地址。這樣就可以突破ADSP-BF537對外只能進行4MB空間存取的限制。以上描述過程的狀態機轉換圖如圖4所示。


  利用ADSP作為SoC系統處理器進行SoC驗證時,ADSP進行的主要操作是讀寫系統內部各個功能模塊的Memory映射控制寄存器,并且通過SDRAM控制器對SoC系統的外部SDRAM進行數據交換操作。因此總線轉換狀態機分成讀傳輸和寫傳輸兩大部分。
  當ADSP需要進行外部Memory總線傳輸時,首先會把相應的ams信號拉低,這時總線轉換狀態機應該使AHB進入BUSREQ狀態,要求仲裁器釋放AHB總線給CPU(ADSP)。
  對于一個寫操作,需定義一個wr_flag標志位來確定是否產生AHB寫動作。ams信號拉低后,經過可配置的寫建立時間后,寫控制信號awe被拉低,初始化的wr_flag為0,表明ADSP進行的是第一次寫操作。進入的WRITE_H狀態用來鎖存寫地址和寫數據的高16位,同時會把wr_flag置為1,但并不向AHB總線發出寫命令。一個周期后重新進入BUSREQ狀態,等待ADSP下一個寫命令。ADSP發出第二次寫命令后,狀態機檢測到awe=0和wr_flag=1后進入WRITE_L_ADDR狀態,表明需要向AHB發出寫命令,包括hwrite、haddr、htrans、hsize等AHB控制信號。haddr是兩次寫操作地址(16位)組合而成的32位地址,htrans=2和hsize=2,表明是非連續傳輸,傳輸數據位寬是32位。下一個周期,狀態進入WRITE_L_DATA,兩次寫操作數據也相應組合成32位。如果AHB slave的hready為高,則32位數據釋放到AHB總線上,同時復位AHB控制信號,下一個周期返回IDLE狀態;如果hready為低,則繼續保持WRITE_L_DATA狀態,直到AHB slave把hready拉高有效。如果等待時間過長,可以增加一個計數器使狀態機在一定時間后自動返回IDLE狀態,并標記相應的error狀態寄存器。例如,需要通過ADSP向haddr[31:0]=0x1234_5678地址內寫入hwdata[31:0]=0xaabb_ccdd,則測試平臺(采用vmt slave)模擬ADSP對外進行兩次寫操作,第一次向addr[18:0]=0x1234內寫0xaabb,第二次向addr[18:0]=0x5678內寫0xccdd,如圖5所示。第二次寫操作后正確產生AHB寫操作。
  同樣,對于一個讀操作,狀態機也需要兩次對AHB發出讀動作,把讀到的slave數據分高低位兩次傳輸給ADSP。不同的是,為了保證AHB讀地址是32位,而不僅僅是ADSP外部Memory地址總線的19位,每次AHB的讀命令,需要ADSP兩次讀動作,第一次讀用來傳輸高位地址,第二次讀才能把完整的32位地址傳送到AHB上,使AHB產生讀操作。上述過程的狀態依次是圖4中的READ_ADDR_H、READ_ADDR_L、READ_HOLD、 READ_TRANSFER。標志位rd_complete用來區分AHB的兩次讀動作,為0時在READ_TRANSFER狀態傳輸讀取數據的高16位,被ADSP讀取,下一個周期后進入BUSREQ狀態等待下一個讀命令;為1時在READ_TRANSTER狀態傳輸讀取數據的低16位,并返回IDLE狀態。例如需要讀取上述已經被寫入地址haddr[31:0]=0x1235_5678的值時,第一次ADSP發出讀addr[18:0]=0x1234,第二次發出讀addr[18:0]=0x5678,這時ADSP的data只傳輸高位數據0xaabb,ADSP再發兩次相同的讀命令后,data才傳輸低位數據0xccdd。對應的讀操作的仿真波形如圖6所示。


  如前所述,ADSP外部Memory總線在對外讀寫時可以通過EBIU_AMBCTLx寄存器來選擇是否選通握手信號ARDY。為了提高傳輸的可靠性和準確度,在設計轉換模塊時需要考慮ARDY,如圖5、圖6中的讀寫操作時序圖所示,在每一次數據傳輸完成的最后一個狀態,需要將ARDY信號置1,然后在下一個IDLE或BUSREQ狀態將ARDY清0,這樣可以保證ADSP能正確讀到ADSP外部Memory數據總線上的有效數據,防止因ADSP對外讀寫時序設置不合理而造成系統不能正常運行。
6 FPGA實現
  本模塊的設計是用于FPGA驗證用途的,對于大型視頻SoC系統的FPGA實時驗證,往往需要采用大容量的FPGA,因此本設計采用Altera Stratix II EP2S60器件進行FPGA驗證。采用Quartus綜合和布局布線后,一共需要140個ALUT和131個寄存器,最快時鐘可以達到300MHz。因為ADSP可以設置外部Memory總線的讀寫時序,所以對外訪問的速率不是惟一的。為了實現16位到32位的轉換雖然增加了讀寫的次數,但因為ADSP外部Memory同步時鐘頻率調整范圍很大,因此本設計完全可以滿足IP核功能驗證對頻率的要求,對于視頻SoC內部基本AHB總線和APB總線上的功能模塊都能正確實時驗證。基于ADSP-BF537內部嵌入的Blackfin處理器及其DSP接口,已經利用本接口模塊成功地驗證了AHB總線上的H264和MPEG-2的encode與decode加速器、Ethernet MAC控制器、SDRAM控制器以及APB總線上的UART、TIMER、AC97、GPIO和LCD控制器等低速外設。
  隨著驗證環節在SoC產品開發過程中所占時間和開銷的迅速增加,Altera和Xilinx在其大容量FPGA芯片產品中,都集成了特定類型的CPU作為系統處理器,但它們都受到特定FPGA器件的限制[6]。因此利用ADSP內嵌的強大Blackfin處理器和豐富的DSP外設,可以有效地提高驗證的效率和功能的完整性。本文的總線接口模塊的設計對具有不同讀寫時序的驗證板的正常工作起著重要的作用,SoC原型的搭建必然要求本模塊能真實反映實際AHB總線的動作,這樣對于保證各個功能模塊的完整性和實時工作將起很大的作用。
參考文獻
1 Getting Started With Blackfin Processor. Revision 2.0. Analog Device Inc., September 2005
2 ADSP-BF537 Blackfin Processor Hardware Reference,Revision 1.1. Analog Device Inc., 2005
3 ADSP-BF53x/BF56x Blackfin Processor Programming,Reference Revision 1.0. Analog Device Inc., 2005
4 AMBA Specification, Revision 2.0. ARM Co.Ltd, 1999
5 Zeidman Bob. Designing with FPGAs & CPLDs. CMP Books, 2002
6 StratixII Device Handbook, Volume 1. Altera Corp., 2004
7 Prakash Rashinkar. System-On-a-Chip Verification Methodology and Techniques. Kluwer Academic Publishers, 2001

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久久精品网| 欧美精品在线免费观看| 日韩一区二区免费高清| 欧美日韩国产成人精品| 久久婷婷国产综合尤物精品| 亚洲精品久久久久久久久久久| 午夜视频在线观看一区二区三区| 亚洲视频欧美视频| 国内揄拍国内精品少妇国语| 国产精品麻豆成人av电影艾秋| 欧美日韩精品一区| 欧美一区二区三区视频在线| 亚洲网站在线| 亚洲永久网站| 亚洲免费视频一区二区| 久久精品国产精品| 一本大道久久a久久综合婷婷| 亚洲国产专区| 国产色视频一区| 国产精品人人爽人人做我的可爱 | 欧美一区二区三区婷婷月色 | 欧美一区二区在线看| 欧美综合国产| 久久爱www| 久久久久久久波多野高潮日日| 99精品热6080yy久久 | 欧美在线视频一区二区| 欧美在线高清视频| 一区二区日本视频| 一区二区三区四区五区视频| 午夜伦理片一区| 欧美一区午夜精品| 99精品99| 亚洲一区二区三区精品在线观看| 亚洲午夜国产一区99re久久| 亚洲欧美日韩视频二区| 欧美伊人久久| 亚洲精品女人| 亚洲午夜一区| 日韩亚洲欧美一区二区三区| 欧美在线亚洲综合一区| 亚洲激情av| 久久福利毛片| 亚洲欧美日本日韩| 一本色道综合亚洲| 亚洲一区欧美二区| 亚洲第一精品夜夜躁人人爽 | 亚洲欧美精品suv| 夜夜夜精品看看| 亚洲免费在线看| 久久米奇亚洲| 久久九九热免费视频| 免费成人av在线看| 老牛嫩草一区二区三区日本| 久久精品国产久精国产思思| 久久视频在线看| 欧美日韩国产精品专区 | 亚洲女爱视频在线| 亚洲国产视频a| 久久国产日韩| 夜夜狂射影院欧美极品| 亚洲免费av观看| 午夜欧美精品久久久久久久| 亚洲一区国产一区| 久久久久欧美精品| 欧美日韩一区二区在线观看| 国产亚洲人成a一在线v站 | 久久国产乱子精品免费女| 欧美一区二区三区视频在线| 亚洲精品综合久久中文字幕| 欧美一区二区三区免费看| 欧美aⅴ99久久黑人专区| 国产精品视频男人的天堂| 国产精品乱人伦中文| 国产精品日韩精品欧美精品| 激情综合色丁香一区二区| 狠狠色狠狠色综合人人| 99精品视频免费观看视频| 久久国产主播精品| 亚洲综合成人婷婷小说| 午夜激情一区| 久久国产精品久久久久久| 久久精品道一区二区三区| 久久精品国产久精国产一老狼| 欧美日韩国产成人| 在线不卡a资源高清| 一区二区三区在线看| 亚洲午夜激情| 一区二区三区导航| 免费中文日韩| 国产在线乱码一区二区三区| 一本综合精品| 亚洲欧美综合国产精品一区| 午夜日本精品| 亚洲婷婷综合色高清在线| 欧美fxxxxxx另类| 红桃av永久久久| 亚洲经典视频在线观看| 日韩一区二区福利| 亚洲精品久久久蜜桃| 久热精品视频在线观看| 欧美激情二区三区| 国内一区二区三区| 欧美一级在线视频| 午夜免费电影一区在线观看| 久久人人爽人人爽爽久久| 国产麻豆午夜三级精品| 一区二区三区欧美成人| 日韩一级在线观看| 羞羞漫画18久久大片| 欧美日韩三级| 亚洲美女毛片| 欧美中文字幕| av不卡在线观看| 欧美在线亚洲一区| 欧美激情中文字幕乱码免费| 国产精品国产精品| 一本色道久久加勒比88综合| 日韩天天综合| 久久精视频免费在线久久完整在线看| 欧美成人激情在线| 影音先锋在线一区| 亚洲国产欧洲综合997久久| 老司机凹凸av亚洲导航| 1769国内精品视频在线播放| 一本色道久久综合精品竹菊| 一区二区三区国产在线| 欧美精品在线观看| 国产亚洲激情| 亚洲精品一区在线| 一区二区高清在线| 欧美色图天堂网| 一区在线播放| 亚洲在线观看免费视频| 午夜激情久久久| 国产日韩欧美视频| 99人久久精品视频最新地址| 久久国产精品久久久久久久久久 | 国产情人综合久久777777| 亚洲欧美在线免费| 久久精品一区二区国产| 欧美日韩另类丝袜其他| 亚洲最快最全在线视频| 亚洲国产精品成人综合| 亚洲一级影院| 欧美激情aⅴ一区二区三区| 亚洲人成毛片在线播放| 亚洲午夜羞羞片| 国产嫩草一区二区三区在线观看| 欧美伊人久久久久久午夜久久久久| 亚洲性人人天天夜夜摸| 国产精品久久久久999| 亚洲欧美日韩一区二区三区在线观看 | 先锋影院在线亚洲| 亚洲一区二区黄| 国产免费一区二区三区香蕉精| 99国产精品99久久久久久粉嫩| 亚洲高清av在线| 欧美综合激情网| 亚洲成人资源网| 亚洲视频免费在线| 欧美激情视频网站| 亚洲一区不卡| 亚洲综合色视频| 国产精品va| 久久精品91久久久久久再现| 先锋影音久久久| 国产精品黄视频| 久久不见久久见免费视频1| 欧美在线999| 在线精品高清中文字幕| 亚洲视频一二区| 国产一区自拍视频| 一区二区精品国产| 国产午夜精品视频| 99re6这里只有精品| 国产欧美精品一区aⅴ影院| 亚洲一区在线直播| 性做久久久久久免费观看欧美| 精品成人在线| 亚洲欧美日韩中文视频| 在线免费观看一区二区三区| 亚洲一区中文| 亚洲国产精品综合| 欧美在线视频一区二区| 亚洲精品老司机| 亚洲一区二区在| 国产精品电影网站| 亚洲激情在线播放| 国产精品日本一区二区| 日韩亚洲欧美高清| 欧美性色aⅴ视频一区日韩精品| 欧美专区中文字幕| 免费观看不卡av| 亚洲人永久免费| 宅男66日本亚洲欧美视频| 欧美日韩免费一区二区三区| 欧美在线3区| 国产精品国产成人国产三级| 亚洲综合国产|