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

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

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

如何導(dǎo)出IP以供在Vivado Design Suite中使用?

YCqV_FPGA_EETre ? 來源:XILINX ? 作者:Aoife Marsh ? 2021-04-26 17:32 ? 次閱讀

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

在本篇博文中,我們將學(xué)習(xí)如何導(dǎo)出 IP 以供在 Vivado Design Suite 中使用、如何將其連接到其它 IP 核與處理器以及如何在板上運(yùn)行工程。

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

1. 從 Vitis HLS 導(dǎo)出 IP。

2. 使用Vivado Design Suite創(chuàng)建硬件。

3. 在Vitis 統(tǒng)一軟件平臺中編寫軟件并在板上運(yùn)行。

01

導(dǎo)出 IP

在AXI 基礎(chǔ)第 6 講 - Vitis HLS 中的 AXI4-Lite 簡介中,我們創(chuàng)建了 1 個包含 AXI4-Lite 接口的 IP。如果要把新 IP 連接到任何其它 IP 或者連接到 PS,則首先需要將軟件代碼綜合成 RTL(即,將其轉(zhuǎn)換為硬件)。隨后,我們就可以將 RTL IP 導(dǎo)出到 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. 鑒于我們將在板上運(yùn)行此代碼,因此需要將綜合設(shè)置更改為對應(yīng)于可用的開發(fā)板的設(shè)置。

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

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

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

1.5. 打開的對話框應(yīng)如下截屏所示。

本文包含有關(guān)所有可用選項(xiàng)的詳細(xì)解釋。

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

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

1.6. 等待工具完成導(dǎo)出,然后打開 Vivado Design Suite。選擇“創(chuàng)建新工程”選項(xiàng):

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

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

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

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

1.9. 選擇 IP 目錄 (Select IP Catalog)?,F(xiàn)在,您的新存儲庫應(yīng)已顯示在目錄中。

如已成功導(dǎo)入 IP,那么詳細(xì)信息窗口中所列出的 IP 數(shù)量應(yīng)為“1”。

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

1.10. 在 Flow Navigator 中,選擇“創(chuàng)建模塊設(shè)計(jì) (Create Block Design)”。

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

祝賀您!您已成功創(chuàng)建了 IP、將其從 Vitis HLS 導(dǎo)出并已添加到 Vivado Design Suite 中的模塊設(shè)計(jì)中。

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

02

創(chuàng)建硬件

您可能會想要連接到 PS 以便充分利用其功能。添加 PS IP(如 ZCU106 評估板上提供的 Zynq UltraScale+ MPSoC IP)即可支持您執(zhí)行此操作。

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

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

efa3f348-a4b2-11eb-aece-12bb97331649.png

2.3. 右鍵單擊“源 (Source)”選項(xiàng)卡下的《design_name》.bd 以創(chuàng)建 HDL 封裝器 (wrapper)。運(yùn)行綜合、運(yùn)行實(shí)現(xiàn),然后生成比特流。下一步,選擇“文件 (File) -》 導(dǎo)出 (Export) -》 導(dǎo)出硬件 (Export Hardware)”。請務(wù)必選中包含比特流的選項(xiàng),并記下所選導(dǎo)出位置。這樣即可創(chuàng)建包含所有硬件信息的 XSA 文件?,F(xiàn)在,您可以關(guān)閉 Vivado。

03

編寫軟件

鑒于您的硬件已完成創(chuàng)建并導(dǎo)出,我們需要編寫軟件以向硬件提供操作指示。我們將在Vitis中編寫軟件。

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

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

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

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

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

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

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

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

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

示例代碼使用由 Vitis 自動創(chuàng)建的函數(shù),因此開發(fā)非常便捷。

在名為X《HLS_IP_name》.h的文件中以及在《platform_project》/hw/drivers/《ex_name》/src 下可找到所使用的函數(shù)。

原文標(biāo)題:開發(fā)者分享 | AXI 基礎(chǔ)第 7 講 - 使用 AXI4-Lite 將 Vitis HLS 創(chuàng)建的 IP 連接到 PS

文章出處:【微信公眾號:FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    180

    文章

    7618

    瀏覽量

    138704
  • AXI
    AXI
    +關(guān)注

    關(guān)注

    1

    文章

    130

    瀏覽量

    16839
  • HLS
    HLS
    +關(guān)注

    關(guān)注

    1

    文章

    130

    瀏覽量

    24339

原文標(biāo)題:開發(fā)者分享 | AXI 基礎(chǔ)第 7 講 - 使用 AXI4-Lite 將 Vitis HLS 創(chuàng)建的 IP 連接到 PS

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    VirtualLab Fusion應(yīng)用:參數(shù)掃描結(jié)果的導(dǎo)出

    摘要 為了詳細(xì)分析光學(xué)系統(tǒng)的功能和能力,需要能夠改變光學(xué)系統(tǒng)的參數(shù)。為此,VirtualLab Fusion的參數(shù)運(yùn)行提供了多種選項(xiàng)和可以應(yīng)用不同的變化策略。不同迭代的結(jié)果以方便緊湊的方式提供在參數(shù)
    發(fā)表于 03-06 08:57

    Vivado FIR IP核實(shí)現(xiàn)

    Xilinx的FIR IP核屬于收費(fèi)IP,但是不需要像 Quartus那樣通過修改license文件來破解。如果是個人學(xué)習(xí),現(xiàn)在網(wǎng)絡(luò)上流傳的license破解文件在破解Vivado的同時也破解
    的頭像 發(fā)表于 03-01 14:44 ?838次閱讀
    <b class='flag-5'>Vivado</b> FIR <b class='flag-5'>IP</b>核實(shí)現(xiàn)

    AMD Vivado Design Suite IDE中的設(shè)計(jì)分析簡介

    本文檔涵蓋了如何驅(qū)動 AMD Vivado Design Suite 來分析和改善您的設(shè)計(jì)。
    的頭像 發(fā)表于 02-19 11:22 ?194次閱讀
    AMD <b class='flag-5'>Vivado</b> <b class='flag-5'>Design</b> <b class='flag-5'>Suite</b> IDE中的設(shè)計(jì)分析簡介

    Vivado Design Suite用戶指南: 設(shè)計(jì)分析與收斂技巧

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

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

    電子發(fā)燒友網(wǎng)站提供《Vivado Design Suite用戶指南:邏輯仿真.pdf》資料免費(fèi)下載
    發(fā)表于 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 進(jìn)行設(shè)計(jì)的重大改進(jìn)。此版本為 AMD Versal 自適應(yīng) SoC
    的頭像 發(fā)表于 11-22 13:54 ?569次閱讀

    U50的AMD Vivado Design Tool flow設(shè)置

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

    每次Vivado編譯的結(jié)果都一樣嗎

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

    vivado導(dǎo)入舊版本的項(xiàng)目,IP核心被鎖。

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

    AMBA AXI4接口協(xié)議概述

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

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

    本篇文章介紹了在 ZCU106 上創(chuàng)建 Video Multi-Scaler IP 的 AMD Vivado? Design Tool 和 Petalinux 工程;在 ZCU106 上 Run 生成的 Image,并測試生成的
    的頭像 發(fā)表于 09-18 10:03 ?542次閱讀
    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
    的頭像 發(fā)表于 09-18 09:41 ?648次閱讀

    淺談Pango_Design_Suite工具的安裝

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

    Vivado 使用Simulink設(shè)計(jì)FIR濾波器

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

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

    本文介紹了在 AMD Vivado? Design Tool 中用工程模式使用 DFX 流程以及需要注意的地方。在使用 DFX 工程模式的過程中要把具體步驟映射到相應(yīng)的 DFX 非工程模式的步驟,這樣才能更好地理解整個流程的運(yùn)行邏輯。
    的頭像 發(fā)表于 04-17 09:28 ?1152次閱讀
    如何在AMD <b class='flag-5'>Vivado</b>? <b class='flag-5'>Design</b> Tool中用工程模式使用DFX流程?