0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

如何設(shè)計高效PL和PS數(shù)據(jù)交互通路的AXI接口

454398 ? 來源:CSDN博主 ? 作者:肅寧老趙 ? 2020-11-13 16:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

(一)AXI接口

如何設(shè)計高效的 PL 和 PS 數(shù)據(jù)交互通路是 ZYNQ 芯片設(shè)計的重中之重。AXI 全稱 Advanced eXtensible Interface,是 Xilinx 從 6 系列的 FPGA 開始引入的一個接口協(xié)議,主要描述了主設(shè)備和從設(shè)備之間的數(shù)據(jù)傳輸方式。在 ZYNQ 中繼續(xù)使用,版本是 AXI4,所以我們經(jīng)常會看到 AXI4.0, ZYNQ 內(nèi)部設(shè)備都有 AXI 接口。其實 AXI 就是 ARM 公司提出的AMBA(Advanced Microcontroller Bus Architecture)的一個部分,是一種高性能、高帶寬、低延遲的片內(nèi)總線。

AXI 協(xié)議主要描述了主設(shè)備和從設(shè)備之間的數(shù)據(jù)傳輸方式,主設(shè)備和從設(shè)備之間通過握手信號建立連接。當(dāng)從設(shè)備準(zhǔn)備好接收數(shù)據(jù)時,會發(fā)出 READY 信號。當(dāng)主設(shè)備的數(shù)據(jù)準(zhǔn)備好時,會發(fā)出和維持 VALID 信號,表示數(shù)據(jù)有效。數(shù)據(jù)只有在 VALID 和 READY 信號都有效的時候才開始傳輸。當(dāng)這兩個信號持續(xù)保持有效,主設(shè)備會繼續(xù)傳輸下一個數(shù)據(jù)。主設(shè)備可以撤銷VALID 信號,或者從設(shè)備撤銷 READY 信號終止傳輸。 AXI 的協(xié)議如圖, T2 時,從設(shè)備的 READY信號有效, T3 時主設(shè)備的 VILID 信號有效,數(shù)據(jù)傳輸開始。

在 ZYNQ 中,支持 AXI-Lite, AXI4 和 AXI-Stream 三種總線,通過表以看到這三種AXI 接口的特性。

1、AXI4-Lite:

具有輕量級,結(jié)構(gòu)簡單的特點,適合小批量數(shù)據(jù)、簡單控制場合。不支持批量傳輸,讀寫時一次只能讀寫一個字(32bit)。主要用于訪問一些低速外設(shè)和外設(shè)的控制。

2、AXI4:

接口和 AXI-Lite 差不多,只是增加了一項功能就是批量傳輸,可以連續(xù)對一片地址進(jìn)行一次性讀寫。也就是說具有數(shù)據(jù)讀寫的 burst 功能。

上面兩種均采用內(nèi)存映射控制方式,即 ARM 將用戶自定義 IP 編入某一地址進(jìn)行訪問,讀寫時就像在讀寫自己的片內(nèi) RAM,編程也很方便,開發(fā)難度較低。代價就是資源占用過多,需要額外的讀地址線、寫地址線、讀數(shù)據(jù)線、寫數(shù)據(jù)線、寫應(yīng)答線。

3、AXI4-Stream:

這是一種連續(xù)流接口,不需要地址線(很像 FIFO,一直讀或一直寫就行)。對于這類 IP,ARM 不能通過上面的內(nèi)存映射方式控制(FIFO 根本沒有地址的概念),必須有一個轉(zhuǎn)換裝置,例如 AXI-DMA 模塊來實現(xiàn)內(nèi)存映射到流式接口的轉(zhuǎn)換。 AXI-Stream 適用的場合有很多:視頻流處理;通信協(xié)議轉(zhuǎn)換;數(shù)字信號處理;無線通信等。其本質(zhì)都是針對數(shù)值流構(gòu)建的數(shù)據(jù)通路,從信源(例如 ARM 內(nèi)存、 DMA、無線接收前端等)到信宿(例如 HDMI 顯示器、高速 AD 音頻輸出,等)構(gòu)建起連續(xù)的數(shù)據(jù)流。這種接口適合做實時信號處理。

在 ZYNQ 芯片內(nèi)部用硬件實現(xiàn)了 AXI 總線協(xié)議,包括 9 個物理接口,分別為 AXI-GP0~AXIGP3, AXI-HP0~AXI-HP3, AXI-ACP 接口。AXI_ACP 接口,是 ARM 多核架構(gòu)下定義的一種接口,中文翻譯為加速器一致性端口,用來管理 DMA 之類的不帶緩存的 AXI 外設(shè), PS 端是 Slave 接口。AXI_HP 接口,是高性能/帶寬的 AXI3.0 標(biāo)準(zhǔn)的接口,總共有四個, PL 模塊作為主設(shè)備連接。主要用于 PL 訪問 PS 上的存儲器(DDR 和 On-Chip RAM)AXI_GP 接口,是通用的 AXI 接口,總共有四個,包括兩個 32 位主設(shè)備接口和兩個 32 位從設(shè)備接口。

只有兩個 AXI-GP 是 Master Port,即主機(jī)接口,其余 7 個口都是 Slave Port(從機(jī)接口)。主機(jī)接口具有發(fā)起讀寫的權(quán)限, ARM 可以利用兩個 AXI-GP 主機(jī)接口主動訪問 PL 邏輯,其實就是把 PL 映射到某個地址,讀寫 PL 寄存器如同在讀寫自己的存儲器。其余從機(jī)接口就屬于被動接口,接受來自 PL 的讀寫,逆來順受。

另外這 9 個 AXI 接口性能也是不同的。 GP 接口是 32 位的低性能接口,理論帶寬600MB/s,而 HP 和 ACP 接口為 64 位高性能接口,理論帶寬 1200MB/s。

位于 PS 端的 ARM 直接有硬件支持 AXI 接口,而 PL 則需要使用邏輯實現(xiàn)相應(yīng)的 AXI 協(xié)議。Xilinx 在 Vivado 開發(fā)環(huán)境里提供現(xiàn)成 IP 如 AXI-DMA, AXI-GPIO, AXI-Dataover, AXI-Stream 都實現(xiàn)了相應(yīng)的接口,使用時直接從 Vivado 的 IP 列表中添加即可實現(xiàn)相應(yīng)的功能。

下圖為 Vivado 下的各種 DMA IP:

幾個常用的 AXI 接口 IP 的功能:

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

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

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

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

AXI-CDMA:這個是由 PL 完成的將數(shù)據(jù)從內(nèi)存的一個位置搬移到另一個位置,無需 CPU 來插手。

(二)AXI 交換機(jī)

AXI 協(xié)議嚴(yán)格的講是一個點對點的主從接口協(xié)議,當(dāng)多個外設(shè)需要互相交互數(shù)據(jù)時,我們需要加入一個 AXI Interconnect 模塊,也就是 AXI 互聯(lián)矩陣,作用是提供將一個或多個 AXI 主設(shè)備連接到一個或多個 AXI 從設(shè)備的一種交換機(jī)制(有點類似于交換機(jī)里面的交換矩陣)。這個 AXI Interconnect IP 核最多可以支持 16 個主設(shè)備、 16 個從設(shè)備,如果需要更多的接口,可以多加入幾個 IP 核。

AXI Interconnect 基本連接模式有以下幾種:

N-to-1 Interconnect

to-N Interconnect

N-to-M Interconnect (Crossbar Mode)

N-to-M Interconnect (Shared Access Mode)

ZYNQ 內(nèi)部的 AXI 接口設(shè)備就是通過互聯(lián)矩陣的的方式互聯(lián)起來的,既保證了傳輸數(shù)據(jù)的高效性,又保證了連接的靈活性。 Xilinx 在 Vivado 里我們提供了實現(xiàn)這種互聯(lián)矩陣的 IP 核axi_interconnect,我們只要調(diào)用就可以。

編輯:hfy

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

    關(guān)注

    134

    文章

    9346

    瀏覽量

    376880
  • Zynq
    +關(guān)注

    關(guān)注

    10

    文章

    614

    瀏覽量

    48199
  • AXI
    AXI
    +關(guān)注

    關(guān)注

    1

    文章

    136

    瀏覽量

    17218
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    RDMA簡介8之AXI分析

    傳輸接口,其支持亂序傳輸、突發(fā)傳輸?shù)葌鬏敺绞?,同時通過獨立的地址總線,實現(xiàn)高性能的數(shù)據(jù)地址映射; AXI4-Lite 則在 AXI4 的基礎(chǔ)上去掉了亂序傳輸、突發(fā)傳輸、Outstan
    的頭像 發(fā)表于 06-24 23:22 ?129次閱讀
    RDMA簡介8之<b class='flag-5'>AXI</b>分析

    RDMA簡介8之AXI 總線協(xié)議分析1

    點對點連接總線,其去掉了地址總線,主要用于點對點間的高速數(shù)據(jù)流傳輸。三種接口的對比如表 1 所示:表1 AXI4、AXI4-Lite 和 AXI
    發(fā)表于 06-24 18:00

    通過標(biāo)準(zhǔn)化數(shù)據(jù)通路來實現(xiàn)數(shù)據(jù)共享

    標(biāo)準(zhǔn)化的數(shù)據(jù)接入與讀取接口。 標(biāo)準(zhǔn)化數(shù)據(jù)通路的定義和實現(xiàn) 標(biāo)準(zhǔn)化數(shù)據(jù)通路是為各種業(yè)務(wù)場景提供的跨應(yīng)用的數(shù)據(jù)接入與讀取
    發(fā)表于 06-17 06:57

    NVMe IP之AXI4總線分析

    時,需要通過AXI互聯(lián)IP(AXI Interconnect)來實現(xiàn)多對多的拓?fù)浣Y(jié)構(gòu) ,如圖3所示。Interconnect擁有多個 Master/Slave接口,并在內(nèi)部基于輪詢或者優(yōu)先級策略對多路
    發(fā)表于 06-02 23:05

    NVMe協(xié)議簡介之AXI總線

    向高速數(shù)據(jù)流傳輸?shù)?b class='flag-5'>AXI4-Stream接口。如表1所示展示了三種類型接口的主要特點對比。 表1 三種類型AXI4
    發(fā)表于 05-17 10:27

    NVMe控制器IP設(shè)計之接口轉(zhuǎn)換

    為通用的AXI4接口,從而實現(xiàn)與其他模塊之間的高效互聯(lián)。 接口轉(zhuǎn)換模塊內(nèi)部包含AXI4-Lite寫轉(zhuǎn)換模塊、
    發(fā)表于 05-10 14:33

    一文詳解AXI DMA技術(shù)

    ,SG)功能還可以將數(shù)據(jù)移動任務(wù)從位于于處理器系統(tǒng)中的中央處理器(CPU)中卸載出來??梢酝ㄟ^一個AXI4-Lite從接口訪問初始化、狀態(tài)和管理寄存器。如圖4. 8展現(xiàn)了DMA IP的功能構(gòu)成核心。
    的頭像 發(fā)表于 04-03 09:32 ?961次閱讀
    一文詳解<b class='flag-5'>AXI</b> DMA技術(shù)

    一文詳解Video In to AXI4-Stream IP核

    Video In to AXI4-Stream IP核用于將視頻源(帶有同步信號的時鐘并行視頻數(shù)據(jù),即同步sync或消隱blank信號或者而后者皆有)轉(zhuǎn)換成AXI4-Stream接口
    的頭像 發(fā)表于 04-03 09:28 ?1212次閱讀
    一文詳解Video In to <b class='flag-5'>AXI</b>4-Stream IP核

    AXI接口FIFO簡介

    AXI接口FIFO是從Native接口FIFO派生而來的。AXI內(nèi)存映射接口提供了三種樣式:AXI
    的頭像 發(fā)表于 03-17 10:31 ?1024次閱讀
    <b class='flag-5'>AXI</b><b class='flag-5'>接口</b>FIFO簡介

    AXI 接口設(shè)計避坑指南:AXI接口筆記

    ? AXI接口筆記 第一章?問題記錄 第1節(jié)?接收數(shù)據(jù)全0或全1 1.1?問題現(xiàn)象 上圖中,pixel_data_o是EC IP核輸出的圖像數(shù)據(jù),正確的話會如上圖所示,圖像
    的頭像 發(fā)表于 03-10 17:21 ?456次閱讀
    <b class='flag-5'>AXI</b> <b class='flag-5'>接口</b>設(shè)計避坑指南:<b class='flag-5'>AXI</b><b class='flag-5'>接口</b>筆記

    ZYNQ基礎(chǔ)---AXI DMA使用

    前言 在ZYNQ中進(jìn)行PL-PS數(shù)據(jù)交互的時候,經(jīng)常會使用到DMA,其實在前面的ZYNQ學(xué)習(xí)當(dāng)中,也有學(xué)習(xí)過DMA的使用,那就是通過使用自定義的IP,完成HP接口向內(nèi)存寫入和讀取
    的頭像 發(fā)表于 01-06 11:13 ?2231次閱讀
    ZYNQ基礎(chǔ)---<b class='flag-5'>AXI</b> DMA使用

    AMBA AXI4接口協(xié)議概述

    AMBA AXI4(高級可擴(kuò)展接口 4)是 ARM 推出的第四代 AMBA 接口規(guī)范。AMD Vivado Design Suite 2014 和 ISE Design Suite 14 憑借半導(dǎo)體產(chǎn)業(yè)首個符合
    的頭像 發(fā)表于 10-28 10:46 ?781次閱讀
    AMBA <b class='flag-5'>AXI</b>4<b class='flag-5'>接口</b>協(xié)議概述

    復(fù)旦微PS+PL異構(gòu)多核開發(fā)案例分享,基于FMQL20SM國產(chǎn)處理器平臺

    典型應(yīng)用領(lǐng)域 axi_uart_demo案例演示案例說明PS端通過AXI4-Lite總線發(fā)送命令至PLAXI Uartlite IP核,I
    發(fā)表于 08-22 14:04

    FM20S用戶手冊-PS + PL異構(gòu)多核案例開發(fā)手冊

    ;,可看到UART1已配置成EMIO模式。 2 emio_can_demo案例 2.1案例功能 案例功能:PS端通過EMIO方式使用CAN接口進(jìn)行數(shù)據(jù)收發(fā) CON6通過CAN總線隔離芯片引出P
    發(fā)表于 07-25 16:14

    Xilinx NVMe AXI4主機(jī)控制器,AXI4接口高性能版本介紹

    NVMe AXI4 Host Controller IP可以連接高速存儲PCIe SSD,無需CPU,自動加速處理所有的NVMe協(xié)議命令,具備獨立的數(shù)據(jù)寫入和讀取AXI4接口,不但適用
    的頭像 發(fā)表于 07-18 09:17 ?1048次閱讀
    Xilinx NVMe <b class='flag-5'>AXI</b>4主機(jī)控制器,<b class='flag-5'>AXI</b>4<b class='flag-5'>接口</b>高性能版本介紹

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品