本刊記者 薛士然
Xilinx在2015年2月底推出了16nm的UltraScale+系列產(chǎn)品,為了幫助廣大嵌入式工程師能夠更好地利用Zynq全可編程SoC和MPSoC進行創(chuàng)新產(chǎn)品的開發(fā),僅半個月之后Xilinx又推出了全新的SDSoC開發(fā)環(huán)境。這是Xilinx公司SDx開發(fā)環(huán)境中,繼SDNet、SDAccel之后的第三個成員,能夠為軟件工程師和平臺開發(fā)人員提供類似ASSP編程體驗的C和C++環(huán)境,主要面向嵌入式控制應用,如醫(yī)療、視頻、汽車、家電等。
物聯(lián)網(wǎng)是當前的一個發(fā)展熱點,隨著物與物以及人與物之間互聯(lián)互通的增強,很多新產(chǎn)品會采用基于SoC的開發(fā)平臺,這樣便于企業(yè)以更快的速度將產(chǎn)品推向市場。而且為了實現(xiàn)產(chǎn)品硬件的差異化,許多平臺開發(fā)人員會使用FPGA實現(xiàn)任意(Any-to-Any)互連,此外,許多系統(tǒng)也將FPGA作為用于實現(xiàn)關鍵功能和算法加速的協(xié)處理器。正是在這樣的背景下,Xilinx推出了SDSoC開發(fā)環(huán)境,即使是不熟悉FPGA開發(fā)的工程師也能很快使用這一工具,將許多創(chuàng)新想法變成現(xiàn)實。
Xilinx全球銷售部亞太區(qū)市場及銷售副總裁楊飛介紹說,SDSoC可提供系統(tǒng)級的特征描述、利用可編程邏輯實現(xiàn)軟件自動加速、自動系統(tǒng)連接生成,以及各種庫以加速編程工作,能夠幫助最終用戶和第三方平臺開發(fā)人員快速定義、集成和驗證系統(tǒng)級解決方案,這樣不僅解決了很多公司缺少硬件開發(fā)資源的問題,而且有助于讓更多的嵌入式軟件開發(fā)人員充分發(fā)揮軟硬件“全可編程”器件的優(yōu)勢。
雖然SDSoC是Xilinx新推出的一個開發(fā)環(huán)境,但是能夠提供很多嵌入式工程師已經(jīng)熟悉的類似ASSP的編程體驗,其提供的Eclipse IDE可用于開發(fā)運行于裸機或Linux和FreeRTOS操作系統(tǒng)上的C/C++應用。楊飛介紹,目前SDSoC還僅能支持這三個操作系統(tǒng),未來將會擴大支持的范圍。SDSoC可用于開發(fā)各種完整的異構多處理系統(tǒng),包括運行在ARM/NEON處理器上的軟件和可編程邏輯中的軟件加速器,還能將現(xiàn)有的HDL IP模塊反復用作C語言可調(diào)用的庫。傳統(tǒng)的開發(fā)過程中,硬件和軟件是兩個流程,這樣可能導致開發(fā)延遲、系統(tǒng)架構與性能的不確定性,而SDSoC在開發(fā)工程師熟悉的嵌入式框架中實現(xiàn)快速系統(tǒng)特性描述和可編程邏輯軟件加速,而且SDSoC還可為軟件團隊提供簡單的GUI選項,用于選擇在可編程邏輯中加速的功能,SDSoC編譯器將生成準備在目標平臺板上運行的所有必備硬件和軟件。
楊飛強調(diào),這是一款能夠加快產(chǎn)品開發(fā)進程的工具,原來兩個月的開發(fā),使用SDSoC工具后能夠在兩周內(nèi)完成。SDSoC開發(fā)環(huán)境可以通過兩種方式加速Zynq SoC和MPSoC開發(fā)進程。第一種是,軟件開發(fā)人員借助Xilinx平臺、第三方平臺或者最終用戶平臺,可以比使用傳統(tǒng)硬件/傳統(tǒng)軟件開發(fā)流程更快地啟動開發(fā);第二種是采用SDSoC,可以消除在將可編程邏輯用作軟件加速器時,軟件團隊和硬件團隊之間常發(fā)生的反復變更,真正加速整體系統(tǒng)開發(fā)進程。
SDSoC的全系統(tǒng)優(yōu)化編譯器,能夠提供數(shù)據(jù)自動連接,不需要軟件工程師了解硬件數(shù)據(jù)的連接,原來需要硬件工程師做的工作將由SDSoC自動來完成,這樣就大大節(jié)約了開發(fā)成本。
SDSoC采用基于PC采樣的非侵入式編譯器和標準的GPROF編譯器,能夠幫助用戶配置其自身軟件應用,以識別占用時間最多且適用于硬件加速的功能。而且,SDSoC還具備快速系統(tǒng)性能和器件利用率估算功能,能夠迅速完成系統(tǒng)級架構探索,以實現(xiàn)最佳性能、資源利用率和功耗。
SDSoC為系統(tǒng)架構師和平臺開發(fā)人員提供專家級的使用模型,可為Zynq全可編程SoC開發(fā)板(如ZC702、ZC706等)以及第三方和市場特定平臺(如Zedboard、MicroZed、ZYBO和視頻圖像開發(fā)套件)提供板支持包(BSP)。這些BSP中包含的元數(shù)據(jù)可讓SDSoC進行平臺抽象,以便嵌入式軟件開發(fā)工程師和系統(tǒng)架構師加速產(chǎn)品開發(fā)進程。
Xilinx亞太區(qū)Zynq業(yè)務拓展經(jīng)理羅霖還親自演示了利用SDSoC開發(fā)的一個視頻監(jiān)控的Demo,從最后的效果可以看出,顯示畫面非常清晰流暢,而采用傳統(tǒng)的開發(fā)方法顯示出來的畫面則非常卡。關鍵是效果非常好的同時,還大大節(jié)約了開發(fā)時間,這就是SDSoC這款開發(fā)工具帶給嵌入式工程師的最大好處。
SDSoC是Xilinx推出的開發(fā)工具,但卻是一款所有嵌入式軟件開發(fā)工程師都可以使用的工具,即使不了解FPGA的工程師也可以快速使用,因為Xilinx的愿景就是希望未來的智能化系統(tǒng)不再依賴于底層硬件,讓更多的軟件工程師使用FPGA進行產(chǎn)品創(chuàng)新。