行业资讯


eFPGA,全称为嵌入式FPGA(Embedded FPGA),顾名思义是将类似于FPGA的可编程逻辑阵列“嵌入”到ASIC或SoC中。在本文中,收集整理了几个关于eFPGA的常见迷思,以及对应的解答和讨论,谨供各位读者参考。




eFPGA性能指标相关的迷思


1. eFPGA的工作频率能否达到我的设计要求?

和ASIC相比,绝大多数的FPGA设计都无法达到同样的运行频率。其实,FPGA并非以高时钟频率取胜,FPGA的高性能主要是通过极高的硬件并行处理能力、深度流水线、以及高位宽总线等方式取得。

嵌入式FPGA,即eFPGA的本质也是可编程逻辑阵列,因此单就运行频率而言并不能和ASIC相比。

不过,业界和学术界也在不断研究如何突破FPGA的频率限制,例如,英特尔在新一代的高端FPGA产品Stratix10中采用了HyperFlex架构,如下图所示,在可编程逻辑单元之间引入了多个寄存器阵列,可以将FPGA的运行速度增加1.5~2倍。

1558679084872083.jpg


2. eFPGA的功耗会不会太大?

这个问题的答案应该是否定的。不仅如此,eFPGA的功率密度通常远低于FPGA,或者ASIC与SoC上的其他IP。

对于传统的FPGA而言,它主要的“功耗大户”之一是FPGA的可编程I/O部分。而eFPGA直接通过芯片上总线与ASIC的其他IP相连,直接去掉了原FPGA的I/O部分,从而将削减了大部分功耗。

另一方面,如上一个问题提到的,eFPGA的频率远低于ASIC或SoC上的其他IP,使得eFPGA的动态功耗相对较低。


3. eFPGA能否为我的设计提供足够的带宽?

同样的,对于传统FPGA设计而言,系统性能很多时候直接受到FPGA芯片的I/O引脚数量的限制。特别是对于很多通信、网络、高性能运算的应用而言,需要FPGA芯片提供大量高性能SerDes收发器以及通用I/O引脚,以便于外部系统进行数据交换和传输,而这通常受到芯片封装技术的限制。

与此相比,eFPGA没有引脚数量限制,因为它本质上就是集成在ASIC里的IP核。因此与FPGA相比,eFPGA与ASIC或SoC的通信带宽可以提升10倍以上。事实上,这也是eFPGA产生和使用的主要推动因素之一。

eFPGA不需要芯片与芯片间的连接,而是直接通过芯片上不同IP的连接进行通信,极大提升了通信带宽,并减少了通信延时,见下图。


1558679229180697.jpg


4. 使用eFPGA会导致芯片面积过大?

ASIC或SoC工程师在第一次看到FPGA时通常会被FPGA芯片的大小吓到,因为通常FPGA芯片实在是太大了。可以看下图,感受一下FPGA与英特尔Atom通用处理器芯片大小的对比。

通常来讲,FPGA的主要芯片面积一半是可编程逻辑单元,另一半则是可编程的I/O及相关电路。可编程I/O是FPGA安身立命的法宝之一,它使得FPGA可以与包括微处理器、ASIC、存储器、以及其他FPGA在内的几乎其他任何芯片或系统相互通信。这也是为什么可编程I/O部分的芯片面积为何如此之大的原因。

与FPGA相比,eFPGA不需要实现可编程的I/O部分,因为与eFPGA相互通信的ASIC IP在设计时就已固定。当去掉了可编程I/O部分之后,对于同等逻辑密度的FPGA而言,eFPGA的芯片面积会极大缩减。


5. 使用eFPGA的成本会很高?

eFPGA的主要提供商之一,Achronix公司的市场部副总裁Steve Mensor称:使用eFPGA的成本“并不会比其他IP更贵”。

对于FPGA或eFPGA而言,它们最强大的功能是可以实现不同的用户逻辑,并且在芯片流片后还能进行功能逻辑的修改,因此能大幅降低SoC和ASIC的开发风险,并提高设计的灵活性。




eFPGA开发相关的迷思


1. eFPGA的开发流程与传统ASIC或SoC的开发流程差别太大?

eFPGA的流程与传统FPGA、ASIC或SoC的开发流程并无二致,总结起来都是逻辑综合、布局布线、时序优化等。和FPGA相同,eFPGA开发完成后也会生成一个二进制配置文件(bitstream),用来对可编程逻辑进行配置。包含eFPGA的SoC开发流程如下图所示。

与其说与ASIC或SoC的开发流程不同,不如说是开发工具有很大差别,这样就引出了下一个问题。

1558679272105345.jpg

 2. eFPGA的开发工具尚不成熟?

不管是对于FPGA设计,还是ASIC或SoC设计,开发工具一直是体现一个公司综合实力的精髓所在。

芯片开发工具可以大致分成两个层次,一个是用来设计芯片本身,主要是各大EDA公司如Cadence和Synopsys的软件套件,涵盖了芯片设计的各个阶段。另一个则是用来开发芯片应用的软件,例如用于FPGA开发的英特尔FPGA的Quartus Prime和Xilinx的Vivado等,这些软件决定了FPGA是否便于用户使用,因此是这些公司真正的“皇冠上的明珠”。

作为eFPGA厂商而言,提供便于使用且性能稳定的开发工具是必不可少的。这需要长期的技术积累,以及广泛的用户体验与反馈。老石相信,对eFPGA开发工具的研发,会是这些eFPGA厂商的重中之重。


3. eFPGA的开发难度太大?

在生产方面,eFPGA的开发和集成需要eFPGA厂商、ASIC或SoC集成商、以及晶圆代工厂紧密配合,保证在不同工艺节点eFPGA都能有效整合。然而,对于单纯的逻辑开发难度与周期而言,eFPGA与其他数字电路IP并无本质区别。

在eFPGA的配置和调试方面,也与传统FPGA没有太多区别。通过开发工具产生的eFPGA配置文件可以通过jtag或者flash等方式,对eFPGA进行功能配置。




结语

eFPGA作为一种存在许久的设计理念,在近年逐渐重新获得人们的关注。这主要是由于eFPGA能够提供更优的系统性能与更低的芯片功耗,因此被逐渐用于5G、机器学习加速器等诸多新兴领域。

eFPGA与FPGA二者同属可编程逻辑阵列,有着共同的架构和性能特点,但又有着不同的优势和缺点。老石认为,与其说eFPGA会替代FPGA,不如说eFPGA是FPGA的有力补充。相信在大数据和人工智能时代,这些可编程逻辑芯片一定会有着更加广阔的应用。


内容来自“老石谈芯”,谢谢!

上一篇:没有了!

下一篇:什么是FPGA工程师的核心竞争力