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