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

  1 ADSP簡介

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

  2 ADSP外部Momory總線介紹

  ADSP外部Memory總線可以進行同步或異步操作,前者是通過時鐘輸出端CLKOUT進行同步的。本文所采用的ADSP-BF537Ez-kitLite開發套件的外部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對外讀寫操作的時序,包括數據建立時間、讀寫通路時間以及數據保持時間。例如,圖2所示的寫操作建立時間、通路時間和保持時間分別是2個周期、2個周期和1個周期。如果使能ARDY信號,并設置為高電平有效,則在設定的讀寫時間內,ARDY為低電平表示外設不能寫入或者讀出數據,需要ADSP繼續保持相應的讀寫等待狀態,直到ARDY信號被拉為高電平;只有當ADSP檢測到ARDY為高電平時,才能將DATA數據作為有效數據。上述過程如圖2中的讀操作,ARDY信號被拉低了一個周期。

  ADSP-BF537的外部Memory地址總線位寬是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-performanceBus)是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位。如果AHBslave的hready為高,則32位數據釋放到AHB總線上,同時復位AHB控制信號,下一個周期返回IDLE狀態;如果hready為低,則繼續保持WRITE_L_DATA狀態,直到AHBslave把hready拉高有效。如果等待時間過長,可以增加一個計數器使狀態機在一定時間后自動返回IDLE狀態,并標記相應的error狀態寄存器。例如,需要通過ADSP向haddr『31:0』=0x1234_5678地址內寫入hwdata『31:0』=0xaabb_ccdd,則測試平臺(采用vmtslave)模擬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,因此本設計采用AlteraStratix IIEP2S60器件進行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加速器、EthernetMAC控制器、SDRAM控制器以及APB總線上的UART、TIMER、AC97、GPIO和LCD控制器等低速外設。

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美综合国产精品久久丁香| 亚洲欧美日本国产专区一区| 日韩一二三区视频| 狠狠色丁香婷综合久久| 国产精品尤物| 国产精品一级在线| 韩国欧美国产1区| 亚洲一级黄色片| 夜夜夜精品看看| 日韩午夜在线视频| 99视频在线精品国自产拍免费观看| 亚洲高清网站| 久久精品一区二区三区不卡牛牛 | 亚洲欧美在线x视频| 亚洲伊人第一页| 亚洲欧美综合| 欧美有码视频| 久久精品国产一区二区三区| 久久精品视频99| 免费av成人在线| 欧美激情一区在线观看| 欧美日韩在线视频一区二区| 欧美午夜一区二区| 国产精品你懂的在线欣赏| 国产精品日韩一区二区| 国产欧美日韩免费| 国产一区二区欧美| 一区在线免费观看| 亚洲黄色成人网| 日韩一级裸体免费视频| 亚洲女人天堂av| 久久精品视频免费播放| 日韩午夜av在线| 亚洲专区在线视频| 久久成人免费日本黄色| 六月天综合网| 欧美日韩在线视频一区| 国产麻豆日韩| 亚洲第一中文字幕| 9人人澡人人爽人人精品| 夜夜嗨av一区二区三区网页| 亚洲午夜精品一区二区| 欧美淫片网站| 亚洲人成网站影音先锋播放| 一区二区三区国产在线| 性做久久久久久久免费看| 久久久久国内| 欧美激情在线狂野欧美精品| 国产精品久久久久9999| 韩国美女久久| 一道本一区二区| 欧美在线视频免费观看| 日韩亚洲欧美综合| 午夜精品视频在线| 麻豆精品在线视频| 欧美视频福利| 久久国内精品视频| 激情综合网址| 国内精品伊人久久久久av影院 | 一道本一区二区| 亚洲一区二区三区激情| 久久久久久国产精品mv| 欧美日本二区| 国产欧美在线视频| 亚洲国产欧美精品| 亚洲欧美日韩精品综合在线观看| 亚洲日本中文| 久久av一区二区三区| 欧美乱妇高清无乱码| 国产欧美视频一区二区三区| 亚洲黄网站在线观看| 午夜免费日韩视频| 正在播放亚洲一区| 米奇777超碰欧美日韩亚洲| 国产精品国产三级国产aⅴ入口| 韩国福利一区| 亚洲视频在线视频| 亚洲三级影院| 久久久久成人网| 国产精品久久久一区麻豆最新章节| 亚洲第一精品电影| 香蕉成人久久| 亚洲午夜电影网| 欧美极品影院| 激情成人亚洲| 亚洲欧美日韩中文视频| 亚洲午夜精品| 欧美片第1页综合| 樱花yy私人影院亚洲| 亚洲欧美综合另类中字| 亚洲一区综合| 欧美日韩精品久久久| 尤妮丝一区二区裸体视频| 亚洲一区在线免费观看| 亚洲理伦电影| 嫩草国产精品入口| 韩国av一区二区三区| 亚洲综合导航| 亚洲一区二区三区四区五区黄| 欧美高清不卡在线| 狠狠综合久久| 欧美一区1区三区3区公司| 午夜精品久久久久久久久久久久 | 99在线|亚洲一区二区| 欧美成年人网| 亚洲大片免费看| 亚洲国产精品精华液2区45| 欧美一区91| 国产精品毛片大码女人| 99国内精品久久| 一区二区三区**美女毛片| 欧美国产亚洲精品久久久8v| 亚洲第一精品福利| 亚洲欧洲一区二区在线播放| 久久香蕉国产线看观看av| 国精品一区二区| 久久疯狂做爰流白浆xx| 欧美在线亚洲综合一区| 国产日韩久久| 性欧美video另类hd性玩具| 欧美一区二区高清在线观看| 国产精品高潮久久| 亚洲调教视频在线观看| 亚洲欧美激情在线视频| 国产精品porn| 亚洲一区二区三区视频| 亚洲欧美国产日韩中文字幕| 国产精品久久精品日日| 亚洲一区二区三区四区中文 | 亚洲激情影院| 9色国产精品| 欧美日韩在线观看视频| 一本色道久久精品| 亚洲欧美日韩精品一区二区| 国产精品免费aⅴ片在线观看| 亚洲性色视频| 欧美一区91| 国产一区在线看| 亚洲国产清纯| 欧美精品激情| 一区二区三区视频在线| 亚洲欧美成人网| 国产日韩在线看| 亚洲二区在线| 欧美精品1区2区| 亚洲视频播放| 久久精品道一区二区三区| 国产主播一区二区| 亚洲第一中文字幕| 欧美激情一区二区三区在线| 99精品欧美一区| 欧美一区二区久久久| 国产午夜久久| 亚洲人成在线播放网站岛国| 欧美激情在线播放| 宅男精品导航| 久久久午夜精品| 亚洲激情在线观看| 亚洲欧美综合一区| 一区二区三区我不卡| 一本一道久久综合狠狠老精东影业| 国产精品久久久亚洲一区| 亚欧成人精品| 欧美精品一区二区三区蜜臀| 亚洲午夜精品在线| 久久久水蜜桃av免费网站| 亚洲人成人77777线观看| 亚洲欧美文学| 精品成人一区二区三区| 一本色道精品久久一区二区三区 | 亚洲天堂av在线免费观看| 久久久99精品免费观看不卡| 亚洲成色777777女色窝| 国产精品99久久不卡二区| 国产欧美一区二区三区沐欲| 亚洲国产视频一区二区| 国产精品porn| 亚洲国产精品v| 国产精品扒开腿做爽爽爽视频| 欧美怡红院视频| 欧美日韩国产限制| 午夜日本精品| 欧美经典一区二区三区| 午夜精品久久久久久久99黑人| 噜噜噜久久亚洲精品国产品小说| 一区二区三区精品视频在线观看 | 久久亚洲精品中文字幕冲田杏梨| 亚洲欧洲一区二区三区久久| 欧美一区二区视频免费观看| 亚洲国产一区二区视频| 欧美在线资源| 日韩图片一区| 久久五月激情| 亚洲小说区图片区| 欧美激情一区二区三区在线视频 | 欧美在线日韩在线| 亚洲精品视频免费观看| 久久国产精品第一页| 一区二区久久久久| 久热re这里精品视频在线6|