<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

淺談ZYNQ-AXI總線的信號接口要求以及時序關系

FPGA之家 ? 來源:embeddeder ? 作者:embeddeder ? 2021-06-01 10:57 ? 次閱讀

學習內容

學習關于AXI總線的信號接口的具體要求(包括不同通道之間的關系,握手機制說明等)和AXI4-Lite的相關信息,在文章后半部分對AXI讀寫時序進行了簡要講解,主要針對ARM公司的IHI0022D進行閱讀總結。

Clock and Reset

前面也提到了信號和復位的功能,這里對AXI全局時鐘ACLK)和復位信號(ARESETn)做進一步的解釋說明。Clock: 每個AXI組件都要使用時鐘信號(ACLK)。

所有的輸入信號都在ACLK的上升沿上采樣。

所有輸出信號的變化必須發生在ACLK上升沿之后。

在主機接口和從機接口上,輸入和輸出信號之間不能有組合路徑。

Reset: AXI使用一個單獨的低復位信號(ARESETn)。復位信號可以進行異步復位,但是復位完必須與ACLK的上升沿同步。在復位過程中,要求:

主機接口必須驅動ARVALID、AWVALID、和WVALID為低電平。

從機接口必須驅動RVALID和BVALD 為低電平。

所有其他信號可以為任何值。

在完成復位后,允許master驅動ARVALID,、AWVALID、WVALID為高。但是上升沿信號是在ARESETn是拉高之后而且要在ACLK上升沿。如下圖:

da0b5d66-c238-11eb-9e57-12bb97331649.png

Basic read and write transactions

在基本的讀寫傳輸中,要完成正常的傳輸功能要進行握手并且遵守協議中對每個通道的信號的要求。

握手機制

所有五個通道都使用相同的VALID/READY握手處理來傳輸地址、數據和控制信息。這種雙向握手機制表示主機和從機都可以控制信息在主機和從機之間傳輸的速率。

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

雙向握手協議表示主機和從機都可以控制信息在主機和從機之間傳輸的速率。換句話說也就是在傳輸中VALID和READY,都可以進行等待對方從而完成數據傳輸。如下圖所示,下圖的VALID的上升沿在T1時刻之后完成拉高,在T2時刻VALID信號為高,而READY信號為低,所以要繼續等待READY信號拉高。在T2時刻的上升沿之后,READY拉高,在T3時刻上升沿時,READY和VALID信號都為高,所以數據傳輸發生。也就是下圖的數據傳輸發生在T3時刻。

da13fbd8-c238-11eb-9e57-12bb97331649.png

下圖的分析方法同上,在T1時刻READY和VALID信號都為低,不進行數據傳輸;在T2時刻READY和VALID信號分別為高、低,不進行數據傳輸;在T3時刻READY和VALID信號都為高,進行數據傳輸。

da318b80-c238-11eb-9e57-12bb97331649.png

并且,READY和VALID可以同時設置為高進行數據傳輸,如下圖,在T2時刻發生數據傳輸。

da617f66-c238-11eb-9e57-12bb97331649.png

針對不同的信號通道,握手信號加上不同的前綴加以區分,如下表:

da6b1454-c238-11eb-9e57-12bb97331649.png

對于不同通道的握手信號,AXI協議有具體的建議要求:Write address channel主機可以在地址和控制信息都有效的時候拉高 AWVALID。當AWVALID拉高后要保持不變,直到AWREADY也拉高并且時鐘產生上升沿之后。換句話說,在握手傳輸的時,我們的數據信息和地址信息要保持不變,這樣才能確保傳輸的數據為有效可靠的。也就是AWVALID和信息數據是同步變化的。下面給出兩個示例:

da8ac15a-c238-11eb-9e57-12bb97331649.png

dabb5108-c238-11eb-9e57-12bb97331649.png

AWREADY的默認狀態可以是高或者低。AXI協議建議的默認狀態為高。當AWREADY為高時,從機能夠接受任何提供給它的有效地址。不建議默認AWREADY狀態為低,因為它強制進行握手傳輸,至少需要兩個時鐘周期,一個周期拉高AWVALID,另一個周期拉高AWREADY。

Read address channel和上面的寫地址通道要求類似,主機可以在地址和控制信息都有效的時候拉高 AWVALID。當AWVALID拉高后要保持不變,直到AWREADY也拉高并且時鐘產生上升沿之后。WREADY的默認狀態可以是高或者低。AXI協議建議的默認狀態為高。當AWREADY為高時,從機能夠接受任何提供給它的有效地址。不建議默認AWREADY狀態為低,因為它強制進行握手傳輸,至少需要兩個時鐘周期,一個周期拉高AWVALID,另一個周期拉高AWREADY。

Write response channel當它驅動有效的寫響應時,從機才能拉高BVALID信號。當BVALID拉高后要保持不變,直到BREADY也拉高并且時鐘產生上升沿之后。BREADY的默認狀態可以是高電平,但前提是在主機總是能夠在一個周期內接受寫響應的情況下。

Write data channel:在寫突發傳輸期間,當主機驅動有效的寫數據時,才需要拉高WVALID信號。當WVALID拉高后要保持不變,直到WREADY也拉高并且時鐘產生上升沿之后。WREADY的默認狀態可以是高電平,但前提是從機總是能在一個周期內接受寫數據。當主機在突發傳輸中進行最后一個數據傳輸時,必須拉高WLAST信號,用于指示傳輸結束。

Read data channel:當它驅動有效的讀數據時,從機才能拉高RVALID信號。當RVALID拉高后要保持不變,直到RREADY也拉高并且時鐘產生上升沿之后。即使從機只有一個讀數據信息,它也必須在響應數據請求時拉高RVALID信號。主機接口使用RREADY信號來表示它接受數據狀態。RREADY的默認狀態可以為高電位,但前提是無論何時啟動讀操作,主機都能立即接受讀數據。當從機在突發傳輸中進行最后一個數據傳輸時,必須拉高RLAST信號,用于指示傳輸結束。

通道之間的關系

AXI協議中需要保持以下關系:

在寫操作中,寫響應必須始終跟隨它是其中一部分的最后一個寫傳輸。

讀取數據必須始終跟在與數據相關的地址后面。

通道握手必須符合在通道握手信號之間的依賴關系。

通道握手信號之間的依賴關系

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

讀操作依賴關系

dadd37b4-c238-11eb-9e57-12bb97331649.png

上圖顯示讀操作握手信號的依賴關系,在讀操作中:

從機必須等待ARVALID和ARREADY都拉高后,RVALID才能進行拉高指示數據有效。

對于ARVALID和ARREADY的順序,可以任意設置先后順序,從機可以等待ARVALID拉高后,再拉高ARREADY,也可以相反,也可以同時拉高。

對于RVALID和RREADY不用關心順序,主機可以任意設置先后順序??梢韵群?,可以同時。

寫操作依賴關系

db0b2f84-c238-11eb-9e57-12bb97331649.png

上圖顯示寫操作握手信號的依賴關系,在寫操作中:

主機在拉高AWREADY or WREADY不需要關心從機AWVALID or WVALID先后順序。

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

從機必須WLAST拉高之后,才能拉高BVALID,因為寫響應(BRESP)在寫操作的最后一次數據傳輸之后,才發出信號。

從機不用關心BVALID和BREADY的先后順序。

寫響應依賴關系

db315cea-c238-11eb-9e57-12bb97331649.png

上圖顯示寫響應握手信號的依賴關系,在寫響應中:

單頭箭頭指向可以在箭頭指向的信號之前或之后拉高信號

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

從機必須WLAST拉高之后,才能拉高BVALID,因為寫響應(BRESP)在寫操作的最后一次數據傳輸之后,才發出信號。

AXI4-Lite協議

AXI4-Lite和AXI4類似,當不需要完整AXI4功能的時,進行一些簡單的控制寄存器的讀寫。AXI4-Lite協議簡單描述如下:

AXI4-Lite協議的所有傳輸的突發長度都是1(相當于不支持突發傳輸)。

所有數據訪問都使用數據總線的全部位寬,支持32位或64位的數據總線寬度。

所有訪問都是不可修改的,不可緩沖的。

不支持獨占訪問。

接口定義

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

db6fedc0-c238-11eb-9e57-12bb97331649.png

AXI總線協議時序

AXI突發讀

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

db7ce110-c238-11eb-9e57-12bb97331649.png

突發寫

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

dba7ff8a-c238-11eb-9e57-12bb97331649.png

Reference

ARM公司的IHI0022D。

正點原子ZYNQ開發視頻教程。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ARM
    ARM
    +關注

    關注

    134

    文章

    8725

    瀏覽量

    363098
  • 數據傳輸
    +關注

    關注

    9

    文章

    1592

    瀏覽量

    63839
  • AXI
    AXI
    +關注

    關注

    1

    文章

    126

    瀏覽量

    16350

原文標題:ZYNQ-AXI總線的信號接口要求以及時序關系

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FPGA通過AXI總線讀寫DDR3實現方式

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

    想用adp5050給zynq供電,而zynq各電源有上電時序要求,請問這個應該怎么處理?

    我想用adp5050給zynq供電,而zynq各電源有上電時序要求,請問這個應該怎么處理?
    發表于 01-08 10:57

    AXI總線協議總結

    在介紹AXI之前,先簡單說一下總線、 接口 以及協議的含義 總線、接口和協議,這三個詞常常被聯系
    的頭像 發表于 12-16 15:55 ?407次閱讀

    ZYNQ的ARM和FPGA數據交互——AXI交互最重要的細節

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

    AXI傳輸數據的過程

    AXI4為例,有AXI full/lite/stream之分。 在Xilinx系列FPGA及其有關IP核中,經常見到AXI總線接口,
    的頭像 發表于 10-31 15:37 ?559次閱讀
    <b class='flag-5'>AXI</b>傳輸數據的過程

    LogiCORE JTAG至AXI Master IP核簡介

    LogiCORE JTAG至AXI Master IP核是一個可定制的核,可生成AXIAXI總線可用于處理和驅動系統中FPGA內部的AXI信號。AX
    的頭像 發表于 10-16 10:12 ?590次閱讀
    LogiCORE JTAG至<b class='flag-5'>AXI</b> Master IP核簡介

    AXI IIC總線接口介紹

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

    什么是AXI?AXI如何工作?

    Xilinx 從 Spartan-6 和 Virtex-6 器件開始采用高級可擴展接口 (AXI) 協議作為知識產權 (IP) 內核。Xilinx 繼續將 AXI 協議用于針對 7 系列和 Z
    的頭像 發表于 09-27 09:50 ?811次閱讀
    什么是<b class='flag-5'>AXI</b>?<b class='flag-5'>AXI</b>如何工作?

    SPI總線協議及時序圖詳解

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

    AMBA3.0 AXI總線接口協議的研究與應用

    本文介紹了AMBA3.0AXI的結構和特點,分析了新的AMBA3.0AXI協議相對于AMBA2.0的優點。它將革新未來高性能SOC總線互連技術,其特點使它更加適合未來的高性能、低延遲設計。最后介紹了基于
    發表于 09-20 08:30

    基于AXI總線的DDR3讀寫測試

    本文開源一個FPGA項目:基于AXI總線的DDR3讀寫。之前的一篇文章介紹了DDR3簡單用戶接口的讀寫方式:《DDR3讀寫測試》,如果在某些項目中,我們需要把DDR掛載到AXI
    的頭像 發表于 09-01 16:20 ?2744次閱讀
    基于<b class='flag-5'>AXI</b><b class='flag-5'>總線</b>的DDR3讀寫測試

    AXI內部存儲器接口的功能

    庫的慢-慢工藝點對塊進行合成,以200 MHz的目標速度確認時序特性。 接口存儲器端口上的信號符合RAM編譯器為TSMC CL013G工藝技術生產的單端口同步存儲器組件所要求
    發表于 08-21 06:55

    如何把ICB總線轉為AXI?

    現在我要用block design搭建SOC,需要將總線轉為AXI。按照論壇中的帖子,將e203_subsys_mems模塊中的sirv_gnrl_icb2axi模塊放到system層中,然后聲明
    發表于 08-12 06:12

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

    在 Vivado 中自定義 AXI4-Lite 接口的 IP,實現一個簡單的 LED 控制功能,并將其掛載到 AXI Interconnect 總線互聯結構上,通過
    發表于 06-25 16:31 ?2311次閱讀
    自定義<b class='flag-5'>AXI</b>-Lite<b class='flag-5'>接口</b>的IP及源碼分析

    Xilinx FPGA AXI4總線(一)介紹【AXI4】【AXI4-Lite】【AXI-Stream】

    從 FPGA 應用角度看看 AMBA 總線中的 AXI4 總線。
    發表于 06-21 15:21 ?1991次閱讀
    Xilinx FPGA <b class='flag-5'>AXI</b>4<b class='flag-5'>總線</b>(一)介紹【<b class='flag-5'>AXI</b>4】【<b class='flag-5'>AXI</b>4-Lite】【<b class='flag-5'>AXI</b>-Stream】
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>