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

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

3天內不再提示

如何通過NoC 從 Versal應用處理單元訪問AXI BRAM

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-11-11 09:09 ? 次閱讀

本篇博文旨在演示如何通過 NoC 從 Versal 應用處理單元 (APU) 訪問 AXI BRAM。

設計示例是使用 Vivado 2020.2 版本創(chuàng)建的,評估板使用的是 VCK190 評估板。

Versal

Versal 架構將“Scalar Engine”(標量引擎)、“Adaptable Engine”(自適應引擎)和“Intelligent Engine”(智能引擎)這三種不同類型的引擎與豐富的連接和通信功能以及片上網(wǎng)絡 (NoC) 有機結合,從而支持實現(xiàn)覆蓋整個器件的無縫式存儲器映射訪問。

智能引擎包括:

SIMD VLIW AI 引擎,適用于自適應推斷和高級信號處理計算

DSP 引擎,適用于定點運算、浮點運算和復雜的 MAC 運算。

自適應引擎將可編程邏輯塊與存儲器有機結合,它具備專為應對高計算密度需求而設計的架構。
標量引擎包括 Arm Cortex-A72 和 Cortex-R5 處理器,支持計算密集型任務。

片上網(wǎng)絡 (NoC)

片上網(wǎng)絡 (NoC) 是一個 AXI 互連網(wǎng)絡,用于在可編程邏輯 (PL)、處理器系統(tǒng) (PS) 和其它硬核塊中的 IP 端點之間共享數(shù)據(jù)。
此基礎架構覆蓋整個器件,基于專有的切換開關形成高速集成的數(shù)據(jù)路徑。

模塊框圖

de6089de-6158-11ed-8abf-dac502259ad0.png

Vivado 步驟

步驟 1:

以 VCK190 評估板為目標創(chuàng)建工程,并在 IP integrator 內創(chuàng)建塊設計。
步驟 2:

添加 versal_cips IP (Control, Interfaces and Processing System),并運行塊自動化設置。在設置中配置 NoC 的存儲器控制器 (DDR4),并將 PL 時鐘和 PL 復位的數(shù)量配置為 1。

de8fb5e2-6158-11ed-8abf-dac502259ad0.png

步驟 3:

雙擊打開 NoC IP,在“General”(常規(guī))選項卡中進行以下設置:
Number of AXI Master Interfaces(AXI 主接口數(shù))= 1
Number of AXI Clocks(AXI 時鐘數(shù))= 7

deaab374-6158-11ed-8abf-dac502259ad0.png

步驟 4:

轉至“Connectivity”(連接)選項卡,檢查 S0xAXI 與 M00_AXI 之間的連接,然后單擊“OK”(確定)。

dec31e32-6158-11ed-8abf-dac502259ad0.png

步驟 5:

將 AXI BRAM 添加到塊設計中,單擊“Run Connection Automation”(運行自動連接),然后選中 pl_clk0 作為從接口的時鐘源。

def79784-6158-11ed-8abf-dac502259ad0.png

步驟 6:

再次運行“Run Connection Automation”,配置 ext_reset_in接口。

df2056ce-6158-11ed-8abf-dac502259ad0.png

步驟 7:

運行“validation”(確認)步驟,確認成功后,檢查“Address Editor”(地址編輯器)選項卡。

df46133c-6158-11ed-8abf-dac502259ad0.png

步驟 8:

為 BD 創(chuàng)建頂層文件,運行綜合與實現(xiàn),然后生成器件鏡像。

步驟 9:

導出硬件設計以獲取 XSA 文件。

Vitis 步驟

步驟 1:

在 Vitis 中創(chuàng)建新的應用工程,然后切換至“Create a new platform from hardware”(基于硬件創(chuàng)建新平臺)選項卡。
單擊“+”,選擇從 Vivado 導出的 XSA 文件。

e08c1818-6158-11ed-8abf-dac502259ad0.png

步驟 2:

提供工程名稱,并選擇處理器。

e0a9e37a-6158-11ed-8abf-dac502259ad0.png

步驟 3:

選擇 Hello World 模板,然后單擊“Finish”(完成)。

e0bf4f62-6158-11ed-8abf-dac502259ad0.png

代碼修改

創(chuàng)建完應用工程后,在 main.c 中修改代碼對 AXI BRAM進行讀寫。
Xil_Out64 函數(shù)用于將數(shù)據(jù)寫入 64 位地址,而Xil_In32 函數(shù)則用于地址中讀取 32 位數(shù)據(jù)。
示例:

寫入數(shù)據(jù) API

Xil_Out64(bram_address_write,write_data);

讀取數(shù)據(jù) API

read_data=Xil_In32(bram_address_read);

代碼快照:

e15c7a44-6158-11ed-8abf-dac502259ad0.png

運行設計
連接到VCK190 評估板,并設置啟動模式為 JTAG 啟動模式,然后運行應用。
控制臺輸出示例:

e17b1508-6158-11ed-8abf-dac502259ad0.png

審核編輯:郭婷

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

    關注

    554

    文章

    8058

    瀏覽量

    349576
  • 引擎
    +關注

    關注

    1

    文章

    361

    瀏覽量

    22598
收藏 人收藏

    評論

    相關推薦

    ZYNQ基礎---AXI DMA使用

    通道,ddr讀出數(shù)據(jù)通道和向ddr寫入數(shù)據(jù)通道。其IP結構的兩邊分別對應著用于訪問內存的AXI總線和用于用戶簡
    的頭像 發(fā)表于 01-06 11:13 ?279次閱讀
    ZYNQ基礎---<b class='flag-5'>AXI</b> DMA使用

    如何通過PMC_GPIO喚醒AMD Versal? Adaptive SoC Linux系統(tǒng)

    在功耗敏感的系統(tǒng)里,我們通常會在系統(tǒng)空閑的時候將系統(tǒng)休眠,然后可以通過一些外設的輸入來喚醒系統(tǒng),比如 Uart、USB 和 GPIO。AMD Versal?Adaptive SoC 系統(tǒng)的休眠喚醒
    的頭像 發(fā)表于 12-17 10:07 ?218次閱讀
    如何<b class='flag-5'>通過</b>PMC_GPIO喚醒AMD <b class='flag-5'>Versal</b>? Adaptive SoC Linux系統(tǒng)

    使用 AMD Versal AI 引擎釋放 DSP 計算的潛力

    Versal AI 引擎可以在降低功耗預算的情況下提高 DSP 計算密度,”高級產品營銷經(jīng)理 Udayan Sinha 表示。這種效率使 Versal AI 引擎能夠在嚴格的功耗預算內處理最苛刻
    的頭像 發(fā)表于 11-29 14:07 ?587次閱讀

    Xilinx NVMe AXI4主機控制器,AXI4接口高性能版本介紹

    NVMe AXI4 Host Controller IP可以連接高速存儲PCIe SSD,無需CPU,自動加速處理所有的NVMe協(xié)議命令,具備獨立的數(shù)據(jù)寫入和讀取AXI4接口,不但適用高性能、順序
    的頭像 發(fā)表于 07-18 09:17 ?608次閱讀
    Xilinx NVMe <b class='flag-5'>AXI</b>4主機控制器,<b class='flag-5'>AXI</b>4接口高性能版本介紹

    SoC設計中總線協(xié)議AXI4與AXI3的主要區(qū)別詳解

    AXI4和AXI3是高級擴展接口(Advanced eXtensible Interface)的兩個不同版本,它們都是用于SoC(System on Chip)設計中的總線協(xié)議,用于處理器和其它外設之間的高速數(shù)據(jù)傳輸。
    的頭像 發(fā)表于 05-10 11:29 ?7139次閱讀
    SoC設計中總線協(xié)議<b class='flag-5'>AXI</b>4與<b class='flag-5'>AXI</b>3的主要區(qū)別詳解

    基于FPGA設計的BRAM內部結構

    再看末級觸發(fā)器對BRAM時序性能的影響,下圖依次展示了7系列FPGA、UltraScale+和Versal芯片在未使用和使用末級觸發(fā)器兩種情形下時鐘到輸出的延遲。
    發(fā)表于 04-25 10:42 ?437次閱讀
    基于FPGA設計的<b class='flag-5'>BRAM</b>內部結構

    NoC DDRMC LPDDR4上運行AMD Versal? Adaptive SoC DCMAC設計示例

    注釋:默認 DCMAC 設計示例不包含 NoC DDRMC
    的頭像 發(fā)表于 04-24 09:44 ?847次閱讀
    <b class='flag-5'>NoC</b> DDRMC LPDDR4上運行AMD <b class='flag-5'>Versal</b>? Adaptive SoC DCMAC設計示例

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

    AXI總線由一些核心組成,包括AXI處理器接口(AXI4)、AXI處理器到協(xié)
    發(fā)表于 04-18 11:41 ?1315次閱讀

    用于高級應用處理器的電源管理單元LP3971數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《用于高級應用處理器的電源管理單元LP3971數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 04-02 15:23 ?0次下載
    用于高級應<b class='flag-5'>用處理</b>器的電源管理<b class='flag-5'>單元</b>LP3971數(shù)據(jù)表

    用于高級應用處理器的電源管理單元LP3972數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《用于高級應用處理器的電源管理單元LP3972數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 04-02 15:21 ?0次下載
    用于高級應<b class='flag-5'>用處理</b>器的電源管理<b class='flag-5'>單元</b>LP3972數(shù)據(jù)表

    AMD Versal AI Edge自適應計算加速平臺之PL通過NoC讀寫DDR4實驗(4)

    Versal的DDR4是通過NoC訪問,因此需要添加NoC IP進行配置。
    的頭像 發(fā)表于 03-22 17:18 ?2416次閱讀
    AMD <b class='flag-5'>Versal</b> AI Edge自適應計算加速平臺之PL<b class='flag-5'>通過</b><b class='flag-5'>NoC</b>讀寫DDR4實驗(4)

    【ALINX 技術分享】AMD Versal AI Edge 自適應計算加速平臺之 Versal 介紹(2)

    【ALINX 技術分享】AMD Versal AI Edge 自適應計算加速平臺之 Versal 介紹,以及Versal 芯片開發(fā)流程的簡介。
    的頭像 發(fā)表于 03-07 16:03 ?1082次閱讀
    【ALINX 技術分享】AMD <b class='flag-5'>Versal</b> AI Edge 自適應計算加速平臺之 <b class='flag-5'>Versal</b> 介紹(2)

    AMD Versal AI Edge自適應計算加速平臺之Versal介紹(2)

    Versal 包含了 Cortex-A72 處理器和 Cortex-R5 處理器,PL 端可編程邏輯部分,PMC 平臺管理控制器,AI Engine 等模塊,與以往的 ZYNQ 7000 和 MPSoC 不同,
    的頭像 發(fā)表于 03-06 18:12 ?1519次閱讀
    AMD <b class='flag-5'>Versal</b> AI Edge自適應計算加速平臺之<b class='flag-5'>Versal</b>介紹(2)

    Versal FPGA中的浮點計算單元DSPFP32介紹

    Versal FPGA中最新的DSP原語DSP58,它在最新的DSP48版本上已經(jīng)有了許多改進,主要是27x18有符號乘法器和48位后加法器增加到了27x24和58位。
    的頭像 發(fā)表于 02-22 09:22 ?1459次閱讀
    <b class='flag-5'>Versal</b> FPGA中的浮點計算<b class='flag-5'>單元</b>DSPFP32介紹

    談存儲芯片的演進之路

    NoC的角度來看,我覺得有趣的是,你必須優(yōu)化這些路徑,處理器到NoC,通過控制器
    發(fā)表于 01-24 11:46 ?458次閱讀