FPGA内建处理器加速软硬协同设计速度

在所谓的嵌入式设计领域,FPGA(可编程逻辑门阵列)亦可属于该领域的阵营之一,但随着ARM的开疆辟土,ARM在嵌入式领域也有相当优异的成绩表现。赛灵思(Xilinx)FAE经理罗志恺直言,在产业界里,同时具备ARM处理器、PLD与DSP架构的芯片业者,应只有赛灵思一家业者。

过往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也能够支持。

文章来源:CTIMES 姚嘉洋