版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
AMBA總線SEP32032目錄AMBA總線概述AHBAPB不同IP之間的互連3系統(tǒng)總線簡介系統(tǒng)芯片中各個模塊之間需要有接口來連接總線作為子系統(tǒng)之間共享的通信鏈路優(yōu)點低成本方便易用缺點會造成性能瓶頸4AMBA介紹AdvancedMicrocontrollerBusArchitecture片上總線的標準定義了三種總線AHB(AdvancedHigh-performanceBus)ASB(AdvancedSystemBus)APB(AdvancedPeripheralBus)5AMBA發(fā)展歷史AMBA1.0ASB和APBAMBA2.0AHB,ASB和APBAMBA3.0AMBAAdvancedeXtensibleInterface(AXI)6一個典型的AMBA系統(tǒng)處理器和其它主設備/從設備都是可以替換的7AHB高速總線,高性能流水線操作可支持多個總線主設備(最多16個)支持burst傳輸總線帶寬:8、16、32、64、128bits上升沿觸發(fā)操作對于一個新設計建議使用AHB
8ASB高速總線流水線操作支持多個總線主設備支持burst傳輸總線帶寬:8、16、32bits三態(tài)、雙向總線(不適于做DFT)下降沿或者上升沿觸發(fā)9APB低速總線、低功耗接口簡單在Bridge中鎖存地址信號和控制信號適用于多種外設上升沿觸發(fā)10AHB組成部分AHB主設備(master)初始化一次讀/寫操作某一時刻只允許一個主設備使用總線uP、DMA、DSP、LCDC…AHB從設備(slave)響應一次讀/寫操作通過地址映射來選擇使用哪一個從設備外部存儲器控制器EMI、APBbridge、UART、…AHB仲裁器(arbiter)允許某一個主設備控制總線在AMBA協(xié)議中沒有定義仲裁算法AHB譯碼器(decoder)通過地址譯碼來決定選擇哪一個從設備11APB組成部分AHB2APBBridge可以鎖存所有的地址、數據和控制信號進行二級譯碼來產生APB從設備選擇信號APB總線上的所有其他模塊都是APB從設備不是流水線方式接口是零功耗12AMBA協(xié)議其他有關問題與工藝無關沒有定義電氣特性僅在時鐘周期級定義時序提取時序參數依賴于所采用的工藝和工作頻率13例:DMA14例:DMAStep0:CPU檢查DMA的狀態(tài)以確認是否可用While(1){Read(0x30004,&status)
if(status==0)break;}15例:DMAStep1:CPU設置(sourceaddress)、(destinationaddress)(size)
Write(0x30008,0x10000) Write(0x3000C,0x20000) Write(0x30010,0x100)Step2:啟動DMA Write(0x30000,0x1)16例:DMAStep3:DMA把數據從memory1
傳送到memory217例:DMAStep4:DMA向CPU發(fā)出中斷請求Step5:CPU檢查DMA的狀態(tài)Read(0x30004,&status)18目錄AMBA總線概述AHBAPB不同IP之間的互連19AHB總線互連20AHB傳輸發(fā)起一個請求給仲裁器驅動地址和控制信號允許某個主設備控制總線僅選中的從設備響應地址/控制信號拉高HREADY信號,總線傳輸完成21Dummy/DefaultMasterDummyMasterGrantedwhenallmastersSPLITGeneratesIDLEcyclesonlyTypicallyMaster#0GrantedwhenLockedmastergetsSPLITresponseImplementaspartofAddress/ControlMuxDefaultMasterGrantedwhennomasterrequiresbusGenerallymastermostlikelytorequirebusGeneratesIDLEcycleswhennotrequestingbusAvoidsminimum2cycleArbitrationperiodImmediateaccesstobus22DefaultSlaveSlave3(APB)DefaultSlave0x0000_00000xFFFF_FFFFcaseHADDRiswhen….=>
HSELebi<=‘1’;when….=>
HSELsram<=‘1’;when….=>
HSELapb<=‘1’;whenothers=>
HSELdefault<=‘1’;endcase;DecoderlogicSlave2(InternalMemory)Default_SlavelogiccaseHTRANSiswhenIDLE|BUSY=>HRESP<=OKAY;whenothers=>HRESP<=ERROR;endcase;Slave1(External)0xCFFF_FFFF0xC000_00000x5000_FFFF0x5000_00000x3FFF_FFFF0x0000_000023AHB信號24基本AHB信號HRESETn低電平有效HADDR[31:0]32位系統(tǒng)地址總線HWDATA[31:0]寫數據總線,從主設備寫到從設備HRDATA[31:0]讀數據總線,從從設備讀到主設備25基本AHB信號(續(xù))HTRANS指出當前傳輸的狀態(tài)NONSEQ、SEQ、IDLE、BUSYHSIZE指出當前傳輸的大小HBURST指出傳輸的burst類型HRESP從設備發(fā)給主設備的總線傳輸狀態(tài)OKAY、ERROR、RETRY、SPLITHREADY高:從設備指出傳輸結束低電平:從設備需延長傳輸周期26基本AHB傳輸兩個階段地址周期,只有一個cycle數據周期,由HREADY信號決定需要幾個cycle流水線傳送先是地址周期,然后是數據周期27MasterreleaseaddressandcontrolSlavesampletheaddressandcontrolMastersamplethedataIfslavehasn’treadytoreceivedata,howtodo?基本AHB傳輸(續(xù))一次無需等待狀態(tài)的簡單傳輸28NotreadyNotreadyReadyOnetransferneedatleasttwocycles,howtopromoteitsefficiency?Note:slaveshouldn’tinsertmorethan16waitcycles!!!基本AHB傳輸(續(xù))需要兩個等待周期的簡單傳輸29PipelineAAddressADataBAddressBDataCAddressCDataSlavedecodeseverytransfer,somanywaits,howtodecreasethewaitcycles?基本AHB傳輸(續(xù))30BurstTransferAAA+4A+4A+8A+8A+12A+12HBURSTshowsthebursttypes:SingleTransferIncrementingtransferwithunspecifiedlength(INCR)4-beat8-beat16-beatSlavehasknowthatmasterneed4data,A/A+4/A+8/A+12Duringbursttransfer,ifslavenotready,thenhready=0;butifmasterisnotready,howtodo?基本AHB傳輸(續(xù))31傳輸類型HTRANS[1:0]:當前傳輸的狀態(tài)IDLE、BUSY、NONSEQ、SEQ00:IDLE主設備占用總線,但沒進行傳輸兩次burst傳輸中間主設備發(fā)IDLE01:BUSY主設備占用總線,但是在burst傳輸過程中還沒有準備好進行下一次傳輸一次burst傳輸中間主設備發(fā)BUSY32傳輸類型(續(xù))10:NOSEQ表明一次單個數據的傳輸或者一次burst傳輸的第一個數據地址和控制信號與上一次傳輸無關11:SEQ表明burst傳輸接下來的數據地址和上一次傳輸的地址是相關的33ThefirsttransferMasterisbusyThesubsequenttransferThesubsequenttransferSlaveisnotreadyThesubsequenttransfer傳輸類型舉例34其它AHB控制信號HWRITE高電平:寫低電平:讀HSIZE[2:0]000:8bits100:128bits001:16bits101:256bits010:32bits110:512bits011:64bits111:1024bits最大值受總線的配置所限制通常使用32bits(010)35其它AHB控制信號(續(xù))HPROT[3:0]HPROT[0]:OPCODE/DATAHPROT[1]:USER/PRIVILGEDHPROT[2]:Bufferable/Non-BufferableHPROT[3]:Cacheable/Non-Cacheable36AHB控制信號小結HTRANS[1:0]IDLEBUSYNONSEQSEQHBURST[2:0]SINGLEINCRWRAP[4|8|16]INCR[4|8|16]HSIZE[2:0]ByteHalfwordWordDoubleword...HPROT[3:0]0-data/opcode1-privileged/user2-bufferable3-cacheableHADDRmustbealignedtoamultipleofdatasizeasgivenbyHSIZE37Review(1)AMBA簡介AMBA2.0:AHB、ASB、APBAHB的組成部分AHBmaster、AHBslave、AHBarbiter、AHBdecoderAPB的組成部分AHB2APBbridge、APBslaveAHB信號HCLK、HRESETn、HADDR、HTRANS、HWRITE、HSIZE、HBURST、HWDATA、HSELx、HRDATA、HREADY、HRESP38Review(2)AHB傳輸的兩個階段地址周期、數據周期當前傳輸的狀態(tài)HTRANSIDLE、BUSY、NOSEQ、SEQ猝發(fā)傳輸類型HBURSTSINGLE、INCR(如何開始一次新的INCR傳輸?)Burst傳輸不可跨越1K邊界HSEL:由AHBdecoder通過地址映射給出AHBslave響應信號:HREADY傳輸完成、HRESP傳輸響應(OK、ERROR、RETRY)AHBslave短時間無法響應?長時間無法響應?39BURST傳輸AHBBurst操作4beat、8beat、16beat、單個字節(jié)傳輸、未定義長度的傳輸支持incrementing和wrapping兩種burst傳輸Incrementingburst地址是上一次的傳輸地址加1Wrappingburst例:4beat的wrappingburst字傳輸(4byte):0x34->0x38->0x3c->0x30應用場合:Cache填充40地址計算舉例根據HSIZE和HBURST來計算地址例:起始地址是0x48,HSIZE=010(32bits)41INCR8BurstHCLKSEQNSEQSEQSEQSEQSEQINCR80x600x680x640x6c0x740x70HTRANSHBURSTHADDRHRDATAd1d0d2d4d3d50x780x7cSEQSEQd6d742WRAP8BurstHCLKSEQNSEQSEQSEQSEQSEQWRAP80x700x780x740x7c0x640x60HTRANSHBURSTHADDRHRDATAd5d4d6d0d7d10x680x6cSEQSEQd2d3startofline43INCR4Burst44WRAP4Burst45例:未定義長度的Burst傳輸46HCLKSEQNSEQNSEQNSEQSEQSEQIDLEINCR4SISI0x340x3C0x380x400x480x44HTRANSHBURSTHADDRHRDATAHWDATAr6r5r7r9r8r10ExampleLDMAHBActivitySI=SINGLELDM<0x34>,{r5-r10}47注意!Burst傳輸不能穿越1K邊界一個從設備最小的地址間隙是1KBNONSEQ->SEQ->1KBBoundary->NONSEQ->SEQ…主設備不能試圖開始一個可能穿越1K邊界的固定長度的incrementingburst傳輸48INCRBurstover1kboundaryHCLKSEQNSEQSEQNSEQSEQSEQINCR0x3F00x3F80x3F40x3FC0x4040x400HTRANSHBURSTHADDRHRDATAd1d0d2d4d3d50x4080x40CSEQSEQd6d7startof1kpage49地址譯碼HSELx:選擇從設備指出由主設備所選擇的從設備由地址譯碼器來提供選擇信號一個從設備應該至少占用1KB的存儲空間需要一個額外的缺省從設備來映射其他的存儲地址50地址譯碼(續(xù))51從設備響應所訪問的從設備必須響應這次傳輸從設備可能返回的響應:完成這次傳輸插入等待狀態(tài)(HREADY信號)發(fā)出錯誤信號表示這次傳輸失敗延遲傳輸,使得總線可用于其他傳輸(split)52從設備響應信號HREADY:transferdoneHRESP[1:0]:transferresponse00:OKAY成功01:ERROR失敗10:RETRY傳輸未完成請求主設備重新開始一個傳輸11:SPLIT傳輸未完成請求主設備分離一次傳輸53兩周期的響應HRESP[1:0]OKAY:單周期響應ERROR:兩周期響應RETRY:兩周期響應SPLIT:兩周期響應總線的流水特性需要從設備兩個周期的響應??梢允沟弥髟O備有足夠的時間處理下一次傳輸。54SlaveResponsesMemAMemBMemDMemCSlaveProcessorAMBAWriteMemEIcouldn’twriteitbecause
ofnomemE!!!!ERROR55SlaveResponsesMemAMemBMemDMemCSlaveProcessorAMBAWriteMemAIcouldn’twriteitnowforbusy!!!
Youcouldretrywriteitlatter!!BUSYRETRY|SPLIT56例:Retry響應57RETRY和SPLIT的不同主要區(qū)別在于仲裁的方式RETRY:arbiter會繼續(xù)使用通常的優(yōu)先級SPLIT:arbiter會調整優(yōu)先級方案以便其他請求總線的主設備可以訪問總線總線主設備應該用同樣的方式處理RETRY響應和SPLIT響應58數據總線不是三態(tài)總線,讀總線和寫總線是分開的。印第安序在AMBA協(xié)議中沒有定義主設備和從設備應該采用同樣的印第安序不支持動態(tài)印第安序對于IP設計,只有應用面比較廣泛的應用程序才支持兩種印第安序。5932bit小印第安數據總線的有效字節(jié)6032bit大印第安數據總線的有效字節(jié)61多個主設備IamfirstIamfirst!!!62AHB仲裁信號63仲裁信號(續(xù))HBUSREQ總線請求HLOCKx:高電平:主設備請求鎖定總線HGRANTx指出主設備x可訪問總線主設備x控制總線:HGRANTx=1且HREADY=164仲裁信號(續(xù))HMASTER[3:0]指出哪個主設備正在進行傳輸HMASTLOCK指出主設備正在進行一次鎖定傳輸HSPLITx[15:0]從設備用這個信號告訴仲裁器哪個主設備允許重新嘗試一次split傳輸。每一位對應一個主設備65仲裁舉例(1)沒有等待狀態(tài)的grant66仲裁舉例(2)有等待狀態(tài)的grant67仲裁舉例(3)Burst傳輸之后移交總線68總線主設備Grant信號Arbiter69幾點說明對于固定長度的burst傳輸,不必持續(xù)請求總線對于未定義長度的burst傳輸,主設備應該持續(xù)送出HBUSREQ信號,直到開始最后一次傳輸。如果沒有主設備請求總線,則給缺省主設備grant信號,且HTRANS=IDLE建議主設備在鎖定總線傳輸結束之后插入IDLE傳輸,以重新仲裁優(yōu)先級。70Split傳輸過程由主設備開始傳輸。如果從設備需要多個周期才能獲取數據,則從設備給出一個SPLIT傳輸響應。從設備記錄主設備號:HMASTER。接著仲裁器改變主設備的優(yōu)先級。仲裁器grant其他的主設備,總線主設備移交。當從設備準備結束本次傳輸,將設置給仲裁器的HSPLITx信號的相應位。仲裁器恢復優(yōu)先級仲裁器grant主設備,這樣主設備可以重新開始傳輸。結束71防止Deadlock當多個不同的主設備試圖訪問同一個從設備,這個從設備發(fā)出了SPLIT或RETRY信號,這時很可能發(fā)生deadlock從設備最多可以接收系統(tǒng)中16個主設備的請求。只需要記錄主設備號(忽略地址和控制信號)給出RETRY響應的從設備在某一時刻只能由一個主設備訪問??梢允褂靡恍┯布Wo機制,比如ERROR72AHB主設備接口73AHB從設備接口74AHBArbiter75AHBDecoder76TypicalMulti-layerexampleMaster0On-chipRAMMaster1ExternalMemoryI/FDMASlaveSlaveMuxSlaveMuxUARTTimerGPIOAHB2APBMaster0canaccessprivateRAM,APBandexternalinterfaceMaster1canaccessDMAslave,APBandexternalinterfaceParallelaccessimprovessystembandwidth77AHB-LiteSubsetofAHBFunctionalitySingleMasterNoneedforHBUSREQ&HGRANTSimpleSlavesNoretryorsplitresponsesStandardAHBmodulescanbeusedAllowseasiermoduledesign/debugMaster0Slave#1Slave#2Slave#3Slave#478AHB總結主要組成部分Master、slaves、arbiter、decoder傳輸的過程流水線機制Addressphase和dataphase如何提高性能Burstread/write仲裁機制總線控制權的移交79AHB總結(續(xù))Slave短時間內無法響應HREADY信號拉低Slave長時間內無法響應插入SPLIT/RETRYMaster不能進行傳輸插入BUSY80AHB的應用建議Arbiter的優(yōu)先級可以配置Slave長時間不能響應的話,一般不支持SPLIT響應,使用RETRY響應總線上如果只有一個master的話,可以使用AHBlite協(xié)議,不用arbiter設計一個新的IP時,要仔細核對AMBA的Feature和IP所支持的Feature是否匹配。81實現如果設計中既有主設備端口又有從設備端口通過主設備端口讀/寫數據通過從設備端口配置寄存器等如處理器設置的一些參數82目錄AMBA總線概述AHBAPB不同IP之間的互連83APB信號84APB信號(續(xù))PADDR[31:0]地址總線,由設備總線的bridge單元驅動PSELx從譯碼器來的信號,到每一個總線從設備xPENABLE用于在設備總線上把所有訪問按時間階段進行PWRITE高電平:寫低電平:讀PRDATA和PWDATA最多32位寬85AddressDecodingStagesSlave3(APB)Slave1(EBI)Slave2(SRAM)0xCFFF_FFFF0xC000_00000x5000_FFFF0x5000_00000x3FFF_FFFF0x0000_0000Peripheral3(UART)Peripheral1(IntCont)Peripheral2(Timers)0xC3FF_FFFF0xC300_00000xC2FF_FFFF0xC100_00000xC000_FFFF0xC000_0000APBmemorymapTimer2Timer10xC2FF_FFFF0xC200_00000xC1FF_FFFF0xC100_0000AHBDecoderHSELapbPSELtimAPBBridgeTimersAHBmemorymapTimersmemorymap86APBInterconnectAHB2APBBridgeAPBMasterPADDRHCLKPSEL#1PWRITEPSEL#2PSEL#3PCLKHADDRHWRITEPeripheral#1Peripheral#3Peripheral#2PENABLEPWDATAPRDATAHRDATAHSELHWDATAAHBAPB87寫傳輸88讀傳輸89BridgeHowtotranslateahbpipelinedtimingto2-cycleapbtiming?90BridgeFSM91APBSlave92APB到AHB的接口-讀93目錄AMBA總線概述AHBAPB不同IP之間的互連94通信方式Cpu(master)<-->IP(slave)IP(master)<-->IP(slave)
95MemorymappedIO每一個從設備都占用系統(tǒng)中的一段地址空間所有的從設備都是可尋址的寄存器/存儲器都是內存映射方式訪問CPU/IP讀寫其他IP的數據類似于讀寫存儲器96IP間的通信互連主設備被arbitergrant之后,可以訪問總線上的所有從設備97一個IP可以同時擁有主設備接口和從設備接口98CPU和IP之間的通信CPU總是作為主設備IP總是作為從設備IP可以發(fā)出一個中斷請求CPU進入中斷模式,由interruptserviceroutine(ISR)來處理中斷99例:DMA100例:DMAStep0:CPU檢查DMA的狀態(tài)以確認是否可用While(1){Read(0x30004,&status)
if(status==0)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車制造行業(yè)顧問工作總結
- 年產800萬平方米水性超細纖維材料項目可行性研究報告寫作模板-申批備案
- 2025年全球及中國建筑隔熱用氣凝膠行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年全球及中國有機肥快速測定儀行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年全球及中國實驗室冷藏柜行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年全球及中國管路無菌連接器行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球模型實時運維系統(tǒng)行業(yè)調研及趨勢分析報告
- 2025年全球及中國2.4GHz 無線通訊芯片行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球金屬加工磨料行業(yè)調研及趨勢分析報告
- 2025-2030全球高效智能無孔包衣機行業(yè)調研及趨勢分析報告
- 電網工程設備材料信息參考價(2024年第四季度)
- 2025年江蘇農牧科技職業(yè)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025江蘇連云港市贛榆城市建設發(fā)展集團限公司招聘工作人員15人高頻重點提升(共500題)附帶答案詳解
- 江蘇省揚州市蔣王小學2023~2024年五年級上學期英語期末試卷(含答案無聽力原文無音頻)
- 數學-湖南省新高考教學教研聯(lián)盟(長郡二十校聯(lián)盟)2024-2025學年2025屆高三上學期第一次預熱演練試題和答案
- 決勝中層:中層管理者的九項修煉-記錄
- 《有機化學》課件-第十章 羧酸及其衍生物
- 2024年海南公務員考試申論試題(A卷)
- 中醫(yī)培訓課件:《經穴推拿術》
- 臨床藥師進修匯報課件
- 北京市首都師大附中2025屆數學高三第一學期期末達標測試試題含解析
評論
0/150
提交評論