RM新时代网站-首页

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

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

3天內不再提示

基于AXI總線的DDR3讀寫測試

CHANBAEK ? 來源:FPGA Zone ? 作者:FPGA Zone ? 2023-09-01 16:20 ? 次閱讀

本文開源一個FPGA項目:基于AXI總線的DDR3讀寫。之前的一篇文章介紹了DDR3簡單用戶接口的讀寫方式:《DDR3讀寫測試》,如果在某些項目中,我們需要把DDR掛載到AXI總線上,那就要通過MIG IP核提供的AXI接口來讀寫DDR。

下面圍繞Vivado BD工程的搭建以及各個IP的使用簡單介紹一下該項目。

01軟硬件平臺

  • 軟件平臺:Vivado 2017.4;
  • 硬件平臺:XC7A35TFTG256-1;

02創(chuàng)建Vivado BD工程

2.1 Clocking Wizard

首先在BD工程中添加Clocking Wizard IP核,用于給MIG IP核提供200M時鐘以及復位信號。

圖片

2.2 MIG IP

添加MIG IP核,接口已經默認配置成AXI接口。

圖片

  • Clock Period:這里配置成400Mhz;
  • Data Width:采用16bits;

圖片

  • AXI參數配置:Data Width 配置成128 bits。DDR3是雙沿工作,并且工作頻率和用戶時鐘頻率為4:1,因此這里AXI總線位寬最大可配置為16bits42=128bits;

圖片

  • MIG IP核輸入時鐘:200MHz;

圖片

  • 系統(tǒng)時鐘:No Buffer;
  • 參考時鐘:選擇Use System Clock;

圖片

配置好MIG IP后,將其與時鐘模塊(Clocking Wizard)進行連接。

圖片

2.3 FDMA

FDMA 是米聯(lián)客基于AXI4總線協(xié)議設計的一個DMA控制器,將其掛載到AXI4總線上,可以方便地對PL或者PS端DDR進行讀寫。

  • FDMA寫時序

FDMA寫時序如下圖所示。將fdma_wready拉高,當fdma_wbusy為低的時候表示總線空閑,此時可以拉高fdma_wreq,同時設置起始地址和數據長度。當fdma_wvalid為高時,寫入有效數據。最后一個數據寫完,fdma_wvalid和fdma_wbusy會拉低。

圖片

  • FDMA讀時序

FDMA讀時序如下圖所示。將fdma_rready拉高,當fdma_rbusy為低的時候表示總線空閑,此時可以拉高fdma_rreq,同時設置起始地址和數據長度。當fdma_rvalid為高時,輸出有效數據。最后一個數據讀完,fdma_rvalid和fdma_rbusy會拉低。

圖片

對FDMA IP參數進行配置:這里采用32位寬地址線以及64位寬數據線進行測試。

圖片

然后,將FDMA連接到AXI總線上,并通過axi_smc IP進行數據位寬轉換。將需要調用的接口接出來,得到以下BD工程。

圖片

配置起始地址為0x0000_0000,令DDR的讀寫地址從0開始。

圖片

最后在頂層文件中添加用戶邏輯,并生成bit文件。

03功能測試

該Vivado工程實現(xiàn)的功能是基于AXI總線對DDR3進行連續(xù)讀寫測試,每次突發(fā)讀寫長度為512*64bits,地址范圍為0~100M。FPGA板上測試結果如下圖所示。

圖片

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

    關注

    1629

    文章

    21729

    瀏覽量

    602986
  • DDR3
    +關注

    關注

    2

    文章

    276

    瀏覽量

    42242
  • 接口
    +關注

    關注

    33

    文章

    8575

    瀏覽量

    151015
  • IP核
    +關注

    關注

    4

    文章

    327

    瀏覽量

    49485
  • AXI總線
    +關注

    關注

    0

    文章

    66

    瀏覽量

    14261
收藏 人收藏

    評論

    相關推薦

    基于FPGA的DDR3多端口讀寫存儲管理系統(tǒng)設計

    DDR3只有一組控制、地址和數據總線,因此同一時刻只能有一個設備在訪問。##幀地址控制模塊主要是將DDR3空間進行劃分,同時控制幀地址的切換。
    發(fā)表于 04-07 15:52 ?1.3w次閱讀
    基于FPGA的<b class='flag-5'>DDR3</b>多端口<b class='flag-5'>讀寫</b>存儲管理系統(tǒng)設計

    【紫光同創(chuàng)國產FPGA教程】【第十章】DDR3讀寫測試實驗

    本實驗為后續(xù)使用DDR3內存的實驗做鋪墊,通過循環(huán)讀寫DDR3內存,了解其工作原理和DDR3控制器的寫法,由于DDR3控制復雜,控制器的編寫
    的頭像 發(fā)表于 02-05 13:27 ?9456次閱讀
    【紫光同創(chuàng)國產FPGA教程】【第十章】<b class='flag-5'>DDR3</b><b class='flag-5'>讀寫</b><b class='flag-5'>測試</b>實驗

    使用AXI-Full接口的IP進行DDR讀寫測試

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

    cyclone V控制DDR3讀寫,quartusII配置DDR3 ip核后,如何調用實現(xiàn)DDR3讀寫呢,謝謝

    DDR3的IP核配置完畢后,產生了好多文件,請問如何調用這些文件實現(xiàn)DDR3讀寫呢?看了一些文章,說是要等到local_init_done為高電平后,才能進行讀寫操作。請問
    發(fā)表于 01-14 18:15

    玩轉Zynq連載37——[ex56] 基于Zynq的AXI HP總線讀寫實例

    HP總線。PL作為AXI HP主機,可以通過這4條總線實現(xiàn)對內存(DDR3)的讀寫訪問,這4條總線
    發(fā)表于 11-26 09:47

    如何避免AXI_hp總線鎖死?

    `1、在開發(fā)zynq工程時遇到多個axi_hp總線讀寫ddr時,總線鎖死?,F(xiàn)象就是axi_hp的
    發(fā)表于 04-15 21:57

    【FPGA DEMO】Lab2:DDR3讀寫實驗

    `本開發(fā)板板載了一片高速 DDR3 SDRAM, 型號:MT41J128M16JT-093, 容量:256MByte(128M*16bit),16bit 總線。開發(fā)板上 FPGA 和 DDR3
    發(fā)表于 07-30 11:23

    紫光同創(chuàng)FPGA入門指導:DDR3 讀寫——紫光盤古系列50K開發(fā)板實驗教程

    ?支持裁剪的 AXI4 總線協(xié)議 ?一個 AXI4 256 bit Host Port ?支持 Self_refresh,Power down ?支持 Bypass DDRC ?支持 DDR
    發(fā)表于 05-19 14:28

    ddr3讀寫分離方法有哪些?

    DDR3是目前DDR的主流產品,DDR3讀寫分離作為DDR最基本也是最常用的部分,本文主要闡述DDR3
    的頭像 發(fā)表于 11-06 13:44 ?8855次閱讀
    <b class='flag-5'>ddr3</b>的<b class='flag-5'>讀寫</b>分離方法有哪些?

    基于FPGA的DDR3多端口讀寫存儲管理的設計與實現(xiàn)

    讀寫操作。DDR3用戶接口仲裁控制模塊將中斷請求分成多個子請求,實現(xiàn)視頻中斷和圖形中斷的并行處理。幀地址控制模塊確保當前輸出幀輸出的是最新寫滿的幀。
    發(fā)表于 11-18 18:51 ?7133次閱讀
    基于FPGA的<b class='flag-5'>DDR3</b>多端口<b class='flag-5'>讀寫</b>存儲管理的設計與實現(xiàn)

    關于期貨行情數據加速處理中基于FPGA的DDR3六通道讀寫防沖突設計詳解

    SDRAM成為首選方法。但由于DDR3只有一套數據訪問通道,不能滿足多個通道同時訪問的需求。此前的對于SDRAM的多通道解決方案中,比如曹一江等設計的基于NPI總線的片外存儲器,最大帶寬可達743 Mb/s
    發(fā)表于 08-01 15:25 ?3418次閱讀
    關于期貨行情數據加速處理中基于FPGA的<b class='flag-5'>DDR3</b>六通道<b class='flag-5'>讀寫</b>防沖突設計詳解

    Virtex7上DDR3測試例程

    ??這篇文章我們講一下Virtex7上DDR3測試例程,Vivado也提供了一個DDR的example,但卻是純Verilog代碼,比較復雜,這里我們把DDR3的MIG的IP Cor
    的頭像 發(fā)表于 08-16 10:28 ?1911次閱讀

    基于FPGA的DDR3讀寫測試

    本文介紹一個FPGA開源項目:DDR3讀寫。該工程基于MIG控制器IP核對FPGA DDR3實現(xiàn)讀寫操作。
    的頭像 發(fā)表于 09-01 16:23 ?1654次閱讀
    基于FPGA的<b class='flag-5'>DDR3</b><b class='flag-5'>讀寫</b><b class='flag-5'>測試</b>

    闡述DDR3讀寫分離的方法

    DDR3是2007年推出的,預計2022年DDR3的市場份額將降至8%或以下。但原理都是一樣的,DDR3讀寫分離作為DDR最基本也是最常用
    的頭像 發(fā)表于 10-18 16:03 ?1068次閱讀
    闡述<b class='flag-5'>DDR3</b><b class='flag-5'>讀寫</b>分離的方法

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

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