91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

如何使用AMD Vitis HLS創(chuàng)建HLS IP

XILINX開發(fā)者社區(qū) ? 來源:XILINX開發(fā)者社區(qū) ? 2025-06-13 09:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文作者:AMD 工程師 Rachel Gaines

本文逐步演示了如何使用 AMD Vitis HLS 來創(chuàng)建一個 HLS IP,通過 AXI4 接口從存儲器讀取數(shù)據(jù)、執(zhí)行簡單的數(shù)學(xué)運算,然后將數(shù)據(jù)寫回存儲器。接著會在 AMD Vivado Design Suite 設(shè)計中使用此 HLS IP,并使用嵌入式 Vitis 應(yīng)用控制此 HLS IP。

具體的運行和測試條件如下:

操作系統(tǒng):Ubuntu 20.04

版本:2023.1

注釋:請確保使用您的操作系統(tǒng)支持的版本 -受支持的操作系統(tǒng)

https://docs.amd.com/r/2023.1-English/ug973-vivado-release-notes-install-license/Supported-Operating-Systems

本文使用的工具流程為 Vitis HLS > Vivado > Vitis IDE。我們將使用 Vitis HLS 創(chuàng)建一個自定義 IP,將該 HLS IP 合并到 Vivado 的硬件設(shè)計中,然后創(chuàng)建一個與 HLS IP 通信的 Vitis 應(yīng)用。該 Vitis 應(yīng)用將按照自定義硬件上的嵌入式工程所需進行設(shè)置。應(yīng)用代碼將利用自動生成的 HLS API 驅(qū)動程序調(diào)用來控制 HLS IP 并與之通信。整個流程假設(shè)您已經(jīng)安裝了 Vitis、Vitis HLS 和 Vivado。

1下載并解壓縮 ReferenceDocs 文件夾

將該文件夾保存在所需工作位置。vitis_hls 和 Vivado 各有單獨的文件夾。稍后,可創(chuàng)建自己的 Vitis 應(yīng)用工程文件夾。

2創(chuàng)建 HLS IP

打開 Linux 終端,執(zhí)行以下命令以便:

進入 vitis_hls 文件夾 - 該文件夾包含 HLS IP 的源代碼。

運行 TCL 腳本來設(shè)置 HLS 工程 - 該腳本還將運行 C 語言仿真、C 語言綜合與協(xié)同仿真。

在 GUI 中打開 HLS 工程

f1e9ec60-45ea-11f0-b715-92fbcf53809c.png

打開 GUI 后,檢查 example.cpp 源代碼。HLS IP 使用 Volatile 指針和 Memcpy 函數(shù)在存儲器上讀取和寫入數(shù)據(jù)。Memcpy 需要一個緩沖器來存儲存儲器傳輸事務(wù)的各項結(jié)果。m_axi 接口編譯指示要求此 IP 使用存儲器映射。深度設(shè)置為 50 意味著串流在給定時間最多可以容納 50 個未完成的元素,選擇該值是為了匹配緩沖器的大小。s_axilite 接口編譯指示允許此 IP 接受應(yīng)用的控制,并與 AMD Zynq SoC 器件通信。

使用 GUI 左下角的 Flow Navigator,以便在 GUI 中運行 C 語言仿真、C 語言綜合與協(xié)同仿真,查看每項報告并熟悉 IDE。準(zhǔn)備就緒后,可以通過在 Flow Navigator 中選擇“Export RTL”來導(dǎo)出 HLS IP,以便在 Vivado 中使用。

3創(chuàng)建 Vivado 平臺

有兩種方法可用于創(chuàng)建 Vivado 平臺。

選項 1:

使用以下所示命令從“Vivado”文件夾運行 Tcl 腳本。運行此腳本后,將創(chuàng)建一個 Vivado 工程,隨后可在 GUI 中打開該工程。在 GUI 中,您需要綜合、實現(xiàn)、生成比特流,并導(dǎo)出硬件。

f1f8dc0c-45ea-11f0-b715-92fbcf53809c.png

選項 2:

按照以下步驟在 Vivado 中自行創(chuàng)建平臺:

打開 Vivado,并使用 ZCU102 評估板創(chuàng)建一個新工程

將 Vitis HLS IP 添加到 IP 目錄中:

打開 IP 目錄,右鍵單擊并選擇“add Repo”。

瀏覽到導(dǎo)出 IP 的位置,并將“ip”文件夾添加到目錄中。默認路徑為 /solution1/impl/IP。

注釋:如果希望使用不同的位置將 HLS IP 添加到 IP 目錄中,可以使用導(dǎo)出 HLS IP 時創(chuàng)建的export.zip文件:

https://docs.xilinx.com/r/en-US/ug1399-vitis-hls/Exporting-the-RTL-Design

它位于相同的默認路徑中,但您可以將其移至期望的位置,并使用該位置代替“ip”文件夾,以添加到 IP 目錄中?!癷p”文件夾所含內(nèi)容與解壓后 IP 的內(nèi)容相同。

創(chuàng)建一個新的塊設(shè)計,并添加 HLS IP 和 Zynq UltraScale+ MPSoC。通過雙擊 Zynq,對其進行自定義。在該設(shè)計中,我們添加了 S_AXI_HP0_FPD 端口。該評估板默認啟用 DDR,但請在“DDR Configurations”選項卡中確認 DDR 是否已啟用。

f20c94fe-45ea-11f0-b715-92fbcf53809c.png

使用設(shè)計輔助來運行自動連接。它將通過 AXI Interconnect 和 AXI SmartConnect 自動連接 Zynq 和 HLS IP。

須手動將 HLS IP 上的中斷端口連接到 Zynq 上的 pl_ps_irq 端口。此時設(shè)計應(yīng)與以下截屏相似:

f2221db0-45ea-11f0-b715-92fbcf53809c.png

打開“Address Editor”選項卡,確保已如下所示分配了所有地址。

f234a304-45ea-11f0-b715-92fbcf53809c.png

確認該設(shè)計。如果沒有錯誤,則運行綜合、實現(xiàn)和生成比特流的步驟。完成后,選擇“File > Export > Export Hardware”導(dǎo)出設(shè)計,并將 XSA 文件保存到期望的位置。

注釋:在導(dǎo)出硬件時,確保選擇“Include bitstream”。

4創(chuàng)建 Vitis 應(yīng)用

打開 Vitis 并選擇“Create Application Project”- 這適用于獨立的嵌入式系統(tǒng)。

對于平臺選擇,請選擇“Create a new platform from hardware (XSA)”選項卡,并瀏覽到您在上一節(jié)中創(chuàng)建的 XSA 文件所在位置。單擊“Next”。

確保選中“Generate boot components”以及“psu_cortexa53_0”。在下一個框中按需更改平臺名稱,然后單擊“Next”。

命名應(yīng)用工程。系統(tǒng)名稱將使用相同的標(biāo)題。選擇處理器“psu_cortexa53_0”。單擊“Next”。

對于“Domain”選擇,請確保操作系統(tǒng)設(shè)置為“standalone”,且架構(gòu)為 64 位。單擊“Next”。

對于模板,請選擇“Empty C Application”。

設(shè)置源代碼

在 GUI 中打開 Vitis 工程后,在左側(cè)的“Explorer”選項卡中右鍵單擊 projectName_system/projectName/src,然后選擇“Import Sources”。在彈出窗口中,瀏覽至源代碼所在的文件夾。

添加 helloworld.c,它位于“閱讀原文”底部的壓縮文件夾中,然后從文件列表中選擇 helloworld.c,如下圖所示。接著單擊“Finish”。

f245094c-45ea-11f0-b715-92fbcf53809c.png

檢查 helloworld.c。整個過程中都有注釋用于解釋每一節(jié)的作用。以“XExample”開頭的數(shù)據(jù)類型和函數(shù)調(diào)用是自動生成的 API 調(diào)用,用來控制 HLS IP 并與之通信。

關(guān)鍵要點包括:須創(chuàng)建一個 Vitis HLS IP 實例,如第 14 行所示,并使用 API 調(diào)用來獲取/設(shè)置 IP 與數(shù)據(jù)并且啟動它(第 34、35 和 48 行)。

此時還須完成另一項不尋常的操作,即,使用 Xil_DCacheInvalidate() 函數(shù),告訴處理器對 DDR(而非其高速緩存)執(zhí)行讀取/寫入操作,以確保處理器和 HLS IP 在相同的位置執(zhí)行讀取/寫入。

構(gòu)建并運行工程

構(gòu)建系統(tǒng)工程。這將構(gòu)建整個工程,包括平臺和應(yīng)用。右鍵單擊系統(tǒng)工程或選擇錘子圖標(biāo)。還可以使用左下角的應(yīng)用助手來構(gòu)建和運行設(shè)計。

該工程未經(jīng)軟件仿真測試,因為這需要執(zhí)行額外的步驟,不在本博客的討論范圍之內(nèi)。但在 ZCU102 評估板上,已通過選擇“Run As”選項中的“Launch Hardware”來對該工程進行了測試和驗證。當(dāng)連接到該評估板時,您還可以運行調(diào)試器并單步執(zhí)行代碼。您可使用終端連接到 UART (com0),以查看硬件上的輸出。

參考文件

HLS - Tcl 腳本 - run_hls.tcl

HLS - 源代碼 - example.cpp 和測試激勵文件

Vivado - 從 write_project_tcl 創(chuàng)建的 Tcl 腳本

Vitis - 應(yīng)用源代碼

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

    關(guān)注

    25

    文章

    5682

    瀏覽量

    139916
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    9518

    瀏覽量

    156996
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    857

    瀏覽量

    71094
  • Vitis
    +關(guān)注

    關(guān)注

    0

    文章

    157

    瀏覽量

    8340

原文標(biāo)題:開發(fā)者分享|AMD Vitis? HLS 系列 1 - AMD Vivado? IP 流程(Vitis 傳統(tǒng) IDE)

文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    使用AMD Vitis Unified IDE創(chuàng)建HLS組件

    這篇文章在開發(fā)者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程(Vit
    的頭像 發(fā)表于 06-20 10:06 ?2321次閱讀
    使用<b class='flag-5'>AMD</b> <b class='flag-5'>Vitis</b> Unified IDE<b class='flag-5'>創(chuàng)建</b><b class='flag-5'>HLS</b>組件

    如何在Unified IDE中創(chuàng)建視覺庫HLS組件

    Vivado IP 流程(Vitis Unified),在這篇 AMD Vitis HLS 系列 3 中,我們將介紹如何使用 Unifie
    的頭像 發(fā)表于 07-02 10:55 ?1435次閱讀
    如何在Unified IDE中<b class='flag-5'>創(chuàng)建</b>視覺庫<b class='flag-5'>HLS</b>組件

    FPGA高層次綜合HLSVitis HLS知識庫簡析

    1、HLS最全知識庫介紹高層次綜合(High-level Synthesis)簡稱HLS,指的是將高層次語言描述的邏輯結(jié)構(gòu),自動轉(zhuǎn)換成低抽象級語言描述的電路模型的過程。對于AMD Xilinx而言
    發(fā)表于 09-07 15:21

    使用Vitis HLS創(chuàng)建屬于自己的IP相關(guān)資料分享

    1、使用Vitis HLS創(chuàng)建屬于自己的IP高層次綜合(High-level Synthesis)簡稱HLS,指的是將高層次語言描述的邏輯結(jié)
    發(fā)表于 09-09 16:45

    如何在Vitis HLS中使用C語言代碼創(chuàng)建AXI4-Lite接口

    在本教程中,我們將來聊一聊有關(guān)如何在 Vitis HLS 中使用 AXI4-Lite 接口創(chuàng)建定制 IP 的基礎(chǔ)知識。
    的頭像 發(fā)表于 09-13 10:04 ?7524次閱讀
    如何在<b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b>中使用C語言代碼<b class='flag-5'>創(chuàng)建</b>AXI4-Lite接口

    Vivado HLSVitis HLS 兩者之間有什么區(qū)別

    Vitis HLS下,一個Solution的Flow Target可以是Vivado IP Flow Target,也可以是VitisKernel Flow Target,如下圖所示。前者最終導(dǎo)出來
    的頭像 發(fā)表于 11-05 17:43 ?4.1w次閱讀

    Vitis HLS工具簡介及設(shè)計流程

    Vitis HLS 是一種高層次綜合工具,支持將 C、C++ 和 OpenCL 函數(shù)硬連線到器件邏輯互連結(jié)構(gòu)和 RAM/DSP 塊上。Vitis HLS 可在
    的頭像 發(fā)表于 05-25 09:43 ?3603次閱讀

    Vitis HLS如何添加HLS導(dǎo)出的.xo文件

    HLS導(dǎo)出的.xo文件如何導(dǎo)入到Vitis里面?需要把.xo文件解壓,然后把文件夾導(dǎo)入到Vitis Kernel/src文件夾下嗎?
    的頭像 發(fā)表于 08-03 11:20 ?4075次閱讀
    <b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b>如何添加<b class='flag-5'>HLS</b>導(dǎo)出的.xo文件

    使用AXI4-Lite將Vitis HLS創(chuàng)建IP連接到PS

    在 AXI 基礎(chǔ)第 6 講 - Vitis HLS 中的 AXI4-Lite 簡介中,使用 C 語言在 HLS創(chuàng)建包含 AXI4-Lite 接口的
    發(fā)表于 08-02 09:43 ?1337次閱讀
    使用AXI4-Lite將<b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b><b class='flag-5'>創(chuàng)建</b>的<b class='flag-5'>IP</b>連接到PS

    Vitis HLS知識庫總結(jié)

    對于AMD Xilinx而言,Vivado 2019.1之前(包括),HLS工具叫Vivado HLS,之后為了統(tǒng)一將HLS集成到Vitis
    的頭像 發(fā)表于 09-02 09:06 ?4768次閱讀

    HLS最全知識庫

    對于AMD Xilinx而言,Vivado 2019.1之前(包括),HLS工具叫Vivado HLS,之后為了統(tǒng)一將HLS集成到Vitis
    的頭像 發(fā)表于 01-15 11:27 ?4205次閱讀

    AMD全新Vitis HLS資源現(xiàn)已推出

    AMD Vitis HLS 工具允許用戶通過將 C/C++ 函數(shù)綜合成 RTL,輕松創(chuàng)建復(fù)雜的 FPGA 算法。Vitis
    的頭像 發(fā)表于 04-23 10:41 ?1827次閱讀
    <b class='flag-5'>AMD</b>全新<b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b>資源現(xiàn)已推出

    關(guān)于HLS IP無法編譯解決方案

    Xilinx平臺的Vivado HLSVitis HLS 使用的 export_ip 命令會無法導(dǎo)出 IP
    的頭像 發(fā)表于 07-07 14:14 ?2038次閱讀
    關(guān)于<b class='flag-5'>HLS</b> <b class='flag-5'>IP</b>無法編譯解決方案

    Vitis HLS移植指南

    電子發(fā)燒友網(wǎng)站提供《Vitis HLS移植指南.pdf》資料免費下載
    發(fā)表于 09-13 09:21 ?1次下載
    <b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b>移植指南

    研討會:利用編譯器指令提升AMD Vitis? HLS 設(shè)計性能

    /C++ 代碼為 AMD 設(shè)備上可編程邏輯的 RTL 代碼加速 IP 創(chuàng)建。 在 Vitis HLS 中,優(yōu)化指令脫穎而出成為最強大的工具之
    的頭像 發(fā)表于 12-05 09:10 ?1629次閱讀
    研討會:利用編譯器指令提升<b class='flag-5'>AMD</b> <b class='flag-5'>Vitis</b>? <b class='flag-5'>HLS</b> 設(shè)計性能