FPGA內(nèi)建處理器 加速軟硬協(xié)同設(shè)計速度
在所謂的嵌入式設(shè)計領(lǐng)域,FPGA(可編程邏輯閘陣列)亦可屬于該領(lǐng)域的陣營之一,但隨著ARM的開疆辟土,ARM在嵌入式領(lǐng)域也有相當(dāng)優(yōu)異的成績表現(xiàn)。賽靈思(Xilinx)FAE經(jīng)理羅志愷直言,在產(chǎn)業(yè)界里,同時具備ARM處理器、PLD與DSP架構(gòu)的晶片業(yè)者,應(yīng)只有賽靈思一家業(yè)者。
賽靈思(Xilinx)FAE經(jīng)理羅志愷
過往FPGA在產(chǎn)業(yè)界總有一種讓人曲高和寡的感覺,不過羅志愷也表示,在募資網(wǎng)站Kickstarter已有不少案例是采用賽靈思的Zynq進(jìn)行設(shè)計開發(fā)。他以無人的飛行直升機為例,開發(fā)者就是透過OPEN CV的函式庫與Zynq加以結(jié)合而開發(fā)而成。他更談到,OPEN CV其實是C語言與C++的延伸版本,但賽靈思的作法是采用HLS(High-Level Synthesis;高階合成語言)進(jìn)行移植,以達(dá)到軟硬體協(xié)同設(shè)計的目標(biāo)。而賽靈思每一季都會針對OPEN CV比較關(guān)鍵的程式碼進(jìn)行移植的工作,進(jìn)一步的說,就是將C語言轉(zhuǎn)成RTL的流程,由賽靈思處理并加以最佳化,工程師便無需在這個流程上耗費心力。
羅志愷進(jìn)一步解析Zynq的晶片架構(gòu),傳統(tǒng)上,系統(tǒng)設(shè)計用兩顆SoC(系統(tǒng)單晶片)的作法,在連線的速度上相當(dāng)有限,但若是加以整合后,透過晶片內(nèi)部的連結(jié),在處理速度上更能有效提升,而Zynq本身是用雙核的Cortex-A9處理器與FPGA整合而成,中間是采用AMBA4.0的傳輸介面,速度可高達(dá)100Gbps,再加上FPGA也有平行運算特性的乘加器來達(dá)到DSP(數(shù)位訊號處理器)的功能,所以要加速軟體處理的性能,進(jìn)而作到軟硬協(xié)同設(shè)計便相當(dāng)容易。
另一方面,羅志愷也指出,過往要作軟硬體協(xié)同設(shè)計有著相當(dāng)高的難度,工具彼此之間有著的鴻溝需要跨過,不過隨著賽靈思在各類開發(fā)工具的努力,開發(fā)工具之間的溝通已經(jīng)不是問題。此外,由于Zynq本身就內(nèi)建了處理器,因此要搭載作業(yè)系統(tǒng)也不是問題,目前針對Linux部份,已經(jīng)有Petalinux這類免費的套件可以針對Linux系統(tǒng)進(jìn)行在Zynq上的移植,當(dāng)然,工程師若要選用開放原始碼的Linux版本,Zynq也能夠支援。