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

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

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

淺述ZYNQ-AXI總線的信號(hào)接口要求以及時(shí)序關(guān)系

FPGA之家 ? 來(lái)源:embeddeder ? 作者:embeddeder ? 2021-04-30 11:22 ? 次閱讀

學(xué)習(xí)內(nèi)容

學(xué)習(xí)關(guān)于AXI總線的信號(hào)接口的具體要求(包括不同通道之間的關(guān)系,握手機(jī)制說(shuō)明等)和AXI4-Lite的相關(guān)信息,在文章后半部分對(duì)AXI讀寫時(shí)序進(jìn)行了簡(jiǎn)要講解,主要針對(duì)ARM公司的IHI0022D進(jìn)行閱讀總結(jié)。

Clock and Reset

前面也提到了信號(hào)和復(fù)位的功能,這里對(duì)AXI全局時(shí)鐘ACLK)和復(fù)位信號(hào)(ARESETn)做進(jìn)一步的解釋說(shuō)明。Clock:每個(gè)AXI組件都要使用時(shí)鐘信號(hào)(ACLK)。

所有的輸入信號(hào)都在ACLK的上升沿上采樣。

所有輸出信號(hào)的變化必須發(fā)生在ACLK上升沿之后。

在主機(jī)接口和從機(jī)接口上,輸入和輸出信號(hào)之間不能有組合路徑。

Reset:AXI使用一個(gè)單獨(dú)的低復(fù)位信號(hào)(ARESETn)。復(fù)位信號(hào)可以進(jìn)行異步復(fù)位,但是復(fù)位完必須與ACLK的上升沿同步。在復(fù)位過(guò)程中,要求:

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

從機(jī)接口必須驅(qū)動(dòng)RVALID和BVALD 為低電平。

所有其他信號(hào)可以為任何值。

在完成復(fù)位后,允許master驅(qū)動(dòng)ARVALID,、AWVALID、WVALID為高。但是上升沿信號(hào)是在ARESETn是拉高之后而且要在ACLK上升沿。如下圖:

022fb932-a960-11eb-9728-12bb97331649.png

Basic read and write transactions

在基本的讀寫傳輸中,要完成正常的傳輸功能要進(jìn)行握手并且遵守協(xié)議中對(duì)每個(gè)通道的信號(hào)的要求。

握手機(jī)制

所有五個(gè)通道都使用相同的VALID/READY握手處理來(lái)傳輸?shù)刂贰?shù)據(jù)和控制信息。這種雙向握手機(jī)制表示主機(jī)和從機(jī)都可以控制信息在主機(jī)和從機(jī)之間傳輸?shù)乃俾省?/p>

源端(master)生成VALID信號(hào)來(lái)指示地址、數(shù)據(jù)或控制信息何時(shí)傳輸可用。目的端(slave)生成READY信號(hào)來(lái)表示它可以接受該信息。傳輸只發(fā)生在VALID和READY信號(hào)都為高電平時(shí)。在主機(jī)接口和從機(jī)接口上,輸入和輸出信號(hào)之間不能有組合路徑。

雙向握手協(xié)議表示主機(jī)和從機(jī)都可以控制信息在主機(jī)和從機(jī)之間傳輸?shù)乃俾?。換句話說(shuō)也就是在傳輸中VALID和READY,都可以進(jìn)行等待對(duì)方從而完成數(shù)據(jù)傳輸。如下圖所示,下圖的VALID的上升沿在T1時(shí)刻之后完成拉高,在T2時(shí)刻VALID信號(hào)為高,而READY信號(hào)為低,所以要繼續(xù)等待READY信號(hào)拉高。在T2時(shí)刻的上升沿之后,READY拉高,在T3時(shí)刻上升沿時(shí),READY和VALID信號(hào)都為高,所以數(shù)據(jù)傳輸發(fā)生。也就是下圖的數(shù)據(jù)傳輸發(fā)生在T3時(shí)刻。

02803ff6-a960-11eb-9728-12bb97331649.png

下圖的分析方法同上,在T1時(shí)刻READY和VALID信號(hào)都為低,不進(jìn)行數(shù)據(jù)傳輸;在T2時(shí)刻READY和VALID信號(hào)分別為高、低,不進(jìn)行數(shù)據(jù)傳輸;在T3時(shí)刻READY和VALID信號(hào)都為高,進(jìn)行數(shù)據(jù)傳輸。

02988e9e-a960-11eb-9728-12bb97331649.png

并且,READY和VALID可以同時(shí)設(shè)置為高進(jìn)行數(shù)據(jù)傳輸,如下圖,在T2時(shí)刻發(fā)生數(shù)據(jù)傳輸。

02b89860-a960-11eb-9728-12bb97331649.png

針對(duì)不同的信號(hào)通道,握手信號(hào)加上不同的前綴加以區(qū)分,如下表:

02c313e4-a960-11eb-9728-12bb97331649.png

對(duì)于不同通道的握手信號(hào),AXI協(xié)議有具體的建議要求:Write address channel主機(jī)可以在地址和控制信息都有效的時(shí)候拉高 AWVALID。當(dāng)AWVALID拉高后要保持不變,直到AWREADY也拉高并且時(shí)鐘產(chǎn)生上升沿之后。換句話說(shuō),在握手傳輸?shù)臅r(shí),我們的數(shù)據(jù)信息和地址信息要保持不變,這樣才能確保傳輸?shù)臄?shù)據(jù)為有效可靠的。也就是AWVALID和信息數(shù)據(jù)是同步變化的。下面給出兩個(gè)示例:

02dfa6a8-a960-11eb-9728-12bb97331649.png

03177ed4-a960-11eb-9728-12bb97331649.png

AWREADY的默認(rèn)狀態(tài)可以是高或者低。AXI協(xié)議建議的默認(rèn)狀態(tài)為高。當(dāng)AWREADY為高時(shí),從機(jī)能夠接受任何提供給它的有效地址。不建議默認(rèn)AWREADY狀態(tài)為低,因?yàn)樗鼜?qiáng)制進(jìn)行握手傳輸,至少需要兩個(gè)時(shí)鐘周期,一個(gè)周期拉高AWVALID,另一個(gè)周期拉高AWREADY。

Read address channel和上面的寫地址通道要求類似,主機(jī)可以在地址和控制信息都有效的時(shí)候拉高 AWVALID。當(dāng)AWVALID拉高后要保持不變,直到AWREADY也拉高并且時(shí)鐘產(chǎn)生上升沿之后。WREADY的默認(rèn)狀態(tài)可以是高或者低。AXI協(xié)議建議的默認(rèn)狀態(tài)為高。當(dāng)AWREADY為高時(shí),從機(jī)能夠接受任何提供給它的有效地址。不建議默認(rèn)AWREADY狀態(tài)為低,因?yàn)樗鼜?qiáng)制進(jìn)行握手傳輸,至少需要兩個(gè)時(shí)鐘周期,一個(gè)周期拉高AWVALID,另一個(gè)周期拉高AWREADY。

Write response channel當(dāng)它驅(qū)動(dòng)有效的寫響應(yīng)時(shí),從機(jī)才能拉高BVALID信號(hào)。當(dāng)BVALID拉高后要保持不變,直到BREADY也拉高并且時(shí)鐘產(chǎn)生上升沿之后。BREADY的默認(rèn)狀態(tài)可以是高電平,但前提是在主機(jī)總是能夠在一個(gè)周期內(nèi)接受寫響應(yīng)的情況下。

Write data channel:在寫突發(fā)傳輸期間,當(dāng)主機(jī)驅(qū)動(dòng)有效的寫數(shù)據(jù)時(shí),才需要拉高WVALID信號(hào)。當(dāng)WVALID拉高后要保持不變,直到WREADY也拉高并且時(shí)鐘產(chǎn)生上升沿之后。WREADY的默認(rèn)狀態(tài)可以是高電平,但前提是從機(jī)總是能在一個(gè)周期內(nèi)接受寫數(shù)據(jù)。當(dāng)主機(jī)在突發(fā)傳輸中進(jìn)行最后一個(gè)數(shù)據(jù)傳輸時(shí),必須拉高WLAST信號(hào),用于指示傳輸結(jié)束。

Read data channel:當(dāng)它驅(qū)動(dòng)有效的讀數(shù)據(jù)時(shí),從機(jī)才能拉高RVALID信號(hào)。當(dāng)RVALID拉高后要保持不變,直到RREADY也拉高并且時(shí)鐘產(chǎn)生上升沿之后。即使從機(jī)只有一個(gè)讀數(shù)據(jù)信息,它也必須在響應(yīng)數(shù)據(jù)請(qǐng)求時(shí)拉高RVALID信號(hào)。主機(jī)接口使用RREADY信號(hào)來(lái)表示它接受數(shù)據(jù)狀態(tài)。RREADY的默認(rèn)狀態(tài)可以為高電位,但前提是無(wú)論何時(shí)啟動(dòng)讀操作,主機(jī)都能立即接受讀數(shù)據(jù)。當(dāng)從機(jī)在突發(fā)傳輸中進(jìn)行最后一個(gè)數(shù)據(jù)傳輸時(shí),必須拉高RLAST信號(hào),用于指示傳輸結(jié)束。

通道之間的關(guān)系

AXI協(xié)議中需要保持以下關(guān)系:

在寫操作中,寫響應(yīng)必須始終跟隨它是其中一部分的最后一個(gè)寫傳輸。

讀取數(shù)據(jù)必須始終跟在與數(shù)據(jù)相關(guān)的地址后面。

通道握手必須符合在通道握手信號(hào)之間的依賴關(guān)系。

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

通道握手信號(hào)之間的依賴關(guān)系,,由下面的流程圖進(jìn)行描述,這里先進(jìn)行圖示說(shuō)明:在依賴關(guān)系圖中,單箭頭指向可以在箭頭指向的信號(hào)之前或之后拉高信號(hào);雙箭頭指向的信號(hào)必須在箭頭指向的信號(hào)斷言之后才能拉高。

讀操作依賴關(guān)系

0322e8aa-a960-11eb-9728-12bb97331649.png

上圖顯示讀操作握手信號(hào)的依賴關(guān)系,在讀操作中:

從機(jī)必須等待ARVALID和ARREADY都拉高后,RVALID才能進(jìn)行拉高指示數(shù)據(jù)有效。

對(duì)于ARVALID和ARREADY的順序,可以任意設(shè)置先后順序,從機(jī)可以等待ARVALID拉高后,再拉高ARREADY,也可以相反,也可以同時(shí)拉高。

對(duì)于RVALID和RREADY不用關(guān)心順序,主機(jī)可以任意設(shè)置先后順序??梢韵群螅梢酝瑫r(shí)。

寫操作依賴關(guān)系

032c9dbe-a960-11eb-9728-12bb97331649.png

上圖顯示寫操作握手信號(hào)的依賴關(guān)系,在寫操作中:

主機(jī)在拉高AWREADY or WREADY不需要關(guān)心從機(jī)AWVALID or WVALID先后順序。

從機(jī)在BVALID拉高之前,WVALID和WREADY必須被拉高。

從機(jī)必須WLAST拉高之后,才能拉高BVALID,因?yàn)閷戫憫?yīng)(BRESP)在寫操作的最后一次數(shù)據(jù)傳輸之后,才發(fā)出信號(hào)。

從機(jī)不用關(guān)心BVALID和BREADY的先后順序。

寫響應(yīng)依賴關(guān)系

0338c6d4-a960-11eb-9728-12bb97331649.png

上圖顯示寫響應(yīng)握手信號(hào)的依賴關(guān)系,在寫響應(yīng)中:

單頭箭頭指向可以在箭頭指向的信號(hào)之前或之后拉高信號(hào)

從機(jī)須等待AWVALID、AWREADY、WVALID和WREADY都拉高之后,BVALID才能拉高使能。

從機(jī)必須WLAST拉高之后,才能拉高BVALID,因?yàn)閷戫憫?yīng)(BRESP)在寫操作的最后一次數(shù)據(jù)傳輸之后,才發(fā)出信號(hào)。

AXI4-Lite協(xié)議

AXI4-Lite和AXI4類似,當(dāng)不需要完整AXI4功能的時(shí),進(jìn)行一些簡(jiǎn)單的控制寄存器的讀寫。AXI4-Lite協(xié)議簡(jiǎn)單描述如下:

AXI4-Lite協(xié)議的所有傳輸?shù)耐话l(fā)長(zhǎng)度都是1(相當(dāng)于不支持突發(fā)傳輸)。

所有數(shù)據(jù)訪問(wèn)都使用數(shù)據(jù)總線的全部位寬,支持32位或64位的數(shù)據(jù)總線寬度。

所有訪問(wèn)都是不可修改的,不可緩沖的。

不支持獨(dú)占訪問(wèn)。

接口定義

相比前面介紹的AXI4-Full,這里的信號(hào)端口就少了很多。但對(duì)于相同名字的接口信號(hào)含義是相同的,功能相同。

0345e15c-a960-11eb-9728-12bb97331649.png

AXI總線協(xié)議時(shí)序

AXI突發(fā)讀

下圖所示,當(dāng)ARVALID信號(hào)和ARREADY信號(hào)都拉高時(shí)地址有效(地址信息和ARVALID是同步的),也就是在T2時(shí)刻讀取到所要讀取的地址,然后等待RVALID和RREADY都拉高,即可讀取到數(shù)據(jù),也就是在T5時(shí)刻內(nèi)讀取到第一個(gè)數(shù)據(jù)A0(數(shù)據(jù)和RVALID是同步的),依次讀取A1、A2、這里的時(shí)序圖定義A3為最后一次傳輸,所以RLAST也被拉高。

039e1f7a-a960-11eb-9728-12bb97331649.png

突發(fā)寫

下圖所示,當(dāng)AWVALID信號(hào)和AWREADY信號(hào)都拉高時(shí)地址有效(地址信息和AWVALID是同步的),也就是在T2時(shí)刻上升沿讀取到所要寫入的地址。然后主機(jī)發(fā)送寫入的數(shù)據(jù)(數(shù)據(jù)和WVALID信號(hào)是同步的),依次寫入A0、A1、A2、A3,當(dāng)寫入最后一個(gè)數(shù)據(jù)時(shí),WLAST信號(hào)也要拉高,當(dāng)寫操作完成后,從機(jī)要發(fā)送一個(gè)響應(yīng)信號(hào),這個(gè)信號(hào)也是在BVALID和BREADY為高時(shí)有效。

03f24f3c-a960-11eb-9728-12bb97331649.png

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6713

    瀏覽量

    88300
  • 主機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    958

    瀏覽量

    34854
  • AXI總線
    +關(guān)注

    關(guān)注

    0

    文章

    66

    瀏覽量

    14215

原文標(biāo)題:ZYNQ-AXI總線的信號(hào)接口要求以及時(shí)序關(guān)系

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SoC設(shè)計(jì)中總線協(xié)議AXI4與AXI3的主要區(qū)別詳解

    AXI4和AXI3是高級(jí)擴(kuò)展接口(Advanced eXtensible Interface)的兩個(gè)不同版本,它們都是用于SoC(System on Chip)設(shè)計(jì)中的總線協(xié)議,用于處
    的頭像 發(fā)表于 05-10 11:29 ?4214次閱讀
    SoC設(shè)計(jì)中<b class='flag-5'>總線</b>協(xié)議<b class='flag-5'>AXI</b>4與<b class='flag-5'>AXI</b>3的主要區(qū)別詳解

    FPGA通過(guò)AXI總線讀寫DDR3實(shí)現(xiàn)方式

    AXI總線由一些核心組成,包括AXI主處理器接口AXI4)、AXI處理器到協(xié)處理器
    發(fā)表于 04-18 11:41 ?1015次閱讀

    AMBA總線AXI設(shè)計(jì)的關(guān)鍵問(wèn)題講解

    首先我們看一下針對(duì)AXI接口的IP設(shè)計(jì),在介紹之前我們先回顧一下AXI所具有的一些feature。
    的頭像 發(fā)表于 02-20 17:12 ?1287次閱讀
    AMBA<b class='flag-5'>總線</b>之<b class='flag-5'>AXI</b>設(shè)計(jì)的關(guān)鍵問(wèn)題講解

    想用adp5050給zynq供電,而zynq各電源有上電時(shí)序要求,請(qǐng)問(wèn)這個(gè)應(yīng)該怎么處理?

    我想用adp5050給zynq供電,而zynq各電源有上電時(shí)序要求,請(qǐng)問(wèn)這個(gè)應(yīng)該怎么處理?
    發(fā)表于 01-08 10:57

    AXI總線協(xié)議總結(jié)

    在介紹AXI之前,先簡(jiǎn)單說(shuō)一下總線、 接口 以及協(xié)議的含義 總線、接口和協(xié)議,這三個(gè)詞常常被聯(lián)系
    的頭像 發(fā)表于 12-16 15:55 ?634次閱讀

    XILINX FPGA IP之AXI Traffic Generator

    AXI Traffic Generator IP 用于在AXI4和AXI4-Stream互連以及其他AXI4系統(tǒng)外設(shè)上生成特定序列(流量)。
    的頭像 發(fā)表于 11-23 16:03 ?1862次閱讀
    XILINX FPGA IP之<b class='flag-5'>AXI</b> Traffic Generator

    使用PCIE更新AMD ZYNQ的QSPI Flash參考設(shè)計(jì)

    AMD ZYNQ 7000 的 S_AXI 端口提供了外設(shè)訪問(wèn) PS 內(nèi)部外設(shè)控制器的接口,這其中包括 4 個(gè) S_AXI_HP 端口以及
    的頭像 發(fā)表于 11-17 10:02 ?997次閱讀
    使用PCIE更新AMD <b class='flag-5'>ZYNQ</b>的QSPI Flash參考設(shè)計(jì)

    基于zynq7020器件來(lái)搭建Linux系統(tǒng)

    Zynq器件將arm和FPGA結(jié)合,利用了兩者各自的優(yōu)勢(shì),arm可以實(shí)現(xiàn)靈活的控制,而FPGA部分可以實(shí)現(xiàn)算法加速,這大大擴(kuò)展了zynq的應(yīng)用。比如深度學(xué)習(xí)加速,圖像處理等等。PL側(cè)表示FPGA的邏輯部分,PS側(cè)為arm端以及
    發(fā)表于 11-09 11:28 ?2267次閱讀
    基于<b class='flag-5'>zynq</b>7020器件來(lái)搭建Linux系統(tǒng)

    ZYNQ的ARM和FPGA數(shù)據(jù)交互——AXI交互最重要的細(xì)節(jié)

    大部分器件的接口要求,提供互聯(lián)架構(gòu)的靈活性與獨(dú)立性。 (1)AXI總線 總線是一組傳輸通道,是各種邏輯器件構(gòu)成的傳輸數(shù)據(jù)的通道,一般由數(shù)據(jù)
    發(fā)表于 11-03 10:51

    AXI傳輸數(shù)據(jù)的過(guò)程

    AXI4為例,有AXI full/lite/stream之分。 在Xilinx系列FPGA及其有關(guān)IP核中,經(jīng)常見(jiàn)到AXI總線接口,
    的頭像 發(fā)表于 10-31 15:37 ?862次閱讀
    <b class='flag-5'>AXI</b>傳輸數(shù)據(jù)的過(guò)程

    LogiCORE IP AXI UART 16550內(nèi)核簡(jiǎn)介

    LogiCORE IP AXI 通用異步接收發(fā)送器 (UART) 16550 連接到高級(jí)微控制器總線架構(gòu) (AMBA) AXI,為異步串行數(shù)據(jù)傳輸提供控制器接口。該軟 IP 核旨在通過(guò)
    的頭像 發(fā)表于 10-16 11:02 ?3602次閱讀
    LogiCORE IP <b class='flag-5'>AXI</b> UART 16550內(nèi)核簡(jiǎn)介

    LogiCORE JTAG至AXI Master IP核簡(jiǎn)介

    LogiCORE JTAG至AXI Master IP核是一個(gè)可定制的核,可生成AXIAXI總線可用于處理和驅(qū)動(dòng)系統(tǒng)中FPGA內(nèi)部的AXI信號(hào)AX
    的頭像 發(fā)表于 10-16 10:12 ?867次閱讀
    LogiCORE JTAG至<b class='flag-5'>AXI</b> Master IP核簡(jiǎn)介

    AXI IIC總線接口介紹

    LogiCORE?IPAXI IIC總線接口連接到AMBA?AXI規(guī)范,提供低速、兩線串行總線接口,可連接大量流行的設(shè)備。
    的頭像 發(fā)表于 09-28 15:56 ?4984次閱讀

    什么是AXI?AXI如何工作?

    Xilinx 從 Spartan-6 和 Virtex-6 器件開(kāi)始采用高級(jí)可擴(kuò)展接口 (AXI) 協(xié)議作為知識(shí)產(chǎn)權(quán) (IP) 內(nèi)核。Xilinx 繼續(xù)將 AXI 協(xié)議用于針對(duì) 7 系列和 Z
    的頭像 發(fā)表于 09-27 09:50 ?1406次閱讀
    什么是<b class='flag-5'>AXI</b>?<b class='flag-5'>AXI</b>如何工作?

    SPI總線協(xié)議及時(shí)序圖詳解

    SPI,是英語(yǔ) Serial Peripheral Interface 的縮寫,顧名思義就是串行外圍設(shè)備接口。SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片
    發(fā)表于 09-22 08:10