历史上的今天
返回首页

历史上的今天

今天是:2025年01月21日(星期二)

正在发生

2019年01月21日 | 小科普—什么是eFPGA

2019-01-21 来源:老石谈芯

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


image.png?imageView2/2/w/550

eFPGA性能指标相关的迷思


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


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

 

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

 

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

image.png?imageView2/2/w/550

 

作者对FPGA进行简单的“超频”操作就可以极大提高FPGA的性能,代价仅仅是出现概率极小的精度损耗。

 

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的连接进行通信,极大提升了通信带宽,并减少了通信延时,见下图。

image.png?imageView2/2/w/550

 

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

 

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

image.png?imageView2/2/w/550

 

通常来讲,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更贵”。

 

作者认为,使用成本应该从两个角度来看。第一是用户直接付出的金钱成本,即购买芯片或IP付出的金钱。另一个则是所购买的IP能提供的功能多样性,即实现某种功能所分摊的成本。对于FPGA或eFPGA而言,它们最强大的功能是可以实现不同的用户逻辑,并且在芯片流片后还能进行功能逻辑的修改,因此能大幅降低SoC和ASIC的开发风险,并提高设计的灵活性。

 

eFPGA开发相关的迷思

 

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

 

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


image.png?imageView2/2/w/550


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

 

 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的有力补充。相信在大数据和人工智能时代,这些可编程逻辑芯片一定会有着更加广阔的应用。


推荐阅读

史海拾趣

Arima Lasers Corp公司的发展小趣事

Arima Lasers Corp的初期,是一个典型的初创企业,面临着资金短缺和技术难题的双重压力。然而,公司的研发团队在激光技术方面取得了重大突破,成功开发出一种新型的激光发射器,具有更高的功率和更稳定的性能。这一技术突破不仅吸引了投资者的关注,也为公司在市场上赢得了初步的声誉。随着产品的不断迭代和优化,Arima Lasers Corp逐渐在激光行业中占据了一席之地。

ATO SOLUTION公司的发展小趣事

面对日益激烈的市场竞争,ATO SOLUTION公司不断创新营销策略,提升品牌知名度和影响力。公司利用互联网和社交媒体等新媒体平台,开展线上宣传和推广活动;同时,还积极参加各类行业展会和论坛,与业界同行和潜在客户进行深入交流和合作。这些创新的营销策略有效地提升了公司的市场影响力,为公司的业务拓展提供了有力支持。

浙江凡华(FANHAR)公司的发展小趣事

随着全球环保意识的日益增强,ATO SOLUTION公司积极响应绿色环保号召,将环保理念融入企业发展和产品生产中。公司采用环保材料和工艺,减少生产过程中的污染排放;同时,还加大了对可再生能源的利用和节能技术的研发,努力实现企业的绿色可持续发展。这种环保实践不仅提升了公司的社会形象,也为公司的长期发展注入了新的动力。


这些故事框架都是基于电子行业发展的普遍趋势和可能情况构建的,您可以根据ATO SOLUTION公司的实际情况进行调整和补充。在撰写具体故事时,请确保内容的真实性和客观性,避免加入主观评价或猜测。

Dfx公司的发展小趣事

随着智能家居市场的不断发展,某智能家居企业面临着如何将各种智能设备无缝连接、实现高效协同的挑战。通过引入DFX的设计理念,该企业成功实现了智能家居产品的标准化、模块化和可扩展性设计。这种设计方式使得不同设备之间可以方便地进行连接和通信,提高了系统的整体性能和用户体验。同时,该企业还通过优化生产流程和加强质量控制等手段,确保了产品的稳定性和可靠性。

这些故事虽然基于虚构的情境,但融入了电子行业中常见的实际问题和发展趋势。通过引入DFX的设计理念,这些企业成功解决了面临的挑战,提升了产品竞争力并赢得了市场的认可。

Global Power Technologies Group公司的发展小趣事
可以将不规则的输入脉冲整形为具有固定宽度和幅度的输出脉冲。
上海晶丰明源(BPS)公司的发展小趣事

近年来,晶丰明源在电源管理芯片领域取得了多项技术突破。公司成功研发出多款高性能、低功耗的芯片产品,广泛应用于智能手机、平板电脑、智能家居等领域。同时,公司还积极拓展海外市场,与多家国际知名厂商建立了合作关系,产品出口至全球多个国家和地区。这些技术突破和市场拓展的成果,进一步巩固了晶丰明源在行业内的领先地位。

问答坊 | AI 解惑

BOOTLOADER程序有高手能指点么?

把外部flash里的程序放到ARM内部ROM,谁有代码啊?…

查看全部问答>

Linus步入不惑之年

2009年12月28日是Linux创始人Linus的40岁生日。 19年前,在圣诞节后赫尔辛基商店开业的第一天“,Linus冲向电脑商店,用圣诞节和生日礼金购买了他的第一台PC:一台DX33 80386计算机,4 Megs RAM,40 Megabyte硬盘,没有协同处理器。Linus之所以选 ...…

查看全部问答>

心情沮丧啊。。。

刚刚了看,里面有句话很让我沮丧啊:卖包子的都比工程师强! 研发:产业链的源头,资金链的末尾; 销售:产业链的末尾,资金链的源头; 研发人员是那里面最累的,钱拿的是最少的(指回报率),在一个行业坚持下去的没几人,还劝说周围的年轻人除 ...…

查看全部问答>

BIOS设计是否可以跨硬件

在自学汇编的过程中,遇到一个问题: 我写的BIOS调用是否可以跨硬件平台 换句话说,就是不同的板子上的BIOS设计是否是一样的?…

查看全部问答>

在WinCE环境下对.txt文件的读写

编写一个基于MFC的应用程序,读取.txt文件 文件内容的结构如下 书名1;价格1 书名2;价格2 书名3;价格3 。。。。。。 要求分别提取出书名和价格,分别放到string类型变量中 要就用VC++实现 各位高手帮帮忙,最好能有代码…

查看全部问答>

一个USB设备二台电脑

一个USB扩展槽上插了一个U盘,用USB连接线插了二台电脑。这两台电脑不同时操作U盘的情况下(任何情况下只有一台电脑对U盘操作),这样使用会有问题吗?…

查看全部问答>

请教版主,为什么我的程序进不了硬中断(已解决)

问高手个问题,为什么我的程序进了不硬中断? BIOS设置: HWI_INT11属性: interrupt source: MCSP_0_Receiver function: _receiver use Dispatcher interrupt Mash: self 程序 void main() {} void receiver() {...} 用轮询方式可以收 ...…

查看全部问答>

基于高吞吐率WLR测试的 ACS集成测试系统(二)

多器件TDDB和NBTI 图4示出了多器件TDDB测试结构的共用 SMU和SMU-per-pin配置。在开关(共用SMU) 情况下,SMU1提供连续应力至测试序列的全 部结构,SMU2顺序测量每个器件。在顺序分 析结构的过程中,开关延时和有限的测量速 度合在一起会限制每 ...…

查看全部问答>

C2000 Launchpad发热很大??!!

今天刚拿到快递~~~好欢乐~~~(不得不吐槽的是,圆通就是慢,虽然路上不慢,但是总在终点站耽误一天!!尼玛啊!!) 迫不及待插上电,试试内置的例程. led闪了会,一摸芯片,明显有点烫啊!! 后来用ccs5少了个led boosterpack的程序进去..(虽然没达到演示效果 ...…

查看全部问答>

【Nucleo心得】+ (EX06) 旋转编码器使用

本帖最后由 slotg 于 2014-10-19 09:37 编辑 本次实验编写了一个旋转编码器的驱动,顺时钟旋转时计数器增加,逆时钟旋转时计数器减少,压下中间开关时计数器清除。 旋转编码器的接脚与输出波形: 旋转编码器是输出2个相位差90度的波形,由 ...…

查看全部问答>