那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AMBA協(xié)議的演進(jìn)

FPGA之家 ? 來(lái)源:FPGA之家 ? 作者:FPGA之家 ? 2020-10-10 17:19 ? 次閱讀

在基于IP復(fù)用的SoC設(shè)計(jì)中,片上總線設(shè)計(jì)是最關(guān)鍵的問(wèn)題。為此,業(yè)界出現(xiàn)了很多片上總線標(biāo)準(zhǔn)。其中,由ARM公司推出的AMBA片上總線受到了廣大IP開(kāi)發(fā)商和SoC系統(tǒng)集成者的青睞,已成為一種流行的工業(yè)標(biāo)準(zhǔn)片上結(jié)構(gòu)。AMBA規(guī)范主要包括了AHB(Advanced High performance Bus)系統(tǒng)總線和APB(Advanced Peripheral Bus)外圍總線。 AMBA 2.0規(guī)范包括四個(gè)部分:AHB、ASB、APB、AXI和Test Methodology。AHB的相互連接采用了傳統(tǒng)的帶有主模塊和從模塊的共享總線,接口與互連功能分離,這對(duì)芯片上模塊之間的互連具有重要意義。AMBA已不僅是一種總線,更是一種帶有接口模塊的互連體系。

1.1.1AMBA協(xié)議的演進(jìn)

圖4?4AMBA協(xié)議的演進(jìn) ·AMBA 1只有ASB和APB協(xié)議; ·AMBA 2引入AHB協(xié)議用于高速數(shù)據(jù)傳輸; ·AMBA 3,為適應(yīng)高吞吐量傳輸和調(diào)試引入AXI和ATB,增加高級(jí)可擴(kuò)展接口,而AHB協(xié)議縮減為AHB-lite,APB協(xié)議增加了PREADY和PSLVERR,ASB由于設(shè)計(jì)復(fù)雜而不再使用; ·AMBA 4,AXI得到了增強(qiáng),引入QOS和long burst的支持,根據(jù)應(yīng)用不同可選AXI4,AXI4-lite,AXI4-stream,同時(shí)為滿足復(fù)雜SOC的操作一致性引入ACE和ACE-lite協(xié)議,APB和ATB也同時(shí)得到增強(qiáng),比如APB加入了PPROT和PSTRB,另外為改善總線數(shù)據(jù)傳輸引入QVN協(xié)議; ·適應(yīng)更加復(fù)雜的高速NOC設(shè)計(jì),引入環(huán)形總線協(xié)議,推出的AMBA CHI協(xié)議。 V1.0 ASB、APB是第一代AMBA協(xié)議的一部分。主要應(yīng)用在低帶寬的外設(shè)上,如UARTI2C,它的架構(gòu)不像AHB總線是多主設(shè)備的架構(gòu),APB總線的唯一主設(shè)備是APB橋(與AXI或APB相連),因此不需要仲裁一些Request/grant信號(hào)。APB的協(xié)議也十分簡(jiǎn)單,甚至不是流水的操作,固定兩個(gè)時(shí)鐘周期完成一次讀或?qū)懙牟僮鳌F涮匦园ǎ簝蓚€(gè)時(shí)鐘周期傳輸,無(wú)需等待周期和回應(yīng)信號(hào),控制邏輯簡(jiǎn)單,只有四個(gè)控制信號(hào)。傳輸可用如下?tīng)顟B(tài)圖表示,

圖4?5傳輸狀態(tài)圖 ·系統(tǒng)初始化為IDLE狀態(tài),此時(shí)沒(méi)有傳輸操作,也沒(méi)有選中任何從模塊。 ·當(dāng)有傳輸要進(jìn)行時(shí),PSELx=1,PENABLE=0,系統(tǒng)進(jìn)入SETUP狀態(tài),并只會(huì)在SETUP 狀態(tài)停留一個(gè)周期。當(dāng)PCLK的下一個(gè)上升沿時(shí)到來(lái)時(shí),系統(tǒng)進(jìn)入ENABLE 狀態(tài)。 ·系統(tǒng)進(jìn)入ENABLE狀態(tài)時(shí),維持之前在SETUP 狀態(tài)的PADDR、PSEL、PWRITE不變,并將PENABLE置為1。傳輸也只會(huì)在ENABLE狀態(tài)維持一個(gè)周期,在經(jīng)過(guò)SETUP與ENABLE狀態(tài)之后就已完成。之后如果沒(méi)有傳輸要進(jìn)行,就進(jìn)入IDLE狀態(tài)等待;如果有連續(xù)的傳輸,則進(jìn)入SETUP狀態(tài)。 V2.0 AHB是第二代AMBA協(xié)議最重要的一部分。AHB總線規(guī)范是AMBA總線規(guī)范的一部分,AMBA總線規(guī)范是ARM公司提出的總線規(guī)范,被大多數(shù)SoC設(shè)計(jì)采用,它規(guī)定了AHB (Advanced High-performance Bus)、ASB (Advanced System Bus)、APB (Advanced Peripheral Bus)。AHB用于高性能、高時(shí)鐘頻率的系統(tǒng)結(jié)構(gòu),典型的應(yīng)用如ARM核與系統(tǒng)內(nèi)部的高速RAM、NAND FLASH、DMA、Bridge的連接。APB用于連接外部設(shè)備,對(duì)性能要求不高,而考慮低功耗問(wèn)題。ASB是AHB的一種替代方案。

圖4?6相比于APB,區(qū)分了地址周期和數(shù)據(jù)周期 AHB總線強(qiáng)大之處在于它可以將微控制器CPU)、高帶寬的片上RAM、高帶寬的外部存儲(chǔ)器接口、DMA總線控制器,以及各種AHB接口的控制器等連接起來(lái)構(gòu)成一個(gè)獨(dú)立的完整SOC系統(tǒng),還可以通過(guò)AHB-APB橋來(lái)連接APB總線系統(tǒng)。

圖4?7通過(guò)AHB-APB橋來(lái)連接APB總線系統(tǒng) AHB總線由主設(shè)備Master、從設(shè)備Slave,內(nèi)部包括仲裁器,譯碼器,數(shù)據(jù)多路和地址控制多路組成。 ·主設(shè)備發(fā)起一次讀/寫(xiě)操作,某一時(shí)刻只允許一個(gè)主設(shè)備使用總線。 ·從設(shè)備響應(yīng)一次讀/寫(xiě)操作,通過(guò)地址映射選擇使用哪一個(gè)從設(shè)備。 ·仲裁器允許某一個(gè)主設(shè)備控制總線 ·譯碼器通過(guò)地址譯碼決定選擇哪一個(gè)從設(shè)備 仲裁機(jī)制 仲裁機(jī)制保證了任意時(shí)刻只有一個(gè)master可以接入總線。arbiter決定哪個(gè)發(fā)出接入請(qǐng)求的master可以接入總線,這通過(guò)優(yōu)先級(jí)算法實(shí)現(xiàn)。AHB規(guī)范并沒(méi)有給出優(yōu)先級(jí)算法,設(shè)計(jì)者需要根據(jù)具體的系統(tǒng)要求定義。一般情況下arbiter不會(huì)中斷一個(gè)burst傳輸,將總線接入權(quán)讓給其他master。當(dāng)然未定義長(zhǎng)度的burst傳輸是可以打斷的,這要看優(yōu)先級(jí)算法是如何規(guī)定的。如果一筆burst被打斷,master再度獲得接入權(quán)限時(shí),會(huì)傳遞剩余的部分。如一筆長(zhǎng)度為INCR8的傳輸在傳遞3 beat后被打斷,master再次獲得接入授權(quán)后,會(huì)繼續(xù)傳輸剩余的5 beat,剩余部分可以由一個(gè)SINGLE和一個(gè)INCR4組成,或者一個(gè)INCR。 地址譯碼器 地址譯碼器用于為總線上每個(gè)slave提供選擇信號(hào)HSELx,選擇信號(hào)是通過(guò)組合邏輯對(duì)地址碼譯碼產(chǎn)生的。只有當(dāng)前的數(shù)據(jù)傳輸完成后(HREADY為高),slave才會(huì)采樣地址和控制信號(hào)以及HSELx。在一定條件下可能會(huì)出現(xiàn)這樣的情況:產(chǎn)生HSELx信號(hào)而HREADY為低,在當(dāng)前傳輸后slave會(huì)改變。每個(gè)slave最小的地址空間為1KB,所有的master的burst傳輸上限也是1KB,如此設(shè)計(jì)保證了不會(huì)出現(xiàn)地址越界問(wèn)題。當(dāng)一個(gè)設(shè)計(jì)不會(huì)用到所有的地址空間時(shí),可能出現(xiàn)訪問(wèn)到一個(gè)不存在的地址的情況,這就需要增加一個(gè)附加的默認(rèn)slave來(lái)為上面的情況提供一個(gè)響應(yīng)。當(dāng)SEQ或NONSEQ傳輸訪問(wèn)到一個(gè)不存在的地址,默認(rèn)slave應(yīng)該提供ERROR響應(yīng);當(dāng)IDLE或BUSY傳輸訪問(wèn)到一個(gè)不存在的地址,默認(rèn)slave會(huì)響應(yīng)OKAY。地址譯碼器會(huì)帶有實(shí)現(xiàn)默認(rèn)slave的功能。 表4?1各個(gè)信號(hào)描述

Name Source To Description
HCLK clock source 各module 總線時(shí)鐘,上升沿采樣
HRESETn reset controller 各module 總線復(fù)位,低電平有效
HADDR[31:0] Master Decoder mux to slave arbiter 32位系統(tǒng)地址總線
HTRANS[1:0] Master mux to slave 當(dāng)前傳輸類(lèi)型NONSEQ, SEQ, IDLE, BUSY
HWRITE Master mux to slave 1為寫(xiě),0為讀
HSIZE[2:0] Master mux to slave 每一個(gè)transfer傳輸?shù)臄?shù)據(jù)大小,以字節(jié)為單位,最高支持1024位
HBURST[2:0] Master mux to slave burst類(lèi)型,支持4、8、16 burst,incrementing/wrapping
HPROT[3:0] Master mux to slave 保護(hù)控制信號(hào),需要slave帶保護(hù)功能,一般不用
HWDATA[31:0] Master mux to slave 寫(xiě)數(shù)據(jù)總線,Master到Slave
HRDATA[31:0] Slave mux to master 讀數(shù)據(jù)總線,Slave到Master
HREADY Slave mux to master
arbiter
高:Slave指出傳輸結(jié)束
低:Slave需延長(zhǎng)傳輸周期
HRESP[1:0] Slave mux to master
arbiter
Slave發(fā)給Master的總線傳輸狀態(tài)OKAY, ERROR, RETRY, SPLIT
HSELx Decoder slave slave選擇信號(hào)

HRESP[1:0] 響應(yīng)信號(hào) 傳輸響應(yīng)HRESP[1:0] 00: OKAY 01: ERROR 10: RETRY 傳輸未完成,請(qǐng)求主設(shè)備重新開(kāi)始一個(gè)傳輸,arbiter會(huì)繼續(xù)使用通常的優(yōu)先級(jí) 11: SPLIT 傳輸未完成,請(qǐng)求主設(shè)備分離一次傳輸,arbiter會(huì)調(diào)整優(yōu)先級(jí)方案以便其他請(qǐng)求總線的主設(shè)備可以訪問(wèn)總線 表4?2AHB仲裁信號(hào)

Name Source To Description
HBUSREQx Master arbiter master給仲裁器的請(qǐng)求獲得總線使用權(quán)的請(qǐng)求信號(hào),最多支持16個(gè)master
HLOCKx Master arbiter 如果一個(gè)master希望自己在傳輸期間不希望丟掉總線,則需要向仲裁器發(fā)送這個(gè)鎖定信號(hào)
HGRANTx arbiter master 授權(quán)信號(hào),當(dāng)前bus master x的優(yōu)先級(jí)最高。當(dāng)HREADY和HGRANTx同時(shí)為高時(shí),master獲取系統(tǒng)總線的權(quán)利
HMASTER [3:0] arbiter 具有split功能的slave 仲裁器為每一個(gè)master分配的ID,指出哪個(gè)主設(shè)備正在進(jìn)行傳輸,提供進(jìn)行split的信息,用于地址控制多路選擇哪個(gè)主設(shè)備接入總線。
HMASTLOCK arbiter 具有split功能的slave 表示當(dāng)前的master正在執(zhí)行Locked操作。這個(gè)信號(hào)和HMASTER有這相同的時(shí)序
HSPLITx[15:0] slave arbiter 從設(shè)備用這個(gè)信號(hào)告訴仲裁器哪個(gè)主設(shè)備運(yùn)行重新嘗試一次split傳輸,每一位對(duì)應(yīng)一個(gè)主設(shè)備

V3.0 AXI(Advanced eXtensible Interface)是一種總協(xié)議,該協(xié)議是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0協(xié)議中最重要的部分。 ·高性能、高帶寬、低延遲的片內(nèi)總線 ·地址/控制和數(shù)據(jù)相位是分離的,分離的讀寫(xiě)數(shù)據(jù)通道。控制和數(shù)據(jù)通道分離,就可以不等需要的操作完成,就發(fā)出下一個(gè)操作,流水線操作,數(shù)據(jù)吞吐量增加達(dá)到提速的作用。 ·單向通道體系結(jié)構(gòu),使得片上信息流只是以單方向傳輸,減少了延時(shí),更小的面積,更低的功耗,獲得優(yōu)異的性能。 AXI4 是第四代AMBA協(xié)議重要的一部分,AMBA4.0 包括AXI4.0、AXI4.0-lite、ACE4.0、AXI4.0-streamAXI4.0-lite是AXI的簡(jiǎn)化版本,ACE4.0 是AXI緩存一致性擴(kuò)展接口,AXI4.0-stream是ARM公司和Xilinx公司一起提出,主要用在FPGA進(jìn)行以數(shù)據(jù)為主導(dǎo)的大量數(shù)據(jù)的傳輸應(yīng)用。 · 適合高帶寬低延時(shí)設(shè)計(jì),無(wú)需復(fù)雜的橋就實(shí)現(xiàn)高頻操作,向下兼容已有的AHB和APB接口。 ·分離地址/控制、數(shù)據(jù)相位 ·分離的讀寫(xiě)數(shù)據(jù)通道,提供低功耗DMA ·使用字節(jié)線支持非對(duì)齊的數(shù)據(jù)傳輸 ·使用基于burst的傳輸,只需傳輸首地址 ·支持多種傳輸方式,支持亂序傳輸 ·允許容易的添加寄存器來(lái)進(jìn)行時(shí)序收斂 AXI架構(gòu)分為5個(gè)獨(dú)立的傳輸通道,讀地址通道、讀數(shù)據(jù)通道、寫(xiě)地址通道、寫(xiě)數(shù)據(jù)通道、寫(xiě)響應(yīng)通道。基于VALID/READY的握手機(jī)制數(shù)據(jù)傳輸協(xié)議,傳輸源端使用VALID表明地址/控制信號(hào)、數(shù)據(jù)是有效的,目的端使用READY表明自己能夠接受信息。數(shù)據(jù)總線可為(8/16/32/64/128/256/512/1024bit),最大為單次傳輸一個(gè)字節(jié)的數(shù)據(jù)。 信號(hào)描述 表4?3全局信號(hào)

信號(hào)名 描述
ACLK 時(shí)鐘源 全局時(shí)鐘信號(hào)
ARESETn 復(fù)位源 全局復(fù)位信號(hào),低有效

表4?4寫(xiě)地址通道信號(hào)

信號(hào)名 描述
AWID 主機(jī) 寫(xiě)地址ID,用來(lái)標(biāo)志一組寫(xiě)信號(hào)
AWADDR 主機(jī) 寫(xiě)地址,給出一次寫(xiě)突發(fā)傳輸?shù)膶?xiě)地址
AWLEN 主機(jī) 突發(fā)長(zhǎng)度,給出突發(fā)傳輸?shù)拇螖?shù)
AWSIZE 主機(jī) 突發(fā)大小,給出每次突發(fā)傳輸?shù)淖止?jié)數(shù)
AWBURST 主機(jī) 突發(fā)類(lèi)型
AWLOCK 主機(jī) 總線鎖信號(hào),可提供操作的原子性
AWCACHE 主機(jī) 內(nèi)存類(lèi)型,表明一次傳輸是怎樣通過(guò)系統(tǒng)的
AWPROT 主機(jī) 保護(hù)類(lèi)型,表明一次傳輸?shù)奶貦?quán)級(jí)及安全等級(jí)
AWQOS 主機(jī) 質(zhì)量服務(wù)QoS
AWREGION 主機(jī) 區(qū)域標(biāo)志,能實(shí)現(xiàn)單一物理接口對(duì)應(yīng)的多個(gè)邏輯接口
AWUSER 主機(jī) 用戶自定義信號(hào)
AWVALID 主機(jī) 有效信號(hào),表明此通道的地址控制信號(hào)有效
AWREADY 從機(jī) 表明“從”可以接收地址和對(duì)應(yīng)的控制信號(hào)

表4?5寫(xiě)數(shù)據(jù)通道信號(hào)

信號(hào)名 描述
WID 主機(jī) 一次寫(xiě)傳輸?shù)腎D tag
WDATA 主機(jī) 寫(xiě)數(shù)據(jù)
WSTRB 主機(jī) 寫(xiě)數(shù)據(jù)有效的字節(jié)線,用來(lái)表明哪8bits數(shù)據(jù)是有效的
WLAST 主機(jī) 表明此次傳輸是最后一個(gè)突發(fā)傳輸
WUSER 主機(jī) 用戶自定義信號(hào)
WVALID 主機(jī) 寫(xiě)有效,表明此次寫(xiě)有效
WREADY 從機(jī) 表明從機(jī)可以接收寫(xiě)數(shù)據(jù)

表4?6寫(xiě)響應(yīng)通道信號(hào)

信號(hào)名 描述
BID 從機(jī) 寫(xiě)響應(yīng)ID tag
BRESP 從機(jī) 寫(xiě)響應(yīng),表明寫(xiě)傳輸?shù)臓顟B(tài)
BUSER 從機(jī) 用戶自定義
BVALID 從機(jī) 寫(xiě)響應(yīng)有效
BREADY 主機(jī) 表明主機(jī)能夠接收寫(xiě)響應(yīng)

表4?7讀地址通道信號(hào)

信號(hào)名 描述
ARID 主機(jī) 讀地址ID,用來(lái)標(biāo)志一組寫(xiě)信號(hào)
ARADDR 主機(jī) 讀地址,給出一次寫(xiě)突發(fā)傳輸?shù)淖x地址
ARLEN 主機(jī) 突發(fā)長(zhǎng)度,給出突發(fā)傳輸?shù)拇螖?shù)
ARSIZE 主機(jī) 突發(fā)大小,給出每次突發(fā)傳輸?shù)淖止?jié)數(shù)
ARBURST 主機(jī) 突發(fā)類(lèi)型
ARLOCK 主機(jī) 總線鎖信號(hào),可提供操作的原子性
ARCACHE 主機(jī) 內(nèi)存類(lèi)型,表明一次傳輸是怎樣通過(guò)系統(tǒng)的
ARPROT 主機(jī) 保護(hù)類(lèi)型,表明一次傳輸?shù)奶貦?quán)級(jí)及安全等級(jí)
ARQOS 主機(jī) 質(zhì)量服務(wù)QoS
ARREGION 主機(jī) 區(qū)域標(biāo)志,能實(shí)現(xiàn)單一物理接口對(duì)應(yīng)的多個(gè)邏輯接口
ARUSER 主機(jī) 用戶自定義信號(hào)
ARVALID 主機(jī) 有效信號(hào),表明此通道的地址控制信號(hào)有效
ARREADY 從機(jī) 表明“從”可以接收地址和對(duì)應(yīng)的控制信號(hào)

表4?8讀數(shù)據(jù)通道信號(hào)

信號(hào)名 描述
RID 從機(jī) 讀ID tag
RDATA 從機(jī) 讀數(shù)據(jù)
RRESP 從機(jī) 讀響應(yīng),表明讀傳輸?shù)臓顟B(tài)
RLAST 從機(jī) 表明讀突發(fā)的最后一次傳輸
RUSER 從機(jī) 用戶自定義
RVALID 從機(jī) 表明此通道信號(hào)有效
RREADY 主機(jī) 表明主機(jī)能夠接收讀數(shù)據(jù)和響應(yīng)信息

表4?9低功耗接口信號(hào)

信號(hào)名 描述
CSYSREQ 時(shí)鐘控制器 系統(tǒng)退出低功耗請(qǐng)求,此信號(hào)從“時(shí)鐘控制器”到“外設(shè)”
CSYSACK 外設(shè) 退出低功耗狀態(tài)確認(rèn)
CACTIVE 外設(shè) 外設(shè)請(qǐng)求時(shí)鐘有效

每個(gè)數(shù)據(jù)通道有獨(dú)立的xVALID/xREADY握手信號(hào)對(duì)。 VALID與READY信號(hào)作為一對(duì)握手信號(hào),為防止死鎖,進(jìn)行讀操作時(shí),必須等讀地址通道握手完成,讀數(shù)據(jù)通道才可進(jìn)行下一步操作。進(jìn)行寫(xiě)操作時(shí),寫(xiě)地址通道與寫(xiě)數(shù)據(jù)通道互相獨(dú)立,但同樣必須等最后一組數(shù)據(jù)寫(xiě)完成寫(xiě)響應(yīng)通道握手完成。 AXI協(xié)議是基于burst的,主機(jī)只給出突發(fā)傳輸?shù)牡谝粋€(gè)字節(jié)的地址,從機(jī)必須計(jì)算突發(fā)傳輸后續(xù)的地址。突發(fā)傳輸不能跨4KB邊界(防止突發(fā)跨越兩個(gè)從機(jī)的邊界,也限制了從機(jī)所需支持的地址自增數(shù))。 ·突發(fā)長(zhǎng)度 ARLEN[7:0]決定讀傳輸?shù)耐话l(fā)長(zhǎng)度,AWLEN[7:0]決定寫(xiě)傳輸?shù)耐话l(fā)長(zhǎng)度。AXI3只支持1~16次的突發(fā)傳輸(Burst_length=AxLEN[3:0]+1),AXI4擴(kuò)展突發(fā)長(zhǎng)度支持INCR突發(fā)類(lèi)型為1~256次傳輸,對(duì)于其他的傳輸類(lèi)型依然保持1~16次突發(fā)傳輸(Burst_Length=AxLEN[7:0]+1)。 ·傳輸規(guī)則 wraping burst ,burst長(zhǎng)度必須是2,4,8,16,burst不能跨4KB邊界,不支持提前終止burst傳輸。 ·突發(fā)大小 ARSIZE[2:0],讀突發(fā)傳輸;AWSIZE[2:0],寫(xiě)突發(fā)傳輸。 AxSIZE[2:0] bytes in transfer ‘b0001 ‘b0012 ‘b0104 ‘b0118 ‘b10016 ‘b10132 ‘b11064 ‘b111128 ·突發(fā)類(lèi)型 FIXED:突發(fā)傳輸過(guò)程中地址固定,用于FIFO訪問(wèn) INCR:增量突發(fā),傳輸過(guò)程中,地址遞增。增加量取決AxSIZE的值。 WRAP:回環(huán)突發(fā),和增量突發(fā)類(lèi)似,但會(huì)在特定高地址的邊界處回到低地址處。回環(huán)突發(fā)的長(zhǎng)度只能是2,4,8,16次傳輸,傳輸首地址和每次傳輸?shù)拇笮?duì)齊。最低的地址整個(gè)傳輸?shù)臄?shù)據(jù)大小對(duì)齊。回環(huán)邊界等于(AxSIZE*AxLEN)。 AxBURST[1:0]burst type ‘b00FIXED ‘b01INCR ‘b10WRAP ‘b11Reserved Start_Address=AxADDR Number_Bytes=2^AxSIZE Burst_Length=AxLEN+1 Aligned_Addr=(INT(Start_Address/Number_Bytes))xNumber_Bytes。//INT表示向下取整。 對(duì)于INCR突發(fā)和WRAP突發(fā)但沒(méi)有到達(dá)回環(huán)邊界,地址由下述方程決定: Address_N=Aligned_Address+(N-1)xNumber_Bytes WRAP突發(fā),突發(fā)邊界: Wrap_Boundary=(INT(Start_Address/(Number_Bytes x Burst_Length)))x(Number_Bytes x Burst_Length) 讀寫(xiě)響應(yīng)結(jié)構(gòu) 讀傳輸?shù)捻憫?yīng)信息是附加在讀數(shù)據(jù)通道上的,寫(xiě)傳輸?shù)捻憫?yīng)在寫(xiě)響應(yīng)通道。 RRESP[1:0],讀傳輸 BRESP[1:0],寫(xiě)傳輸 OKAY(‘b00):正常訪問(wèn)成功 EXOKAY(‘b01):Exclusive 訪問(wèn)成功 SLVERR(‘b10):從機(jī)錯(cuò)誤。表明訪問(wèn)已經(jīng)成功到了從機(jī),但從機(jī)希望返回一個(gè)錯(cuò)誤的情況給主機(jī)。 DECERR(‘b11):譯碼錯(cuò)誤。一般由互聯(lián)組件給出,表明沒(méi)有對(duì)應(yīng)的從機(jī)地址。

1.1.2AMBA概述

AMBA (Advanced Microcontroller Bus Architecture) 高級(jí)處理器總線架構(gòu) AHB (Advanced High-performance Bus) 高級(jí)高性能總線 ASB (Advanced System Bus) 高級(jí)系統(tǒng)總線 APB (Advanced Peripheral Bus) 高級(jí)外圍總線 AXI (Advanced eXtensible Interface) 高級(jí)可拓展接口 這些內(nèi)容加起來(lái)就定義出一套為了高性能SoC而設(shè)計(jì)的片上通信的標(biāo)準(zhǔn)。 AHB主要是針對(duì)高效率、高頻寬及快速系統(tǒng)模塊所設(shè)計(jì)的總線,它可以連接如微處理器、芯片上或芯片外的內(nèi)存模塊和DMA等高效率模塊。 APB主要用在低速且低功率的外圍,可針對(duì)外圍設(shè)備作功率消耗及復(fù)雜接口的最佳化。APB在AHB和低帶寬的外圍設(shè)備之間提供了通信的橋梁,所以APB是AHB或ASB的二級(jí)拓展總線。 AXI:高速度、高帶寬,管道化互聯(lián),單向通道,只需要首地址,讀寫(xiě)并行,支持亂序,支持非對(duì)齊操作,有效支持初始延遲較高的外設(shè),連線非常多。 表4?10幾種AMBA總線的性能對(duì)比分析

總線 AXI AHB APB
總線寬度 8, 16, 32, 64, 128, 256, 512, 1024 32, 64, 128, 256 8, 16, 32
地址寬度 32 32 32
通道特性 讀寫(xiě)地址通道、讀寫(xiě)數(shù)據(jù)通道均獨(dú)立 讀寫(xiě)地址通道共用讀寫(xiě)數(shù)據(jù)通道 讀寫(xiě)地址通道共用讀寫(xiě)數(shù)據(jù)通道不支持讀寫(xiě)并行操作
體系結(jié)構(gòu) 多主/從設(shè)備仲裁機(jī)制 多主/從設(shè)備仲裁機(jī)制 單主設(shè)備(橋)/多從設(shè)備無(wú)仲裁
數(shù)據(jù)協(xié)議 支持流水/分裂傳輸支持猝發(fā)傳輸支持亂序訪問(wèn)字節(jié)/半字/字大小端對(duì)齊非對(duì)齊操作 支持流水/分裂傳輸支持猝發(fā)傳輸支持亂序訪問(wèn)字節(jié)/半字/字大小端對(duì)齊不支持非對(duì)齊操作 一次讀/寫(xiě)傳輸占兩個(gè)時(shí)鐘周期不支持突發(fā)傳輸
傳輸方式 支持讀寫(xiě)并行操作 不支持讀寫(xiě)并行操作 不支持讀寫(xiě)并行操作
時(shí)序 同步 同步 同步
互聯(lián) 多路 多路 無(wú)定義

1.1.3AHB總線

AHB的組成 Master:能夠發(fā)起讀寫(xiě)操作,提供地址和控制信號(hào),同一時(shí)間只有1個(gè)Master會(huì)被激活。 Slave:在給定的地址范圍內(nèi)對(duì)讀寫(xiě)操作作響應(yīng),并對(duì)Master返回成功、失敗或者等待等狀態(tài)。 Arbiter:負(fù)責(zé)保證總線上一次只有1個(gè)Master在工作。仲裁協(xié)議是規(guī)定的,但是仲裁算法可以根據(jù)應(yīng)用決定。 Decoder:負(fù)責(zé)對(duì)地址進(jìn)行解碼,并提供片選信號(hào)到各Slave。 每個(gè)AHB都需要1個(gè)仲裁器和1個(gè)中央解碼器。

圖4?8AHB的組成 AHB基本信號(hào) HADDR:32位系統(tǒng)地址總線 HTRANS:M指示傳輸狀態(tài),NONSEQ、SEQ、IDLE、BUSY HWRITE:傳輸方向1-寫(xiě),0-讀 HSIZE:傳輸單位 HBURST:傳輸?shù)腷urst類(lèi)型 HWDATA:寫(xiě)數(shù)據(jù)總線,從M寫(xiě)到S HREADY:S應(yīng)答M是否讀寫(xiě)操作傳輸完成,1-傳輸完成,0-需延長(zhǎng)傳輸周期。需要注意的是HREADY作為總線上的信號(hào),它是M和S的輸入;同時(shí)每個(gè)S需要輸出自HREADY。所以對(duì)于S會(huì)有兩個(gè)HREADY信號(hào),一個(gè)來(lái)自總線的輸入,一個(gè)自己給到多路器的輸出。 HRESP:S應(yīng)答當(dāng)前傳輸狀態(tài),OKAY、ERROR、RETRY、SPLIT。 HRDATA:讀數(shù)據(jù)總線,從S讀到M。 AHB基本傳輸 兩個(gè)階段 地址周期(AP),只有一個(gè)cycle 數(shù)據(jù)周期(DP),由HREADY信號(hào)決定需要幾個(gè)cycle 流水線傳送 先是地址周期,然后是數(shù)據(jù)周期 AHB突發(fā)傳輸與AXI突發(fā)傳輸?shù)奶攸c(diǎn) AHB協(xié)議需要一次突發(fā)傳輸?shù)乃械刂罚刂放c數(shù)據(jù)鎖定對(duì)應(yīng)關(guān)系,后一次突發(fā)傳輸必須在前次傳輸完成才能進(jìn)行。 AXI只需要一次突發(fā)的首地址,可以連續(xù)發(fā)送多個(gè)突發(fā)傳輸首地址而無(wú)需等待前次突發(fā)傳輸完成,并且多個(gè)數(shù)據(jù)可以交錯(cuò)傳遞,此特征大大提高了總線的利用率。 AHB總線與AXI總線均適用于高性能、高帶寬的SoC系統(tǒng),但AXI具有更好的靈活性,而且能夠讀寫(xiě)通道并行發(fā)送,互不影響;更重要的是,AXI總線支持亂序傳輸,能夠有效地利用總線的帶寬,平衡內(nèi)部系統(tǒng)。因此SoC系統(tǒng)中,均以AXI總線為主總線,通過(guò)橋連接AHB總線與APB總線,這樣能夠增加SoC系統(tǒng)的靈活性,更加合理地把不同特征IP分配到總線上。

1.1.4APB總線

主要應(yīng)用在低帶寬的外設(shè)上,如UART、 I2C,它的架構(gòu)不像AHB總線是多主設(shè)備的架構(gòu),APB總線的唯一主設(shè)備是APB橋(與AXI或APB相連),因此不需要仲裁一些Request/grant信號(hào)。APB的協(xié)議也十分簡(jiǎn)單,甚至不是流水的操作,固定兩個(gè)時(shí)鐘周期完成一次讀或?qū)懙牟僮鳌F涮匦园ǎ簝蓚€(gè)時(shí)鐘周期傳輸,無(wú)需等待周期和回應(yīng)信號(hào),控制邏輯簡(jiǎn)單,只有四個(gè)控制信號(hào)。APB上的傳輸可用如圖所示的狀態(tài)圖來(lái)說(shuō)明。 1、系統(tǒng)初始化為IDLE狀態(tài),此時(shí)沒(méi)有傳輸操作,也沒(méi)有選中任何從模塊。 2、當(dāng)有傳輸要進(jìn)行時(shí),PSELx=1,,PENABLE=0,系統(tǒng)進(jìn)入SETUP狀態(tài),并只會(huì)在SETUP狀態(tài)停留一個(gè)周期。當(dāng)PCLK的下一個(gè)上升沿到來(lái)時(shí),系統(tǒng)進(jìn)入ENABLE狀態(tài)。 3、系統(tǒng)進(jìn)入ENABLE狀態(tài)時(shí),維持之前在SETUP狀態(tài)的PADDR、PSEL、PWRITE不變,并將PENABLE置為1。傳輸也只會(huì)在ENABLE狀態(tài)維持一個(gè)周期,在經(jīng)過(guò)SETUP與ENABLE狀態(tài)之后就已完成。之后如果沒(méi)有傳輸要進(jìn)行,就進(jìn)入IDLE狀態(tài)等待;如果有連續(xù)的傳輸,則進(jìn)入SETUP狀態(tài)。

圖4?9APB總線

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    456

    文章

    51170

    瀏覽量

    427238
  • AMBA
    +關(guān)注

    關(guān)注

    0

    文章

    69

    瀏覽量

    15042
  • SoC系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    10727

原文標(biāo)題:AXI協(xié)議詳解-AMBA總線協(xié)議AHB、APB、AXI對(duì)比分析

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AMBA 3 APB協(xié)議1.0版規(guī)范

    ARM AMBA3 APB 1.0
    發(fā)表于 01-15 14:45 ?0次下載

    dap協(xié)議與傳統(tǒng)協(xié)議的區(qū)別 dap協(xié)議的工作原理詳解

    DAP(Distributed Application Protocol)是一種分布式應(yīng)用協(xié)議,旨在為分布式應(yīng)用提供一個(gè)去中心化的網(wǎng)絡(luò)環(huán)境。與傳統(tǒng)協(xié)議相比,DAP協(xié)議具有一些獨(dú)特的特性和工作原理
    的頭像 發(fā)表于 11-22 15:40 ?494次閱讀

    FWA產(chǎn)業(yè)的發(fā)展現(xiàn)狀和演進(jìn)方向

    近日,在2024 MBBF展會(huì)期間,全球FWA演進(jìn)圓桌成功舉辦,吸引了超過(guò)80位來(lái)自全球的運(yùn)營(yíng)商、行業(yè)分析師及生態(tài)合作伙伴代表。會(huì)上,與會(huì)者分享了最新的FWA行業(yè)洞察與實(shí)踐,共同探討了FWA的當(dāng)前發(fā)展和未來(lái)演進(jìn)方向。
    的頭像 發(fā)表于 11-06 17:21 ?571次閱讀

    AMBA AXI4接口協(xié)議概述

    AMBA AXI4(高級(jí)可擴(kuò)展接口 4)是 ARM 推出的第四代 AMBA 接口規(guī)范。AMD Vivado Design Suite 2014 和 ISE Design Suite 14 憑借半導(dǎo)體產(chǎn)業(yè)首個(gè)符合 AXI4 標(biāo)準(zhǔn)的即插即用型 IP 進(jìn)一步擴(kuò)展了 AMD 平臺(tái)
    的頭像 發(fā)表于 10-28 10:46 ?309次閱讀
    <b class='flag-5'>AMBA</b> AXI4接口<b class='flag-5'>協(xié)議</b>概述

    PD協(xié)議過(guò)程詳解:從物理連接到智能管理的全面剖析

    PD協(xié)議通過(guò)一系列精心設(shè)計(jì)的流程,實(shí)現(xiàn)了電力與數(shù)據(jù)的高效、安全傳輸,為現(xiàn)代電子設(shè)備的充電與數(shù)據(jù)傳輸提供了強(qiáng)大的支持。隨著技術(shù)的不斷演進(jìn),PD協(xié)議將在更多領(lǐng)域發(fā)揮重要作用,推動(dòng)電子設(shè)備行業(yè)的持續(xù)發(fā)展。
    的頭像 發(fā)表于 09-23 11:38 ?898次閱讀

    IPv6協(xié)議—互聯(lián)網(wǎng)通信協(xié)議第六版

    IPv6是互聯(lián)網(wǎng)升級(jí)演進(jìn)的必然趨勢(shì)、網(wǎng)絡(luò)技術(shù)創(chuàng)新的重要方向、網(wǎng)絡(luò)強(qiáng)國(guó)建設(shè)的基礎(chǔ)支撐。近些年,隨著我國(guó)大力推動(dòng)IPv6規(guī)模部署和應(yīng)用,目前中國(guó)的IPv6滲透率已超過(guò)70%。對(duì)于車(chē)載以太網(wǎng)來(lái)說(shuō),目前
    的頭像 發(fā)表于 09-05 08:05 ?641次閱讀
    IPv6<b class='flag-5'>協(xié)議</b>—互聯(lián)網(wǎng)通信<b class='flag-5'>協(xié)議</b>第六版

    應(yīng)用驅(qū)動(dòng)協(xié)議演進(jìn),擁抱智能創(chuàng)新技術(shù)

    日前在溫哥華舉辦的IETF 120會(huì)議期間,華為數(shù)據(jù)通信產(chǎn)品線副總裁吳局業(yè)發(fā)表了“擁抱智能創(chuàng)新技術(shù)”的主題演講。 吳局業(yè)指出,應(yīng)用驅(qū)動(dòng)著協(xié)議演進(jìn)。在5G時(shí)代,IETF已經(jīng)在SRv6、性能測(cè)量、網(wǎng)絡(luò)
    的頭像 發(fā)表于 08-20 21:22 ?918次閱讀

    差壓表的技術(shù)演進(jìn)與實(shí)際應(yīng)用探討

    差壓表是流體控制和監(jiān)測(cè)中的關(guān)鍵工具,通過(guò)測(cè)量管道或系統(tǒng)中兩個(gè)點(diǎn)之間的壓力差來(lái)評(píng)估流體流動(dòng)的性質(zhì)和速度。以下是關(guān)于差壓表的技術(shù)演進(jìn)和實(shí)際應(yīng)用的詳細(xì)探討: 基本原理與功能: 工作原理:差壓表利用兩個(gè)感應(yīng)
    的頭像 發(fā)表于 08-13 15:03 ?300次閱讀

    實(shí)現(xiàn)工業(yè)設(shè)備與ThingWorx無(wú)縫對(duì)接:Modbus轉(zhuǎn)OPC UA協(xié)議網(wǎng)關(guān)的應(yīng)用

    隨著智能制造的不斷演進(jìn),將這些傳統(tǒng)設(shè)備與現(xiàn)代自動(dòng)化軟件如ThingWorx高效集成,已成為技術(shù)發(fā)展的重要課題。本文將探討如何利用Modbus轉(zhuǎn)OPC UA協(xié)議網(wǎng)關(guān),實(shí)現(xiàn)工業(yè)設(shè)備與ThingWorx
    的頭像 發(fā)表于 08-09 17:14 ?417次閱讀
    實(shí)現(xiàn)工業(yè)設(shè)備與ThingWorx無(wú)縫對(duì)接:Modbus轉(zhuǎn)OPC UA<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)的應(yīng)用

    AMBA總線協(xié)議的基本原理和應(yīng)用場(chǎng)景

    AMBA(Advanced Microcontroller Bus Architecture)總線協(xié)議是一種面向高性能嵌入式微控制器設(shè)計(jì)的片上聯(lián)接標(biāo)準(zhǔn),由ARM公司在1996年首次推出。該協(xié)議旨在
    的頭像 發(fā)表于 08-05 15:37 ?1360次閱讀

    GPT的定義和演進(jìn)歷程

    GPT,全稱(chēng)Generative Pretrained Transformer,是OpenAI公司在自然語(yǔ)言處理(NLP)領(lǐng)域的一項(xiàng)重大創(chuàng)新。這一模型不僅推動(dòng)了AI技術(shù)的邊界,還深刻影響了我們與機(jī)器交互的方式。本文將從GPT的定義、來(lái)源、演進(jìn)歷程以及其在各個(gè)領(lǐng)域的應(yīng)用和影響等方面進(jìn)行深度剖析。
    的頭像 發(fā)表于 07-10 10:41 ?1454次閱讀

    藍(lán)牙傳輸技術(shù)的演進(jìn)與發(fā)展

    藍(lán)牙模塊技術(shù),作為無(wú)線通信領(lǐng)域的重要一員,自其誕生之初便受到了廣泛的關(guān)注和應(yīng)用。隨著技術(shù)的不斷發(fā)展和演進(jìn),藍(lán)牙模塊技術(shù)已經(jīng)從最初的單一功能、有限傳輸速度發(fā)展到現(xiàn)在的多功能、高速率、低功耗,為人
    的頭像 發(fā)表于 07-05 17:56 ?1349次閱讀

    Arm和新思科技繼續(xù)就AMBA協(xié)議系列的最新擴(kuò)展密切合作

    Arm最近發(fā)布了AMBA CHI C2C(芯片到芯片)規(guī)范。這是AMBA CHI架構(gòu)在(小)芯片到(小)芯片層面的擴(kuò)展,稱(chēng)為“AMBA CHI C2C協(xié)議”。
    的頭像 發(fā)表于 05-15 10:09 ?1067次閱讀
    Arm和新思科技繼續(xù)就<b class='flag-5'>AMBA</b><b class='flag-5'>協(xié)議</b>系列的最新擴(kuò)展密切合作

    新思科技為AMBA CHI-G協(xié)議量身定制一系列AMBA協(xié)議解決方案

    新思科技提供了一系列AMBA協(xié)議解決方案,用于早期建模、設(shè)計(jì)、實(shí)現(xiàn)、驗(yàn)證、確認(rèn)和系統(tǒng)成型。
    的頭像 發(fā)表于 04-30 17:20 ?872次閱讀

    從盤(pán)中孔到真空塞孔,線路板樹(shù)脂塞孔技術(shù)的演進(jìn)之路

    從盤(pán)中孔到真空塞孔,線路板樹(shù)脂塞孔技術(shù)的演進(jìn)之路
    的頭像 發(fā)表于 02-25 09:17 ?1067次閱讀
    疏附县| 百家乐官网长玩必输| 威尼斯人娱乐城地址lm0| 百家乐投注心得| 百家乐官网娱乐场真人娱乐场| 百家乐官网de概率| 云博国际| 大发888官网官方下载| 百家乐永利娱乐场| 百家乐五式缆投法| 巴厘岛百家乐官网的玩法技巧和规则 | 百家乐官网投注很好| 20人百家乐桌| 百家乐赌场方法| 百家乐在线怎么玩| 大世界百家乐官网的玩法技巧和规则| 百家乐官网赢率| 百家乐官网硬币打法| 马牌| 真人娱乐城排行榜| 大发888娱乐城备用| 百苑百家乐的玩法技巧和规则| 澳门百家乐线上娱乐城| 九运2024年-2043年| 基础百家乐官网的玩法技巧和规则| 缅甸百家乐官网网络赌博解谜 | 乐东| 优博代理| 88娱乐城1| 万利娱乐城开户| 德州扑克 视频| 临汾玩百家乐的人在那里找| 百家乐怎打能赢| 百家乐官网免| 爱婴百家乐官网的玩法技巧和规则| 百家乐官网网站赌钱吗| 百家乐官网公式软件| 网上百家乐官网赌场| 百家乐官网最好的投注法| 打百家乐官网的技巧| 百家乐官网总厂在哪里|