chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

FPGA技術(shù)專欄 ? 來源:芯驛電子科技 ? 作者:芯驛電子科技 ? 2021-01-30 09:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

適用于板卡型號:

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開發(fā)的重中之重,我們常常需要將PL端的大量數(shù)據(jù)實時送到PS端處理,或者將PS端處理結(jié)果實時送到PL端處理,常規(guī)我們會想到使用DMA的方式來進行,但是各種協(xié)議非常麻煩,靈活性也比較差,本節(jié)課程講解如何直接通過AXI總線來讀寫PS端ddr的數(shù)據(jù),這里面涉及到AXI4協(xié)議,vivado的FPGA調(diào)試等。

FPGA工程師工作內(nèi)容

以下為FPGA工程師負責(zé)內(nèi)容。

1. ZYNQ的HP端口使用

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

o4YBAGATcaWAdU89AADTRL9yEVY039.jpg

2. 硬件環(huán)境搭建

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

pIYBAGATcaaAIWwCAACEUNUComI617.jpgo4YBAGATcaeAftWLAACTOPEJjkw138.jpg

2)添加復(fù)位模塊,用于復(fù)位

pIYBAGATcaeACtwFAAAMa5aID7s324.jpg

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

o4YBAGATcaiADGcOAACycXclAVM677.jpg

配置如圖

pIYBAGATcamANPD_AABRolmf8pU901.jpg

4)連接時鐘和復(fù)位

o4YBAGATcamARPztAACSwTcnSSM552.jpg

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

pIYBAGATcaqAVy4_AABhjcTFcXE475.jpg

并修改引腳名稱如下圖

o4YBAGATcaqATdeVAACh3VKnOwk096.jpg

并選擇總線同步時鐘為axi_hp_clk

o4YBAGATcauAbx4VAAAqww-lRxc027.jpg

6)點開Address Editor,如果發(fā)現(xiàn)地址沒有分配,點擊自動分配地址按鈕

pIYBAGATcauAMDYgAABGgGSHsMo207.jpg

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

o4YBAGATcayAQuvRAABHgYKFNNI523.jpg

保存設(shè)計,重新Generate Ouput Product

7)添加hdl文件

pIYBAGATca2ASZyrAAClmar42WU623.jpgo4YBAGATca2APpH6AABcVgRFQzc850.jpg

點擊Finish

o4YBAGATca6Af-QUAABvcx_r-dk246.jpg

HDL層級關(guān)系更新結(jié)果

pIYBAGATca6AckzEAABLkXu1e9k000.jpg

3. PL端AXI Master

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

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

o4YBAGATca6AM7C-AAAqCyn4dnU541.jpg

AXI總線分為五個通道:

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

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

  • 讀數(shù)據(jù)通道,包含RVALID, RDATA, RREADY, RRESP信號;

  • 寫數(shù)據(jù)通道,包含WVALID, WDATA,WSTRB, WREADY信號;

  • 寫應(yīng)答通道,包含BVALID, BRESP, BREADY信號;

  • 系統(tǒng)通道,包含:ACLK,ARESETN信號;

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

讀操作順序為主與從進行讀地址通道握手并傳輸?shù)刂穬?nèi)容,然后在讀數(shù)據(jù)通道握手并傳輸所讀內(nèi)容以及讀取操作的回應(yīng),時鐘上升沿有效。如圖所示:

pIYBAGATcbCAADCHAAAvHtYayq0137.jpg

寫操作順序為主與從進行寫地址通道握手并傳輸?shù)刂穬?nèi)容,然后在寫數(shù)據(jù)通道握手并傳輸所讀內(nèi)容,最后再寫回應(yīng)通道握手,并傳輸寫回應(yīng)數(shù)據(jù),時鐘上升沿有效。如圖所示:

o4YBAGATcbCAfDoBAAAayFn2M5E204.jpg

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

4. ddr讀寫數(shù)據(jù)的檢驗

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

5. Vivado軟件的調(diào)試技巧

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

pIYBAGATcbGAJgMWAAB5d3Yle80216.jpg

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

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

6. Vitis工程開發(fā)

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

o4YBAGATcbKAXtE8AAAsYynxu74923.jpg

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

pIYBAGATcbKAF5OsAAAuwNsYeuQ366.jpg

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

pIYBAGATcbOAM5LTAAC42pq7cGU959.jpg

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

o4YBAGATcbSAC5DJAACp1L1nsgY285.jpg

7. 本章小結(jié)

zynq系統(tǒng)相對于單個FPGA或單個ARM要復(fù)雜很大,對開發(fā)者的基礎(chǔ)知識要求較高,本章內(nèi)容涉及到AXI協(xié)議、zynq的互聯(lián)資源、vivado的和Vitis的調(diào)試技巧。這些都僅僅是基礎(chǔ)知識,筆者在這里也僅僅是拋磚引玉,大家還是要多多練習(xí),在不斷練習(xí)中掌握技巧.

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

    關(guān)注

    1660

    文章

    22416

    瀏覽量

    636574
  • DDR
    DDR
    +關(guān)注

    關(guān)注

    11

    文章

    755

    瀏覽量

    69154
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    582

    瀏覽量

    105955
  • Zynq
    +關(guān)注

    關(guān)注

    10

    文章

    630

    瀏覽量

    49468
  • MPSoC
    +關(guān)注

    關(guān)注

    0

    文章

    203

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    AMD 推出第二代 Kintex UltraScale+FPGA,助力智能高性能系統(tǒng)

    第二代AMD Kintex UltraScale+ FPGA 系列 , 對于依賴中FPGA 為性能關(guān)鍵型系統(tǒng)提供支持的設(shè)計人員而言,可謂一項重大進步。 這一全新系列構(gòu)建在業(yè)經(jīng)驗證的
    的頭像 發(fā)表于 02-04 16:11 ?5.7w次閱讀
    AMD 推出第二代 Kintex <b class='flag-5'>UltraScale+</b> 中<b class='flag-5'>端</b><b class='flag-5'>FPGA</b>,助力智能高性能系統(tǒng)

    使用Aurora 6466b協(xié)議實現(xiàn)AMD UltraScale+ FPGA與AMD Versal自適應(yīng)SoC的對接

    在本博客中,我們將介紹使用 Aurora 6466b 協(xié)議實現(xiàn) AMD UltraScale+ FPGA 與 AMD Versal 自適應(yīng) SoC 的對接。我們還將涵蓋有關(guān) IP 配置、FPGA 之間的連接、時鐘設(shè)置以及復(fù)位拓撲
    的頭像 發(fā)表于 01-13 14:04 ?3459次閱讀
    使用Aurora 6466b協(xié)議實現(xiàn)AMD <b class='flag-5'>UltraScale+</b> <b class='flag-5'>FPGA</b>與AMD Versal自適應(yīng)SoC的對接

    如何在Zynq UltraScale+ MPSoC平臺上通過JTAG啟動嵌入式Linux鏡像

    流程教程)。本文則進一步講解如何在 Zynq UltraScale+ MPSoC 平臺上通過 JTAG 逐步啟動 Linux,并提供了完整的過程與關(guān)鍵命令。只要按步驟操作,即使是復(fù)雜的 Linux 鏡像也能成功通過 JTAG 啟
    的頭像 發(fā)表于 01-13 11:45 ?4553次閱讀

    如何在ZYNQ本地部署DeepSeek模型

    一個將最小號 DeepSeek 模型部署到 AMD Zynq UltraScale+ MPSoC 處理系統(tǒng)的項目。
    的頭像 發(fā)表于 12-19 15:43 ?7587次閱讀
    如何在<b class='flag-5'>ZYNQ</b>本地部署DeepSeek模型

    AMD UltraScale架構(gòu):高性能FPGA與SoC的技術(shù)剖析

    AMD UltraScale架構(gòu):高性能FPGA與SoC的技術(shù)剖析 在當(dāng)今的電子設(shè)計領(lǐng)域,高性能FPGAMPSoC/RFSoC的需求日益增長。AMD的
    的頭像 發(fā)表于 12-15 14:35 ?573次閱讀

    現(xiàn)已上市:AMD Spartan UltraScale+ FPGA SCU35 評估套件——面向所有開發(fā)人員的經(jīng)濟實惠平臺

    AMD Spartan UltraScale+ FPGA SCU35 評估套件現(xiàn)已開放訂購。 該平臺由 AMD 構(gòu)建,為客戶提供了一條利用 Spartan UltraScale+ FPGA
    的頭像 發(fā)表于 11-27 10:52 ?466次閱讀

    基于AXI DMA IP核的DDR數(shù)據(jù)存儲與PS讀取

    添加Zynq Processing System IP核,配置DDR控制器和時鐘。7000系列的Zynq可以參考正點原子DMA回環(huán)測試設(shè)置。
    的頭像 發(fā)表于 11-24 09:25 ?3280次閱讀
    基于AXI DMA IP核的<b class='flag-5'>DDR</b><b class='flag-5'>數(shù)據(jù)</b>存儲與<b class='flag-5'>PS</b><b class='flag-5'>端</b>讀取

    使用AXI4接口IP核進行DDR讀寫測試

    本章的實驗任務(wù)是在 PL 自定義一個 AXI4 接口的 IP 核,通過 AXI_HP 接口對 PS DDR3 進行
    的頭像 發(fā)表于 11-24 09:19 ?3749次閱讀
    使用AXI4接口IP核進行<b class='flag-5'>DDR</b><b class='flag-5'>讀寫</b>測試

    Zynq MPSoC PS側(cè)PCIe高速DMA互連解決方案

    在涉及Xilinx Zynq UltraScale+ MPSoC的項目中,實現(xiàn)設(shè)備間高速、低延遲的數(shù)據(jù)傳輸往往是核心需求之一。PCIe(尤其PS
    的頭像 發(fā)表于 10-22 13:53 ?3881次閱讀
    雙<b class='flag-5'>Zynq</b> <b class='flag-5'>MPSoC</b> <b class='flag-5'>PS</b>側(cè)PCIe高速DMA互連解決方案

    AMD Spartan UltraScale+ FPGA的優(yōu)勢和亮點

    AMD Spartan UltraScale+ FPGA 集小型封裝、先進的 I/O 功能與低功耗等優(yōu)勢于一體。該系列 FPGA 配備高速 16.3 Gb/s 收發(fā)器、內(nèi)置的外部內(nèi)存控制器以及
    的頭像 發(fā)表于 10-17 10:16 ?800次閱讀
    AMD Spartan <b class='flag-5'>UltraScale+</b> <b class='flag-5'>FPGA</b>的優(yōu)勢和亮點

    ZYNQ PSPL數(shù)據(jù)交互方式

    ZYNQ SoC 的 PS (Processing System) 和 PL (Programmable Logic) 之間的數(shù)據(jù)交互是系統(tǒng)設(shè)計的核心。
    的頭像 發(fā)表于 10-15 10:33 ?1057次閱讀
    <b class='flag-5'>ZYNQ</b> <b class='flag-5'>PS</b>與<b class='flag-5'>PL</b><b class='flag-5'>數(shù)據(jù)</b>交互方式

    璞致電子 UltraScale+ RFSoC 架構(gòu)下的軟件無線電旗艦開發(fā)平臺

    璞致電子 PZ-ZU49DR-KFB 開發(fā)板基于 Xilinx ZYNQ UltraScale+ RFSoC XCZU49DR 主控制器,以 "ARM+FPGA 異構(gòu)架構(gòu)" 為
    的頭像 發(fā)表于 08-06 10:08 ?1175次閱讀
    璞致電子 <b class='flag-5'>UltraScale+</b> RFSoC 架構(gòu)下的軟件無線電旗艦開發(fā)平臺

    AMD Spartan UltraScale+ FPGA 開始量產(chǎn)出貨

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

    Xilinx Ultrascale系列FPGA的時鐘資源與架構(gòu)解析

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

    ZYNQ FPGAPSIIC設(shè)備接口使用

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