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

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


前言

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



1.簡介

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

AXI(Advanced eXtensible Interface)是一種總線協(xié)議,該協(xié)議是ARM公司提出的AMBA3.0中最重要的部分,是一種面向高性能、高帶寬、低延遲的片內(nèi)總線。AMBA4.0將其修改升級(jí)為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 )是一個(gè)輕量級(jí)的地址映射單次傳輸接口,占用很少的邏輯單元。

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

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

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

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

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

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

  • 適合高初始延時(shí)的存儲(chǔ)控制器

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

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

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

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

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

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

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

  • 支持多種尋址方式

  • 支持亂序傳輸

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

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


1.2 AXI讀寫架構(gòu)

AXI協(xié)議是基于burst的傳輸,并且定義了以下5個(gè)獨(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表明地址/控制信號(hào)、數(shù)據(jù)是有效的;目的端使用READY表明自己能夠接受信息 ;
  • 讀/寫地址通道:讀、寫傳輸每個(gè)都有自己的地址通道,對(duì)應(yīng)的地址通道承載著對(duì)應(yīng)傳輸?shù)?/span>地址控制信息

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

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

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

通道名稱 通道功能 數(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一個(gè)byte的寫數(shù)據(jù)有效信號(hào)) 主機(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)來對(duì)系統(tǒng)性能和互聯(lián)復(fù)雜度進(jìn)行平衡;

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

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

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



2.信號(hào)描述



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

全局信號(hào)

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

寫地址通道信號(hào)

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

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

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

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

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

讀地址通道信號(hào)

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

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

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

低功耗接口信號(hào)



3.信號(hào)接口要求



3.1讀寫傳輸


3.1.1 握手過程

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

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

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

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

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

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

  • VALID和READY同時(shí)有效,立刻完成傳輸

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


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

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

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

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

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

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

通道信號(hào)要求:

通道握手信號(hào):每個(gè)通道有自己的xVALID/xREADY握手信號(hào)對(duì)。

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

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

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

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

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


3.1.2 通道順序

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

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

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

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


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

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

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

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

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

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

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

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

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

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


3.2時(shí)鐘復(fù)位

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

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

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

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

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

  • 所有其他信號(hào)可以被驅(qū)動(dòng)到任意值。

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



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


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

AXI總線是基于突發(fā)傳輸?shù)目偩€,若主機(jī)要開始一次突發(fā)傳輸,需要傳輸一次地址和相關(guān)控制信號(hào),之后從機(jī)自動(dòng)計(jì)算地址(主機(jī)只給出突發(fā)傳輸?shù)牡谝粋€(gè)字節(jié)的地址,從機(jī)必須計(jì)算突發(fā)傳輸后續(xù)的地址),但一次突發(fā)傳輸?shù)牡刂贩秶荒芸缭?KB(防止突發(fā)跨越兩個(gè)從機(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次傳輸,對(duì)于其他的傳輸類型依然保持1~16次突發(fā)傳輸(Burst_Length=AxLEN[7:0]+1)。


    對(duì)于回卷模式突發(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ù)來減少讀個(gè)數(shù)。也就是說,不管怎樣,都必須完成所有的burst傳輸。

提醒:對(duì)于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ā)類似,但會(huì)在特定高地址的邊界處回到低地址處(傳輸?shù)刂凡粫?huì)超出起始地址所在的塊,一旦遞增超出,則回到該塊的起始地址),突發(fā)傳輸?shù)刂房梢绯鲂赃f增,突發(fā)長度僅支持2,4,8,16。

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


(2).存儲(chǔ)類型(AxCACHE)

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

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


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

窄帶傳輸(Narrow transfers)

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

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

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

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ù)信號(hào)下使用8bit傳輸?shù)恼瓗鬏斒褂玫奈粩?shù)圖。第一次傳輸使用0~7位,第二次使用8~15位,依次遞增;在第五次傳輸時(shí)回到開頭使用0~7位.


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

窄傳輸示例

不對(duì)齊傳輸(Unaligned transfers)

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

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

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

對(duì)齊非對(duì)齊傳輸示例1-32bit總線

對(duì)齊非對(duì)齊傳輸示例2-64bit總線

對(duì)齊的回環(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ī)錯(cuò)誤。表明訪問已經(jīng)成功到了從機(jī),但從機(jī)希望返回一個(gè)錯(cuò)誤的情況給主機(jī)。

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


5. AXI-Stream


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

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


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


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

AXI4-Stream接口比較重要的信號(hào)線:

ACLK:時(shí)鐘線,所有信號(hào)都在ACLK上升沿被采樣;

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

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

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

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

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

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

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

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

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是完全被動(dòng)的;

AXI-VDMA:實(shí)現(xiàn)從PS內(nèi)存到PL高速傳輸高速通道AXI-HP到AXI-Stream的轉(zhuǎn)換,只不過是專門針對(duì)視頻、圖像等二維數(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個(gè),包括4個(gè)AXI-GP接口和4個(gè)AXI-HP接口、1個(gè)AXI-ACP接口,均為內(nèi)存映射型AXI接口。
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉