在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

基于Xilinx FPGA AXI-EMC IP的EMIF通信測試

CHANBAEK ? 來源: FPGA Zone ? 作者: FPGA Zone ? 2023-08-31 11:25 ? 次閱讀

概述

外部存儲器接口EMIF通信常用于FPGADSP之間的數據傳輸,即將FPGA作為DSP的外部SRAM、或者協同處理器等。Xilinx提供了AXI-EMC IP核,將其掛載到AXI總線用于EMIF通信,也可方便地實現 PL (FPGA)和 PS (MicroBlaze或者ARM)之間的數據交互功能。

本文主要介紹一下該IP核的使用,以及創建Vivado工程對EMIF通信功能進行板上測試。

軟硬件平臺

軟件平臺 :Vivado 2017.4;

硬件平臺 :xc7a35tftg256-1;

AXI-EMC

功能特性

AXI-EMC IP核是一種可以支持各種型號內存的控制器,和EMIF接口類似,利用它可以實現數據的交互和通信。該IP核有以下功能特性:

  • 接口采用AXI4 Slave Memory Map,位寬支持32、64bits;
  • 支持AXI4增量和包傳輸,支持窄帶和非對其傳輸;
  • 最多支持4個外部存儲器;
  • 支持奇偶校驗和流水線級同步SRAM等;

參數配置

圖片

  • AXI Data Width:AXI總線位寬選擇32位;
  • Number of Memory Banks:存儲器個數這里選擇1即可;
  • AXI ID位寬和存儲空間地址選擇默認配置;

圖片

  • Memory Type:內存型號選擇異步SRAM;
  • Data Width:數據位寬選擇32位,與AXI總線位寬保持一致;
  • Timing Parameters參數默認是100MHZ AXI時鐘下的配置;

圖片

  • Advanced Configuration:高級配置選項保持默認,不用配置IP核內部寄存器;

Vivado工程創建

本工程是在MicroBlaze最小系統工程基礎上進行創建,利用AXI-EMC在MicroBlaze軟核端對FPGA端進行EMIF數據讀寫,進而實現PS和PL端數據交互功能。

搭建Block Design

  • 在MicroBlaze最小系統的Block Design工程中添加AXI-EMC IP核,并對參數進行配置;
  • 將IP核的 rdclk 接口以及 s_axi_aclk 接口與MIG IP提供的100MHZ用戶時鐘接口 ui_clk 進行連接;
  • mem_a (地址)、 mem_cen (片選)、 mem_dq_o (輸出數據)、 mem_dq_i (輸入數據)、 mem_oen (讀使能)、 mem_wen (寫使能)接口引出,在頂層文件中會進行調用。

最終搭建完成的Block Design如下圖所示:

圖片

修改頂層文件

在生成的頂層文件中添加以下代碼,用于實現FPGA端基本的EMIF通信功能,以及添加ILA模塊實現對EMIF接口信號的實時觀察。

reg             [31:0]                  data_reg,mem_dq_i_reg;
reg             [2:0]                   mem_wen_r,mem_oen_r;


assign          mem_dq_i            =   mem_dq_i_reg; 


always@(posedge ui_clk) begin
    mem_wen_r <= {mem_wen_r[1:0],mem_wen};
    mem_oen_r <= {mem_oen_r[1:0],mem_oen};
end




always@(posedge ui_clk)
    if(mem_wen_r[2:1] == 2'b10) begin
        case(mem_a[17:2])
            16'h5555:   
                    data_reg <= mem_dq_o;
            default:
                    data_reg <= data_reg;
        endcase
    end


always@(posedge ui_clk)
    if(mem_oen_r[2:1] == 2'b10) begin
        case(mem_a[17:2])
            16'haaaa:   
                    mem_dq_i_reg <= data_reg;
            default:
                    mem_dq_i_reg <= mem_dq_i_reg;
        endcase
    end

ila_0 ila_0_u0
(
    .clk            (ui_clk),

    .probe0         (mem_a),
    .probe1         (mem_cen),
    .probe2         (mem_dq_i),
    .probe3         (mem_dq_o),
    .probe4         (mem_oen),
    .probe5         (mem_wen),
    .probe6         (uart_rtl_0_txd)
    );

創建SDK工程

在SDK軟件中,采用Xilinx提供的Hello World工程,在helloworld.c文件中添加以下代碼,用于實現MicroBlaze軟核每隔一定時間在FPGA端0x55554地址下寫入32位十進制數據:111,并從0xaaaa4地址將該數據讀出。

#include < stdio.h >
#include "platform.h"
#include "xil_io.h"
#include "xparameters.h"
#include "xuartlite.h"
#include "xuartlite_l.h"


int ii,data;
int main()
{
    init_platform();
    print("EMIF TESTnr");
    while(1)
        {
          Xil_Out32(XPAR_EMC_0_S_AXI_MEM0_BASEADDR+0x5555*4,111);
          data=Xil_In32(XPAR_EMC_0_S_AXI_MEM0_BASEADDR+0xaaaa*4);
            for(ii=0;ii< 100;ii++);
        }
    cleanup_platform();
    return 0;
}

功能測試

該Vivado工程利用AXI-EMC IP核實現異步SRAM接口,在MicroBlaze軟核CPU和FPGA之間進行基礎的EMIF通信。該工程為實現PS和PL之間的數據交互功能提供一種很好的思路。

圖片

FPGA板上測試結果如上圖所示,MicroBlaze軟核往FPGA 0x55554地址下寫入32位十進制數據111,FPGA將該數據進行寄存,供軟核從0xaaaa4地址下讀出。

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

    關注

    68

    文章

    19286

    瀏覽量

    229841
  • dsp
    dsp
    +關注

    關注

    553

    文章

    7998

    瀏覽量

    348924
  • FPGA
    +關注

    關注

    1629

    文章

    21736

    瀏覽量

    603384
  • 存儲器
    +關注

    關注

    38

    文章

    7492

    瀏覽量

    163834
  • 通信
    +關注

    關注

    18

    文章

    6032

    瀏覽量

    135992
  • Xilinx
    +關注

    關注

    71

    文章

    2167

    瀏覽量

    121410
收藏 人收藏

    評論

    相關推薦

    Xilinx zynq AXI總線全面解讀

    AXI (Advanced eXtensible Interface) 本是由ARM公司提出的一種總線協議, Xilinx從 6 系列的 FPGA 開始對 AXI 總線提供支持,目前使
    的頭像 發表于 12-04 12:22 ?7146次閱讀
     <b class='flag-5'>Xilinx</b> zynq <b class='flag-5'>AXI</b>總線全面解讀

    ARM+FPGA開發:基于AXI總線的GPIO IP創建

    FPGA+ARM是ZYNQ的特點,那么PL部分怎么和ARM通信呢,依靠的就是AXI總線。這個實驗是創建一個基于AXI總線的GPIO IP,利
    的頭像 發表于 12-25 14:07 ?5693次閱讀
    ARM+<b class='flag-5'>FPGA</b>開發:基于<b class='flag-5'>AXI</b>總線的GPIO <b class='flag-5'>IP</b>創建

    XILINX FPGA IPAXI Traffic Generator

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

    請教DSP的EMIF總線和ARM的AXI總線轉換的問題

    最近做的東西涉及到將原有的DSP+FPGA架構的程序移植到ZYNQ-7系列FPGA上,請問如何將原DSP程序移植到ZYNQ-7的ARM上,可不可以做一個EMIF總線和AXI總線轉換的模
    發表于 05-12 21:51

    基于C66x平臺DSP與FPGA通信測試

    實際電腦終端IP為準Tronlong> fpgasrio(4)DSP與FPGA EMIF16通信
    發表于 10-31 14:27

    請問KC705上的AXI EMC核心硬件測試例子哪里可以找到?

    嗨,大家好在數據表PG100 aboutLogiCORE IP AXI EMCv2.0上,第62頁(硬件測試)顯示如下:AXI EMC內核已
    發表于 09-10 11:35

    請問有哪些fpga板支持外部閃存與axi_emc

    所有的,請告訴我任何fpga板支持外部閃存與axi_emc
    發表于 10-09 09:08

    AXI 代碼 不通過 AXI Protocol Checker IP 的檢測

    Checker IP 的檢測呢 ? https://www.xilinx.com/support/documentation/ip_documentation/axi_protoco
    發表于 02-28 13:44

    使用EMIFXilinx FPGA與TI DSP平臺接口

    使用EMIFXilinx FPGA與TI DSP平臺接口:本應用指南使用外部存儲器接口 (EMIF) 實現了 Xilinx
    發表于 11-01 15:00 ?71次下載

    Xilinx的LogiCORE IP Video In to AXI4

    Xilinx的視頻的IP CORE 一般都是 以 AXI4-Stream 接口。 先介紹一下, 這個IP的作用。 下面看一下這個IP 的接口
    發表于 02-08 08:36 ?608次閱讀
    <b class='flag-5'>Xilinx</b>的LogiCORE <b class='flag-5'>IP</b> Video In to <b class='flag-5'>AXI</b>4

    基于TCP/IP通信技術在Xilinx FPGA上的實現

    研究了TCP/IP通信協議棧在Xilinx 公司現場可編程門陣列FPGA上的實現,介紹了其軟硬件的系統組成   和原理,提出一種不需操作系統的TCP/
    發表于 09-04 09:24 ?9次下載
    基于TCP/<b class='flag-5'>IP</b><b class='flag-5'>通信</b>技術在<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>上的實現

    如何使用Xilinx AXI進行驗證和調試

    了解如何使用Xilinx AXI驗證IP有效驗證和調試AXI接口。 該視頻回顧了使用的好處,以及如何使用示例設計進行模擬。
    的頭像 發表于 11-20 06:38 ?4117次閱讀

    PCIE通信技術:通過AXI-Lite ip配置的VDMA使用

    XDMA是Xilinx封裝好的PCIE DMA傳輸IP,可以很方便的把PCIE總線上的數據傳輸事務映射到AXI總線上面,實現上位機直接對AXI總線進行讀寫而對PCIE本身TLP的組包和
    的頭像 發表于 12-28 10:17 ?3194次閱讀

    AXI總線協議簡介

    用于通過使用Xilinx進行的相應的開發來做FPGA實現,它被用作FPGA 設計的IP 核之間的一種通信方式。
    發表于 10-10 09:22 ?1w次閱讀

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

    最近需要用到AXI接口的模塊,xilinxIP核很多都用到了AXI總線進行數據和指令傳輸。如果有多個設備需要使用AXI協議對
    的頭像 發表于 06-19 15:45 ?1w次閱讀
    簡單講解<b class='flag-5'>AXI</b> Interconnect <b class='flag-5'>IP</b>核的使用方法
    主站蜘蛛池模板: 看毛片的网站| 又粗又爽又色男女乱淫播放男女| 夜夜爽爽| aaa在线| 最近高清在线视频观看免费| 夜夜爱视频| 欧美性猛交xxxx乱大交高清| 亚洲电影在线| 好吊操免费视频| 黄色录像大全| 亚洲一区二区三区网站| 色玖玖| 久久永久视频| 久操中文| 亚洲男人a天堂在线2184| 伊人久久精品成人网| 日本免费黄色| 天天躁夜夜躁狠狠躁躁| 男女透逼视频| 美女视频黄免费| 久久天天综合| 亚洲精品456| aaaa欧美高清免费| 一区二区亚洲视频| 色综合天天综久久久噜噜噜久久〔 | 天天综合射| 在线播放免费| 午夜久久久久久亚洲国产精品| 亚洲人成网站在线| 丁香婷五月| 国产jlzzjlzz视频免费| 午夜色站| 窝窝午夜视频| 中文字幕区| 巨尻在线观看| 亚洲欧美4444kkkk| 奇米77| 97精品伊人久久久大香线焦| 色婷婷5月精品久久久久| 欧美天天在线| 高清一区二区|