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

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

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

AXI接口簡介_AXI IP核的創(chuàng)建流程及讀寫邏輯分析

Hx ? 作者:工程師陳翠 ? 2018-06-29 09:33 ? 次閱讀

本文包含兩部分內(nèi)容:1)AXI接口簡介;2)AXI IP核的創(chuàng)建流程及讀寫邏輯分析。

1 AXI簡介(本部分內(nèi)容參考官網(wǎng)資料翻譯)

自定義IP核是Zynq學(xué)習(xí)與開發(fā)中的難點,AXI IP核又是十分常用的自定義IP核,因此掌握AXI IP核的創(chuàng)建流程及通信機(jī)制顯得尤為重要。要搞懂AXI IP核,就必須先了解AXI接口。先介紹如下:

1) AXI(Advanced eXtensible Interface)協(xié)議主要描述了主設(shè)備(Master)和從設(shè)備(Slave)之間的數(shù)據(jù)傳輸方式,主設(shè)備和從設(shè)備之間通過握手信號建立連接。當(dāng)主設(shè)備的數(shù)據(jù)準(zhǔn)備好時,會發(fā)出和維持VALID信號,表示數(shù)據(jù)有效;當(dāng)從設(shè)備準(zhǔn)備好接收數(shù)據(jù)時,會發(fā)出READY信號。數(shù)據(jù)只有在這兩個信號都有效時才開始傳輸。

2) AXI協(xié)議(又稱AXI4.0),包括3種接口標(biāo)準(zhǔn):AXI4、AXI-Stream、AXI-lite。

AXI4:適用于要求數(shù)據(jù)高速傳輸?shù)膱龊稀?/p>

AXI-Stream:如FIFO,數(shù)據(jù)傳輸不需要地址,而是主從設(shè)備間直接進(jìn)行數(shù)據(jù)的讀寫,主要用于高速數(shù)據(jù)傳輸?shù)膱龊?,?a href="http://www.wenjunhu.com/v/" target="_blank">視頻、高速AD等。

AXI-lite:可用于單個數(shù)據(jù)傳輸,主要用于訪問一些低速外設(shè)。

3) AXI接口具有5個獨立通道:WriteAddress通道、Write Data通道、Write Response通道、Read Address通道、Read Address通道、Read Data通道。

4) 讀/寫通道并行地進(jìn)行數(shù)據(jù)交互,明顯提高了數(shù)據(jù)吞吐量,對寫數(shù)據(jù),從設(shè)備會返回確認(rèn)信號,這樣可以保證寫數(shù)據(jù)通道的安全,讀/寫模型分別如圖1-1、圖1-2。

AXI接口簡介_AXI IP核的創(chuàng)建流程及讀寫邏輯分析

AXI接口簡介_AXI IP核的創(chuàng)建流程及讀寫邏輯分析

讀模型:主設(shè)備發(fā)送讀地址占用信號給從設(shè)備→從設(shè)備將數(shù)據(jù)寫入主設(shè)備,實現(xiàn)讀操作。

寫模型:主設(shè)備發(fā)送寫地址占用信號給從設(shè)備→主設(shè)備將數(shù)據(jù)寫入從設(shè)備→從設(shè)備回復(fù)確認(rèn)收到信號,實現(xiàn)寫操作。

5) AXI協(xié)議嚴(yán)格來講是一個點對點的主/從接口協(xié)議,當(dāng)多個外設(shè)需要互相交互數(shù)據(jù)時,我們需要加入一個AXI Interconnect模塊,也就是AXI互聯(lián)矩陣,AXI Interconnect的作用是將一個或多個AXI主設(shè)備連接到一個或多個AXI 從設(shè)備。

6) AXI Interconnect IP核最多支持16個主設(shè)備和16個從設(shè)備,如果需要更多的接口可以在設(shè)計中加入多個IP核。

7) ZYNQ中的AXI接口包含三個類型,共9個,主要用于PS與PL的互聯(lián)。

(1)AXI_HP接口(PL模塊作為主設(shè)備)

包括4個,主要用于PL訪問PS上的存儲器。每個接口都有兩個FIFO緩沖器,一個是讀緩沖,一個是寫緩沖。

【實例:設(shè)計視頻處理時,高清的圖像可由FPGA直接完成采集、預(yù)處理,然后通過AXI_HP接口將數(shù)據(jù)高速傳輸至DDR中,供APU(加速處理器)完成進(jìn)一步的圖像處理】

(2)AXI_ACP接口(PS端是從設(shè)備端)

只有1個,又叫加速器一致性端口,適合做專用指令加速器模塊接口。PL端可直接從PS部分的Cache中拿到CPU的計算結(jié)果,同時也可以第一時間將邏輯加速運(yùn)算的結(jié)果送至Cache中,延時很小。

(3)AXI_GP接口(PS端是從設(shè)備端)

通用AXI接口,總共有4個??捎糜诳刂齐姍C(jī)運(yùn)轉(zhuǎn),獲取傳感器信號等邏輯模塊的連接接口。

2 AXI IP核的創(chuàng)建流程及讀寫邏輯小結(jié)

(1)AXI IP核的創(chuàng)建流程(以AXI PWM IP為例)

環(huán)境:win 7 +64(i5,4G) Vivado 2014.4+Xilinx SDK2014.4

開發(fā)板:zedboard version d xc7z020clg484-1

1) 新建工程→Tools → Create and PackageIP → Next → Create a new AXI4 peripheral → 修改name: axi_pwm(如圖1)→ Next → 為用戶IP核添加AXI4總線接口的支持(如圖2)→ Add IP to the repository →Finish

AXI接口簡介_AXI IP核的創(chuàng)建流程及讀寫邏輯分析

圖1

AXI接口簡介_AXI IP核的創(chuàng)建流程及讀寫邏輯分析

圖2

2) 在Flow Navigator中選擇 IP Catalog,打開IP管理器,看到剛才添加的axi_pwm_v1.0(如圖3)→ 右擊axi_pwm_v1.0 → Edit in IPPackager選項,單擊OK,此時系統(tǒng)會自動打開另一個Vivado IDE來對用戶IP核進(jìn)行編輯,完成IP核的封裝。

3) 在新打開的VivadoIDE中,在source窗口中雙擊打開axi_pwm_v1_0.v頂層文件,添加用戶自定義端口pwm_out(如圖4),并對端口進(jìn)行例化(如圖5)。

圖4

AXI接口簡介_AXI IP核的創(chuàng)建流程及讀寫邏輯分析

圖5

4) 雙擊打開axi_pwm_v1_0_S00_AXI.v實例化文件,添加端口聲明(如圖6),添加用戶信號(如圖7),添加用戶邏輯(如圖8)。

圖6

AXI接口簡介_AXI IP核的創(chuàng)建流程及讀寫邏輯分析

圖7

AXI接口簡介_AXI IP核的創(chuàng)建流程及讀寫邏輯分析

圖8

5) 切換到Package IP-axi_pwm窗口,點擊CustomizationParameters,單擊如圖9所示鏈接,對剛才修改過的頂層文件進(jìn)行更新。

圖 9

6) 點擊Review and Package →Re-Package IP,至此,AXI PWM IP核設(shè)計完成。

(2)讀寫邏輯小結(jié)

a. 輸入信號:

Input

Name

Remark

S_AXI_ACLK

全局時鐘信號

S_AXI_ARESETN

全局復(fù)位信號

S_AXI_AWADDR

寫地址信號

主機(jī)發(fā)送,從機(jī)接收

S_AXI_AWPROT

寫通道保護(hù)信號

這個信號標(biāo)志著傳輸?shù)奶貦?quán)與安全

S_AXI_AWVALID

寫地址有效信號

S_AXI_WDATA

寫數(shù)據(jù)信號

主機(jī)發(fā)送,從機(jī)接收

S_AXI_WSTRB

寫選通信號

這個信號表示寫字節(jié)通道保持有效,在每8位的寫數(shù)據(jù)總線上有1位被選通

S_AXI_WVALID

寫有效信號

S_AXI_BREADY

寫答復(fù)準(zhǔn)備好信號

這個信號表示主機(jī)可以接收到寫答復(fù)信號

S_AXI_ARADDR

讀地址信號

S_AXI_ARPROT

讀保護(hù)信號

S_AXI_ARVALID

讀地址有效信號

S_AXI_RREADY

讀準(zhǔn)備好信號

表示主機(jī)可以接收從機(jī)發(fā)送的數(shù)據(jù)并且給予答復(fù)

b. 輸出信號:

Output

Name

Remark

S_AXI_AWREADY

寫地址準(zhǔn)備好信號

表示主機(jī)可以控制寫數(shù)據(jù)總線實現(xiàn)寫功能

S_AXI_WREADY

寫準(zhǔn)備好信號

表示從機(jī)可以接收主機(jī)發(fā)送的數(shù)據(jù)

S_AXI_BRESP

寫答復(fù)信號

標(biāo)志從機(jī)是否接收到主機(jī)發(fā)送的數(shù)據(jù)

S_AXI_BVALID

寫答復(fù)有效信號

表示從機(jī)接收到主機(jī)發(fā)送的數(shù)據(jù)

S_AXI_ARREADY

讀地址準(zhǔn)備好信號

表示主機(jī)可以讀取數(shù)據(jù)

S_AXI_RDATA

讀數(shù)據(jù)信號

從機(jī)發(fā)送,主機(jī)接收,即寫入主機(jī)

S_AXI_RRESP

讀答復(fù)信號

表示讀數(shù)據(jù)傳輸?shù)臓顟B(tài)

S_AXI_RVALID

讀有效信號

表示有效的數(shù)據(jù)已傳輸

c. 4個從機(jī)寄存器(在創(chuàng)建AXI IP時,可以自己設(shè)定個數(shù),如圖2)

slv_reg0; slv_reg1; slv_reg2; slv_reg3;

d. 讀寫邏輯示意

寫://寫準(zhǔn)備好信號——寫準(zhǔn)備好地址總線被占用——寫地址通道有效——寫地址選擇——寫數(shù)據(jù)傳輸——寫應(yīng)答回復(fù)

讀://讀地址準(zhǔn)備好——讀總線被占用——讀地址有效信號產(chǎn)生——讀數(shù)據(jù)總線有效——讀數(shù)據(jù)有效——讀地址有效——主機(jī)寄存器讀取數(shù)據(jù)

注:寫的比較片面,期待大家的意見及補(bǔ)充。

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

    關(guān)注

    5

    文章

    1768

    瀏覽量

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

    關(guān)注

    1

    文章

    132

    瀏覽量

    17046
收藏 1人收藏

    評論

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

    ARM+FPGA開發(fā):基于AXI總線的GPIO IP創(chuàng)建

    FPGA+ARM是ZYNQ的特點,那么PL部分怎么和ARM通信呢,依靠的就是AXI總線。這個實驗是創(chuàng)建一個基于AXI總線的GPIO IP,利用PL的資源來擴(kuò)充GPIO資源。通過這個實驗
    的頭像 發(fā)表于 12-25 14:07 ?6018次閱讀
    ARM+FPGA開發(fā):基于<b class='flag-5'>AXI</b>總線的GPIO <b class='flag-5'>IP</b><b class='flag-5'>創(chuàng)建</b>

    AXI VIP設(shè)計示例 AXI接口傳輸分析

    賽靈思 AXI Verification IP (AXI VIP) 是支持用戶對 AXI4 和 AXI4-Lite 進(jìn)行仿真的
    發(fā)表于 07-08 09:24 ?2027次閱讀

    創(chuàng)建AXI Sniffer IP以在Vivado IP Integrator中使用教程

    在某些情況下,通過嗅探 AXI 接口分析其中正在發(fā)生的傳輸事務(wù)是很有用的。在本文中,我將為大家演示如何創(chuàng)建基本 AXI4-Lite Sni
    發(fā)表于 07-08 09:35 ?1165次閱讀

    使用AXI-Full接口IP進(jìn)行DDR的讀寫測試

    首先對本次工程進(jìn)行簡要說明:本次工程使用AXI-Full接口IP進(jìn)行DDR的讀寫測試。在我們的DDR讀寫
    的頭像 發(fā)表于 07-18 09:53 ?5832次閱讀
    使用<b class='flag-5'>AXI</b>-Full<b class='flag-5'>接口</b>的<b class='flag-5'>IP</b>進(jìn)行DDR的<b class='flag-5'>讀寫</b>測試

    AXI接口FIFO簡介

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

    一文詳解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 ?801次閱讀
    一文詳解Video In to <b class='flag-5'>AXI</b>4-Stream <b class='flag-5'>IP</b><b class='flag-5'>核</b>

    PCIE項目中AXI4 IP例化詳解

    的fifo接口),用戶只要操作fifo接口,無需關(guān)心PCIE的內(nèi)部驅(qū)動。為了便于讀者更加明白,可以深入了解PCIE,我們將會制作一個PCIE的連載系列。今天,首先說一下自定義AXI4的IP
    發(fā)表于 12-13 17:10

    如何使用Vivado功能創(chuàng)建AXI外設(shè)

    了解如何使用Vivado的創(chuàng)建和封裝IP功能創(chuàng)建可添加自定義邏輯AXI外設(shè),以創(chuàng)建自定義
    的頭像 發(fā)表于 11-29 06:48 ?7333次閱讀
    如何使用Vivado功能<b class='flag-5'>創(chuàng)建</b><b class='flag-5'>AXI</b>外設(shè)

    自定義sobel濾波IPIP接口遵守AXI Stream協(xié)議

    自定義sobel濾波IP IP接口遵守AXI Stream協(xié)議
    的頭像 發(fā)表于 08-06 06:04 ?4149次閱讀

    AXI_GP接口AXI_HP接口的相關(guān)內(nèi)容

    學(xué)習(xí)關(guān)于ZYNQ IP中的GP接口和HP接口的異同,介紹關(guān)于AXI_GP接口
    的頭像 發(fā)表于 07-03 14:17 ?3721次閱讀

    AXI4-Stream Video 協(xié)議和AXI_VDMA的IP介紹

    本文主要介紹關(guān)于AXI4-Stream Video 協(xié)議和AXI_VDMA的IP相關(guān)內(nèi)容。為后文完成使用帶有HDMI接口的顯示器構(gòu)建圖像視
    的頭像 發(fā)表于 07-03 16:11 ?9340次閱讀

    AXI_GPIO簡介與使用指南

    前面簡單學(xué)習(xí)了關(guān)于GPIO的操作,本次將使用PL 端調(diào)用 AXI GPIO IP , 并通過 AXI4-Lite 接口實現(xiàn) PS 與 PL
    的頭像 發(fā)表于 07-19 17:36 ?5357次閱讀

    使用AXI4-Lite將Vitis HLS創(chuàng)建IP連接到PS

    AXI 基礎(chǔ)第 6 講 - Vitis HLS 中的 AXI4-Lite 簡介中,使用 C 語言在 HLS 中創(chuàng)建包含 AXI4-Lit
    發(fā)表于 08-02 09:43 ?945次閱讀
    使用<b class='flag-5'>AXI</b>4-Lite將Vitis HLS<b class='flag-5'>創(chuàng)建</b>的<b class='flag-5'>IP</b>連接到PS

    簡單講解AXI Interconnect IP的使用方法

    最近需要用到AXI接口的模塊,xilinx的IP很多都用到了AXI總線進(jìn)行數(shù)據(jù)和指令傳輸。如果有多個設(shè)備需要使用
    的頭像 發(fā)表于 06-19 15:45 ?1.2w次閱讀
    簡單講解<b class='flag-5'>AXI</b> Interconnect <b class='flag-5'>IP</b><b class='flag-5'>核</b>的使用方法

    基于AXI總線的DDR3讀寫測試

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

    電子發(fā)燒友

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

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