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