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