FPGA概述
FPGA(可编程门阵列,Field Programmable Gate Array)是一种集成大量基本门电路及存储器的芯片,可通过烧入FPGA配置文件来来定义这些门电路及存储器间的连线,从而实现特定的功能。而且烧入的内容是可配置的,通过配置特定的文件可将FPGA转变为不同的处理器,就如一块可重复刷写的白板一样。因此FPGA可灵活支持各类深度学习的计算任务,性能上根据百度的一项研究显示,对于大量的矩阵运算GPU远好于FPGA,但是当处理小计算量大批次的实际计算时FPGA性能优于GPU,另外FPGA有低延迟的特点,非常适合在推断环节支撑海量的用户实时计算请求(如语音云识别)。
FPGA优势
快速上市时间:现成的完整的标准IP套件可以缩短上市时间,使您能够率先解占领最新的市场趋势。
高性能:采用最新的硅工艺节点,和收发器、存储器、核心处理技术和设计工具等领域的行业突破性进展相结合。
灵活性:高度的灵活性适应快速的设计变化,使您能够快速响应动态的市场趋势,不断开发的标准和快速发展的基础设施。
可定制的解决方案:可定制的解决方案允许您使用自己专有的IP来区分产品。
规模和规范:可伸缩的核心、I/O性能、内存和电源需求,以及不同产品系列之间连同产品线和相邻应用程序在单一平台上的标准化,减少了计划和过时的风险。
长产品生命周期:在非常长的系统部署期间,安全性、质量和可靠性将成为系统设计的要求。
FPGA和GPU各方面对比
FPGA和GPU内都有大量的计算单元,因此它们的计算能力都很强。在进行神经网络运算的时候,两者的速度会比CPU快很多。但是GPU由于架构固定,硬件原生支持的指令也就固定了,而FPGA则是可编程的。其可编程性是关键,因为它让软件与终端应用公司能够提供与其竞争对手不同的解决方案,并且能够灵活地针对自己所用的算法修改电路。
在平均性能方面,GPU逊于FPGA,FPGA可以根据特定的应用去编程硬件,例如如果应用里面的加法运算非常多就可以把大量的逻辑资源去实现加法器,而GPU一旦设计完就不能改动了,所以不能根据应用去调整硬件资源。
目前机器学习大多使用SIMD架构,即只需一条指令可以平行处理大量数据,因此用GPU很适合。但是有些应用是MISD,即单一数据需要用许多条指令平行处理,这种情况下用FPGA做一个MISD的架构就会比GPU有优势。 所以,对于平均性能,看的就是FPGA加速器架构上的优势是否能弥补运行速度上的劣势。如果FPGA上的架构优化可以带来相比GPU架构两到三个数量级的优势,那么FPGA在平均性能上会好于GPU。
在功耗能效比方面,同样由于FPGA的灵活性,在架构优化到很好时,一块FPGA的平均性能能够接近一块GPU,那么FPGA方案的总功耗远小于GPU,散热问题可以大大减轻。 能效比的比较也是类似,能效指的是完成程序执行消耗的能量,而能量消耗等于功耗乘以程序的执行时间。虽然GPU的功耗远大于FPGA的功耗,但是如果FPGA执行相同程序需要的时间比GPU长几十倍,那FPGA在能效比上就没有优势了;反之如果FPGA上实现的硬件架构优化得很适合特定的机器学习应用,执行算法所需的时间仅仅是GPU的几倍或甚至于接近GPU,那么FPGA的能效比就会比GPU强。
另外,FPGA的灵活性,很多使用通用处理器或ASIC难以实现的下层硬件控制操作技术利用FPGA可以很方便的实现,从而为算法的功能实现和优化留出了更大空间。同时FPGA一次性成本(光刻掩模制作成本)远低于ASIC,在芯片需求还未成规模、深度学习算法暂未稳定需要不断迭代改进的情况下,利用具备可重构特性的FPGA芯片来实现半定制的人工智能芯片是最佳选择。
FPGA主要的应用领域
一、数据采集和接口逻辑领域
1.FPGA在数据采集领域的应用
由于自然界的信号大部分是模拟信号,因此一般的信号处理系统中都要包括数据的采集功能。通常的实现方法是利用A/D转换器将模拟信号转换为数字信号后,送给处理器,比如利用单片机(MCU)或者数字信号处理器(DSP)进行运算和处理。
对于低速的A/D和D/A转换器,可以采用标准的SPI接口来与MCU或者DSP通信。但是,高速的A/D和D/A转换芯片,比如视频Decoder或者Encoder,不能与通用的MCU或者DSP直接接口。在这种场合下,FPGA可以完成数据采集的粘合逻辑功能。
2.FPGA在逻辑接口领域的应用
在实际的产品设计中,很多情况下需要与PC机进行数据通信。比如,将采集到的数据送给PC机处理,或者将处理后的结果传给PC机进行显示等。PC机与外部系统通信的接口比较丰富,如ISA、PCI、PCIExpress、PS/2、USB等。
传统的设计中往往需要专用的接口芯片,比如PCI接口芯片。如果需要的接口比较多,就需要较多的外围芯片,体积、功耗都比较大。采用FPGA的方案后,接口逻辑都可以在FPGA内部来实现了,大大简化了外围电路的设计。
在现代电子产品设计中,存储器得到了广泛的应用,例如SDRAM、SRAM、Flash等。这些存储器都有各自的特点和用途,合理地选择储存器类型可以实现产品的最佳性价比。由于FPGA的功能可以完全自己设计,因此可以实现各种存储接口的控制器。
3.FPGA在电平接口领域的应用
除了TTL、COMS接口电平之外,LVDS、HSTL、GTL/GTL+、SSTL等新的电平标准逐渐被很多电子产品采用。比如,液晶屏驱动接口一般都是LVDS接口,数字I/O一般是LVTTL电平,DDRSDRAM电平一般是HSTL的。
在这样的混合电平环境里面,如果用传统的电平转换器件实现接口会导致电路复杂性提高。利用FPGA支持多电平共存的特性,可以大大简化设计方案,降低设计风险。
二、高性能数字信号处理领域
无线通信、软件无线电、高清影像编辑和处理等领域,对信号处理所需要的计算量提出了极高的要求。传统的解决方案一般是采用多片DSP并联构成多处理器系统来满足需求。
但是多处理器系统带来的主要问题是设计复杂度和系统功耗都大幅度提升,系统稳定性受到影响。FPGA支持并行计算,而且密度和性能都在不断提高,已经可以在很多领域替代传统的多DSP解决方案。
例如,实现高清视频编码算法H.264。采用TI公司1GHz主频的DSP芯片需要4颗芯片,而采用Altera的StratixIIEP2S130芯片只需要一颗就可以完成相同的任务。FPGA的实现流程和ASIC芯片的前端设计相似,有利于导入芯片的后端设计。
三、其他应用领域
除了上面一些应用领域外,FPGA在其他领域同样具有广泛的应用。 (1)汽车电子领域,如网关控制器/车用PC机、远程信息处理系统。 (2)军事领域,如安全通信、雷达和声纳、电子战。 (3)测试和测量领域,如通信测试和监测、半导体自动测试设备、通用仪表。 (4)消费产品领域,如显示器|、投影仪、数字电视和机顶盒、家庭网络。 (5)医疗领域,如软件无线电、电疗|、生命科学。
FPGA市场前景
随着科技的进展,制造业走向更高度的自动化与智能化,对工业控制技术等领域不断产生新的需求,在未来的工业制造领域,FPGA将有更大的发展空间。目前来看,有两个领域的应用前景十分巨大:
工业互联网领域
作为未来制造业发展的方向,工业大数据、云计算平台、MES系统等都是支持工业智能化的重要平台,它们需要完成大数据量的复杂处理,FPGA在其中可以发挥重要作用。
工业机器人设备领域
在多轴向运作的精密控制、实时同步的连接以及设备多功能整合等方面,兼具弹性和整合性的FPGA,更能展现设计优势。如汽车ADAS需要对实时高清图像进行及时的分析识别与处理;在人工智能方面,深度学习神经网络也需要进行大量并行运算。
-
FPGA
+关注
关注
1629文章
21736浏览量
603425 -
gpu
+关注
关注
28文章
4740浏览量
128951
发布评论请先 登录
相关推荐
评论