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

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

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

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

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

在 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 個(gè)部分:

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

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

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

01

導(dǎo)出 IP

在AXI 基礎(chǔ)第 6 講 - Vitis HLS 中的 AXI4-Lite 簡介中(AXI 第六講請回復(fù)本公眾號(hào)AXI 獲得),我們創(chuàng)建了 1 個(gè)包含 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ā)板。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

02

創(chuàng)建硬件

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

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

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

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

2.2. 這樣即可得到如下圖示?;蛘撸蔀榇?IP 手動(dòng)添加所有器件,并如該圖所示連接這些器件。這樣即可得到如下圖示:

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

2.3. 右鍵單擊“源 (Source)”選項(xiàng)卡下的.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中編寫軟件。您將需要從賽靈思網(wǎng)站下載 Vitis Core 開發(fā)套件(掃碼查閱)。

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

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

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

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

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

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

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

3.5. 現(xiàn)在,Hello World 代碼會(huì)顯示在/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 會(huì)提示您提供 2 項(xiàng)輸入:A 和 B,這 2 項(xiàng)將作為輸入一并傳遞給 HLS IP 中,并顯示結(jié)果。

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

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

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

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

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

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

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

文章出處:【微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:彭靜

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

    關(guān)注

    68

    文章

    18926

    瀏覽量

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

    關(guān)注

    33

    文章

    8257

    瀏覽量

    149950
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    4570

    瀏覽量

    86696
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    797

    瀏覽量

    65854

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

文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    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 ?116次閱讀
    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 ?214次閱讀

    P4 Suite for FPGA面市 P4 Suite for FPGA主要功能解析

    發(fā)展為虛擬蜂窩基站路由器 (vCSR) 等各類網(wǎng)絡(luò)應(yīng)用打開了新大門。 P4 Suite for FPGA是一項(xiàng) 高級設(shè)計(jì)工具, 有望變革整個(gè)網(wǎng)絡(luò)行業(yè)。它能夠基于P4描述自動(dòng)生成數(shù)據(jù)包處理RTL IP
    的頭像 發(fā)表于 07-25 14:55 ?644次閱讀

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

    設(shè)計(jì); ● UltraFast 設(shè)計(jì)方法; ● 使用UltraScale和UltraScale+架構(gòu)進(jìn)行設(shè)計(jì); ● FPGA 功耗最優(yōu)化; ● 使用 Vivado Design Suite 4
    發(fā)表于 06-05 10:09

    淺談Pango_Design_Suite工具的安裝

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

    如何利用Tcl腳本在Manage IP方式下實(shí)現(xiàn)對IP的高效管理

    Vivado下,有兩種方式管理IP。一種是創(chuàng)建FPGA工程之后,在當(dāng)前工程中選中IP Catalog,生成所需IP,這時(shí)相應(yīng)的IP會(huì)被自動(dòng)
    的頭像 發(fā)表于 04-22 12:22 ?544次閱讀
    如何利用Tcl腳本在Manage <b class='flag-5'>IP</b>方式下實(shí)現(xiàn)對<b class='flag-5'>IP</b>的高效管理

    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 非工程模式的步驟,這樣才能更好地理解整個(gè)流程的運(yùn)行邏輯。
    的頭像 發(fā)表于 04-17 09:28 ?514次閱讀
    如何在AMD <b class='flag-5'>Vivado</b>? <b class='flag-5'>Design</b> Tool中用工程模式使用DFX流程?

    如何禁止vivado自動(dòng)生成 bufg

    操作: 打開Vivado工程,并進(jìn)入項(xiàng)目導(dǎo)航器窗口。 選擇下方的"IP"選項(xiàng)卡,展開"Clocking"選項(xiàng)。在這
    的頭像 發(fā)表于 01-05 14:31 ?1449次閱讀

    FPGA實(shí)現(xiàn)基于Vivado的BRAM IP核的使用

    文章是基于Vivado的 2017.1的版本,其他版本都大同小異。 首先在Vivado界面的右側(cè)選擇IP Catalog 選項(xiàng)。
    的頭像 發(fā)表于 12-05 15:05 ?1257次閱讀

    AMD Vivado Design Suite 2023.2的優(yōu)勢

    由于市場環(huán)境日益復(fù)雜、產(chǎn)品競爭日趨激烈,為了加快推出新型自適應(yīng) SoC 和 FPGA 設(shè)計(jì),硬件設(shè)計(jì)人員和系統(tǒng)架構(gòu)師需要探索更為高效的全新工作方式。AMD Vivado Design Suite
    的頭像 發(fā)表于 11-23 15:09 ?683次閱讀

    FPGA新IP核學(xué)習(xí)的正確打開方式

    的情況時(shí),總會(huì)遇到一些以前未曾接觸過的新內(nèi)容,這些新內(nèi)容會(huì)讓我們感到陌生和恐懼,不知道該如何下手。 那么今天以xilinx vivado 為例分享學(xué)習(xí)FPGA 新IP核的正確打開方式。 一、常規(guī)
    發(fā)表于 11-17 11:09

    基于Vivado的IBIS文件導(dǎo)出

    作為一個(gè)資深的FPGA工作者,相信大家對于IBIS模型并不陌生;IBIS模型在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)節(jié)省時(shí)間和降低成本是很關(guān)鍵的。在原型制作之前,系統(tǒng)設(shè)計(jì)人員可以用模型來進(jìn)行設(shè)計(jì)仿真。在高速系統(tǒng)設(shè)計(jì)中正是如此,進(jìn)行信號(hào)完整性仿真來分析不同條件下傳輸線中的電路行為,在設(shè)計(jì)初期就能預(yù)防并檢測出典型的問題,例如過沖、欠沖、阻抗不匹配、串?dāng)_、地彈等。然而,可用的數(shù)字IC模型非常少。
    的頭像 發(fā)表于 11-10 11:28 ?2418次閱讀
    基于<b class='flag-5'>Vivado</b>的IBIS文件<b class='flag-5'>導(dǎo)出</b>

    請問USBee suite軟件怎么使用?

    USBee suite 軟件怎么使用?有人知道嗎?
    發(fā)表于 11-03 06:53

    Vivado Design Suite 用戶指南:編程和調(diào)試

    Vivado Design Suite 用戶指南:編程和調(diào)試》 文檔涵蓋了以下設(shè)計(jì)進(jìn)程: 硬件、IP 和平臺(tái)開發(fā) : 為硬件平臺(tái)創(chuàng)建 PL IP
    的頭像 發(fā)表于 10-25 16:15 ?742次閱讀
    <b class='flag-5'>Vivado</b> <b class='flag-5'>Design</b> <b class='flag-5'>Suite</b> 用戶指南:編程和調(diào)試