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