那曲檬骨新材料有限公司

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

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

3天內不再提示

如何導出IP以供在 Vivado Design Suite 中使用

OpenFPGA ? 來源:OpenFPGA ? 作者:Aoife Marsh ? 2022-07-08 09:34 ? 次閱讀

在 AXI 基礎第 6 講 - Vitis HLS 中的 AXI4-Lite 簡介中,使用 C 語言在 HLS 中創建包含 AXI4-Lite 接口的 IP。

在本篇博文中,我們將學習如何導出 IP 以供在 Vivado Design Suite 中使用、如何將其連接到其它 IP 核與處理器以及如何在板上運行工程。

本篇博文將分為 3 個部分:

1. 從 Vitis HLS 導出 IP。

2. 使用Vivado Design Suite創建硬件。

3. 在Vitis 統一軟件平臺中編寫軟件并在板上運行。

01

導出 IP

在AXI 基礎第 6 講 - Vitis HLS 中的 AXI4-Lite 簡介中(AXI 第六講請回復本公眾號AXI 獲得),我們創建了 1 個包含 AXI4-Lite 接口的 IP。如果要把新 IP 連接到任何其它 IP 或者連接到 PS,則首先需要將軟件代碼綜合成 RTL(即,將其轉換為硬件)。隨后,我們就可以將 RTL IP 導出到 Vivado Design Suite,以便在其中將其連接到其它 IP 核或者連接到 PS。

1.1. 按如下所示編輯代碼,然后保存。

int example(char *a, char *b, char *c)

{

#pragma HLS INTERFACE s_axilite port=a bundle=BUS_A

#pragma HLS INTERFACE s_axilite port=b bundle=BUS_A

#pragma HLS INTERFACE s_axilite port=c bundle=BUS_A

#pragma HLS INTERFACE s_axilite port=return bundle=BUS_A

*c += *a + *b;

int result = 0;

result = *c;

return result;

}

1.2. 鑒于我們將在板上運行此代碼,因此需要將綜合設置更改為對應于可用的開發板的設置。

我這里選擇的是 Zynq UltraScale+ ZCU106 評估板。要更改所使用的開發板,請轉至“解決方案 (Solution) -> 解決方案設置 (Solution Settings) -> 綜合設置 (Synthesis Settings)”,然后選擇如下所示高亮的“...”即可選擇可用的開發板。

3a094bc4-fe56-11ec-ba43-dac502259ad0.png

1.3. 選擇屏幕頂部的綠色運行按鈕即可運行 C 語言綜合。這樣即可將代碼轉換為 RTL:

3a33b27e-fe56-11ec-ba43-dac502259ad0.png

1.4. 完成綜合后,您可選擇“導出 RTL (ExportRTL)”工具欄按鈕,或者也可以單擊“解決方案 (Solution) -> 導出 RTL (Export RTL)”以打開“Export RTL”對話框。

3a4941d4-fe56-11ec-ba43-dac502259ad0.png

1.5. 打開的對話框應如下截屏所示。

本文包含有關所有可用選項的詳細解釋。

選擇“配置 (configuration)”選項,為新 RTL IP 添加詳細信息。將顯示名稱更改為“Example”,然后選擇“確定 (OK)”。當您在 Vivado Design Suite 中打開自己的 IP 時,將顯示此名稱。

選擇“瀏覽 (Browse)”按鈕以選擇 Vivado IP (.zip) 文件的輸出位置及其名稱。輸出的 ZIP 文件將包含您的 RTL IP,您可將其導入 Vivado Design Suite。

3a740efa-fe56-11ec-ba43-dac502259ad0.png

1.6. 等待工具完成導出,然后打開 Vivado Design Suite。選擇“創建新工程”選項:

3a893f82-fe56-11ec-ba43-dac502259ad0.png

1.7. 對于后續所有其它步驟,請選擇“下一步 (Next)”。選擇器件時,請務必選擇您在創建工程時所選的器件。如果您不確定,可在 Vitis HLS 中的“解決方案設置 (solution settings) -> 綜合設置 (synthesis settings)”下找到該器件。如果您選擇其它器件,那么將您的 IP 導入 Vivado Design Suite 時可能會出現問題。

最后,選擇“完成 (Finish)”以打開空工程。

1.8. 要使用 Vivado 工程中生成的 IP,首先必須將新 IP 存儲庫添加到 Vivado 工程中。此處所示文件夾包含從 Vitis HLS 導出的 .zip 文件。要添加存儲庫,請選擇“設置 (Settings) -> IP -> 存儲庫 (Repository)”。選擇 + 按鈕并在 Vitis HLS 中選擇 IP 導出的位置(即,以上第 6 步)。

3a984720-fe56-11ec-ba43-dac502259ad0.png

選擇位于對話框底部的“應用 (Apply)”按鈕,然后選擇“確定 (OK)”。

1.9. 選擇 IP 目錄 (Select IP Catalog)。現在,您的新存儲庫應已顯示在目錄中。

如已成功導入 IP,那么詳細信息窗口中所列出的 IP 數量應為“1”。

3ac3b608-fe56-11ec-ba43-dac502259ad0.png

注:如果列出的 IP 數量為 0,那么您可右鍵單擊自己的新存儲庫并選擇“將 IP 添加到存儲庫中 (Add IP to Repository)”。選擇您從 Vitis HLS 導出的 ZIP 文件。隨后,存儲庫中的 IP 數量應已顯示為“1”。如果未顯示正確數量,請檢查您在 Vitis HLS 中所選的板/器件與您在 Vivado 中所使用的是否相同,否則,則表示您的 IP 可能不兼容。

3af1fa40-fe56-11ec-ba43-dac502259ad0.png

1.10. 在 Flow Navigator 中,選擇“創建模塊設計 (Create Block Design)”。

在顯示的選項卡中,選擇 + 按鈕并搜索您在第 6 步中在 Vitis HLS 中指定的 IP 名稱(即,Example)。

3b0c79e2-fe56-11ec-ba43-dac502259ad0.png

祝賀您!您已成功創建了 IP、將其從 Vitis HLS 導出并已添加到 Vivado Design Suite 中的模塊設計中。

3b1ae842-fe56-11ec-ba43-dac502259ad0.png

單擊 s_axi_BUS_A 旁的 + 按鈕即可展開端口。如需獲取更多相關信息,請參閱(PG155 )中的 “端口描述”。

3b3023ba-fe56-11ec-ba43-dac502259ad0.png

3b3f62d0-fe56-11ec-ba43-dac502259ad0.png

02

創建硬件

您可能會想要連接到 PS 以便充分利用其功能。添加 PS IP(如 ZCU106 評估板上提供的 Zynq UltraScale+ MPSoC IP)即可支持您執行此操作。如需獲取有關 Zynq UltraScale+ MPSoC IP 的更多信息,請掃碼參閱:

3b601232-fe56-11ec-ba43-dac502259ad0.png

2.1. 將 Zynq UltraScale+ MPSoC IP 添加到模塊框圖中。添加完成后,將在屏幕頂部出現一條提示信息。選擇“運行自動連接功能 (Run Connection Automation)”。

3b71e43a-fe56-11ec-ba43-dac502259ad0.png

2.2. 這樣即可得到如下圖示。或者,您可為此 IP 手動添加所有器件,并如該圖所示連接這些器件。這樣即可得到如下圖示:

3b958ade-fe56-11ec-ba43-dac502259ad0.png

2.3. 右鍵單擊“源 (Source)”選項卡下的.bd 以創建 HDL 封裝器 (wrapper)。運行綜合、運行實現,然后生成比特流。下一步,選擇“文件 (File) -> 導出 (Export) -> 導出硬件 (Export Hardware)”。請務必選中包含比特流的選項,并記下所選導出位置。這樣即可創建包含所有硬件信息的 XSA 文件。現在,您可以關閉 Vivado。

03

編寫軟件

鑒于您的硬件已完成創建并導出,我們需要編寫軟件以向硬件提供操作指示。我們將在Vitis中編寫軟件。您將需要從賽靈思網站下載 Vitis Core 開發套件(掃碼查閱)。

3bba47f2-fe56-11ec-ba43-dac502259ad0.png

3.1. 打開 Vitis。在打開的菜單中,選擇“創建平臺工程 (Create Platform Project)”。這將生成工程基本信息,我們將在其中添加硬件信息(XSA 文件)并編寫一些軟件定義。出現提示時,請選中“從 XSA 文件創建 (create from XSA file)”選項。隨后,我們需要選擇以上步驟 2.3 中的 XSA 文件導出位置。繼續完成其它設置,最后單擊“完成 (Finish)”。

3.2. 下一步,我們需要創建包含軟件的應用工程。它將基于我們的平臺工程,因此其中包含我們的硬件信息,并且我們需要使用該應用工程在目標板上運行應用。選擇“文件 (File) -> 新建 (New) -> 新建應用工程 (New Application Project)”。

3.3. 出現提示時,選中“選擇存儲庫中的平臺 (Select a platform from arepository)”選項。選擇步驟 3.1 中創建的平臺工程,然后單擊“下一步 (Next)”。

3bc7ab18-fe56-11ec-ba43-dac502259ad0.png

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

3becfbfc-fe56-11ec-ba43-dac502259ad0.png

3.5. 現在,Hello World 代碼會顯示在/src/helloworld.c下。為了執行完整性檢查,我們將通過 JTAG 把示例下載到板上,并使用 UART 終端查看 printf 信息。

為此,請連接目標板,并打開終端仿真器軟件(例如,Tera Term)以讀取輸出消息。如果您不知曉如何執行此操作,請參閱板相關的用戶指南。 編譯并運行程序。正確完成此操作后,您應可在 Tera Term 中看到 Hello World 打印信息。

3.6. 現在,確認板已正確連接后,下一步即可創建使用 HLS IP 的代碼。從Vitis_Code.c復制代碼(隨附于本教程)并將其粘貼到 helloworld.c 中,替換原有 helloworld 代碼。

保存,然后重新編譯并運行軟件。這次 Tera Term 會提示您提供 2 項輸入:A 和 B,這 2 項將作為輸入一并傳遞給 HLS IP 中,并顯示結果。

注:由于在 Vitis HLS 中,A 和 B 已定義為“char”類型,因此輸入的值上限為 127。

3bfd6a64-fe56-11ec-ba43-dac502259ad0.png

示例代碼使用由 Vitis 自動創建的函數,因此開發非常便捷。

在名為X.h的文件中以及在/hw/drivers//src 下可找到所使用的函數。

如需獲取有關這些函數的詳細信息,請掃碼參閱。請查看此文件以及該文件夾中的其它相關文件。您可通過編輯這些文件來進一步控制自己的 IP 以及執行中斷編程等操作。

3c21a352-fe56-11ec-ba43-dac502259ad0.png

原文標題:開發者分享 | AXI 基礎第 6 講 - 使用 AXI4-Lite 將 Vitis HLS 創建的 IP 連接到 PS

文章出處:【微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭靜

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

    關注

    68

    文章

    19407

    瀏覽量

    231183
  • 接口
    +關注

    關注

    33

    文章

    8691

    瀏覽量

    151915
  • 軟件
    +關注

    關注

    69

    文章

    5009

    瀏覽量

    88072
  • Vivado
    +關注

    關注

    19

    文章

    815

    瀏覽量

    66888

原文標題:開發者分享 | AXI 基礎第 6 講 - 使用 AXI4-Lite 將 Vitis HLS 創建的 IP 連接到 PS

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AMD Versal自適應SoC器件Advanced Flow概覽(下)

    在 AMD Vivado Design Suite 2024.2 版本中,Advanced Flow 自動為所有 AMD Versal 自適應 SoC 器件啟用。請注意,Advanced Flow
    的頭像 發表于 01-23 09:33 ?101次閱讀
    AMD Versal自適應SoC器件Advanced Flow概覽(下)

    Vivado Design Suite用戶指南: 設計分析與收斂技巧

    電子發燒友網站提供《Vivado Design Suite用戶指南: 設計分析與收斂技巧.pdf》資料免費下載
    發表于 01-15 15:28 ?0次下載
    <b class='flag-5'>Vivado</b> <b class='flag-5'>Design</b> <b class='flag-5'>Suite</b>用戶指南: 設計分析與收斂技巧

    Vivado Design Suite用戶指南:邏輯仿真

    電子發燒友網站提供《Vivado Design Suite用戶指南:邏輯仿真.pdf》資料免費下載
    發表于 01-15 15:25 ?0次下載
    <b class='flag-5'>Vivado</b> <b class='flag-5'>Design</b> <b class='flag-5'>Suite</b>用戶指南:邏輯仿真

    AMD Vivado Design Suite 2024.2全新推出

    AMD Vivado Design Suite 2024.2 全新推出,使用 AMD Versal Adaptive SoC 進行設計的重大改進。此版本為 AMD Versal 自適應 SoC
    的頭像 發表于 11-22 13:54 ?398次閱讀

    U50的AMD Vivado Design Tool flow設置

    AMD Alveo 加速卡使用有兩種流程,AMD Vitis Software Platform flow 和 AMD Vivado Design Tool flow。比較常見的是 Vitis
    的頭像 發表于 11-13 10:14 ?277次閱讀
    U50的AMD <b class='flag-5'>Vivado</b> <b class='flag-5'>Design</b> Tool flow設置

    每次Vivado編譯的結果都一樣嗎

    tool inputs? 對大多數情況來說,Vivado編譯的結果是一樣的,但要保證下面的輸入是一樣的: Design sources Constraints Tcl scripts and command
    的頭像 發表于 11-11 11:23 ?569次閱讀
    每次<b class='flag-5'>Vivado</b>編譯的結果都一樣嗎

    vivado導入舊版本的項目,IP核心被鎖。

    vivado導入其他版本的項目的時候,IP核被鎖,無法解開,請問該如何解決。 使用軟件:vivado 2019.2 導入項目使用版本:vivado 2018
    發表于 11-08 21:29

    Vivado中FFT IP核的使用教程

    本文介紹了Vidado中FFT IP核的使用,具體內容為:調用IP核>>配置界面介紹>>IP核端口介紹>>MATLAB生成測試數據>>測試verilogHDL>>TestBench仿真>>結果驗證>>FFT運算。
    的頭像 發表于 11-06 09:51 ?1477次閱讀
    <b class='flag-5'>Vivado</b>中FFT <b class='flag-5'>IP</b>核的使用教程

    AMBA AXI4接口協議概述

    AMBA AXI4(高級可擴展接口 4)是 ARM 推出的第四代 AMBA 接口規范。AMD Vivado Design Suite 2014 和 ISE Design
    的頭像 發表于 10-28 10:46 ?309次閱讀
    AMBA AXI4接口協議概述

    Multi-Scaler IP的Linux示例以及Debug(上)

    本篇文章介紹了在 ZCU106 上創建 Video Multi-Scaler IP 的 AMD Vivado? Design Tool 和 Petalinux 工程;在 ZCU106 上 Run 生成的 Image,并測試生成的
    的頭像 發表于 09-18 10:03 ?476次閱讀
    Multi-Scaler <b class='flag-5'>IP</b>的Linux示例以及Debug(上)

    AMD Vivado Design Suite 2024.1全新推出

    AMD Vivado Design Suite 2024.1 可立即下載。最新版本支持全新 AMD MicroBlaze V 軟核處理器,并針對 QoR 和 Dynamic Function
    的頭像 發表于 09-18 09:41 ?561次閱讀

    一個更適合工程師和研究僧的FPGA提升課程

    設計; ● UltraFast 設計方法; ● 使用UltraScale和UltraScale+架構進行設計; ● FPGA 功耗最優化; ● 使用 Vivado Design Suite 4
    發表于 06-05 10:09

    淺談Pango_Design_Suite工具的安裝

    聯系了小眼睛FPGA官方客服,獲取了基于PGX-Mini 4K開發板的SDK包,這里有包含了兩個版本的Pango_Design_Suite安裝文件,筆者
    發表于 05-30 00:43

    Vivado 使用Simulink設計FIR濾波器

    領域都有著廣泛的應用。 Vivado自帶的FIR濾波器IP核已經很好用,這里借FIR濾波器的設計,介紹Simulink圖形設計編程方法。Simulink可以使設計更直觀,使硬件資源得到更為高效的利用
    發表于 04-17 17:29

    如何在AMD Vivado? Design Tool中用工程模式使用DFX流程?

    本文介紹了在 AMD Vivado? Design Tool 中用工程模式使用 DFX 流程以及需要注意的地方。在使用 DFX 工程模式的過程中要把具體步驟映射到相應的 DFX 非工程模式的步驟,這樣才能更好地理解整個流程的運行邏輯。
    的頭像 發表于 04-17 09:28 ?1003次閱讀
    如何在AMD <b class='flag-5'>Vivado</b>? <b class='flag-5'>Design</b> Tool中用工程模式使用DFX流程?
    百家乐官网玩法与规则| 百家乐娱乐城玩法| 威尼斯人娱乐城首存| 百家乐官网注册送免费金| 百家乐平台那家好| 境外赌博| 百家乐游戏机出千| 立博官网| 百家乐的庄闲概率| 博彩旅游业| 240线法杨公风水| bet365备用主页器| 百家乐官网发牌靴8| 网页棋牌游戏| 百家乐官网是个什么样的游戏| 棋牌室转让| 正宗杨公风水24山分金| 威尼斯人娱乐城| 太阳城百家乐筹码租| 舞钢市| 网上百家乐内幕| 百家乐官网获胜秘决| 兰桂坊百家乐的玩法技巧和规则| 百家乐官网折桌子| 威尼斯人娱乐网址| 现场百家乐官网牌路分析| 大发888 casino组件下载| 做生意怎么看风水| 灌阳县| 百家乐策略大全| 百家乐官网澳门路规则算法 | 好运来百家乐官网现金网| 百家乐是怎样算牌| 百家乐官网双层筹码盘| 淘金百家乐的玩法技巧和规则 | 八卦图24山代表的| 阿勒泰市| 百家乐怎么才能| 百家乐官网龙虎台布| 博e百娱乐城注册| 温州市百家乐鞋业|