日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > ZYNQ
		


前言

本文針對秋招面試高頻問題: AXI總線進(jìn)行總結(jié);



1.簡介

AXI是個什么東西呢,它其實(shí)不屬于Zynq,不屬于Xilinx,而是屬于ARM。它是ARM最新的總線接口,以前叫做AMBA,從3.0以后就稱為AXI了。

AXI(Advanced eXtensible Interface)是一種總線協(xié)議,該協(xié)議是ARM公司提出的AMBA3.0中最重要的部分,是一種面向高性能、高帶寬、低延遲的片內(nèi)總線。AMBA4.0將其修改升級為AXI4.0。 AMBA4 包括AXI4、AXI4-lite、ACE4、AXI4-stream。

AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允許最大256輪的數(shù)據(jù)突發(fā)傳輸;

AXI4-Lite:(For simple, low-throughput memory-mapped communication )是一個輕量級的地址映射單次傳輸接口,占用很少的邏輯單元。

AXI4-Stream:(For high-speed streaming data.)面向高速流數(shù)據(jù)傳輸;去掉了地址項,允許無限制的數(shù)據(jù)突發(fā)傳輸規(guī)模。

1.1 AXI協(xié)議特點(diǎn)

AMBA AXI協(xié)議支持支持高性能、高頻率系統(tǒng)設(shè)計;

  • 適合高帶寬低延時設(shè)計

  • 無需復(fù)雜的橋就能實(shí)現(xiàn)高頻操作

  • 能滿足大部分器件的接口要求

  • 適合高初始延時的存儲控制器

  • 提供互聯(lián)架構(gòu)的靈活性與獨(dú)立性

  • 向下兼容已有的AHB和APB接口

關(guān)鍵特點(diǎn)

  • 分離的地址/控制、數(shù)據(jù)相位

  • 使用字節(jié)選通,支持非對齊的數(shù)據(jù)傳輸

  • 基于burst傳輸,只需傳輸首地址

  • 讀、寫數(shù)據(jù)通道分離,能提供低功耗DMA

  • 支持多種尋址方式

  • 支持亂序傳輸

  • 易于添加寄存器級來進(jìn)行時序收斂

  • 支持outstanding AXI可以連續(xù)發(fā)送多個突發(fā)傳輸?shù)氖椎刂范鵁o需等待之前的突發(fā)傳輸完成,這有助于流水處理transaction


1.2 AXI讀寫架構(gòu)

AXI協(xié)議是基于burst的傳輸,并且定義了以下5個獨(dú)立的傳輸通道:讀地址通道、讀數(shù)據(jù)通道、寫地址通道、寫數(shù)據(jù)通道、寫響應(yīng)通道 地址通道攜帶控制消息,用于描述被傳輸?shù)臄?shù)據(jù)屬性;數(shù)據(jù)傳輸使用寫通道來實(shí)現(xiàn)master到slave的傳輸,slave使用寫響應(yīng)通道來完成一次寫傳輸;讀通道用來實(shí)現(xiàn)數(shù)據(jù)從slave到master的傳輸。

讀架構(gòu)

寫架構(gòu)

AXI使用基于VALID/READY握手機(jī)制數(shù)據(jù)傳輸協(xié)議;傳輸源端使用VALID表明地址/控制信號、數(shù)據(jù)是有效的;目的端使用READY表明自己能夠接受信息 ;
  • 讀/寫地址通道:讀、寫傳輸每個都有自己的地址通道,對應(yīng)的地址通道承載著對應(yīng)傳輸?shù)?/span>地址控制信息;

  • 讀數(shù)據(jù)通道:讀數(shù)據(jù)通道承載著讀數(shù)據(jù)和讀響應(yīng)信號包括數(shù)據(jù)總線(8/16/32/64/128/256/512/1024 bit)和指示讀傳輸完成的讀響應(yīng)信號;

  • 寫數(shù)據(jù)通道:寫數(shù)據(jù)通道的數(shù)據(jù)信息被認(rèn)為是緩沖了的,master無需等待slave對上次寫傳輸?shù)拇_認(rèn)即可發(fā)起一次新的寫傳輸。寫通道包括數(shù)據(jù)總線(8/16/32/64/128/256/512/1024 bit)和字節(jié)線(用于指示8 bit 數(shù)據(jù)信號的有效性);

  • 寫響應(yīng)通道:slave使用寫響應(yīng)通道對寫傳輸進(jìn)行響應(yīng)。所有的寫傳輸需要寫響應(yīng)通道的完成信號;

通道名稱 通道功能 數(shù)據(jù)流向
read address 讀地址通道 主機(jī)->從機(jī)
read data 讀數(shù)據(jù)通道(包括數(shù)據(jù)通道和讀響應(yīng)通道) 從機(jī)->主機(jī)
write address 寫地址通道 主機(jī)->從機(jī)
write data 寫數(shù)據(jù)通道(包括數(shù)據(jù)通道和每8bit一個byte的寫數(shù)據(jù)有效信號) 主機(jī)->從機(jī)
write response 寫響應(yīng)通道 從機(jī)->主機(jī)

1.3 接口和互聯(lián)

AXI協(xié)議提供單一的接口定義,用在下述三種接口之間:master/interconnect、slave/interconnect、master/slave。可以使用以下幾種典型的系統(tǒng)拓?fù)浼軜?gòu):

  • 共享地址與數(shù)據(jù)總線

  • 共享地址總線,多數(shù)據(jù)總線

  • multilayer多層,多地址總線,多數(shù)據(jù)總線

    在大多數(shù)系統(tǒng)中,地址通道的帶寬要求沒有數(shù)據(jù)通道高,因此可以使用共享地址總線,多數(shù)據(jù)總線結(jié)構(gòu)來對系統(tǒng)性能和互聯(lián)復(fù)雜度進(jìn)行平衡;

寄存器片(Register Slices)每個AXI通道使用單一方向傳輸信息,并且各個通道直接沒有任何固定關(guān)系。因此可以可以在任何通道任何點(diǎn)插入寄存器片,當(dāng)然這會導(dǎo)致額外的周期延遲

使用寄存器片可以實(shí)現(xiàn)周期延遲(cycles of latency)最大操作頻率的折中;

使用寄存器片可以分割低速外設(shè)的長路徑;



2.信號描述



信號名 來源 描述
ACLK system clock 全局時鐘信號
ARESTn system reset 全局復(fù)位信號,低有效

全局信號

信號名 來源 描述
AWID master 寫地址ID(用于區(qū)分該地址屬于哪個寫地址組)
AWADDR master 寫地址
AWLEN master 突發(fā)長度
AWSIZE master 突發(fā)尺寸(每次突發(fā)傳輸?shù)淖铋Lbyte數(shù))
AWBURST master 突發(fā)方式(FIXED,INCR,WRAP)
AWCACHE master 存儲類型(標(biāo)記系統(tǒng)需要的傳輸類型)
AWPROT master 保護(hù)模式
AWQOS master QoS標(biāo)識符
AWREGION master region標(biāo)識符(當(dāng)slave有多種邏輯接口時標(biāo)識使用的邏輯接口)
AWUSER master 用戶自定義信號
AWVALID master 寫地址有效信號(有效時表示AWADDR上地址有效)
AWREADY master 寫從機(jī)就緒信號(有效時表示從機(jī)準(zhǔn)備好接收地址)

寫地址通道信號

信號名 來源 描述
WDATA master 寫數(shù)據(jù)
WSTRB master 數(shù)據(jù)段有效(標(biāo)記寫數(shù)據(jù)中哪幾個8位字段有效)
WLAST master last信號(有效時表示當(dāng)前為突發(fā)傳輸最后一個數(shù)據(jù))
WUSER master 用戶自定義信號
WVALID master 寫有效信號(有效時表示W(wǎng)DATA上數(shù)據(jù)有效)
WREADY slave 寫ready信號(有效時表示從機(jī)準(zhǔn)備好接收數(shù)據(jù))

寫數(shù)據(jù)通道信號

信號名 來源 描述
BID slave 響應(yīng)ID
BRESP slave 寫響應(yīng)
BUSER slave 用戶自定義信號
BVALID slave 寫響應(yīng)信號有效
BREADY master 寫響應(yīng)ready(主機(jī)準(zhǔn)備好接受寫響應(yīng)信號)

寫響應(yīng)通道信號

信號名 來源 描述
ARID master 讀地址ID
ARADDR master 讀地址
ARLEN master 突發(fā)長度
ARSIZE master 突發(fā)尺寸(每次突發(fā)傳輸?shù)腷yte數(shù))
ARBURST master 突發(fā)類型(FIXED,INCR,WRAP)
ARCACHE master 存儲類型
ARPROT master 保護(hù)類型
ARQOS master QoS標(biāo)識符
ARREGION master 區(qū)域標(biāo)識符
ARUSER master 用戶自定義
ARVALID master 讀地址有效(有效時表示ARADDR上地址有效)
ARREADY slave 寫有效信號(有效時表示從機(jī)準(zhǔn)備好接收讀地址)

讀地址通道信號

信號名 來源 描述
RID slave 讀ID標(biāo)簽
RDATA slave 讀數(shù)據(jù)
RRESP slave 讀響應(yīng)
RLAST slave 有效時表示為突發(fā)傳輸?shù)淖詈笠粋€
RUSER slave 用戶自定義
RVALID slave 讀數(shù)據(jù)有效信號
RREADY master 主機(jī)就緒信號(有效時表示)

讀數(shù)據(jù)通道信號

信號名 來源 描述
CSYSREQ Clock controller 該信號有效時,系統(tǒng)退出低功耗模式
CSYSACK Peripheral device 退出低功耗模式應(yīng)答信號
CACTIVE Peripheral device 外設(shè)申請時鐘信號

低功耗接口信號



3.信號接口要求



3.1讀寫傳輸


3.1.1 握手過程

5個傳輸通道均使用VALID/READY信號對傳輸過程的地址、數(shù)據(jù)、控制信號進(jìn)行握手。使用雙向握手機(jī)制,傳輸僅僅發(fā)生在VALID、READY同時有效的時候。
  • VALID信號表示地址/數(shù)據(jù)/應(yīng)答信號總線上的信號是有效的,由傳輸發(fā)起方控制

  • READY信號表示傳輸接收方已經(jīng)準(zhǔn)備好接收,由傳輸接收方控制

下圖是幾種握手機(jī)制:

VALID和READY的先后關(guān)系具有三種情況

  • VALID先有效,等待READY有效后完成傳輸(VALID一旦有效后在傳輸完成前不可取消)

  • READY先有效,等待VALID有效后完成傳輸(READY可以在VALID有效前撤銷)

  • VALID和READY同時有效,立刻完成傳輸

此外,需要注意的是允許READY信號等待VALID信號再有效,即使從機(jī)準(zhǔn)備好,也可以不提供READY信號,等到主機(jī)發(fā)送VALID信號再提供READY信號。對應(yīng)的VALID信號不允許等待READY信號,即不允許VALID等待READY信號拉高后再拉高,否則容易產(chǎn)生死鎖現(xiàn)象。


命令通道握手(讀地址,寫地址,寫響應(yīng))

  • 僅當(dāng)?shù)刂返刃畔⒂行r,才拉高VALID,該VALID必須保持直到傳輸完成(READY置位)

  • READY默認(rèn)狀態(tài)不關(guān)心,僅當(dāng)準(zhǔn)備好接收時拉高READY

數(shù)據(jù)通道握手(寫數(shù)據(jù)和讀數(shù)據(jù))

  • 突發(fā)讀寫模式下,僅數(shù)據(jù)信息有效時才拉高VALID,該VALID必須保持直到傳輸完成。當(dāng)突發(fā)傳輸最后一個數(shù)據(jù)發(fā)送時拉高LAST信號

  • READY默認(rèn)狀態(tài)不關(guān)心,僅當(dāng)準(zhǔn)備好接收時拉高READY

通道信號要求:

通道握手信號:每個通道有自己的xVALID/xREADY握手信號對。

寫地址通道:當(dāng)主機(jī)驅(qū)動有效的地址和控制信號時,主機(jī)可以斷言AWVALID,一旦斷言,需要保持AWVALID的斷言狀態(tài),直到時鐘上升沿采樣到從機(jī)的AWREADY。AWREADY默認(rèn)值可高可低,推薦為高(如果為低,一次傳輸至少需要兩個周期,一個用來斷言AWVALID,一個用來斷言AWREADY);當(dāng)AWREADY為高時,從機(jī)必須能夠接受提供給它的有效地址。

寫數(shù)據(jù)通道:在寫突發(fā)傳輸過程中,主機(jī)只能在它提供有效的寫數(shù)據(jù)時斷言WVALID,一旦斷言,需要保持?jǐn)嘌誀顟B(tài),知道時鐘上升沿采樣到從機(jī)的WREADY。WREADY默認(rèn)值可以為高,這要求從機(jī)總能夠在單個周期內(nèi)接受寫數(shù)據(jù)。主機(jī)在驅(qū)動最后一次寫突發(fā)傳輸是需要斷言WLAST信號。

寫響應(yīng)通道:從機(jī)只能它在驅(qū)動有效的寫響應(yīng)時斷言BVALID,一旦斷言需要保持,直到時鐘上升沿采樣到主機(jī)的BREADY信號。當(dāng)主機(jī)總能在一個周期內(nèi)接受寫響應(yīng)信號時,可以將BREADY的默認(rèn)值設(shè)為高。

讀地址通道:當(dāng)主機(jī)驅(qū)動有效的地址和控制信號時,主機(jī)可以斷言ARVALID,一旦斷言,需要保持ARVALID的斷言狀態(tài),直到時鐘上升沿采樣到從機(jī)的ARREADY。ARREADY默認(rèn)值可高可低,推薦為高(如果為低,一次傳輸至少需要兩個周期,一個用來斷言ARVALID,一個用來斷言ARREADY);當(dāng)ARREADY為高時,從機(jī)必須能夠接受提供給它的有效地址。

讀數(shù)據(jù)通道:只有當(dāng)從機(jī)驅(qū)動有效的讀數(shù)據(jù)時從機(jī)才可以斷言RVALID,一旦斷言需要保持直到時鐘上升沿采樣到主機(jī)的BREADY。BREADY默認(rèn)值可以為高,此時需要主機(jī)任何時候一旦開始讀傳輸就能立馬接受讀數(shù)據(jù)。當(dāng)最后一次突發(fā)讀傳輸時,從機(jī)需要斷言RLAST。


3.1.2 通道順序

傳輸中,通道傳輸?shù)南群笥幸韵乱?guī)定

  • 寫響應(yīng)通道傳輸必須在寫操作完成以后進(jìn)行

  • 讀數(shù)據(jù)通道傳輸必須在讀地址通道傳輸后進(jìn)行

  • 必須遵循一系列的狀態(tài)依賴關(guān)系


通道握手信號的依耐關(guān)系

防止死鎖,通道握手信號需要遵循一定的依耐關(guān)系。
  • VALID信號不能依耐READY信號。

  • AXI接口可以等到檢測到VALID才斷言對應(yīng)的READY,也可以檢測到VALID之前就斷言READY。

下面有幾個圖表明依耐關(guān)系,單箭頭指向的信號能在箭頭起點(diǎn)信號之前或之后斷言;雙箭頭指向的信號必須在箭頭起點(diǎn)信號斷言之后斷言。

讀傳輸握手依耐關(guān)系

上圖為讀操作的依賴關(guān)系,ARREADY可以等待ARVALID信號,RVALID必須等待ARVALID和ARREADY同時有效后(一次地址傳輸發(fā)生)才能能有效;

寫傳輸握手依耐關(guān)系

從機(jī)寫響應(yīng)握手依耐關(guān)系

在AXI3中,寫操作中唯一的強(qiáng)依賴關(guān)系是寫響應(yīng)通道BVALID,僅當(dāng)WVALID和WREADY信號同時有效(數(shù)據(jù)傳輸完成)且WLAST信號有效(突發(fā)傳輸?shù)淖詈笠粋€數(shù)據(jù)傳輸完成)后才會被置位;

在AXI4中,定義了額外的依賴關(guān)系,即BVALID必須依賴AWVALID、AWREADY、WVALID和WREADY信號;


3.2時鐘復(fù)位

時鐘: 每個AXI組件使用一個時鐘信號ACLK,所有輸入信號在ACLK上升沿采樣,所有輸出信號必須在ACLK上升沿后發(fā)生。

復(fù)位: AXI使用一個低電平有效的復(fù)位信號ARESETn,復(fù)位信號可以異步斷言,但必須和時鐘上升沿同步去斷言。

復(fù)位期間對接口有如下要求:

  • 主機(jī)接口必須驅(qū)動ARVALID,AWVALID,WVALID為低電平;

  • 從機(jī)接口必須驅(qū)動RVALID,BVALID為低電平;

  • 所有其他信號可以被驅(qū)動到任意值。

在復(fù)位后,主機(jī)可以在時鐘上升沿驅(qū)動ARVALID,AWVALID,WVALID為高電平。



4.傳輸結(jié)構(gòu)


4.1.地址通道數(shù)據(jù)結(jié)構(gòu)

AXI總線是基于突發(fā)傳輸?shù)目偩€,若主機(jī)要開始一次突發(fā)傳輸,需要傳輸一次地址和相關(guān)控制信號,之后從機(jī)自動計算地址(主機(jī)只給出突發(fā)傳輸?shù)牡谝粋€字節(jié)的地址,從機(jī)必須計算突發(fā)傳輸后續(xù)的地址),但一次突發(fā)傳輸?shù)牡刂贩秶荒芸缭?KB(防止突發(fā)跨越兩個從機(jī)的邊界,也限制了從機(jī)所需支持的地址自增數(shù))。


(1).突發(fā)傳輸信息

  • 突發(fā)長度(AxLEN)

    突發(fā)長度為每次突發(fā)傳輸?shù)膫鬏敶螖?shù),范圍限制1~16(AXI4增量模式1~256)。每次傳輸?shù)耐话l(fā)長度為AxLEN[3:0] + 1(AXI增量模式AxLEN[7:0] + 1)


    AXI3只支持1~16次的突發(fā)傳輸(Burst_length=AxLEN[3:0]+1);

    AXI4擴(kuò)展突發(fā)長度支持INCR突發(fā)類型為1~256次傳輸,對于其他的傳輸類型依然保持1~16次突發(fā)傳輸(Burst_Length=AxLEN[7:0]+1)。


    對于回卷模式突發(fā)傳輸,突發(fā)長度僅能是2,4,8或16。

    • ARLEN[7:0]:讀地址通道的突發(fā)長度接口

    • AWLEN[7:0]:寫地址通道的突發(fā)長度接口

burst傳輸具有如下規(guī)則:

  • wraping burst ,burst長度必須是2,4,8,16

  • burst不能跨4KB邊界

  • 不支持提前終止burst傳輸(可以通過關(guān)閉所有數(shù)據(jù)字段的方式使一段傳輸數(shù)據(jù)無效,但傳輸行為必須完成)


所有的組件都不能提前終止一次突發(fā)傳輸。然而,主機(jī)可以通過解斷言所有的寫的strobes來使非所有的寫字節(jié)來減少寫傳輸?shù)臄?shù)量。讀burst中,主機(jī)可以忽略后續(xù)的讀數(shù)據(jù)來減少讀個數(shù)。也就是說,不管怎樣,都必須完成所有的burst傳輸。

提醒:對于FIFO,忽略后續(xù)讀數(shù)據(jù)可能導(dǎo)致數(shù)據(jù)丟失,必須保證突發(fā)傳輸長度和要求的數(shù)據(jù)傳輸大小匹配。


  • 突發(fā)尺寸(AxSIZE)

    突發(fā)尺寸為每次傳輸?shù)腷yte數(shù)量,與突發(fā)傳輸?shù)牡刂奉A(yù)測相關(guān)性很強(qiáng)。每次的突發(fā)尺寸不能超過數(shù)據(jù)通道的寬度;若突發(fā)尺寸小于數(shù)據(jù)通道寬度,需要指定哪些位數(shù)是有效的。突發(fā)尺寸為2^AxSIZE[2:0]

    • ARSIZE[2:0]:讀地址通道突發(fā)尺寸

    • AWSIZE[2:0]:寫地址通道突發(fā)尺寸

  • 突發(fā)類型(AxBURST)

    AXI支持三種突發(fā)類型:

    • FIXED(AxBURST[1:0]=0b00):固定突發(fā)模式,每次突發(fā)傳輸?shù)牡刂废嗤?用于FIFO訪問;

    • INCR(AxBURST[1:0]=0b01):增量突發(fā)模式,突發(fā)傳輸?shù)刂愤f增,遞增量與突發(fā)尺寸相關(guān)(傳輸過程中,地址遞增。增加量取決AxSIZE的值。)

    • WRAP(AxBURST[1:0]=0b10):回卷突發(fā)模式,和增量突發(fā)類似,但會在特定高地址的邊界處回到低地址處(傳輸?shù)刂凡粫銎鹗嫉刂匪诘膲K,一旦遞增超出,則回到該塊的起始地址),突發(fā)傳輸?shù)刂房梢绯鲂赃f增,突發(fā)長度僅支持2,4,8,16。

傳輸首地址和每次傳輸?shù)拇笮R。最低的地址整個傳輸?shù)臄?shù)據(jù)大小對齊。地址空間被劃分為長度[突發(fā)尺寸*突發(fā)長度]的塊,即回環(huán)邊界等于(AxSIZE*AxLEN)。


(2).存儲類型(AxCACHE)

AXI4可支持不同的存儲類型,AxCACHE[3:0]用于描述不同的存儲類型,如下圖所示

ARCACHE[3:0] AWCACHE[3:0] Memory type
0000 0000 Device Non-bufferable
0001 0001 Device Bufferable
0010 0010 Normal Non-cacheable Non-bufferable
0011 0011 Normal Non-cacheable Bufferable
1010 0110 Write-through No-allocate
1110 (0110) 0110 Write-through Read-allocate
1010 1110 (1010) Write-through Write-allocate
1110 1110 Write-through Read and Write-allocate
1011 0111 Write-back No-allocate
1111 (0111) 0111 Write-back Read-allocate
1011 1111 (1011) Write-back Write-allocate
1111 1111 Write-back Read and Write-allocate


4.2.數(shù)據(jù)通道數(shù)據(jù)結(jié)構(gòu)

(1).數(shù)據(jù)選通(WSTRB)

WSTRB的每一位對應(yīng)數(shù)據(jù)中的8位(1字節(jié)),用于標(biāo)志數(shù)據(jù)中的對應(yīng)字節(jié)是否有效。即當(dāng)WSTRB[n] = 1時,標(biāo)志數(shù)據(jù)中WDATA[(8n)+7: (8n)]部分有效。
WSTRB[n:0]對應(yīng)于對應(yīng)的寫字節(jié),WSTRB[n]對應(yīng)WDATA[8n+7:8n]。WVALID為低時,WSTRB可以為任意值, WVALID為高時,WSTRB為高的字節(jié)線必須指示有效的數(shù)據(jù)。


(2).數(shù)據(jù)(xDATA)

窄帶傳輸(Narrow transfers)

當(dāng)主機(jī)產(chǎn)生比它數(shù)據(jù)總線xDATA要窄的傳輸時,為窄帶傳輸,每次使用的數(shù)據(jù)位數(shù)不同,由地址和控制信號決定哪個字節(jié)被傳輸:

  • 固定地址的突發(fā)下,使用同一段數(shù)據(jù)信號線

  • 在遞增地址和包裝地址的突發(fā)下,使用不同段信號線

INCR和WRAP,不同的字節(jié)線決定每次burst傳輸?shù)臄?shù)據(jù),F(xiàn)IXED,每次傳輸使用相同的字節(jié)線。


下圖給出了5次突發(fā)傳輸,起始地址為0,每次傳輸為8bit,數(shù)據(jù)總線為32bit,突發(fā)類型為INCR。

窄傳輸示例

上圖為地址遞增突發(fā)下,在32位數(shù)據(jù)信號下使用8bit傳輸?shù)恼瓗鬏斒褂玫奈粩?shù)圖。第一次傳輸使用0~7位,第二次使用8~15位,依次遞增;在第五次傳輸時回到開頭使用0~7位.


下圖給出3次突發(fā),起始地址為4,每次傳輸32bit,數(shù)據(jù)總線為64bit。

窄傳輸示例

不對齊傳輸(Unaligned transfers)

AXI支持非對齊傳輸。在大于一個字節(jié)的傳輸中,第一個自己的傳輸可能是非對齊的。如32-bit數(shù)據(jù)包起始地址在0x1002,非32bit對齊。主機(jī)可以:
  • 使用低位地址線來表示非對齊的起始地址;

  • 提供對齊的起始地址,使用字節(jié)線來表示非對齊的起始地址。

當(dāng)傳輸位寬超過1byte,起始地址不為數(shù)據(jù)總線硬件帶寬(byte單位)整數(shù)倍時,為不對齊傳輸。不對齊傳輸?shù)臅r候需要配合數(shù)據(jù)選通在第一次傳輸時將某幾個byte置為無效,使第二次突發(fā)傳輸?shù)钠鹗嫉刂罚◤臋C(jī)自動計算)為突發(fā)尺寸的整數(shù)倍。

對齊非對齊傳輸示例1-32bit總線

對齊非對齊傳輸示例2-64bit總線

對齊的回環(huán)傳輸示例

讀寫響應(yīng)結(jié)構(gòu)

讀傳輸?shù)捻憫?yīng)信息是附加在讀數(shù)據(jù)通道上的,寫傳輸?shù)捻憫?yīng)在寫響應(yīng)通道。

RRESP[1:0],讀傳輸

BRESP[1:0],寫傳輸

OKAY('b00):正常訪問成功

EXOKAY('b01):Exclusive 訪問成功

SLVERR('b10):從機(jī)錯誤。表明訪問已經(jīng)成功到了從機(jī),但從機(jī)希望返回一個錯誤的情況給主機(jī)。

DECERR('b11):譯碼錯誤。一般由互聯(lián)組件給出,表明沒有對應(yīng)的從機(jī)地址。


5. AXI-Stream


AXI-Stream,是一種連續(xù)流接口,不需要地址線(類似FIFO,一直讀或一直寫就行)。對于這類IP,ARM必須有一個轉(zhuǎn)換裝置才能對內(nèi)存映射方式控制,例如AXI-DMA模塊來實(shí)現(xiàn)內(nèi)存映射到流式接口的轉(zhuǎn)換。

AXI-Stream適用的場合有很多:視頻流處理;通信協(xié)議轉(zhuǎn)換;數(shù)字信號處理;無線通信等。其本質(zhì)都是針對數(shù)值流構(gòu)建的數(shù)據(jù)通路,從信源(例如ARM內(nèi)存、DMA、無線接收前端等)到信宿(例如HDMI顯示器、音頻輸出等)構(gòu)建起連續(xù)的數(shù)據(jù)流。這種接口適合做實(shí)時信號處理。


用戶其實(shí)不需要對AXI時序了解太多,因為Xilinx已經(jīng)將和AXI時序有關(guān)的細(xì)節(jié)都封裝起來,官方IP和向?qū)傻淖远xIP,用戶只需要關(guān)注自己的邏輯實(shí)現(xiàn)即可


AXI4-Stream協(xié)議是一種用來連接需要交換數(shù)據(jù)的兩個部件的標(biāo)準(zhǔn)接口,它可以用于連接一個產(chǎn)生數(shù)據(jù)的主機(jī)和一個接受數(shù)據(jù)的從機(jī)。當(dāng)然它也可以用于連接多個主機(jī)和從機(jī)。該協(xié)議支持多種數(shù)據(jù)流使用相同共享總線集合,允許構(gòu)建類似于路由、寬窄總線、窄寬總線等更為普遍的互聯(lián)。

AXI4-Stream接口比較重要的信號線:

ACLK:時鐘線,所有信號都在ACLK上升沿被采樣;

ARESETn:復(fù)位線,低電平有效;

TVALID:主機(jī)數(shù)據(jù)同步線,為高表示主機(jī)準(zhǔn)備好發(fā)送數(shù)據(jù);

TREADY:從機(jī)數(shù)據(jù)同步線,為高表示從機(jī)準(zhǔn)備好接收數(shù)據(jù);這兩根線完成了主機(jī)與從機(jī)的握手信號,一旦二者都變高有效,數(shù)據(jù)傳輸開始。

TDATA:數(shù)據(jù)線,主機(jī)發(fā)送,從機(jī)接收。

TKEEP:主機(jī)數(shù)據(jù)有效指示,為高代表對應(yīng)的字節(jié)為有效字節(jié),否則表示發(fā)送的為空字節(jié)。

TLAST:主機(jī)最后一個字指示,下一clk數(shù)據(jù)將無效,TVALID將變低。

TID,TDEST,TUSER均為多機(jī)通信時的信號,不予考慮。

利用AXI總線做轉(zhuǎn)換,可以把PS里DDR4的內(nèi)容以Stream形式發(fā)出去,例如以固定速度送往DA,完成信號發(fā)生器的設(shè)計;

ZYNQ的PS部分是ARM CortexA9系列,支持AXI4,AXI-Lite總線。PL部分也有相應(yīng)AXI總線接口,這樣就能完成PS到PL的互聯(lián)。僅僅這樣還不夠,需要PL部分實(shí)現(xiàn)流式轉(zhuǎn)換,即AXI-Stream接口實(shí)現(xiàn)。

Xilinx提供的從AXI到AXI-Stream轉(zhuǎn)換的IP核有:AXI-DMA,AXI-Datamover,AXI-FIFO-MM2S以及AXI-VDMA等。

AXI-DMA:實(shí)現(xiàn)從PS內(nèi)存到PL高速傳輸高速通道AXI-HP到AXI-Stream的轉(zhuǎn)換;

AXI-FIFO-MM2S:實(shí)現(xiàn)從PS內(nèi)存到PL通用傳輸通道AXI-GP到AXI-Stream的轉(zhuǎn)換;

AXI-Datamover:實(shí)現(xiàn)從PS內(nèi)存到PL高速傳輸高速通道AXI-HP到AXI-Stream的轉(zhuǎn)換,只不過這次是完全由PL控制的,PS是完全被動的;

AXI-VDMA:實(shí)現(xiàn)從PS內(nèi)存到PL高速傳輸高速通道AXI-HP到AXI-Stream的轉(zhuǎn)換,只不過是專門針對視頻、圖像等二維數(shù)據(jù)的。


AXI總線和接口的區(qū)別

總線是一種標(biāo)準(zhǔn)化接口,由數(shù)據(jù)線、地址線、控制線等構(gòu)成,具有一定的強(qiáng)制性。接口是其物理實(shí)現(xiàn),即在硬件上的分配。在ZYNQ中,支持AXI-Lite,AXI4和AXI-Stream三種總線,但PS與PL之間的接口卻只支持前兩種,AXI-Stream只能在PL中實(shí)現(xiàn),不能直接和PS相連,必須通過AXI-Lite或AXI4轉(zhuǎn)接。PS與PL之間的物理接口有9個,包括4個AXI-GP接口和4個AXI-HP接口、1個AXI-ACP接口,均為內(nèi)存映射型AXI接口。
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉