由于ZYNQ架構和常用接口IP核經常出現 AXI協議,,賽靈思的協議手冊講解時序比較分散,。所以筆者收藏AXI協議的幾種時序,,方便編程,。
(1) AXI_LITE協議:
?。?1) 讀地址通道,, 包含ARVALID, ARADDR, ARREADY信號,;
?。?2) 讀數據通道,, 包含RVALID, RDATA, RREADY, RRESP信號;
?。?3) 寫地址通道,, 包含AWVALID,, AWADDR, AWREADY信號;
?。?4) 寫數據通道,, 包含WVALID, WDATA, WSTRB, WREADY信號,;
?。?5) 寫應答通道, 包含BVALID, BRESP, BREADY信號,;( 6) 系統(tǒng)通道,, 包含:ACLK, ARESETN信號,。
AXI4總線和AXI4-Lite總線的信號也有他的命名特點:讀地址信號都是以AR開頭( A:address,;R:read)寫地址信號都是以AW開頭( A:address;W:write)讀數據信號都是以R開頭( R:read)寫數據信號都是以W開頭( W:write)
AXI_LITE讀時序:
AXI_LITE:寫時序
(2) AXI_STREAM:
AXI4-Stream總線的組成有:
?。?1) ACLK信號:總線時鐘,, 上升沿有效;
?。?2) ARESETN信號:總線復位,, 低電平有效
( 3) TREADY信號:從機告訴主機做好傳輸準備,;
( 4) TDATA信號:數據,, 可選寬度32,64,128,256bit
?。?5) TSTRB信號:每一bit對應TDATA的一個有效字節(jié), 寬度為TDATA/8
?。?6) TLAST信號:主機告訴從機該次傳輸為突發(fā)傳輸的結尾,;
( 7) TVALID信號:主機告訴從機數據本次傳輸有效,;
?。?8) TUSER信號 :用戶定義信號, 寬度為128bit,。
(3)其他
(a)AXI架構
AXI協議是基于burst的傳輸,,并且定義了以下5個獨立的傳輸通道:讀地址通道、讀數據通道,、寫地址通道,、寫數據通道、寫響應通道,。
地址通道攜帶控制消息用于描述被傳輸的數據屬性,,數據傳輸使用寫通道來實現“主”到“從”的傳輸,,“從”使用寫響應通道來完成一次寫傳輸;讀通道用來實現數據從“從”到“主”的傳輸,。
AXI是基于VALID/READY的握手機制數據傳輸協議,,傳輸源端使用VALID表明地址/控制信號、數據是有效的,,目的端使用READY表明自己能夠接受信息,。
讀/寫地址通道:讀、寫傳輸每個都有自己的地址通道,,對應的地址通道承載著對應傳輸的地址控制信息,。
讀數據通道:讀數據通道承載著讀數據和讀響應信號包括數據總線(8/16/32/64/128/256/512/1024bit)和指示讀傳輸完成的讀響應信號。
寫數據通道:寫數據通道的數據信息被認為是緩沖(buffered)了的,,“主”無需等待“從”對上次寫傳輸的確認即可發(fā)起一次新的寫傳輸,。寫通道包括數據總線(8/16…1024bit)和字節(jié)線(用于指示8bit 數據信號的有效性)。
寫響應通道:“從”使用寫響應通道對寫傳輸進行響應,。所有的寫傳輸需要寫響應通道的完成信號,。
圖3-4 接口與互聯
AXI協議提供單一的接口定義,能用在下述三種接口之間:master/interconnect,、slave/interconnect,、master/slave。
可以使用以下幾種典型的系統(tǒng)拓撲架構:
共享地址與數據總線
共享地址總線,,多數據總線
multilayer多層,,多地址總線,多數據總線
在大多數系統(tǒng)中,,地址通道的帶寬要求沒有數據通道高,,因此可以使用共享地址總線,多數據總線結構來對系統(tǒng)性能和互聯復雜度進行平衡,。
寄存器片(Register Slices):
每個AXI通道使用單一方向傳輸信息,,并且各個通道直接沒有任何固定關系。因此可以可以在任何通道任何點插入寄存器片,,當然這會導致額外的周期延遲,。
使用寄存器片可以實現周期延遲(cycles of latency)和最大操作頻率的折中;使用寄存器片可以分割低速外設的長路徑,。
(b)信號描述
表 2-1 全局信號
表 2-4 寫響應通道信號
(c) 信號接口要求
3.1時鐘復位
時鐘
每個AXI組件使用一個時鐘信號ACLK,,所有輸入信號在ACLK上升沿采樣,所有輸出信號必須在ACLK上升沿后發(fā)生,。
復位
AXI使用一個低電平有效的復位信號ARESETn,,復位信號可以異步斷言,但必須和時鐘上升沿同步去斷言,。
復位期間對接口有如下要求:①主機接口必須驅動ARVALID,,AWVALID,,WVALID為低電平;②從機接口必須驅動RVALID,,BVALID為低電平,;③所有其他信號可以被驅動到任意值。
在復位后,,主機可以在時鐘上升沿驅動ARVALID,,AWVALID,WVALID為高電平,。
3.2基本讀寫傳輸
握手過程
5個傳輸通道均使用VALID/READY信號對傳輸過程的地址,、數據、控制信號進行握手,。使用雙向握手機制,,傳輸僅僅發(fā)生在VALID、READY同時有效的時候,。下圖是幾種握手機制:
通道信號要求
通道握手信號:每個通道有自己的xVALID/xREADY握手信號對,。
寫地址通道:當主機驅動有效的地址和控制信號時,主機可以斷言AWVALID,,一旦斷言,,需要保持AWVALID的斷言狀態(tài),直到時鐘上升沿采樣到從機的AWREADY,。AWREADY默認值可高可低,,推薦為高(如果為低,一次傳輸至少需要兩個周期,,一個用來斷言AWVALID,,一個用來斷言AWREADY);當AWREADY為高時,,從機必須能夠接受提供給它的有效地址。
寫數據通道:在寫突發(fā)傳輸過程中,,主機只能在它提供有效的寫數據時斷言WVALID,,一旦斷言,需要保持斷言狀態(tài),,知道時鐘上升沿采樣到從機的WREADY,。WREADY默認值可以為高,這要求從機總能夠在單個周期內接受寫數據,。主機在驅動最后一次寫突發(fā)傳輸是需要斷言WLAST信號,。
寫響應通道:從機只能它在驅動有效的寫響應時斷言BVALID,一旦斷言需要保持,,直到時鐘上升沿采樣到主機的BREADY信號,。當主機總能在一個周期內接受寫響應信號時,,可以將BREADY的默認值設為高。
讀地址通道:當主機驅動有效的地址和控制信號時,,主機可以斷言ARVALID,,一旦斷言,需要保持ARVALID的斷言狀態(tài),,直到時鐘上升沿采樣到從機的ARREADY,。ARREADY默認值可高可低,推薦為高(如果為低,,一次傳輸至少需要兩個周期,,一個用來斷言ARVALID,一個用來斷言ARREADY),;當ARREADY為高時,,從機必須能夠接受提供給它的有效地址。
讀數據通道:只有當從機驅動有效的讀數據時從機才可以斷言RVALID,,一旦斷言需要保持直到時鐘上升沿采樣到主機的BREADY,。BREADY默認值可以為高,此時需要主機任何時候一旦開始讀傳輸就能立馬接受讀數據,。當最后一次突發(fā)讀傳輸時,,從機需要斷言RLAST。
通道間關系
AXI協議要求通道間滿足如下關系:
寫響應必須跟隨最后一次burst的的寫傳輸
讀數據必須跟隨數據對應的地址
通道握手信號需要確認一些依耐關系
通道握手信號的依耐關系
更多信息可以來這里獲取==>>電子技術應用-AET<<