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

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

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

3天內不再提示

【ZYNQ Ultrascale+ MPSOC FPGA教程】第三十二章PL讀寫PS端DDR數據

FPGA技術專欄 ? 來源:芯驛電子科技 ? 作者:芯驛電子科技 ? 2021-01-30 09:54 ? 次閱讀

本原創教程由芯驛電子科技(上海)有限公司(ALINX)創作,版權歸本公司所有,如需轉載,需授權并注明出處。

適用于板卡型號:

AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG

實驗Vivado工程目錄為“pl_read_write_ps_ddr/vivado”。

實驗vitis工程目錄為“pl_read_write_ps_ddr /vitis”。

PL和PS的高效交互是zynq soc開發的重中之重,我們常常需要將PL端的大量數據實時送到PS端處理,或者將PS端處理結果實時送到PL端處理,常規我們會想到使用DMA的方式來進行,但是各種協議非常麻煩,靈活性也比較差,本節課程講解如何直接通過AXI總線來讀寫PS端ddr的數據,這里面涉及到AXI4協議,vivado的FPGA調試等。

FPGA工程師工作內容

以下為FPGA工程師負責內容。

1. ZYNQ的HP端口使用

zynq 7000 SOC的HP口是 High-Performance Ports的縮寫,如下圖所示,一共有4個HP口,HP口是AXI Slave設備,我們可以通過這4個HP接口實現高帶寬的數據交互。

o4YBAGATcaWAdU89AADTRL9yEVY039.jpg

2. 硬件環境搭建

1)基于“ps_hello”工程,在vivado的界面中HP的配置如下圖(HP0~HP3),這里面有使能控制,數據位寬選擇,可選擇32bit、64bit或128bit的位寬。我們的實驗啟用HP0配置為64bit位寬,使用的時鐘是150Mhz,HP的帶寬是150Mhz * 64bit,對于視頻處理,ADC數據采集等應用都有足夠的帶寬。不需要AXI HPM0 LPD,取消選擇。

pIYBAGATcaaAIWwCAACEUNUComI617.jpgo4YBAGATcaeAftWLAACTOPEJjkw138.jpg

2)添加復位模塊,用于復位

pIYBAGATcaeACtwFAAAMa5aID7s324.jpg

3)在空白處右鍵選擇”Creat Port”

o4YBAGATcaiADGcOAACycXclAVM677.jpg

配置如圖

pIYBAGATcamANPD_AABRolmf8pU901.jpg

4)連接時鐘和復位

o4YBAGATcamARPztAACSwTcnSSM552.jpg

5)選中引腳,點擊Make External,將信號導出

pIYBAGATcaqAVy4_AABhjcTFcXE475.jpg

并修改引腳名稱如下圖

o4YBAGATcaqATdeVAACh3VKnOwk096.jpg

并選擇總線同步時鐘為axi_hp_clk

o4YBAGATcauAbx4VAAAqww-lRxc027.jpg

6)點開Address Editor,如果發現地址沒有分配,點擊自動分配地址按鈕

pIYBAGATcauAMDYgAABGgGSHsMo207.jpg

分配后的結果,可以看到訪問DDR, QSPI, OCM的地址空間

o4YBAGATcayAQuvRAABHgYKFNNI523.jpg

保存設計,重新Generate Ouput Product

7)添加hdl文件

pIYBAGATca2ASZyrAAClmar42WU623.jpgo4YBAGATca2APpH6AABcVgRFQzc850.jpg

點擊Finish

o4YBAGATca6Af-QUAABvcx_r-dk246.jpg

HDL層級關系更新結果

pIYBAGATca6AckzEAABLkXu1e9k000.jpg

3. PL端AXI Master

AXI4相對復雜,但SOC開發者必須掌握,對于zynq的開發者,筆者建議能夠在一些已有的模板代碼基礎上修改。AXI協議的具體內容可參考Xilinx UG761 AXI Reference Guide。在這里我們簡單了解一下。

AXI4所采用的是一種READY,VALID握手通信機制,即主從模塊進行數據通信前,先根據操作對各所用到的數據、地址通道進行握手。主要操作包括傳輸發送者A等到傳輸接受者B的READY信號后,A將數據與VALID信號同時發送給B,這是一種典型的握手機制。

o4YBAGATca6AM7C-AAAqCyn4dnU541.jpg

AXI總線分為五個通道:

  • 讀地址通道,包含ARVALID, ARADDR, ARREADY信號;

  • 寫地址通道,包含AWVALID,AWADDR, AWREADY信號;

  • 讀數據通道,包含RVALID, RDATA, RREADY, RRESP信號;

  • 寫數據通道,包含WVALID, WDATA,WSTRB, WREADY信號;

  • 寫應答通道,包含BVALID, BRESP, BREADY信號;

  • 系統通道,包含:ACLK,ARESETN信號;

其中ACLK為axi總線時鐘,ARESETN是axi總線復位信號,低電平有效;讀寫數據與讀寫地址類信號寬度都為32bit;READY與VALID是對應的通道握手信號;WSTRB信號為1的bit對應WDATA有效數據字節,WSTRB寬度是32bit/8=4bit;BRESP與RRESP分別為寫回應信號,讀回應信號,寬度都為2bit,‘h0代表成功,其他為錯誤。

讀操作順序為主與從進行讀地址通道握手并傳輸地址內容,然后在讀數據通道握手并傳輸所讀內容以及讀取操作的回應,時鐘上升沿有效。如圖所示:

pIYBAGATcbCAADCHAAAvHtYayq0137.jpg

寫操作順序為主與從進行寫地址通道握手并傳輸地址內容,然后在寫數據通道握手并傳輸所讀內容,最后再寫回應通道握手,并傳輸寫回應數據,時鐘上升沿有效。如圖所示:

o4YBAGATcbCAfDoBAAAayFn2M5E204.jpg

在我們不擅長寫FPGA的一些代碼時我們往往要借鑒別人的代碼或者使用IP core。在這里筆者從github上找到一個AXI master的代碼,地址是github.com/aquaxis/IPCO。這個工程是一個自己寫的VDMA,里面包含了大量可參考的代碼。筆者這里主要使用了aq_axi_master.v這個代碼用于AXI master讀寫操作。借鑒別人代碼有時會節省很多時間,但如果不能理解的去借鑒,出現問題了很難解決。具體可以參考aq_axi_master.v代碼,有部分修改。

4. ddr讀寫數據的檢驗

有了AXI Master讀寫接口以后比較編寫了一個簡單的驗證模塊,這個驗證模塊是用來驗證ddr ip的,通過寫入數據,然后讀取出來比較。這里要注意的是PS端DDR的起始地址和大小,還有地址的單位是byte還是word,AXI總線的地址單位是byte,測試模塊的地址單位是word(這里的word不一定是4byte)。文件名mem_test.v。

5. Vivado軟件的調試技巧

AXI讀寫驗證模塊只有一個error信號用于指示錯誤,如果有數據錯誤我們希望能更精確的信息,alteraquartus II軟件中有signal tap工具,xilinx 的ISE中有chipscope工具,這些都是嵌入式邏輯分析儀,對我們調試有很大幫助,在vivado軟件中調試更加方便。在插入調試信號時有些信息可能會被優化掉,或者信號名稱改變了就不容易識別,這個時候我們可以在程序代碼里加入*mark_debug="true"*這樣的屬性,如下圖的信號:

pIYBAGATcbGAJgMWAAB5d3Yle80216.jpg

具體的添加方法在”PL的“Hello World”LED實驗”中已經講過,可參考。

并在XDC文件里綁定error信號到PL端LED燈上。

6. Vitis工程開發

以hello world為模板新建vitis工程如下

o4YBAGATcbKAXtE8AAAsYynxu74923.jpg

通過vitis下載程序后,系統會復位并且下載FPGA的bit文件。然后回到vivado界面點擊Program and Debug欄自動連接目標如下圖所示:

pIYBAGATcbKAF5OsAAAuwNsYeuQ366.jpg

自動連接硬件后可發現JTAG連上的設備,其中有一個hw_ila_1的設備,這個設備就是我們debug設備,選中后可點擊上方黃色三角按鈕捕捉波形。如果有些信號沒有顯示完整,可點擊波形旁邊的“+”按鈕添加。

pIYBAGATcbOAM5LTAAC42pq7cGU959.jpg

點擊捕獲波形以后如下圖所示,如果error一直為低,并且讀寫狀態有變化,說明讀寫DDR數據正常,用戶在這里可以自己查看其它的信號來觀察寫入DDR的數據和從DDR讀出的數據。

o4YBAGATcbSAC5DJAACp1L1nsgY285.jpg

7. 本章小結

zynq系統相對于單個FPGA或單個ARM要復雜很大,對開發者的基礎知識要求較高,本章內容涉及到AXI協議、zynq的互聯資源、vivado的和Vitis的調試技巧。這些都僅僅是基礎知識,筆者在這里也僅僅是拋磚引玉,大家還是要多多練習,在不斷練習中掌握技巧.

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

    關注

    1644

    文章

    21993

    瀏覽量

    615404
  • DDR
    DDR
    +關注

    關注

    11

    文章

    731

    瀏覽量

    66520
  • dma
    dma
    +關注

    關注

    3

    文章

    574

    瀏覽量

    102563
  • Zynq
    +關注

    關注

    10

    文章

    614

    瀏覽量

    48085
  • MPSoC
    +關注

    關注

    0

    文章

    200

    瀏覽量

    24655
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    AMD Spartan UltraScale+ FPGA 開始量產出貨

    邊緣應用而設計,為業經驗證的 UltraScale+ FPGA 和自適應 SoC 產品組合帶來了現代化的連接、后量子密碼等功能。 三款最低
    的頭像 發表于 06-18 10:32 ?357次閱讀
    AMD Spartan <b class='flag-5'>UltraScale+</b> <b class='flag-5'>FPGA</b> 開始量產出貨

    Xilinx Ultrascale系列FPGA的時鐘資源與架構解析

    Ultrascale是賽靈思開發的支持包含步進功能的增強型FPGA架構,相比7系列的28nm工藝,Ultrascale采用20nm的工藝,主要有2個系列:Kintex和Virtex
    的頭像 發表于 04-24 11:29 ?811次閱讀
    Xilinx <b class='flag-5'>Ultrascale</b>系列<b class='flag-5'>FPGA</b>的時鐘資源與架構解析

    ZYNQ FPGAPSIIC設備接口使用

    zynq系列中的FPGA,都會自帶兩個iic設備,我們直接調用其接口函數即可運用。使用xilinx官方提供的庫函數,開發起來方便快捷。
    的頭像 發表于 04-17 11:26 ?983次閱讀
    <b class='flag-5'>ZYNQ</b> <b class='flag-5'>FPGA</b>的<b class='flag-5'>PS</b><b class='flag-5'>端</b>IIC設備接口使用

    解鎖4K,Xilinx MPSoC ARM + FPGA高清視頻采集與顯示方案!

    當下,隨著數字化多媒體技術以令人驚嘆的速度不斷演進,高清視頻處理成為眾多領域關注的焦點。今天為大家分享4K HDMI 高清視頻方案,基于Xilinx UltraScale+ MPSoC
    的頭像 發表于 01-24 10:27 ?483次閱讀
    解鎖4K,Xilinx <b class='flag-5'>MPSoC</b> ARM + <b class='flag-5'>FPGA</b>高清視頻采集與顯示方案!

    Zynq UltraScale+ MPSoC數據手冊

    電子發燒友網站提供《Zynq UltraScale+ MPSoC數據手冊.pdf》資料免費下載
    發表于 12-30 14:37 ?2次下載

    針對ZYNQ+ULTRASCALEFPGA供電的一些疑問求解答

    針對ZYNQ+ULTRASCALEFPGA供電一些疑問(比如XCZU15EG-FFVB1156I型號): 1:這個芯片的輸出配置可以通過I2C接口進行配置,有個疑問,就是板子在SMT貼片回來以后
    發表于 12-02 08:02

    AMD/Xilinx Zynq? UltraScale+ ? MPSoC ZCU102 評估套件

    架構的 Mali-400 MP2 圖形處理單元。該套件的 ZCU102 板支持所有主要外設和接口,支持許多應用的開發。 特征 針對使用 Zynq Ultrascale+ MPSoC 的快速應用原型設計進行了優化
    的頭像 發表于 11-20 15:32 ?1452次閱讀
    AMD/Xilinx <b class='flag-5'>Zynq</b>? <b class='flag-5'>UltraScale+</b> ? <b class='flag-5'>MPSoC</b> ZCU102 評估套件

    《DNK210使用指南 -CanMV版 V1.0》第三十二章 音頻FFT實驗

    第三十二章 音頻FFT實驗 本章將介紹CanMV下FFT的應用,通過將時域采集到的音頻數據通過FFT為頻域。通過本章的學習,讀者將學習到CanMV下控制FFT加速器進行FFT的使用。本章分為如下幾個
    發表于 11-04 14:18

    在米爾電子MPSOC實現12G SDI視頻采集H.265壓縮SGMII萬兆以太網推流

    4K UHD音視頻廣播領域的優勢 1.高性能與低功耗的結合:Zynq UltraScale+ MPSoC采用了16nm FinFET工藝,集成了多核處理器和可編程邏輯,能夠在提高性能的同時降低功耗,這對
    發表于 11-01 16:56

    12G-SDI高清視頻開發案例,讓4K視頻采集更便捷!基于Xilinx MPSoC高性能平臺

    本帖最后由 Tronlong創龍科技 于 2024-10-29 10:35 編輯 本文主要介紹基于Xilinx UltraScale+ MPSoC XCZU7EV的12G-SDI高清視頻開發
    發表于 10-29 10:09

    在米爾電子MPSOC實現12G SDI視頻采集H.265壓縮SGMII萬兆以太網推流

    在本設計中,我們使用Zynq UltraScale+ MPSoC平臺(具體型號為MYIR XCZU4EV),通過FPGA實現對SDI視頻的H265壓縮,并通過SGMII接口推送到萬兆
    發表于 10-14 17:42

    使用TPS65086x PMIC為Xilinx Zynq UltraScale MPSoC供電

    電子發燒友網站提供《使用TPS65086x PMIC為Xilinx Zynq UltraScale MPSoC供電.pdf》資料免費下載
    發表于 09-21 11:11 ?0次下載
    使用TPS65086x PMIC為Xilinx <b class='flag-5'>Zynq</b> <b class='flag-5'>UltraScale</b> <b class='flag-5'>MPSoC</b>供電

    開發板的PL有4片的DDR,怎么管理數據的傳輸

    各位大佬好, 我現在想在自己的開發板上面跑通正點原子的一個例程,這個例程是關于DDR讀寫,將1024個數寫入DDR,然后讀出來進行對比,如果沒有錯誤就點亮LED。 開發板的PL
    發表于 09-10 19:17

    ALINX FPGA+GPU異架構視頻圖像處理開發平臺介紹

    Alinx 最新發布的新品 Z19-M 是一款創新的 FPGA+GPU 異構架構視頻圖像處理開發平臺,它結合了 AMD Zynq UltraScale+ MPSoC
    的頭像 發表于 08-29 14:43 ?1992次閱讀

    FM20S用戶手冊-PS + PL異構多核案例開發手冊

    PS) + FPGA可編程邏輯資源(PL)異構多核SoC處理器設計的全國產工業評估板,PS
    發表于 07-25 16:14
    主站蜘蛛池模板: 久久久久久久影院 | 天天弄天天干 | 黄色大秀视频 | 香蕉视频在线观看国产 | 免费看毛片网 | 牛牛精品 | 四虎4hu影库永久地址 | 羞羞答答91麻豆网站入口 | 成人久久久精品乱码一区二区三区 | 色偷偷人人| 五月天婷婷在线播放 | 九色中文 | 久久综合九色综合欧洲 | 午夜无遮挡怕怕怕免费视频 | 国产一二三区精品 | 最近2018年中文字幕在线 | 天堂最新版在线地址 | avbobo在线 | 男男宿舍高h炒肉bl 男男污肉高h坐便器调教 | 天天爱夜夜做 | 四虎国产精品影库永久免费 | 毛片免费高清免费 | 欧美一级特黄aa大片视频 | 欧美成网站 | 国产三级日本三级美三级 | 日本一区免费观看 | www.夜夜骑| 日本特黄特黄刺激大片免费 | 午夜视频免费观看黄 | 婷婷激情综合五月天 | wwwwww色| 免费观看黄视频网站 | 亚洲福利秒拍一区二区 | 久草资源在线播放 | 骚黄视频 | 精品国产你懂的在线观看 | 亚洲一区中文 | 97干97吻| 一区二区三区视频 | 欧色美| 天天操天天爱天天干 |