国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于ADSP-BF537的視頻SOC驗證方案設計

發布時間:2010-12-14 12:08    發布者:designer
關鍵詞: ADSP-BF537 , SoC , 視頻 , 驗證方案
隨著硅片集成技術的高速發展,片上系統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 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。

2 ADSP外部Momory總線介紹

ADSP外部Memory總線可以進行同步或異步操作,前者是通過時鐘輸出端CLKOUT進行同步的。本文所采用的ADSP-BF537 Ez-kit Lite開發套件的外部Memory總線的可用地址僅為19位(ADDR[19:1]),并且采用AMS[3:0]選中相應的外部區域。ADSP-BF537的四個選通信號線對應的外部Memory地址范圍如表1所示。可以看出,直接利用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即可;類似地,如果要讀寫的數據類型為int(32位)數據,則每次訪問外部地址時,ADSP會連續產生兩次讀寫操作,并且地址總線ADDR[19:1]是連續的。

3 AHB總線介紹

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







4消除信號的亞穩態現象

在本次視頻SoC的FPGA驗證方案中,采用ADSP的外部Memory總線,FPGA既可以利用同步時鐘輸出CLKOUT進行同步設計,也可以采用異步總線讀寫。如果不使用CLKOUT而采用異步設計,則在總線轉換接口模塊設計中,首先需要保證消除讀寫信號亞穩態現象。ADSP內核主頻可以達到600MHz,外部Memory總線的采樣時鐘(CLKOUT)動態調整范圍也很大,因此對異步輸入信號可以采用增加同步觸發器進行鎖存延時的方法來消除亞穩態。具體實現方法是在異步輸入信號的前端加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器件的限制。因此利用ADSP內嵌的強大Blackfin處理器和豐富的DSP外設,可以有效地提高驗證的效率和功能的完整性。本文的總線接口模塊的設計對具有不同讀寫時序的驗證板的正常工作起著重要的作用,SoC原型的搭建必然要求本模塊能真實反映實際AHB總線的動作,這樣對于保證各個功能模塊的完整性和實時工作將起很大的作用。
本文地址:http://m.qingdxww.cn/thread-46556-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 97无码欧美熟妇人妻蜜桃天美| 午夜福利体验试看120秒| 中文字幕在线免费观看视频| 亚洲另类精品xxxx人妖| 武则天一级淫片免费看| 亚洲精品永久免费| 亚洲精品一区波多野结衣| 超碰在线公开视频| 色怕怕| 羞羞色男人的天堂| 青青草影院在线观看| 伊人久久大| 最新国产精品自拍| 嗯啊插的好深啊使劲抽视频| 日韩免费高清一级毛片| 日韩激情无码免费毛片| 在线播放第一页| 综合精品在线| 奇虎成人网| 亚洲高清不卡| 永久在线播放| 精品第一国产综合精品蜜芽| 印度12 13free| 欧美亚洲国产精品久久| 大胸美女被c| 护士被老头边摸边吃奶的视频| 久久精品一本到99热| 熟妇少妇任你躁在线无码| 尤物久久99热国产综合| 很黄很色60分钟在线观看| 中文字幕亚洲乱码熟女在线萌芽| 天天毛片| 午夜黄色网址| 亚洲福利天堂网福利在线观看| 在线观看一区| 精品爽爽久久久久久蜜臀| 中文字幕人成人乱码亚洲影视S | 视频在线精品| 亚洲图片色| 久久草这里全是精品香蕉频线观| 午夜福利体验试看120秒|