SDSoC
該用什么硬件平臺(tái)去做 Design-In?這是電子工程師在設(shè)計(jì)開(kāi)發(fā)之初繞不過(guò)去的問(wèn)題。專用芯片ASIC性能強(qiáng)但開(kāi)發(fā)成本越來(lái)越高,通用的處理器靈活性好又不免會(huì)遭遇性能瓶頸……所以越來(lái)越多的人將目光轉(zhuǎn)向了FPGA這種可由開(kāi)發(fā)者自己“定義”硬件功能的可編程邏輯器件。
近年來(lái),隨著采用“ARM內(nèi)核+可編程邏輯”這種異構(gòu)FPGA SoC器件(如Xiinx Zynq系列)的問(wèn)世,更是為開(kāi)發(fā)者提供了一種高性能和靈活性完美結(jié)合的新平臺(tái),讓人不免技癢。
而在人們的傳統(tǒng)認(rèn)知中,和可編程硬件打交道并非易事,這種工作通常是由公司中“一小撮”懂得VHDL、Verilog這類硬件描述語(yǔ)言的硬件工程師操刀,其他人只能在可編程硬件的門(mén)口徘徊。為了解決這個(gè)問(wèn)題,Xilinx公司出了一個(gè)大招兒:推出了一系列“軟件定義”導(dǎo)向的、名為SDx的開(kāi)發(fā)工具——顧名思義,其中的SD就是指“Software Define”,軟件定義——其用意很明確,它們是專為系統(tǒng)和軟件工程師而設(shè)計(jì),可以使那些只有很少或根本沒(méi)有FPGA設(shè)計(jì)經(jīng)驗(yàn)的研發(fā)人員,能夠直接使用高級(jí)編程語(yǔ)言在強(qiáng)大的可編程硬件上進(jìn)行設(shè)計(jì),并且可以與嵌入芯片內(nèi)部或是在片外連接的標(biāo)準(zhǔn)處理器(ARM或x86)一起協(xié)同工作。 這樣一來(lái),可編程硬件平臺(tái)的用戶就被擴(kuò)展到傳統(tǒng)意義上系統(tǒng)和軟件工程師的范疇,從“高冷”范兒變得觸手可及。
圖1,Xilinx的SDx軟件定義開(kāi)發(fā)工具一覽
目前Xilinx公司的SDx系列開(kāi)發(fā)工具家族已經(jīng)有三個(gè)主要成員:SDNet、SDAccel和SDSoC,每個(gè)工具各有側(cè)重,面向不同的可編程硬件平臺(tái)。
SDNet:?jiǎn)柺雷钤?,是“軟件定義網(wǎng)絡(luò)”的解決方案,SDNet可結(jié)合XIlinx的全面可編程器件,打造出了“軟”定義網(wǎng)絡(luò)這樣的交叉技術(shù),將可編程能力和智能化功能從控制層擴(kuò)展至數(shù)據(jù)層,不僅支持SDN,而且還可以突破性地支持任何軟件定義網(wǎng)絡(luò)架構(gòu)。
SDAccel:面向的是Xilinx那些“純”可編程邏輯器件,實(shí)現(xiàn)了軟件定義的加速器,與采用CPU和GPU實(shí)現(xiàn)的方案相比,利用FPGA進(jìn)行加速可獲得高達(dá)25倍的性能功耗比提升。
SDSoC:是專門(mén)針對(duì)Zynq SoC和MPSoC硬件平臺(tái)的開(kāi)發(fā)工具,其目的是讓嵌入式和應(yīng)用軟件開(kāi)發(fā)人員能夠充分挖掘上述開(kāi)編程硬件平臺(tái)的性能優(yōu)勢(shì),實(shí)現(xiàn)超過(guò)100倍的軟件性能加速。
其中的SDSoC,由于面向的是應(yīng)用最為廣泛的嵌入式開(kāi)發(fā)領(lǐng)域,也可以說(shuō)是惠及面最廣的一個(gè)工具,所以在在今后的一系列文章中我們將對(duì)它進(jìn)行剝繭抽絲般詳細(xì)的介紹。
圖2,Xilinx的SDx系列工具定位及優(yōu)勢(shì)
SDSoC如何賦能開(kāi)發(fā)者
從Xilinx賦予SDSoC的使命可以看出,它是一個(gè)先進(jìn)工具套件,可以大大簡(jiǎn)化開(kāi)發(fā)過(guò)程中資源的管理和更復(fù)雜的設(shè)計(jì)系統(tǒng)連接,讓開(kāi)發(fā)者使用復(fù)雜的SoC工具套件能夠像使用他們熟悉的嵌入式開(kāi)發(fā)工具一樣順暢和自然。
為了實(shí)現(xiàn)這一目標(biāo),SDSoC提供了一系列創(chuàng)新性的特性,如:
系統(tǒng)級(jí)性能分析
在可編程邏輯上的自動(dòng)的軟件加速
自動(dòng)生成系統(tǒng)連接
利用各種的庫(kù)提升編程效率(比如OpenCV)
這些創(chuàng)新特性對(duì)于嵌入式開(kāi)發(fā)者來(lái)說(shuō),能夠帶來(lái)的效率和便利性的提升是顯而易見(jiàn)的。
對(duì)于系統(tǒng)架構(gòu)工程師來(lái)說(shuō),SDSoC能夠幫助其基于C/C++快速完成硬件和軟件功能分區(qū),探索不同的系統(tǒng)架構(gòu)。
對(duì)于硬件工程師來(lái)說(shuō),他們不必再將算法“翻譯”成HDL,而直接通過(guò)C/C++高級(jí)語(yǔ)言優(yōu)化IP,并為一個(gè)可復(fù)用的平臺(tái)創(chuàng)建I/O系統(tǒng)。
對(duì)于軟件工程師來(lái)說(shuō),他們無(wú)需成為一個(gè)FPGA專家,就可以在一個(gè)完整的、熟悉的軟件環(huán)境下去創(chuàng)建基于Zynq系統(tǒng)的FPGA設(shè)計(jì),即使沒(méi)有任何FPGA/HDL的開(kāi)發(fā)經(jīng)驗(yàn)。
SDSoC讓開(kāi)發(fā)者能夠以“系統(tǒng)”的思路去創(chuàng)建一個(gè)設(shè)計(jì),讓用戶可以基于C/C++/OpenCL導(dǎo)入一個(gè)現(xiàn)有的Zynq設(shè)計(jì)并開(kāi)始開(kāi)發(fā)新的應(yīng)用。它為潛在的硬件和軟件問(wèn)題提供了一個(gè)高級(jí)抽象,使得開(kāi)發(fā)者能夠?qū)⒕Ω嗟貙W⒂谡w的系統(tǒng)解決方案,而不是耗費(fèi)在在門(mén)級(jí)邏輯設(shè)計(jì)這些繁復(fù)的工作上。
總之,通過(guò)SDSoC這個(gè)開(kāi)發(fā)工具,一方面讓以前需要不同團(tuán)隊(duì)不斷協(xié)調(diào)、迭代開(kāi)發(fā)才能完成的工作流程得以簡(jiǎn)化,另一方面可以讓做軟件的人員直接參與到產(chǎn)品的設(shè)計(jì)中來(lái),利用這個(gè)工具將軟件的創(chuàng)意快速變成一個(gè)真實(shí)的產(chǎn)品,打破傳統(tǒng)意義上系統(tǒng)、硬件、軟件開(kāi)發(fā)之間的藩籬,加速設(shè)計(jì)創(chuàng)新的進(jìn)程。幫助更多的開(kāi)發(fā)者跨過(guò)FPGA SoC應(yīng)用的門(mén)檻兒,這就是SDSoC的要義所在。
-
FPGA
+關(guān)注
關(guān)注
1645文章
22050瀏覽量
618562 -
可編程邏輯
+關(guān)注
關(guān)注
7文章
526瀏覽量
44764 -
SDSoC
+關(guān)注
關(guān)注
0文章
24瀏覽量
12434
原文標(biāo)題:FPGA SoC入門(mén)難?SDSoC幫你跨“門(mén)檻兒”
文章出處:【微信號(hào):AvnetAsia,微信公眾號(hào):安富利】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
先進(jìn)FPGA開(kāi)發(fā)工具中的時(shí)序分析

SoC FPGA有哪些作用?
Microchip發(fā)布業(yè)界首款基于 RISC-V 指令集架構(gòu)的 SoC FPGA 開(kāi)發(fā)工具包
首款基于 RISC-V 指令集架構(gòu)的 SoC FPGA 開(kāi)發(fā)工具包
Altera公司SoC FPGA 簡(jiǎn)介

Altera Cyclone V FPGA和SoC FPGA虛擬目標(biāo)開(kāi)發(fā)工具榮膺EDN中國(guó)2012最佳產(chǎn)品獎(jiǎng)
Xilinx-FPGA高級(jí)開(kāi)發(fā)工具
C/C++/OpenCL 應(yīng)用編譯的SDSoC開(kāi)發(fā)
什么是SDSoC平臺(tái)?SDSoC的開(kāi)發(fā)工作
based SmartFusion2 SoC FPGA設(shè)計(jì)的System Builder設(shè)計(jì)工具
Zynq-7000 All Programmable SoC的開(kāi)發(fā)工具概述
什么是SoC、SOPC、SoC FPGA?用在什么場(chǎng)景?
STM32Cube嵌入式開(kāi)發(fā)工具讓MCU開(kāi)發(fā)更智能

評(píng)論