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

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

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

賽靈思FPGA在C語言上的開發(fā)介紹

Xilinx賽靈思官微 ? 來源:djl ? 作者:賽靈思 ? 2019-07-25 11:28 ? 次閱讀

前言

隨著智能系統(tǒng)的進步和“物聯(lián)網(wǎng)”的發(fā)展,以及人與物之間互聯(lián)互通的增強,大多數(shù)新產(chǎn)品現(xiàn)在均采用了基于SoC的開發(fā)平臺。此類平臺便于企業(yè)以更快的速度將產(chǎn)品推向市場,提高系統(tǒng)級效率,而且最重要的是便于實現(xiàn)持續(xù)的創(chuàng)新和產(chǎn)品差異化。

為實現(xiàn)投資回報最大化,設計團隊必須精心選擇實現(xiàn)產(chǎn)品差異化的方法,同時還必須滿足日益增長的市場需求和嚴苛的成本目標要求。真正的平臺差異化依賴于新的軟件特性與新的硬件特性的組合。鑒于加速產(chǎn)品上市這一要求實際上在各層面均存在差異化,因此需要工具和環(huán)境能夠在不影響架構和性能的條件下,用傳統(tǒng)ASSP編程環(huán)境所擁有的完整性和易用性實現(xiàn)軟硬件的差異化。

賽靈思SDSoC開發(fā)環(huán)境介紹

Zynq SoC和MPSoC與軟件工程師FPGA硬件工程師共同組成的設計團隊可謂天合之作。但其對于硬件資源有限或欠缺的團隊來說,使用起來很有難度,因為需要具備RTL(VHDL或Verilog)開發(fā)專業(yè)知識才能充分發(fā)揮該器件的優(yōu)勢。為解決這一難題,讓更多的設計團隊能夠利用Zynq器件的優(yōu)勢,賽靈思推出了一種 全新的C/C++開發(fā)環(huán)境SDSoC 。SDSoC開發(fā)環(huán)境是賽靈思SDx系列開發(fā)環(huán)境的第三大成員,能夠讓更廣泛的嵌入式軟件開發(fā)人員發(fā)揮軟硬件“全可編程”器件的威力。

SDSoC 帶來的軟件定義機遇: C/C++ 環(huán)境提供類似ASSP 的編程體驗

賽靈思FPGA在C語言上的開發(fā)介紹

SDSoC開發(fā)環(huán)境可通過兩種方式加速Zynq SoC和MPSoC開發(fā)進程。第一種是,軟件開發(fā)人員借助賽靈思平臺、第三方平臺或最終用戶平臺,可以比使用傳統(tǒng)硬件/傳統(tǒng)軟件開發(fā)流程更快地啟動開發(fā)。第二種是,SDSoC可以消除在將可編程邏輯用作軟件加速器時軟件團隊和硬件團隊之間常發(fā)生的反復變更,真正加速整體系統(tǒng)開發(fā)進程。

賽靈思FPGA在C語言上的開發(fā)介紹

SDSoC開發(fā)環(huán)境可提供高度簡化、類似ASSP C/C++的編程體驗,包括簡便易用的Eclipse集成設計環(huán)境(IDE)和用于異構Zynq平臺部署的綜合開發(fā)平臺。SDSoC配有業(yè)界首款C/C++全系統(tǒng)優(yōu)化的編譯器,可提供系統(tǒng)級的特性描述、可編程邏輯內(nèi)自動軟件加速、自動系統(tǒng)連接生成,以及用于加快編程速度的各種庫。此外,SDSoC還可為客戶和第三方平臺開發(fā)人員提供專門的流程,以便在SDSoC開發(fā)環(huán)境中使用這些平臺。

SDSoC開發(fā)環(huán)境

賽靈思FPGA在C語言上的開發(fā)介紹

類似ASSP的編程體驗

SDSoC可供系統(tǒng)和嵌入式軟件開發(fā)人員使用,其提供的Eclipse IDE可用于開發(fā)運行于裸機或LinuxFreeRTOS操作系統(tǒng)上的C/C++應用。SDSoC可用于開發(fā)各種完整的異構多處理系統(tǒng),包括運行在ARM/NEON處理器上的軟件和可編程邏輯中的軟件加速器,還能將現(xiàn)有的HDL IP模塊反復用作C語言可調(diào)用的庫。與傳統(tǒng)的單獨以硬件為中心的流程和以軟件為中心的流程不同,這兩種流程可能會導致開發(fā)延遲、系統(tǒng)架構與性能的不確定性,而SDSoC在開發(fā)人員熟悉的嵌入式框架中實現(xiàn)快速系統(tǒng)特性描述和可編程邏輯軟件加速。

賽靈思FPGA在C語言上的開發(fā)介紹


這款簡便易用的IDE可提供項目創(chuàng)建向?qū)?,供用戶選擇目標平臺和操作系統(tǒng),并使用模板創(chuàng)建功能齊全的SDSoC項目,作為構建自己應用的起點。

此外,SDSoC還可為軟件團隊提供簡單的GUI選項,用于選擇在可編程邏輯中加速的功能。SDSoC編譯器將生成準備在目標平臺板上運行的所有必備硬件和軟件。

系統(tǒng)級的特性描述

以賽靈思軟件開發(fā)套件(SDK)目前提供的高級軟件特性描述為基礎,SDSoC增添了系統(tǒng)級特性描述,用于快速系統(tǒng)(軟/硬件)性能估算。此外,還能快速生成并探索系統(tǒng)級架構,以實現(xiàn)最佳總體系統(tǒng)性能與功耗。

賽靈思FPGA在C語言上的開發(fā)介紹


SDSoC采用基于PC采樣的非侵入式編譯器和標準的GPROF編譯器,能幫助用戶配置其自身軟件應用,以識別占用時間最多且適用于硬件加速的功能。

此外,SDSoC還增添了快速系統(tǒng)(軟/硬件)性能和器件利用率估算功能,能夠迅速完成系統(tǒng)級架構探索,以實現(xiàn)最佳性能、資源利用率和功耗。用戶可在可編程邏輯中設定待加速的功能,而且SDSoC還能調(diào)用C/C++代碼來報告軟件周期、硬件周期、數(shù)據(jù)傳輸估算、總體應用加速以及硬件資源利用率等情況。

充分利用基于平臺的性能估算流程,軟件開發(fā)人員能夠在數(shù)分鐘內(nèi)迅速估算出將一項或多項軟件功能轉(zhuǎn)移到硬件中用于加速所產(chǎn)生的性能影響,而實際的硬件生成則需要一小時甚至更長時間。

在目標平臺上,SDSoC使用由ARM CPU提供的性能計數(shù)器,同時自動插入AXI性能監(jiān)控器(APM)到可編程邏輯中以采集硬件性能數(shù)據(jù),可為緩存、存儲器、軟件加速器和總線利用率提供自動性能測量。運行在平臺上的軟件可采集性能數(shù)據(jù),SDSoC就使用該數(shù)據(jù)幫助識別系統(tǒng)中的性能瓶頸。這種快速的性能反饋能實現(xiàn)最佳代碼分區(qū),以滿足系統(tǒng)級性能和功耗需求,同時將開發(fā)流程縮短數(shù)周時間。

全系統(tǒng)優(yōu)化的編譯器

SDSoC還具有針對ARM處理系統(tǒng)和可編程邏輯的全系統(tǒng)優(yōu)化的編譯器。SDSoC旨在幫助系統(tǒng)架構師和軟件團隊使用“golden C/C++ source”,通過生成最佳系統(tǒng)連接,快速完成宏架構和微架構的配置。這樣既能得到最佳系統(tǒng)連接和存儲器接口,還能快速完成設計空間探索,便于開發(fā)人員綜合權衡性能、吞吐量、時延,同時保持較短的設計迭代時間。

該編譯器充分利用基礎的高層次綜合編譯器技術,已有逾千名編程人員使用該技術生成了基于C/C++的高性能IP。將該編譯器與鏈接器結合使用,并基于目標平臺以及在可編程邏輯中生成的用戶指定的自動軟件加速功能,將程序轉(zhuǎn)換到完整的軟硬件系統(tǒng)中。

賽靈思FPGA在C語言上的開發(fā)介紹

基于程序語法、程序分析、調(diào)度安排、系統(tǒng)連接的特性化硬件建模,SDSoC能在可編程邏輯中生成用于軟件的加速器。SDSoC充分利用平臺的板支持包(BSP)、目標軟件加速功能、IP和優(yōu)化庫及系統(tǒng)連接生成功能,構建設計的可編程邏輯部分。該編譯器可自動把系統(tǒng)編譯為完整的軟硬件系統(tǒng),包括用于可編程邏輯的比特流和用于配置目標平臺的ARM處理系統(tǒng)ELF文件。

可編程邏輯中每個加速功能都可以作為獨立的線程運行。SDSoC可生成與之同步和保存原始程序語義所需的軟硬件組件,同時可實現(xiàn)任務級的并行和用流水線實現(xiàn)的通信和計算,以獲取高性能。

C/C++應用源碼可包含多個加速功能,特定功能的多個實例以及對主程序各不同部分中的加速器功能的調(diào)用。為獲得最佳性能,SDSoC還提供賽靈思優(yōu)化庫和賽靈思聯(lián)盟成員提供的備選庫。

通過從“single golden source”生成完整的嵌入式應用,SDSoC可在應用層重構C/C++代碼,便于軟件開發(fā)人員迭代設計和架構變更,從而顯著縮短在平臺上運行工作程序所需的時間。

面向平臺開發(fā)人員的專家級使用模型

SDSoC可為系統(tǒng)架構師和平臺開發(fā)人員提供專家級的使用模型。通過將系統(tǒng)級的特性描述和性能分析功能與自動系統(tǒng)連接生成功能完美結合,該工具可幫助架構師定義、探索并生成各種架構,為自己的應用平臺找到最為理想的設計實現(xiàn)方案,并傳遞給嵌入式軟件開發(fā)人員,用于在應用平臺頂層構建完整的應用。

借助自動系統(tǒng)連接生成功能,架構師可以快速定義、探索并生成宏系統(tǒng)架構和微系統(tǒng)架構,用以確定Zynq處理系統(tǒng)、存儲器和基于可編程邏輯的加速器之間的最佳互聯(lián)架構。

將賽靈思Vivado設計套件與SDSoC結合運用,可用于創(chuàng)建特定應用平臺。該平臺創(chuàng)建功能還能夠?qū)F(xiàn)有的RTL和IP配置用作C語言可調(diào)用的庫。這對需要借助設計重用來加快平臺開發(fā)的團隊大有裨益。

SDSoC可為基于Zynq 全可編程 SoC的開發(fā)板(諸如ZC702、ZC706等)、第三方和特定市場平臺(BSP)(如Zedboard、MicroZed和ZYBO),以及視頻成像開發(fā)套件等提供板支持包(BSP)。這些BSP中包含的元數(shù)據(jù)可讓SDSoC進行平臺抽象,以便嵌入式軟件開發(fā)人員和系統(tǒng)架構師提升生產(chǎn)力,并加速產(chǎn)品開發(fā)進程。

結論

SDSoC開發(fā)環(huán)境可提供類似ASSP的C/C++編程體驗,以提高應用開發(fā)、系統(tǒng)架構定義和平臺創(chuàng)建的生產(chǎn)效率。借助Zynq 全可編程 SoC和MPSoC,SDSoC賦予嵌入式軟件開發(fā)人員加快更智能系統(tǒng)開發(fā)速度的能力。

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

    關注

    0

    文章

    597

    瀏覽量

    27316
  • C語言
    +關注

    關注

    180

    文章

    7595

    瀏覽量

    135867
  • 編程
    +關注

    關注

    88

    文章

    3565

    瀏覽量

    93536
收藏 人收藏

    評論

    相關推薦

    790.被并入AMD對中國FPGA廠商有什么意義?

    fpga
    小凡
    發(fā)布于 :2022年10月05日 02:52:44

    FPGA中使用ARM及AMBA總線

    國外的融合技術專家展示了一項基于FPGA的數(shù)據(jù)采集系統(tǒng),用于合成孔徑成像技術。采用了Xilinx ISE設計軟件,支持ARM AMBA AXI4接口。文風犀利,觀點新穎,FPGA中使用ARM及AMBA總線中不可多得的資料
    發(fā)表于 03-01 15:48

    玩轉(zhuǎn)FPGA,FPGA設計大賽開賽啦

    經(jīng)歷過和牛人一起進行FPGA設計比賽的激烈競爭嗎?你感受過FPGA原廠開發(fā)板和fpga行業(yè)泰斗直接帶來的強烈震撼嗎? 沒經(jīng)歷過沒關系,電子發(fā)燒友網(wǎng)主辦,
    發(fā)表于 04-23 09:31

    玩轉(zhuǎn)FPGA,FPGA設計大賽活動細則,參賽必看

    設計水平。為電子工程師與業(yè)界專家進行探討交流的機會,提高對技術知識的應用和產(chǎn)品商業(yè)化的認知。為廣大電子工程師深入了解產(chǎn)品的機會,利用
    發(fā)表于 04-24 14:40

    提交FPGA設計方案,贏取FPGA開發(fā)

    “玩轉(zhuǎn)FPGA:iPad2,開發(fā)板等你拿”活動持續(xù)火爆進行中……………………活動得到了廣大電子工程師積極強烈的支持,為了回報電子工程師
    發(fā)表于 07-06 17:24

    Verilog(FPGACPLD)設計小技巧

    Verilog(FPGACPLD)設計小技巧
    發(fā)表于 08-19 22:52

    玩轉(zhuǎn)FPGA (xilinx)FPGA設計大賽獲獎名單?。?!

    專家進行探討交流的機會,提高對技術知識的應用和產(chǎn)品商業(yè)化的認知;為廣大電子愛好者深入了解產(chǎn)品的機會,利用
    發(fā)表于 09-06 11:54

    :“玩轉(zhuǎn)FPGA (xilinx)FPGA設計大賽”獲獎獎品展示

      電子發(fā)燒友網(wǎng)訊:由(xilinx)公司和華強PCB網(wǎng)贊助,電子發(fā)燒友網(wǎng)主辦的玩轉(zhuǎn)FPGA,
    發(fā)表于 09-06 14:33

    選擇(Xilinx)FPGA 7系列芯片的N個理由

      電子發(fā)燒友網(wǎng)訊:FPGA 7系列芯片正以燎原之勢席卷整個行業(yè)。本文,電子發(fā)燒友網(wǎng)小編將帶領大家一起走近Xilinx的
    發(fā)表于 09-06 16:24

    FPGA是用altera多還是的多呢

    FPGA是用altera多還是的多呢,我買的開發(fā)板是altera的,但是很多人推薦說學習
    發(fā)表于 01-09 21:27

    XilinxFPGA技術及應用線上公開課

    ` 本帖最后由 MGJOY 于 2017-4-10 15:07 編輯 本周三,4月12日,FPGA技術及應用線上公開課。歡迎大家觀看、學習交流~分享主題【
    發(fā)表于 04-10 15:06

    7系列采用FPGA電源模塊

    。ROHM與安富利公司共同開發(fā)7系列FPGA及Zynq?–7000 All Programmable SoC的評估套件Mini-Mod
    發(fā)表于 12-04 10:02

    如何使用FPGA加速包處理?

    FAST包處理器的核心功能是什么如何使用FPGA加速包處理?
    發(fā)表于 04-30 06:32

    CES發(fā)布基于Spartan-6 FPGA的最新消費

    CES發(fā)布基于Spartan-6 FPGA的最新消費數(shù)字電視目標設計平臺  
    發(fā)表于 01-11 10:59 ?597次閱讀

    FPGA設計流程看懂FPGA設計

    不斷 從FPGA設計流程看懂FPGA設計 1.XILINX ISE傳統(tǒng)FPGA設計流程 利
    發(fā)表于 02-20 20:32 ?1.6w次閱讀
    從<b class='flag-5'>賽</b><b class='flag-5'>靈</b><b class='flag-5'>思</b><b class='flag-5'>FPGA</b>設計流程看懂<b class='flag-5'>FPGA</b>設計