微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 借人工智能东风FPGA芯片设计顺势崛起

借人工智能东风FPGA芯片设计顺势崛起

时间:02-18 来源:网站整理 点击:

  2015年,大数据、物联网、人工智能、计算机视觉等行业呈现井喷之势,与之切实相关的上下游产业也发生着天翻地覆的变化,FPGA就是其中之一。FPGA即现场可编程门阵列,是一种半定制的IC芯片。原厂(如XILINX、ALTERA、LATTICE、MicroSemi等)生产出的是空白的不含配置信息的FPGA芯片,顾客可根据自己的需要,利用片上所提供的各种资源开发自己的逻辑,将生成的配置信息写入,从而将其变成自己所需功能的芯片,FPGA可近乎不限次数反复重配。

  FPGA提供的资源包括查找表(lookup table)、触发器(flip-flop)、分布式块RAM、硬核乘加器、加法器超前进位链、锁相环(Phase-locked loop),可编程延时链,以及具备可配电平模式,阻抗匹配,输入输出或三态,串行解串功能的I/O管脚,以及连接这一切资源的可编程互连,时钟走线等等。此外有些FPGA还集成了速率达几十Gb每秒的收发器(Transceiver)、片内处理器硬核(PowerPC、ARM等)、模拟的ADC、DAC等器件,形成了一颗Soc(System on a chip)的单芯片解决方案。

  FPGA与其他解决方案的对比以及行业应用

  A.与专用集成电路(ASIC)对比:ASIC一旦被流片,其内部结构就处于冻结状态,不能进行修改,如果设计有问题,则需要重新流片,而一次性投入费用( non-recurring engineering)在ASIC成本中是比较昂贵的;FPGA所有资源都可以近乎不限次数地反复更改为新的连接配置,形成新的芯片功能,因此可重配置形成了FPGA一大特色。具体体现在以下几方面:

  1、比ASIC方案需要更短的开发时间,在激烈竞争的行业可以迅速占领市场。例如通讯行业,由于标准变动频繁,需要具备提供兼容的网络从2G到3G,并进一步从3G到4G LTE模式,因此FPGA在标准快速变动时期、或者产品迅速演进时期是一个很好的解决方案;当标准固定下来或产品演进稳定后,对于一些市场容量巨大的行业,ASIC方案会及时跟进,提供更低的价格,需要更少的功耗。

  2、FPGA由于集成了片内逻辑分析功能,可以在工作现场展开实况下的调试定位问题。因此FPGA常被用来做ASIC原型验证,减少一次性投入费用(NRE.)打水漂的风险。

  3、与ASIC方案相比,使用FPGA方案的产品具备了更长的可维护周期,更小的初期投入成本,因此FPGA已经被保留用于许多垂直行业应用中,因为这些行业产量小并且逻辑版本迭代快,因此不足以摊平NRE.费用。对于这些小批量应用,FPGA方案比更经济并且更具灵活性和产品可维护性。从原厂FAE服务客户名单来看,FPGA的具体应用行业包括数字信号处理,软件定义无线电,ASIC原型设计,医学成像,计算机视觉,语音识别,密码学,生物信息学,计算机硬件仿真,射电天文学,金属检测等。

  4、当然FPGA相对ASIC方案也有不足之处,ASIC可以做到更高的集成度,需要更小的硅片面积,达到更高的工作频率,更小的能源消耗;对于大规模且标准化的应用,NRE.费用可以平摊到忽略不计,因此ASIC具备更低的成本。当然随着技术的发展,FPGA也在功耗方面做的越来越出色,有些高端的 FPGA芯片甚至接近ASIC的功耗水平,然而硅片面积方面需要具备可编程能力,因此需要冗余资源配备,没有太多优化空间。

  B.与处理器方案相比:

  FPGA另一大特色就是并行运行,与CPU顺序执行指令不同,FPGA内的所有资源都在按各自时序并行运行:

  1.可以利用内部为数众多的查找表、寄存器、乘加器、IP硬核等资源对运算密集型算法进行并行实现,可以利用流水线方式优化路径时序,在一个时钟周期的吞吐率下实现最为复杂的算法;

  2.利用内部分布式RAM定制任意所需存储架构、读写及更新方案,充分利用其巨大并行带宽和可灵活定制的存储位宽和深度,减少反复冗余访问外部存储器的需求,提高处理速度和效率。

  打个比方,1可以类比为CPU,2可以类比为cache。

  FPGA与GPU方案类似,都是并发运行的,区别在于FPGA提供更细粒度、资源分配更灵活的并行执行引擎,并且提供更灵活的cache,此外还提供更低的功耗。下图说明了不同方案开发时间和可达到性能的关系(摘自XILINX ug998)。

  

  从图中可以看到FPGA在RTL开发流程可以达到最高的性能,但是花费的开发时间是最长的。因此现在各大FPGA原厂都在力推系统级开发方案,包括 XILINX的高层次综合(HLS)方案,以及ALTERA的OPENCL方案,可以将开发周期压缩得更短,同时得到较高的性能。

  C.FPGA具备的其他特点:

一颗FPGA在一个产品中可以根据不同的工作模式,配置为不同的逻辑功能,只要两种模式存在时间上的需求差异,就可以提高

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top