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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

握手機制、通道依賴性及AXI-Lite握手實例

冬至配餃子 ? 來源:FPGA探索者 ? 作者:FPGA探索者 ? 2023-06-25 16:23 ? 次閱讀

AXI4:高性能內(nèi)存映射需求(如讀寫DDR、使用BRAM控制器讀寫B(tài)RAM等),為了區(qū)別,有時候也叫這個為 AXI4-Full;

AXI4-Lite:用于簡單、低吞吐量的內(nèi)存映射通信(例如,與控制寄存器和狀態(tài)寄存器之間的通信);

AXI4-Stream :高速流數(shù)據(jù)(視頻、圖像等流式數(shù)據(jù));

AXI4 、AXI4-Lite和AXI4-Stream均使用Ready、Valid握手機制進行通信

**信息傳輸?shù)陌l(fā)起者使用****Valid ** 信號指示數(shù)據(jù)何時有效,接收端產(chǎn)生 Ready 信號來表明已經(jīng)準備好接收數(shù)據(jù)當兩者均為高時,啟動傳輸

** AXI4 總線和 AXI4-Lite 總線都有 5 個通道(** **AXI4-Stream ** 取消了通道) ,**AXI4 和 AXI4-Lite **通道的相同部分:

(1) 寫地址通道(AW) ,包含AWVALID,AWADDR,AWREADY信號;

(2) 寫數(shù)據(jù)通道 (W)**** ,包含WVALID,WDATA,WSTRB,WREADY信號;

(3) 寫應答通道 (B)**** ,包含BVALID,BRESP,BREADY信號;

(4) 讀地址通道 (AR)**** ,包含ARVALID,ARADDR,ARREADY信號;

(5) 讀數(shù)據(jù)通道 (R)**** ,包含RVALID,RDATA,RREADY,RRESP信號;

以 AXI-Lite 總線為例 ,Xilinx ZYNQ 通過 AXI4-Lite 總線控制 8 個 GPIO 的輸出,先寫入 0x0F 測試寫入操作,再寫入 0xFF 后讀取寫入的值,測試讀操作。

本操作是 ZYNQ 作為主機 Master,AXI-Lite GPIO 作為從機 Slave, 使用 ** Xilinx ****的 ****AXI Interconnect ** 總線互聯(lián)結(jié)構(gòu)互聯(lián) 。

**AXI4-Lite **是 AXI4 的刪減版,適合輕量級的應用,也是包含 5 個通道,不同的是每個通道都進行了簡化, 去掉了對突發(fā)傳輸?shù)闹С郑˙urst)

寫事務握手實例

使用寫地址通道、寫數(shù)據(jù)通道和寫響應通道 。

(1) 在寫數(shù)據(jù)通道上 ,主機給出要寫的數(shù)據(jù) 0x0F,并在一個時鐘周期后將數(shù)據(jù)有效信號 WVALID 拉高,等待從機的 WREADY 寫準備好信號拉高;

(2) 在寫地址通道上 ,主機給出寫地址 0x00(GPIO 通道 1 的輸出數(shù)據(jù)的控制寄存器),并將地址有效信號 AWVALID 拉高,等待從機的 AWREADY 寫準備好信號拉高;

(3)當 WVALID 和 WREADY 信號同時拉高后,數(shù)據(jù)成功寫入 GPIO 從機;當 AWVALID 和 AWREADY 信號同時拉高后,地址成功寫入 GPIO 從機;

(4)一個時鐘周期后, 在寫響應通道上 ,給出響應(BRESP 為 0),從機告訴主機已經(jīng)成功寫入;

此外,對于寫響應信道,BREADY 由主機主動給出,一直保持在準備好接收響應的狀態(tài),當從機發(fā)來一個 BVALID 信號指示一個有效的響應后,BREADY 拉低一段時間后處理該響應信息,處理完成后又恢復到準備好接收響應狀態(tài)。

圖片

RRESP/BRESP 讀/寫響應信號的含義,2-bit 信號,分別代表讀寫成功、獨占式讀寫、從設備錯誤、譯碼錯誤。

圖片

讀事務握手實例

**先向地址 ****0x00 ** 寫入數(shù)據(jù) 0xFF,再讀出,使用讀地址通道、讀數(shù)據(jù)通道 。

(1) 在讀地址通道上 ,主機給出要讀取的地址 0x00(GPIO 通道1 的輸出數(shù)據(jù)的控制寄存器),并將地址有效信號 AWVALID 拉高,等待從機的 AWREADY 寫準備好信號拉高后,成功將要讀取的地址寫入從機;

(2) 在讀數(shù)據(jù)通道上 ,從機給出讀出的數(shù)據(jù) 0xFF,并將數(shù)據(jù)有效信號 WVALID 拉高,此階段主機的 WREADY 寫準備好信號一直拉高,數(shù)據(jù)在兩個信號同時為高時傳輸,將 0xFF 寫入主機,此時讀響應 RRESP[1:0] 為 0,代表寫入成功;

(3)當 ARVALID 和 ARREADY 信號同時拉高后,地址成功寫入 GPIO 從機;

當 RVALID 和 RREADY 信號同時拉高后,數(shù)據(jù)成功返回給 ZYNQ 主機;

圖片

AXI4 總線握手機制

AXI4 、AXI4-Lite和AXI4-Stream均使用Ready、Valid握手機制進行通信

**信息傳輸?shù)陌l(fā)起者使用****Valid ** 信號指示數(shù)據(jù)何時有效,接收端產(chǎn)生 Ready 信號來表明已經(jīng)準備好接收數(shù)據(jù) , 當兩者均為高時,啟動傳輸 。

上面的實例給出了兩種 Valid 和 Ready 出現(xiàn)的情況,一種是 Valid 先為高,另一種是 Ready 先為高,實際上,Valid 和 Ready 一共有三種可能情況:

(1)Valid 先為高 Ready 后為高

如前文實例中寫地址和寫數(shù)據(jù)通道所示,時序圖如下,傳輸發(fā)生在箭頭所指處(在時鐘 ACLK 的上升沿檢測到同時為高):

圖片

Master 主機發(fā)送端首先發(fā)出數(shù)據(jù)或者控制信息,并將自己的 Valid 有效信號拉高,指示信息(information)有效;

發(fā)送端的信息(information)和 Valid 信號保持穩(wěn)定,直到 Slave 從機接收端的 Ready 信號拉高,指示接收端已經(jīng)接收到 information。

(2)Ready 先為高 Valid 后為高

如寫響應通道所示,時序圖如下,傳輸發(fā)生在箭頭所指處(在時鐘 ACLK 的上升沿檢測到同時為高):

圖片

Slave 從機接收端首先表明自己準備好接收數(shù)據(jù)或者控制信息,將自己的 Ready 準備好信號拉高;

Master 發(fā)送端的信息(information)一旦有效,傳輸立刻開始。

(3)Ready 和 Valid 同時為高

時序圖如下,傳輸發(fā)生在箭頭所指處(在時鐘 ACLK 的上升沿檢測到同時為高):

圖片

AXI4 總線通道依賴

(1)讀事務(讀地址通道、讀數(shù)據(jù)通道)

? 主機先發(fā)送 ARADDR 和 ARVALID 給從機;

? 從機回發(fā) ARREADY,通知主機該地址有效;

? 當 ARVALID 和 ARREADY 均為高電平時,主設備拉高 RREADY,表示主設備準備好接收讀數(shù)據(jù)和讀響應信號;

? 從設備發(fā)送 RVALID、RDATA 以及 RRESP,當 RVALID 和 RREADY 均為高電平時,數(shù)據(jù)成功寫入主設備。

圖中的單箭頭表示:箭頭兩端的信號沒有依賴關系,誰先拉高都行;

圖中的雙箭頭表示:箭頭起始信號拉高之后,箭頭指向的信號才可以拉高。

下圖可以看出,讀地址的 Valid 和 Ready 兩者誰先拉高都可以,讀數(shù)據(jù)的 Valid 和 Ready 兩者誰先拉高也沒關系,但是讀數(shù)據(jù)必須在讀地址完成后才可以拉高。

圖片

(2)寫事務(寫地址通道、寫數(shù)據(jù)通道、寫響應通道)

在寫操作過程中,主機向從從機發(fā)生AWADDR、AWVALID、WVALID和WDATA,當 WVALID 和 WREADY 都為高電平時數(shù)據(jù)寫入從機。

**主設備發(fā)送的 AWVALID ** 和 WVALID 要有重疊區(qū) 。

圖片

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

    關注

    9

    文章

    428

    瀏覽量

    26423
  • 接收機
    +關注

    關注

    8

    文章

    1158

    瀏覽量

    53177
  • BRAM
    +關注

    關注

    0

    文章

    41

    瀏覽量

    10914
  • 狀態(tài)寄存器

    關注

    0

    文章

    38

    瀏覽量

    7050
  • AXI4總線
    +關注

    關注

    0

    文章

    8

    瀏覽量

    1364
收藏 人收藏

    評論

    相關推薦

    【芯片設計】握手協(xié)議的介紹與時序說明

    最早接觸到握手協(xié)議是在校期間學習PCIe的AXI總線時,至今日雖然PCIe的結(jié)構(gòu)已經(jīng)忘得一干二凈,但握手協(xié)議經(jīng)過不斷的使用還算掌握的不錯。
    的頭像 發(fā)表于 12-11 14:11 ?2083次閱讀
    【芯片設計】<b class='flag-5'>握手</b>協(xié)議的介紹與時序說明

    請教大神 何為 數(shù)字握手?數(shù)字握手VI 有什么注意的

    在看范例的時候看到數(shù)字握手,求教何為數(shù)字握手。數(shù)字握手應用在什么情況下?
    發(fā)表于 06-07 17:17

    ZYNQ & AXI總線 & PS與PL內(nèi)部通信(用戶自定義IP)

    圖如下:需要強調(diào)的是,AXI的五個通道,每個通道都有握手機制,接下來我們就來分析一下AXI-Lite的源碼來更深入的了解
    發(fā)表于 01-08 15:44

    有沒有一種標準的方式到達PL AXI-Lite總線?

    嗨,我將通過測試驗證這一點,但我對AXI-Lite外設“寄存器寫入”如何出現(xiàn)在AXI-Lite總線上有疑問。AXI標準表明數(shù)據(jù)和地址可以非常相互獨立地出現(xiàn),從靈活性的角度來看這是很好的,但是
    發(fā)表于 04-12 13:45

    AXI總線的相關資料下載

    burst傳輸順序信號描述全局信號讀/寫地址通道信號寫數(shù)據(jù)通道信號寫響應通道信號讀數(shù)據(jù)通道信號低功耗接口信號通道
    發(fā)表于 02-09 07:17

    AXI接口協(xié)議詳解

    VALID信號拉高,此時數(shù)據(jù)在VALID信號和READY信號為高時,在時鐘上升沿觸發(fā)。在這種情況下,信息傳輸立馬發(fā)生,如圖箭頭處指明信息傳輸發(fā)生。需要強調(diào)的是, AXI的五個通道,每個通道都有
    發(fā)表于 04-08 10:45

    什么是握手信號? 什么是握手協(xié)議?

    什么是握手信號? 什么是握手協(xié)議? RS -232通行方式允許簡單連接三線:Tx、Rx和地線。但是對于數(shù)據(jù)傳輸,雙方必須對數(shù)據(jù)定
    發(fā)表于 10-14 10:26 ?5361次閱讀

    什么是詢問握手身份驗證協(xié)議

    什么是詢問握手身份驗證協(xié)議 CHAP(詢問握手身份驗證協(xié)議)是用于遠程登錄的身份驗證協(xié)議,通過三次握手周期的校驗對端的身份,在初始鏈
    發(fā)表于 04-03 16:06 ?2627次閱讀

    深入AXI4總線一握手機制

    本系列我想深入探尋 AXI4 總線。不過事情總是這樣,不能我說想深入就深入。當前我對 AXI總線的理解尚談不上深入。但我希望通過一系列文章,讓讀者能和我一起深入探尋 AXI4。
    發(fā)表于 03-17 21:40 ?25次下載
    深入<b class='flag-5'>AXI</b>4總線一<b class='flag-5'>握手機制</b>

    AXI總線學習(AXI3&4)

    burst傳輸順序信號描述全局信號讀/寫地址通道信號寫數(shù)據(jù)通道信號寫響應通道信號讀數(shù)據(jù)通道信號低功耗接口信號通道
    發(fā)表于 12-05 16:21 ?5次下載
    <b class='flag-5'>AXI</b>總線學習(<b class='flag-5'>AXI</b>3&4)

    AXI3與AXI4寫響應的依賴區(qū)別?

    上面兩圖的區(qū)別是相比AXI3,AXI4協(xié)議需要確認AWVALID、AWREADY握手完成才能回復BVALID。為什么呢?
    的頭像 發(fā)表于 03-30 09:59 ?930次閱讀

    AXI4協(xié)議五個不同通道握手機制

    AXI4 協(xié)議定義了五個不同的通道,如 AXI 通道中所述。所有這些通道共享基于 VALID 和 READY 信號的相同
    的頭像 發(fā)表于 05-08 11:37 ?1074次閱讀
    <b class='flag-5'>AXI</b>4協(xié)議五個不同<b class='flag-5'>通道</b>的<b class='flag-5'>握手機制</b>

    自定義AXI-Lite接口的IP及源碼分析

    在 Vivado 中自定義 AXI4-Lite 接口的 IP,實現(xiàn)一個簡單的 LED 控制功能,并將其掛載到 AXI Interconnect 總線互聯(lián)結(jié)構(gòu)上,通過 ZYNQ 主機控制,后面對 Xilinx 提供的整個 AXI4-Lit
    發(fā)表于 06-25 16:31 ?2885次閱讀
    自定義<b class='flag-5'>AXI-Lite</b>接口的IP及源碼分析

    握手協(xié)議中的Valid及data打拍技巧

    AXI 協(xié)議使用的是valid-ready握手的方式去傳輸數(shù)據(jù)。
    發(fā)表于 06-27 16:12 ?1376次閱讀
    在<b class='flag-5'>握手</b>協(xié)議中的Valid及data打拍技巧

    簡述TCP協(xié)議的三次握手機制

    TCP(Transmission Control Protocol,傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。它主要用于在IP網(wǎng)絡中進行數(shù)據(jù)傳輸。TCP協(xié)議的三次握手機制
    的頭像 發(fā)表于 08-16 10:57 ?251次閱讀