<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

Vitis軟件平臺、vitis實例、裸機SOC(SDK)程序移植教程

電子設計 ? 來源:VagueCheung的博客 ? 作者:VagueCheung的博客 ? 2022-07-25 18:07 ? 次閱讀

本文轉載自:VagueCheung的博客

賽靈思公司(Xilinx)推出Vitis——這是一款統一軟件平臺,可以讓包括軟件工程師AI科學家在內的廣大開發者都能受益于硬件靈活應變的優勢。歷經5年、投入總計1000人打造而成,Vitis統一軟件平臺無需用戶深入掌握硬件專業知識,即可根據軟件或算法代碼自動適配和使用賽靈思硬件架構。此外,Vitis 平臺不限制使用專有開發環境,而是可以插入到通用的軟件開發工具中,并利用豐富的優化過的開源庫,使開發者能夠專注于算法的開發。Vitis獨立于Vivado設計套件,后者仍然繼續為希望使用硬件代碼進行編程的用戶提供支持。但是,Vitis也能夠通過將硬件模塊封裝成軟件可調用的函數, 從而提高硬件開發者的工作效率。

Vitis統一軟件平臺的四層架構

o4YBAGAKOeuARHC2AAOporZIYS4132.png

Vitis構建在基于堆棧的架構之上,共有四層。

第一層是基礎層,是Vitis目標平臺。該平臺由電路板和預編程I/O構成;

第二層是Vitis 核心開發套件,覆蓋開源賽靈思運行時庫,以管理不同域間的數據移動, 包括子系統、即將發布的Versal ACAP內的AI 引擎和必要的外部主機。此外,該層也提供編譯器、分析器和調試器等核心開發工具。這些工具均能與業界標準的構建系統與開發環境無縫集成;

在第三層,8個Vitis 庫提供400余種優化的開源應用。這8個庫分別是:Vitis 基本線性代數子程序(B LAS)庫、Vitis 求解器庫、Vitis安全庫、Vitis視覺庫、Vitis數據壓縮庫、Vitis計量金融庫、Vitis數據庫集和Vitis AI 庫。借助這些庫,軟件開發者可以使用標準的應用編程接口(API)來實現硬件加速;

Vitis AI是Vitis 平臺的第四層,也是最具有變革意義的一層。它集成了特定領域架構(DSA)。 DSA 提供了針對AI模型的硬件實現,開發者可以使用包括TensorFlow和Caffe等業界領先框架對其進行配置與編程。Vitis AI提供的工具鏈能在數分鐘內完成優化、量化和編譯操作,在賽靈思器件上高效地運行預先訓練好的AI模型。此外,它也為從邊緣到云端的部署提供了專用API,實現業界一流的推斷性能與效率。賽靈思陸續還將推出另一個DSA(Vitis Video),支持從FFmpeg直接進行編碼并提供同樣超級簡單且功能極強大的端到端視頻解決方案。目前,由合作伙伴公司提供的DSA包括:與GATK 集成用于基因分析的Illumina,與ElasticSearch 集成用于大數據分析的BlackLynx, 以及當前我們客戶正在使用的專有DSA。

Vitis擁有三大特點:第一是開放,第二是標準,第三是免費。首先,Vitis統一軟件平臺支持在賽靈思異構平臺上開發嵌入式軟件和加速應用,包括FPGA、SoC和Versal ACAP,為邊緣、云和混合計算應用 加速提供了統一編程模型。其次,Vitis可與高層次框架進行集成,可以通過加速庫采用C、C++Python進行開發,也可以使用基于RTL的加速器和低層次運行是API對實現方案進行粒度更精確的控制。

硬件加速應用程序開發流程:

對于基于FPGA的加速,Vitis核心開發套件支持用戶通過API函數創建軟件應用程序,例如OpenCL函數,在Alveo加速卡上運行加速硬核。Vitis核心開發套件也支持將軟件程序運行在基于Linux嵌入式處理器平臺上,例如ZYNQ的UltraScale+MPSOC設備。對于嵌入式處理器平臺Vitis開發套件執行模型也通過OpenCL API和基于Linux的Xilinx運行庫(XRT)來調度硬核和控制數據的搬移。(加速庫和xilinx運行庫在GitHub上可下載

Vitis核心開發套件可支持Alveo U50、U200、U250、U280加速卡,也支持zcu102、zcu104、zc702、zc706嵌入式處理器平臺。除了以上比較流行的平臺外,同時也支持自定義平臺。

Vitis軟件平臺允許用戶將數據中心應用程序移植到嵌入式平臺上。Vitis核心開發套件不僅具有適用于硬核的V++編譯器。也具有運行在X86主機的g++編譯器和運行在Xilinx設備的嵌入式處理器的Arm編譯器

Vitis與SDK對比:

pIYBAGAKOiuAcbwdAAFPhTf3mTA068.png

系統項目指的是什么?域domain可以理解成SDK中的BSP么?

系統項目就是指在Vitis中創建的application。

pIYBAGAKOnCAd4RrAAFR1EC4nTk200.png

Vitis軟件平臺 SDK
可在Vitis中直接創建一個平臺項目(需要添加vivado生成的XSA文件或者從平臺庫中添加任意平臺作為基礎例如vck190.xsa、zc702.xsa、zc706.xsa、zcu102.xsa、zed.xsa) SDK是從vivado工程中導出硬件平臺項目
為平臺添加域 創建BSP
創建應用程序(通過平臺的域) 創建應用程序(通過BSP)
改制一個預置平臺 無提及
可在一個系統項目中管理多個應用程序 無提及
修改并且更新硬件 基本相同,工作流程可能有細微改變
在硬件上調試應用程序 基本相同,工作流程可能有細微改變
在一個系統項目下運行和調試應用程序 無提及
創建boot image 基本相同,工作流程可能有細微改變
Flash 編程 基本相同,工作流程可能有細微改變
生成設備樹 基本相同,工作流程可能有細微改變
通過User-Modify/Custom FSBL測試應用程序 基本相同,工作流程可能有細微改變
修改域源文件 基本相同,工作流程可能有細微改變

實測Vitis編譯時間要比SDK編譯時間略長;

Vitis實現簡單的HelloWord

基于黑金ZYNQ 7020開發板創建工程,打開vivado2019.2一步步創建工程,vivado部分還是與之前一模一樣沒有任何改變。

pIYBAGAKOr6AQoEfAAD0LutSQIw236.png

pIYBAGAKOweANY-LAABJdAmuS-U471.png

pIYBAGAKO5CANq9yAABvER9AfFw755.png

pIYBAGAKO86AWqTsAABoYHI-DVs374.png

pIYBAGAKPA2AMJK_AACXPiE3pBc295.png

pIYBAGAKPFyAa31QAABwD5HDRfk161.png

創建完工程,創建同一個 Block Design工程

o4YBAGAKPJyACVLjAAEqeU2WE4M440.png

添加ZYNQ 核

pIYBAGAKPOuAVHgeAACL23gTgW4011.png

雙擊ZYNQ核設置一下,這里設置跟板子一致UART1,波特率選擇115200,沒有用到PL,AXI也沒使用。

pIYBAGAKPSqAC3NEAAD30cfmWWs263.png

o4YBAGAKPWqAP4JtAAClhVwyALY696.png

pIYBAGAKPaiAbfsfAADnDvbEND4033.png

時鐘默認即可,黑金的7020最高可以跑到767Mhz。

pIYBAGAKPeeABSsTAADE1HNh-os689.png

pIYBAGAKPiWAS-etAADXWcnqBBo839.png

o4YBAGAKPmSAKsKNAACblvJcb_Y075.png

設置完成。自動連線。

o4YBAGAKPqKAA4PaAABfx4_yh3g463.png

pIYBAGAKPwGAb2zxAACmPmKfaGg432.png

生成文件:

pIYBAGAKP0CAXzd-AAGO3AvIcA4804.png

o4YBAGAKP3-AeOPHAABW2Gtluco646.png

生成頂層文件:

o4YBAGAKP7-AUoSRAAGElqgodyE015.png

o4YBAGAKQD2AOnK8AABGQGFKiAw989.png

至此PL部分完成了。

o4YBAGAKQHuAVqpaAAC4nqkpGlw077.png

導出設計到軟件,沒有用到PL,所以不用綜合生成bit文件了,這里直接導出

pIYBAGAKQMOAem6IAADfkCbYXtk395.png

pIYBAGAKQQGAfb1bAAAxvSd0W7k381.png

導出完成,這里開始軟件操作,打開vitis先創建一個 platform project導入剛才的設計xsa文件。

這里與SDK不同,SDK是從vivado直接Launch打開,而Vitis是獨立與vivado IDE的開發工具。

o4YBAGAKQYWAVzsuAABzyW5HlwA499.png

pIYBAGAKQcqAWmI8AAFBsic-iq4965.png

o4YBAGAKQgmAKhCMAABv7dQaxOI359.png

選擇Vivado導出的設計,點擊 finish完成

o4YBAGAKQk-AeffXAABntidiqCk983.png

pIYBAGAKQquABnDsAAEv5OZCubM013.png

創建一個Application project:

o4YBAGAKQuqAcggwAAD5QKXbUr0062.png

o4YBAGAKQymAcJrdAAFJMOAGNYs460.png

pIYBAGAKQ2qAQAYiAAByTtpg-fI706.png

o4YBAGAKQ62AfstwAAA-ltSrND8241.png

o4YBAGAKQ-uAQ11AAAB0cy16KA8513.png

o4YBAGAKRCqAImi_AAEyFv6rDA4410.png

編譯helloworld工程

o4YBAGAKRGyAOjHUAAEFfstjnHk566.png

給板子接好上電,連接串口助手軟件,打開串口設置如下,com口根據實際而定。

o4YBAGAKRK6AFPTxAABK6rwDYos949.png

下載運行

o4YBAGAKRO6AcAZ7AAD4z84d0ms021.png

已經輸出了“hello world”

o4YBAGAKRS2AN4ANAACArXPXMDM913.png

移植vivado2019.2之前版本的SOC工程:

1)Vivado部分:

使用Vivado 2019.2打開之前版本的vivado工程項目 ,重新綜合生成bit流文件,如果工程中不設計PL部分則不需要生成bit文件。綜合通過之后導出硬件

File——Export——Export HardWare,導出成功后會發現在vivado工程路徑中會多出一個.XSA文件(個人理解與SDK導出的Hdf文件大同小異);

pIYBAGAKRW6AWV1vAAEGI-3Lpa4878.png

2)Vitis部分:

打開Vitis工具,創建一個Platform,設置項目名,添加vivado工程路徑中的.XSA文件。創建完Platform之后接下來創建一個Application項目,復制原工程SDK中的相應文件(.c和.h),粘貼到Vitis Apllication。

pIYBAGAKRayAPeUhAAB8d8_HEfo221.png

點擊編譯。右鍵app——DebugAs——DebugConfigurations

pIYBAGAKRe6AMhv1AAEhFOKdWPo603.png

嘗試分別選擇上圖中3個Debug Configuration,運行均能正確實現原SDK工程的功能;

還不清楚這三個配置有什么區別。

總結:SDK工程的移植基本沒什么太大的變化,Vitis只是將SDK從Vivado中抽離出來單獨運行而已;

審核編輯 黃昊宇

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

    關注

    3

    文章

    972

    瀏覽量

    44830
  • Vitis
    +關注

    關注

    0

    文章

    144

    瀏覽量

    7172
收藏 人收藏

    評論

    相關推薦

    Vitis2023.2使用之—— updata to Vitis Unified IDE

    2023.2的classic Vitis IDE工程的方法是編譯好vivado工程后重新導出硬件.xsa 基于導出的硬件重新生成平臺工程和應用工程。 工程編譯好后單擊Vitis菜單下的Export
    發表于 03-24 17:14

    Vitis2023.2使用之—— classic Vitis IDE

    Vitis 已經更新到2023.2了,新版本相較于舊版本更新了嵌入式平臺,新版平臺增加了Versal? AI 引擎 DSP 設計的增強功能,全新的獨立 Vitis 嵌入式
    發表于 03-24 16:15

    Vitis 統一軟件平臺文檔

    設計教程以及驅動程序和庫。 如果您希望獲取完整版文檔,請至文末掃描二維碼進行下載 。 Vitis 軟件平臺包括以下工具 Vitis Embe
    的頭像 發表于 12-20 10:00 ?228次閱讀
    <b class='flag-5'>Vitis</b> 統一<b class='flag-5'>軟件</b><b class='flag-5'>平臺</b>文檔

    【KV260視覺入門套件試用體驗】Vitis AI 構建開發環境,并使用inspector檢查模型

    推斷開發平臺,它可以幫助開發者在賽靈思的 FPGA 和自適應 SoC 上實現高效的 AI 應用部署。它是一個強大而靈活的 AI 開發平臺,它可以讓您充分利用賽靈思硬件平臺的優勢,實現
    發表于 10-14 15:34

    【KV260視覺入門套件試用體驗】Vitis-AI加速的YOLOX視頻目標檢測示例體驗和原理解析

    會對關鍵源碼進行解析。 一、Vitis AI Library簡介 上一篇帖子中,我們了解了Vitis統一軟件平臺Vitis AI,并體驗了
    發表于 10-06 23:32

    【KV260視覺入門套件試用體驗】五、VITis AI (人臉檢測和人體檢測)

    ~/petalinux_sdk_2023.1/environment-setup-cortexa72-cortexa53- xilinx-linux 1.4、要在 Vitis AI Library 中使
    發表于 09-26 16:22

    Vitis統一軟件平臺文檔——應用程序加速開發

    電子發燒友網站提供《Vitis統一軟件平臺文檔——應用程序加速開發.pdf》資料免費下載
    發表于 09-15 11:40 ?0次下載
    <b class='flag-5'>Vitis</b>統一<b class='flag-5'>軟件</b><b class='flag-5'>平臺</b>文檔——應用<b class='flag-5'>程序</b>加速開發

    Vitis統一軟件平臺文檔:嵌入式軟件開發

    電子發燒友網站提供《Vitis統一軟件平臺文檔:嵌入式軟件開發.pdf》資料免費下載
    發表于 09-15 10:11 ?0次下載
    <b class='flag-5'>Vitis</b>統一<b class='flag-5'>軟件</b><b class='flag-5'>平臺</b>文檔:嵌入式<b class='flag-5'>軟件</b>開發

    Vitis HLS移植指南

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

    【KV260視覺入門套件試用體驗】部署DPU鏡像并運行Vitis AI圖像分類示例程序

    Vitis軟件平臺、Vitsi AI架構有初步認識,并知道如何在KV260上快速體驗Vitsi AI圖像分類示例程序。 一、背景簡介 開始本文的實操環節之前,這里我先介紹一些背景知識
    發表于 09-10 23:01

    【KV260視覺入門套件試用體驗】部署vitis-ai環境以及測試demo

    /ug1354-xilinx-ai-sdk/%E4%B8%8B%E8%BD%BD-Vitis-AI-Library 在安裝->設置目標->步驟1:安裝開發板鏡像 開始下載鏡像 進入到
    發表于 08-27 23:35

    Vitis 統一軟件平臺文檔:應用加速開發

    AMD Vitis 統一軟件平臺是面向異構應用的開發環境,這些應用支持各種 AMD 器件,如 AMD Alveo 數據中心加速器卡、AMD Versal 自適應 SoC 器件、AMD
    的頭像 發表于 07-19 08:05 ?457次閱讀
    <b class='flag-5'>Vitis</b> 統一<b class='flag-5'>軟件</b><b class='flag-5'>平臺</b>文檔:應用加速開發

    淺談Vitis AI 3.5發布亮點

    Vitis AI 平臺是為 AMD 器件、板卡及 Alveo 數據中心加速卡提供的一款綜合 AI 推斷開發平臺。它包括一系列豐富的 AI 模型、優化的深度學習處理器單元 (DPU) 內核、工具
    的頭像 發表于 07-14 10:59 ?767次閱讀

    Vitis軟件平臺安裝

    Vitis軟件平臺由適用于交互式工程開發的集成設計環境和適用于腳本化或手動應用開發的命令行工具組成
    的頭像 發表于 07-07 14:14 ?600次閱讀
    <b class='flag-5'>Vitis</b><b class='flag-5'>軟件</b><b class='flag-5'>平臺</b>安裝

    《基于“礦板”低成本學習Zynq系列》之三-vitis安裝

    Xilinx提供了一整套開發環境用于其FPGA和SOC的開發,主要包括硬件部分和軟件部分的開發工具,之前硬件部分是vivado軟件部分是sdk,現在統一為叫做
    的頭像 發表于 06-26 11:20 ?2633次閱讀
    《基于“礦板”低成本學習Zynq系列》之三-<b class='flag-5'>vitis</b>安裝
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>