AHB總線總結-課件_第1頁
AHB總線總結-課件_第2頁
AHB總線總結-課件_第3頁
AHB總線總結-課件_第4頁
AHB總線總結-課件_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1

AHBIntroduction

1PPT課件2Topic1WhatistheAHB?2PPT課件3AMBA介紹AdvancedMicrocontrollerBusArchitecture片上總線的標準定義了三種總線AHB(AdvancedHigh-performanceBus)ASB(AdvancedSystemBus)APB(AdvancedPeripheralBus)3PPT課件4一個典型的AMBA系統(tǒng)處理器和其它主設備/從設備都是可以替換的4PPT課件5AHB高速總線,高性能流水線操作可支持多個總線主設備(最多16個)支持burst傳輸總線帶寬:8、16、32、64、128bits上升沿觸發(fā)操作5PPT課件Topic2WhatconstitutestheAHB?66PPT課件7AHB組成部分AHB主設備(master)發(fā)起一次讀/寫操作某一時刻只允許一個主設備使用總線AHB從設備(slave)響應一次讀/寫操作通過地址映射來選擇使用哪一個從設備AHB仲裁器(arbiter)允許某一個主設備控制總線在AMBA協(xié)議中沒有定義仲裁算法AHB譯碼器(decoder)通過地址譯碼來決定選擇哪一個從設備7PPT課件8InternalConnectionofAHB發(fā)起一個請求給仲裁器驅動地址和控制信號允許某個主設備控制總線選中所需的從設備拉高HREADY信號,總線傳輸完成8PPT課件9AHB信號9PPT課件10基本AHB信號HCLK總線時鐘HRESETn總線復位,低電平有效HADDR[31:0]32位系統(tǒng)地址總線HWDATA[31:0]寫數(shù)據(jù)總線,從主設備寫到從設備HRDATA[31:0]讀數(shù)據(jù)總線,從從設備讀到主設備10PPT課件11基本AHB信號(續(xù))HTRANS指出當前傳輸?shù)念愋蚇ONSEQ、SEQ、IDLE、BUSYHSIZE指出當前傳輸?shù)拇笮BURST指出傳輸?shù)腷urst類型HRESP從設備發(fā)給主設備的總線傳輸狀態(tài)OKAY、ERROR、RETRY、SPLITHREADY高:從設備指出傳輸結束低電平:從設備需延長傳輸周期11PPT課件Topic3HowcanyoumakeatransferonAHB?1212PPT課件13BasicAHBtransfer兩個階段AddressPhase,只有一個有效周期DataPhase,由HBURST信號決定需要幾個有效周期流水線傳送先是有效地址周期,然后是有效數(shù)據(jù)周期13PPT課件14MasterreleaseaddressandcontrolSlavesampletheaddressandcontrolMastersamplethedataIfslavehasn’treadytoreceivedata,howtodealwithit?基本AHB傳輸一次無需等待狀態(tài)的簡單傳輸14PPT課件15NotreadyNotreadyReadyOnetransferneedatleasttwocycles,howtopromoteitsefficiency?Note:accordingtospec,slaveshouldn’tinsertmorethan16waitcycles!!!基本AHB傳輸(續(xù))需要兩個等待周期的簡單傳輸15PPT課件16PipelineAAddressADataBAddressBDataCAddressCDataSlavedecodeseverytransfer,onetransferonwait,howtodecreasethewaitcycles?基本AHB傳輸(續(xù))16PPT課件17BurstTransferAAA+4A+4A+8A+8A+12A+12HBURSTshowsthebursttypes:SingleTransferIncrementingtransferwithunspecifiedlength4-beat8-beat16-beatSlavehasknowthatmasterneed4data,A/A+4/A+8/A+12Duringbursttransfer,ifslaveisnotready,thenhready=0;butifmasterisnotready,howtodo?基本AHB傳輸(續(xù))17PPT課件18傳輸類型HTRANS[1:0]:傳輸類型四種類型:IDLE、BUSY、NONSEQ、SEQ00:IDLE主設備占用總線,但沒進行傳輸兩次burst傳輸中間主設備可發(fā)IDLE01:BUSY主設備占用總線,但是在burst傳輸過程中還沒有準備好進行下一次傳輸一次burst傳輸中間主設備可發(fā)BUSY18PPT課件19傳輸類型(續(xù))10:NOSEQ表明一次單個數(shù)據(jù)的傳輸或者一次burst傳輸?shù)牡谝粋€數(shù)據(jù)地址和控制信號與上一次傳輸無關11:SEQ表明burst傳輸接下來的數(shù)據(jù)地址和上一次傳輸?shù)牡刂肥窍嚓P的19PPT課件20ThefirsttransferMasterisbusyThesubsequenttransferThesubsequenttransferSlaveisnotreadyThesubsequenttransfer傳輸類型舉例20PPT課件21BURST傳輸AHBBurst操作4beat、8beat、16beat、單個字節(jié)傳輸、未定義長度的傳輸支持incrementing和wrapping兩種burst傳輸Incrementingburst地址是上一次的傳輸?shù)刂芳?個傳輸單位Wrappingburst例:4beat的wrappingburst字傳輸(4byte):0x34->0x38->0x3c->0x30應用場合:Cache填充21PPT課件22地址計算舉例根據(jù)HSIZE和HBURST來計算地址例:起始地址是0x48,HSEZE=010(32bits)22PPT課件23INCR8BurstHCLKSEQNSEQSEQSEQSEQSEQINCR80x600x680x640x6c0x740x70HTRANSHBURSTHADDRHRDATAd1d0d2d4d3d50x780x7cSEQSEQd6d723PPT課件24WRAP8BurstHCLKSEQNSEQSEQSEQSEQSEQWRAP80x700x780x740x7c0x640x60HTRANSHBURSTHADDRHRDATAd5d4d6d0d7d10x680x6cSEQSEQd2d3startofline24PPT課件25INCR4Burst25PPT課件26WRAP4Burst26PPT課件27例:未定義長度的Burst傳輸27PPT課件28注意!Burst傳輸不能穿越1K邊界一個從設備最小的地址間隙是1KBNONSEQ->SEQ->1KBBoundary->NONSEQ->SEQ…主設備不能試圖開始一個可能穿越1K邊界的INCR傳輸28PPT課件29INCRBurstover1kboundaryHCLKSEQNSEQSEQNSEQSEQSEQINCR0x3F00x3F80x3F40x3FC0x4040x400HTRANSHBURSTHADDRHRDATAd1d0d2d4d3d50x4080x40CSEQSEQd6d7startof1kpage29PPT課件Topic4Talkingaboutslaverindetail?3030PPT課件31地址譯碼(續(xù))31PPT課件32從設備響應所訪問的從設備必須響應這次傳輸從設備可能返回的響應:完成這次傳輸插入等待狀態(tài)(HREADY信號)發(fā)出錯誤信號表示這次傳輸失敗分離傳輸,使得總線可用于其他傳輸(SPLIT)32PPT課件33從設備響應信號HREADY:transferdoneHRESP[1:0]:transferresponse00:OKAY成功01:ERROR失敗10:RETRY傳輸未完成請求主設備重新開始一個傳輸11:SPLIT傳輸未完成請求主設備分離一次傳輸33PPT課件34兩周期的響應HRESP[1:0]OKAY:單周期響應ERROR:兩周期響應RETRY:兩周期響應SPLIT:兩周期響應總線的流水特性需要從設備兩個周期的響應??梢允沟弥髟O備有足夠的時間處理下一次傳輸。34PPT課件35SlaveResponsesMemAMemBMemDMemCSlaveProcessorAMBAWriteMemA35PPT課件36SlaveResponsesMemAMemBMemDMemCSlaveProcessorAMBAWriteMemEIcouldn’twriteitbecause

ofnomemE!!!!ERROR36PPT課件37SlaveResponsesMemAMemBMemDMemCSlaveProcessorAMBAWriteMemAIcouldn’twriteitnowforbusy!!!

Youcouldretrywriteitlatter!!BUSYRETRY|SPLITBUSY37PPT課件38例:Retry響應38PPT課件39RETRY和SPLIT的不同主要區(qū)別在于仲裁的方式RETRY:arbiter會繼續(xù)使用通常的優(yōu)先級SPLIT:arbiter會調整優(yōu)先級方案以便其他請求總線的主設備可以訪問總線總線主設備應該用同樣的方式處理RETRY響應和SPLIT響應39PPT課件40數(shù)據(jù)總線不是三態(tài)總線,讀數(shù)據(jù)總線和寫數(shù)據(jù)總線分開印第安序在AMBA定義中沒有定義主設備和從設備應該采用同樣的印第安序不支持動態(tài)印第安序對于IP設計,只有應用面比較廣泛的應用程序才支持兩種印第安序。40PPT課件41小印第安數(shù)據(jù)的有效字節(jié)41PPT課件42大印第安數(shù)據(jù)的有效字節(jié)42PPT課件Topic5Talkingaboutslaverindetail?4343PPT課件44多個主設備IamfirstIamfirst!!!44PPT課件45AHB仲裁信號45PPT課件46仲裁信號(續(xù))HBUSREQ總線請求HLOCKx:高電平:主設備請求鎖定總線HGRANTx指出主設備x可訪問總線主設備x控制總線:HGRANTx=1且HREADY=146PPT課件47仲裁信號(續(xù))HMASTER[3:0]指出哪個主設備正在進行傳輸,提供進行split的信息HMASTLOCK指出主設備正在進行一次鎖定傳輸HSPLITx[15:0]從設備用這個信號告訴仲裁器哪個主設備允許重新嘗試一次split傳輸。每一位對應一個主設備47PPT課件48仲裁舉例(1)沒有等待狀態(tài)的grant48PPT課件49仲裁舉例(2)有等待狀態(tài)的grant49PPT課件50仲裁舉例(3)Burst傳輸之后移交總線50PPT課件51總線主設備Grant信號51PPT課件52幾點說明對于固定長度的burst傳輸,不必持續(xù)請求總線對于未定義長度的burst傳輸,主設備應該持續(xù)送出request信號,直到開始最后一次傳輸。如果沒有主設備請求總線,則給defaultMastergrant信號,且HTRANS=IDLE52PPT課件53Split傳輸過程由主設備開始傳輸如果從設備需要多個周期才能獲取數(shù)據(jù),則從設備給出一個SPLIT傳輸響應,從設備記錄主設備號:HMASTER接著仲裁器改變主設備的優(yōu)先級仲裁器grant其他的主設備,總線主設備移交。當從設備準備結束本次傳輸,將設置給仲裁器的HSPLITx信號的相應位仲裁器恢復優(yōu)先級仲裁器grant主設備,這樣主設備可以重新開始傳輸結束53PPT課件54防止Deadlock當多個不同的主設備試圖訪問同一個從設備,這個從設備發(fā)出了SPLIT或RETRY信號,這是很可能發(fā)生deadlock給出RETRY響應的從設備在某一時刻只能由一個主設備訪問可以使用一些硬件保護機制,比如ERROR54PPT課件Topic6Seeitagain.5555PPT課件56AHBMaster56P

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論