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

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

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

如何通過NoC從Versal?應(yīng)用處理單元(APU)訪問AXI BRAM呢?

FPGA技術(shù)江湖 ? 來源:XILINX開發(fā)者社區(qū) ? 2023-03-13 10:23 ? 次閱讀

Versal

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

智能引擎包括:

SIMD VLIW AI 引擎,適用于自適應(yīng)推斷和高級(jí)信號(hào)處理計(jì)算

DSP 引擎,適用于定點(diǎn)運(yùn)算、浮點(diǎn)運(yùn)算和復(fù)雜的 MAC 運(yùn)算。

自適應(yīng)引擎將可編程邏輯塊與存儲(chǔ)器有機(jī)結(jié)合,它具備專為應(yīng)對(duì)高計(jì)算密度需求而設(shè)計(jì)的架構(gòu)。

標(biāo)量引擎包括 Arm Cortex-A72 和 Cortex-R5 處理器,支持計(jì)算密集型任務(wù)。

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

片上網(wǎng)絡(luò) (NoC) 是一個(gè) AXI 互連網(wǎng)絡(luò),用于在可編程邏輯 (PL)、處理器系統(tǒng) (PS) 和其它硬核塊中的 IP 端點(diǎn)之間共享數(shù)據(jù)。

此基礎(chǔ)架構(gòu)覆蓋整個(gè)器件,基于專有的切換開關(guān)形成高速集成的數(shù)據(jù)路徑。

模塊框圖

280f288c-bf9c-11ed-bfe3-dac502259ad0.png

Vivado 步驟

步驟 1:

以 VCK190 評(píng)估板為目標(biāo)創(chuàng)建工程,并在 IP integrator 內(nèi)創(chuàng)建塊設(shè)計(jì)。

步驟 2:

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

2830b4f2-bf9c-11ed-bfe3-dac502259ad0.png

步驟 3:

雙擊打開 NoC IP,在“General”(常規(guī))選項(xiàng)卡中進(jìn)行以下設(shè)置:

Number of AXI Master Interfaces(AXI 主接口數(shù))= 1

Number of AXI Clocks(AXI 時(shí)鐘數(shù))= 7

284e606a-bf9c-11ed-bfe3-dac502259ad0.png

步驟 4:

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

286ba210-bf9c-11ed-bfe3-dac502259ad0.png

步驟 5:

將 AXI BRAM 添加到塊設(shè)計(jì)中,單擊“Run Connection Automation”(運(yùn)行自動(dòng)連接),然后選中 pl_clk0 作為從接口的時(shí)鐘源。

2888bb2a-bf9c-11ed-bfe3-dac502259ad0.png

步驟 6:

再次運(yùn)行“Run Connection Automation”,配置 ext_reset_in接口。

28a81b14-bf9c-11ed-bfe3-dac502259ad0.png

步驟 7:

運(yùn)行“validation”(確認(rèn))步驟,確認(rèn)成功后,檢查“Address Editor”(地址編輯器)選項(xiàng)卡。

28c55a44-bf9c-11ed-bfe3-dac502259ad0.png

步驟 8:

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

步驟 9:

導(dǎo)出硬件設(shè)計(jì)以獲取 XSA 文件。

Vitis 步驟

步驟 1:

在 Vitis 中創(chuàng)建新的應(yīng)用工程,然后切換至“Create a new platform from hardware”(基于硬件創(chuàng)建新平臺(tái))選項(xiàng)卡。

單擊“+”,選擇從 Vivado 導(dǎo)出的 XSA 文件。

28efc694-bf9c-11ed-bfe3-dac502259ad0.png

步驟 2:

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

29045172-bf9c-11ed-bfe3-dac502259ad0.png

步驟 3:

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

292476a0-bf9c-11ed-bfe3-dac502259ad0.png

代碼修改

創(chuàng)建完應(yīng)用工程后,在 main.c 中修改代碼對(duì) AXI BRAM進(jìn)行讀寫。

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);

代碼快照:

2953da8a-bf9c-11ed-bfe3-dac502259ad0.png

運(yùn)行設(shè)計(jì)

連接到VCK190 評(píng)估板,并設(shè)置啟動(dòng)模式為 JTAG 啟動(dòng)模式,然后運(yùn)行應(yīng)用。

控制臺(tái)輸出示例:

297b24f0-bf9c-11ed-bfe3-dac502259ad0.png






審核編輯:劉清

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

    關(guān)注

    552

    文章

    7919

    瀏覽量

    347633
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7403

    瀏覽量

    163396
  • APU
    APU
    +關(guān)注

    關(guān)注

    0

    文章

    141

    瀏覽量

    23674
  • NoC
    NoC
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    11709
  • BRAM
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    10927

原文標(biāo)題:在 Versal 中通過 NoC 從 PS-APU 對(duì) AXI BRAM 執(zhí)行基本讀寫操作

文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AMD Versal AI Edge自適應(yīng)計(jì)算加速平臺(tái)之PL通過NoC讀寫DDR4實(shí)驗(yàn)(4)

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

    如何在不使用DDR內(nèi)存控制器的情況下設(shè)計(jì)FPGA BRAM大容量存儲(chǔ)單元?

    計(jì)算機(jī)上看不到任何大容量存儲(chǔ)單元。甚至,我嘗試通過將它們連接到不同的AXI總線來使用DDR和BRAM,將微型M_AXI_IC和M_
    發(fā)表于 04-04 15:10

    怎么使用AXI CDMAOCM/DDR寫入BRAM

    可以Zynq上運(yùn)行的Linux控制的額外IP。我要做的就是將一些配置數(shù)據(jù)寫入PL中的BRAM。要做到這一點(diǎn),根據(jù)我在其他地方得到的建議,我提出了一個(gè)axi_cdma。所以CDMA有一個(gè)
    發(fā)表于 04-19 07:50

    如何使用pcie鏈接外部處理訪問bram?

    嗨,我能夠在我們的定制板上連接到virtex 7 fpga。我的塊級(jí)設(shè)計(jì)具有用于pcie的軸橋作為終點(diǎn)和axi bram。但我無法使用pcie鏈接外部處理
    發(fā)表于 04-22 09:31

    請(qǐng)問如何通過MicroBlaze訪問BRAM?

    嗨,大家好,我正在研究Vivado 2014.4,Xilinx KC705。我需要通過Microblaze讀取存儲(chǔ)在BRAM(coe文件)中的數(shù)據(jù)進(jìn)行計(jì)算。我是微博閱讀部分的新手。有人可以建議我
    發(fā)表于 05-20 08:38

    利用NoC資源解決FPGA內(nèi)部數(shù)據(jù)交換的瓶頸

    的基礎(chǔ)上進(jìn)行擴(kuò)展,增加到 8 個(gè) AXI4 總線主設(shè)備連接到 8 個(gè) AXI4 總線設(shè)備,同時(shí)加上了跨時(shí)鐘域邏輯。為了進(jìn)行對(duì)比,我們用另外一個(gè)設(shè)計(jì),目的還是用這 8 個(gè)讀寫模塊去訪問
    發(fā)表于 09-07 15:25

    如何利用NoC資源去支撐FPGA中的創(chuàng)新設(shè)計(jì)

    ;不同的是,這次我們將8個(gè)讀寫模塊連接到Achronix的Speedster7t FPGA器件的2D NoC上,然后通過2D NoC訪問8個(gè)GDDR6通道。如圖2所示:首先,我們
    發(fā)表于 10-20 09:54

    應(yīng)用角度詳解什么是AXI

    本節(jié)介紹的AXI是個(gè)什么東西,它其實(shí)不屬于Zynq,不屬于Xilinx,而是屬于ARM。它是ARM最新的總線接口,以前叫做AMBA,3.0以后就稱為AXI了。 書上講的
    的頭像 發(fā)表于 07-13 07:08 ?1.1w次閱讀
    <b class='flag-5'>從</b>應(yīng)用角度詳解什么是<b class='flag-5'>AXI</b>

    應(yīng)用處理器芯片行業(yè)科普

    APU市場(chǎng)概述APU(應(yīng)用處理器)概述APU定義APU(Application Processor Unit),又名應(yīng)
    發(fā)表于 01-25 19:55 ?1次下載
    應(yīng)<b class='flag-5'>用處理</b>器芯片行業(yè)科普

    加速處理單元 (APU) 革命

    CPU 和 GPU 以 APU 的形式組合,適用于 AI 和 ML 等非顯示應(yīng)用。 加速處理單元 (APU) 將計(jì)算機(jī)中央處理
    發(fā)表于 07-30 15:04 ?758次閱讀

    MicroBlaze大內(nèi)部存儲(chǔ)器(AXI BRAM)設(shè)計(jì)

    MicroBlaze可以使用AXI BRAM存放數(shù)據(jù)和指令。有些客戶軟件很大,需要把AXI BRAM的空間做到最大。AXI
    的頭像 發(fā)表于 08-02 10:09 ?3073次閱讀
    MicroBlaze大內(nèi)部存儲(chǔ)器(<b class='flag-5'>AXI</b> <b class='flag-5'>BRAM</b>)設(shè)計(jì)

    Versal通過NoCPS-APU對(duì)AXI BRAM執(zhí)行基本讀寫操作

    本篇博文旨在演示如何通過 NoC Versal 應(yīng)用處理單元 (
    的頭像 發(fā)表于 11-09 10:24 ?589次閱讀

    如何通過NoC Versal應(yīng)用處理單元訪問AXI BRAM

    Versal 架構(gòu)將“Scalar Engine”(標(biāo)量引擎)、“Adaptable Engine”(自適應(yīng)引擎)和“Intelligent Engine”(智能引擎)這三種不同類型的引擎與豐富的連接和通信功能以及片上網(wǎng)絡(luò) (NoC) 有機(jī)結(jié)合,從而支持實(shí)現(xiàn)覆蓋整個(gè)器件的
    的頭像 發(fā)表于 11-11 09:09 ?595次閱讀

    如何通過NoCVersal應(yīng)用處理單元(APU)訪問AXI BRAM

    Versal 架構(gòu)將“Scalar Engine”(標(biāo)量引擎)、“Adaptable Engine”(自適應(yīng)引擎)和“Intelligent Engine”(智能引擎)這三種不同類型的引擎與豐富的連接和通信功能以及片上網(wǎng)絡(luò) (NoC) 有機(jī)結(jié)合,從而支持實(shí)現(xiàn)覆蓋整個(gè)器件的
    的頭像 發(fā)表于 11-11 09:10 ?644次閱讀

    Versal CPM AXI Bridge模式的地址轉(zhuǎn)換

    Versal 系列的 DMA axi bridge 模式可以在 PL 的 QDMA IP 或者在 CPM(The integrated block for PCIe Rev. 4.0
    的頭像 發(fā)表于 05-10 09:47 ?1466次閱讀
    <b class='flag-5'>Versal</b> CPM <b class='flag-5'>AXI</b> Bridge模式的地址轉(zhuǎn)換