日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

如何利用SDSoC工具來(lái)創(chuàng)建嵌入式C/C++/OpenCL應(yīng)用開發(fā)

YCqV_FPGA_EETre ? 來(lái)源:未知 ? 作者:劉勇 ? 2017-12-27 09:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

教你如何使用Xilinx SDSoC

實(shí)現(xiàn)在ARTY Z7上進(jìn)行軟硬協(xié)同設(shè)計(jì)

細(xì)心的小伙伴們可能早已留意到,在Digilent今年全新出品的Zynq評(píng)估板中,無(wú)論是第二代經(jīng)典入門級(jí)的Zynq? Board -ZYBO Z7,還是創(chuàng)客最愛的ARTY Z7,都全面支持Xilinx SDSoC開發(fā)環(huán)境。意味著如果你是一名系統(tǒng)或軟件工程師,現(xiàn)在無(wú)需深度的硬件專業(yè)知識(shí),就能廣泛地利用Zynq? SoC,暢享超過(guò)100倍的軟件性能加速。

本篇干貨教程中,我們就將帶你入門了解如何使用Xilinx SDSoC工具來(lái)創(chuàng)建嵌入式C/C++/OpenCL應(yīng)用開發(fā),并實(shí)現(xiàn)直接在ARTY Z7嵌入式視覺開發(fā)平臺(tái)的器件上進(jìn)行軟件設(shè)計(jì)。

01

SDSoC軟硬協(xié)同設(shè)計(jì)與其開發(fā)流程

由于集成了ARM處理器內(nèi)核與可編程邏輯,對(duì)于眾多應(yīng)用開發(fā)而言,Zynq 非常的靈活。這意味著開發(fā)人員可以將設(shè)計(jì)按不同元素來(lái)優(yōu)化劃分,例如將其中那些高層次決策的部分放入ARM內(nèi)核(PS端),并將諸如圖像處理流水線等需要加速的部分用可編程邏輯(PL端)來(lái)實(shí)現(xiàn)。

當(dāng)然,傳統(tǒng)的Zynq開發(fā)流程會(huì)將Vivado和SDK分離開來(lái),這種方法很難在可編程邏輯(PL)和處理系統(tǒng)(PS)之間分配功能,因此無(wú)法獲得最優(yōu)的系統(tǒng)性能。

通過(guò)SDSoC,則可以解決上述問(wèn)題。SDSoC是一個(gè)系統(tǒng)最優(yōu)編譯器,支持軟件定義的整個(gè)系統(tǒng)開發(fā),包括PS和PL。標(biāo)準(zhǔn)的SDSoC開發(fā)流程如下:

  1. 使用高層次語(yǔ)言開發(fā)應(yīng)用

  2. 使用提供的性能監(jiān)視器來(lái)分析設(shè)計(jì)從而確定性能瓶頸

  3. 使用SDSoC將造成性能瓶頸的功能用可編程邏輯來(lái)實(shí)現(xiàn)加速

  4. 重新驗(yàn)證性能,如果有必要也可以加速其它功能模塊

正是因?yàn)楦邔哟尉C合(HLS)和互聯(lián)框架的結(jié)合才使得各種功能模塊可以在PS和PL之間輕松的轉(zhuǎn)換:

  • 使用Vivado HLS加速某個(gè)功能模塊

  • 分析通信功能

  • 建立AXI通信

  • 生成軟件存根

為了能夠使可編程邏輯獲得最佳的性能,我們需要給加速的功能模塊定義一些優(yōu)化參數(shù),這樣才能夠確定HLS工具執(zhí)行哪些優(yōu)化操作。我們可以使用高層次語(yǔ)言(比如C/C++/OpenCL)來(lái)開發(fā)基于Zynq的設(shè)計(jì)。為了支持SDSoC的使用,我們需要一個(gè)面向SDSoC的基礎(chǔ)平臺(tái)來(lái)定義底層硬件和軟件環(huán)境。

對(duì)于Arty Z7,點(diǎn)擊「閱讀原文」,在“下載代碼”按鈕中可以找到Arty Z7對(duì)應(yīng)的SDSoC基礎(chǔ)平臺(tái),下載之后就可以在Arty Z7上開發(fā)相關(guān)的應(yīng)用了。

02

創(chuàng)建一個(gè)新的SDSoC工程

在這一教程中,我們將探究如何使用SDSoC平臺(tái)來(lái)加速矩陣乘法的性能。

使用SDSoC工具創(chuàng)建一個(gè)新的SDSoC工程,具體操作步驟如下:File -> New -> Xilinx SDx Project。這會(huì)打開一個(gè)新工程的對(duì)話框,包括支持的平臺(tái)規(guī)范、操作系統(tǒng)選擇和示例應(yīng)用選擇。詳細(xì)圖解如下。

創(chuàng)建一個(gè)新工程:

選擇Arty7 Z7-20作為硬件平臺(tái)。這里,在新工程對(duì)話框的第二頁(yè)選擇一個(gè)新的平臺(tái),點(diǎn)擊添加自定義平臺(tái)選項(xiàng)(add custom platform)。然后對(duì)應(yīng)找到已下載好的Arty Z7-20平臺(tái),添加好后這個(gè)平臺(tái)就能在構(gòu)建列表中看到,在此基礎(chǔ)上我們可以選擇它應(yīng)用到我們的工程中:

選擇操作系統(tǒng)(OS)和目標(biāo)CPU

然后選擇示例應(yīng)用:

03

SDx項(xiàng)目設(shè)置頁(yè)面

完成項(xiàng)目新建之后,將在SDSoC開發(fā)環(huán)境中看到SDx項(xiàng)目設(shè)置頁(yè)面。我們使用這個(gè)項(xiàng)目設(shè)置選項(xiàng)卡可以在PS和PL之間轉(zhuǎn)移功能。實(shí)現(xiàn)方式是:選擇“Add HW Function”按鈕,然后選擇所需要移植到PL中的功能。

如果我們想將原本在PS中運(yùn)行的功能轉(zhuǎn)移到PL中來(lái)實(shí)現(xiàn)加速,那么我們應(yīng)當(dāng)遵循以下幾條規(guī)則:

  • 這個(gè)功能不能包含任何操作系統(tǒng)級(jí)的系統(tǒng)調(diào)用

  • 這個(gè)功能必須完整

  • C結(jié)構(gòu)體需要有界并固定大小

  • 結(jié)構(gòu)體的實(shí)現(xiàn)是明確的

在項(xiàng)目設(shè)置控制面板上,我們也可以控制加速模塊和PL與PS之間數(shù)據(jù)移動(dòng)網(wǎng)絡(luò)傳遞數(shù)據(jù)的操作頻率。

SDSoC Project Settings – 此界面顯示的是SDSoC主要的控制功能:

Add HW Function界面 – 顯示可以用于加速的函數(shù):

04

預(yù)估性能選項(xiàng)與啟動(dòng)調(diào)試器

當(dāng)SDSoC構(gòu)建時(shí)會(huì)生成必要的bin文件,我們可以將其放到SD卡中來(lái)啟動(dòng)運(yùn)行或者下載到Zynq中用于調(diào)試。構(gòu)建過(guò)程需要一定的時(shí)間,因此在很多情況下當(dāng)我們選擇一個(gè)函數(shù)用于加速時(shí),我們可以先運(yùn)行一個(gè)功能,估計(jì)一下需要的總資源和預(yù)期的加速效果。通過(guò)在項(xiàng)目設(shè)置菜單中點(diǎn)擊“估計(jì)性能(estimate performance)”選項(xiàng)就可以實(shí)現(xiàn)上述這一步。

整個(gè)構(gòu)建過(guò)程完成后就會(huì)生成一個(gè)結(jié)果報(bào)告,估計(jì)運(yùn)行結(jié)果界面如下圖:

如果我們構(gòu)建這個(gè)設(shè)計(jì)時(shí)沒有點(diǎn)擊預(yù)估性能選項(xiàng),那么我們可以使用調(diào)試器(debugger)像正常應(yīng)用那樣下載和運(yùn)行示例程序。要想啟動(dòng)調(diào)試器,在工程上右擊,然后選擇Debug As ->Launch on Hardware(SDSoC Debugger)。參考下圖啟動(dòng)調(diào)試界面,這里我們會(huì)將應(yīng)用下載到Arty Z7,并在編程入口使Zynq掛起。將SDSoC終端與Arty Z7 UART(串口)連接我們就可以看到示例程序的運(yùn)行結(jié)果:

05

利用好SDSoC開發(fā)環(huán)境中庫(kù)的優(yōu)勢(shì)

當(dāng)我們開發(fā)自己的SDSoC應(yīng)用時(shí),我們需要了解SDSoC提供的庫(kù)和加速棧資源。

為了幫助開發(fā)者能夠更快地開發(fā)最終應(yīng)用,SDSoC提供了一些HLS庫(kù),開發(fā)者可以將其應(yīng)用到自己的設(shè)計(jì)中,具體包括:

  • reVison Stack– 提供了一個(gè)三元素開發(fā)棧,我們可以使用OpenCV、Caffe和一系列通用的神經(jīng)網(wǎng)絡(luò)開源框架到嵌入式視覺應(yīng)用中。reVision包括多重加速能力的OpenCV。

  • 數(shù)學(xué)庫(kù)– 提供了標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)可綜合的實(shí)現(xiàn)。

  • IP庫(kù)– 提供了可以實(shí)現(xiàn)FFT、FIR和移位寄存器LUT功能的IP庫(kù)。

  • 線性代數(shù)庫(kù)– 提供了通用線性代數(shù)功能的庫(kù)資源。

  • 任意精度數(shù)據(jù)類型庫(kù)– 提供無(wú)二次冪和有符號(hào)/無(wú)符號(hào)整數(shù)任意數(shù)據(jù)長(zhǎng)度的支持,這個(gè)庫(kù)可以讓開發(fā)者更加高效的使用FPGA資源。

06

總結(jié)

通過(guò)這個(gè)項(xiàng)目中的例子,我們看到借助SDSoC,我們可以在PS與PL之間輕松地轉(zhuǎn)移軟件(SW)函數(shù),并通過(guò)將之轉(zhuǎn)移到PL端來(lái)實(shí)現(xiàn)性能上的提升。

So,如果此刻,你已經(jīng)對(duì)利用SDSoC來(lái)實(shí)現(xiàn)軟硬協(xié)同開發(fā)與優(yōu)化產(chǎn)生了興趣,趕快拿起一塊Arty Z7,參照著教程嘗試一下快感吧!

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

    關(guān)注

    135

    文章

    9589

    瀏覽量

    393779
  • 嵌入式
    +關(guān)注

    關(guān)注

    5210

    文章

    20680

    瀏覽量

    337361
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2208

    瀏覽量

    131972

原文標(biāo)題:在Arty Z7上入門Xilinx SDSoC開發(fā)工具

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Parasoft C/C++test:嵌入式安全關(guān)鍵行業(yè)的一體化軟件測(cè)試解決方案

    縫融入 DevOps 的自動(dòng)化測(cè)試工具。Parasoft C/C++test 正是為解決這一痛點(diǎn)而生,它是面向嵌入式安全關(guān)鍵行業(yè)的集成軟件測(cè)試解決方案,憑借全面的自動(dòng)化能力與深度流程適
    的頭像 發(fā)表于 03-06 09:42 ?399次閱讀

    什么是嵌入式應(yīng)用開發(fā)?

    。 · ?醫(yī)療設(shè)備?:如心電圖儀、血壓計(jì)等。 開發(fā)工具和技術(shù) 嵌入式開發(fā)過(guò)程中常用的工具包括: · ?集成開發(fā)環(huán)境(IDE)?:用于編寫、編譯和調(diào)試代碼。 · ?編譯器?:將高級(jí)
    發(fā)表于 01-12 16:13

    C語(yǔ)言單元測(cè)試在嵌入式軟件開發(fā)中的作用及專業(yè)工具的應(yīng)用

    一、C語(yǔ)言在嵌入式開發(fā)中的現(xiàn)狀與重要性 C語(yǔ)言在嵌入式開發(fā)領(lǐng)域仍然占據(jù)主導(dǎo)地位,根據(jù)Barr集團(tuán)的研究,目前95%的嵌入式系統(tǒng)代碼采用
    發(fā)表于 12-18 11:46

    CC++之間的聯(lián)系

    控制能力,這一點(diǎn)與C語(yǔ)言相似,使得它們?cè)谙到y(tǒng)編程、嵌入式系統(tǒng)等領(lǐng)域都得到廣泛應(yīng)用。 3、發(fā)展歷程: C++正是在C語(yǔ)言的基礎(chǔ)上逐步發(fā)展起來(lái)的,C
    發(fā)表于 12-11 06:51

    嵌入式應(yīng)掌握的幾種能力

    1. 編程語(yǔ)言 基本掌握嵌入式必備的編程語(yǔ)言。C語(yǔ)言為主,C++為輔。在資源有限的情況下,大多數(shù)嵌入式產(chǎn)品還是使用C語(yǔ)言為主的,特別是底層
    發(fā)表于 12-08 06:05

    分享一個(gè)嵌入式開發(fā)學(xué)習(xí)路線

    如果你想要學(xué)習(xí)嵌入式開發(fā),我建議按照這個(gè)學(xué)習(xí)路線準(zhǔn)備: 1. 基礎(chǔ)鋪墊期(1-2個(gè)月) 理解嵌入式系統(tǒng)的“硬件基礎(chǔ)”和“編程入門”,能看懂簡(jiǎn)單電路,寫出基礎(chǔ)C語(yǔ)言代碼。這一階段的學(xué)習(xí)對(duì)學(xué)歷沒有
    發(fā)表于 12-04 11:01

    C語(yǔ)言在嵌入式開發(fā)中的應(yīng)用

    C 語(yǔ)言在汽車電子控制系統(tǒng)開發(fā)中的主導(dǎo)地位。 2、設(shè)備驅(qū)動(dòng)程序 設(shè)備驅(qū)動(dòng)程序是嵌入式系統(tǒng)中連接硬件和軟件的橋梁,它負(fù)責(zé)實(shí)現(xiàn)嵌入式系統(tǒng)與外部設(shè)備之間的通信和控制。
    發(fā)表于 11-21 08:09

    嵌入式C/C++回歸測(cè)試四大最佳實(shí)踐(附自動(dòng)化測(cè)試工具TESSY使用教程)

    嵌入式開發(fā)中,一次微小的代碼改動(dòng)都可能引發(fā)“蝴蝶效應(yīng)”,如何守護(hù)系統(tǒng)的穩(wěn)???推薦專業(yè)的自動(dòng)化測(cè)試工具#TESSY,源自戴姆勒-奔馳,是嵌入式C/C+
    的頭像 發(fā)表于 10-31 14:21 ?593次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>C</b>/<b class='flag-5'>C++</b>回歸測(cè)試四大最佳實(shí)踐(附自動(dòng)化測(cè)試<b class='flag-5'>工具</b>TESSY使用教程)

    嵌入式需要掌握哪些核心技能?

    : 1)C語(yǔ)言與底層編程 核心地位:C語(yǔ)言是嵌入式開發(fā)的基石,需精通指針操作、內(nèi)存管理、位運(yùn)算,直接操控硬件資源。 延伸技能:C++用于復(fù)雜項(xiàng)目架構(gòu)設(shè)計(jì),匯編語(yǔ)言優(yōu)化底層性能(如啟動(dòng)代
    發(fā)表于 10-21 16:25

    新一代嵌入式開發(fā)平臺(tái) AMD嵌入式軟件和工具2025.1版現(xiàn)已推出

    AMD 2025.1 版嵌入式軟件和工具是面向新一代嵌入式系統(tǒng)開發(fā)而打造的綜合平臺(tái),全面加速概念構(gòu)想到部署落地。 2025.1 版嵌入式軟件
    的頭像 發(fā)表于 08-20 09:15 ?4256次閱讀

    AMD 2025.1版嵌入式軟件和工具的新增功能

    AMD 2025.1 版嵌入式軟件和工具是面向新一代嵌入式系統(tǒng)開發(fā)而打造的綜合平臺(tái),全面加速概念構(gòu)想到部署落地。
    的頭像 發(fā)表于 08-15 15:32 ?1466次閱讀

    入行嵌入式應(yīng)該怎么準(zhǔn)備?

    知識(shí): 一、C/C++編程C/C++嵌入式系統(tǒng)開發(fā)中最常用的編程語(yǔ)言。熟練掌握
    發(fā)表于 08-06 10:34

    Perforce QAC產(chǎn)品簡(jiǎn)介:面向C/C++的靜態(tài)代碼分析工具(已通過(guò)SO 26262認(rèn)證)

    Perforce QAC專為C/C++開發(fā)者打造,支持多種編碼規(guī)范、功能安全標(biāo)準(zhǔn)(ISO 26262)等,廣泛用于汽車、醫(yī)療、嵌入式開發(fā)領(lǐng)域,可幫助快速識(shí)別關(guān)鍵缺陷、提升代碼質(zhì)量、實(shí)現(xiàn)
    的頭像 發(fā)表于 07-10 15:57 ?1488次閱讀
    Perforce QAC產(chǎn)品簡(jiǎn)介:面向<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>的靜態(tài)代碼分析<b class='flag-5'>工具</b>(已通過(guò)SO 26262認(rèn)證)

    嵌入式軟件開發(fā)常用的軟件有哪些?

    軟件功能。 2. Visual Studio 簡(jiǎn)稱VS: 它是一個(gè)IDE,集成開發(fā)環(huán)境。驗(yàn)證C程序或是進(jìn)行c#程序開發(fā),可以用它。一些與嵌入式
    發(fā)表于 07-03 17:06

    嵌入式開發(fā)入門指南:從零開始學(xué)習(xí)嵌入式

    隨著物聯(lián)網(wǎng)、智能硬件的發(fā)展,嵌入式開發(fā)成為熱門技能之一。以下將為初學(xué)者提供一份詳細(xì)的嵌入式開發(fā)入門指南,涵蓋學(xué)習(xí)路徑、必備工具、推薦資源等內(nèi)容。 1. 嵌入式系統(tǒng)的定義與應(yīng)用
    發(fā)表于 05-15 09:29
    西和县| 襄垣县| 苏尼特右旗| 洞头县| 宜川县| 禄劝| 上饶县| 锡林郭勒盟| 磴口县| 盐池县| 临武县| 德州市| 沙湾县| 乳山市| 镇雄县| 兴安盟| 简阳市| 招远市| 富源县| 喀喇沁旗| 胶州市| 光山县| 韶山市| 龙陵县| 榕江县| 惠水县| 扶风县| 喜德县| 马边| 兴化市| 登封市| 高要市| 宜城市| 四平市| 东乡族自治县| 班戈县| 罗江县| 南靖县| 儋州市| 葵青区| 方山县|