自 FPGA 诞生以来,FPGA(现场可编程门阵列)就引起了人们的关注。在 1980 年代中期,Ross Freeman 和他的同事从 Zilog 购买了该技术,并创建了 Xilinx,目标是 ASIC 仿真和教育市场。(Zilog 来自埃克森,因为在 1970 年代人们已经担心石油将在 30 年后用尽,今天仍然如此)。同时,Altera 以类似技术为核心成立。

 

FPGA 是一种由电路编程的芯片。它被称为“模拟”电路。这个模拟比实际电路运行的速度要慢,如果它是在 ASIC 中实现的话——它具有较慢的时钟频率并使用更多的功率,但是它可以每几百毫秒重新编程一次。

 

制造 ASIC 的人们开始使用 FPGA 来仿真 ASIC,然后再将其应用到掩模上并发送到工厂进行制造。英特尔,AMD 和许多其他公司在制造之前使用 FPGA 来仿真其芯片。

 

触动了电信行业的神经
电信行业一直大量使用 FPGA。电信标准不断变化,建造电信设备非常困难,因此首先提供电信解决方案的公司往往会占领最大的市场份额。由于 ASIC 需要花费很长时间才能制造,因此 FPGA 提供了捷径的机会。最初的电信设备版本开始采用 FPGA,这引发了 FPGA 价格冲突。尽管 FPGA 的价格与 ASIC 仿真市场无关紧要,但电信芯片的价格却很重要。许多年前,AT&T 和朗讯制造了自己的 FPGA,称为 ORCA(优化的可重配置单元阵列),但就硅片的速度或尺寸而言,它们与 Xilinx 或 Altera 不具有竞争优势。

 

如今,华为已成为 FPGA 的最大客户。中美之间最近的紧张关系可能始于美国的 FPGA,这使得华为在两年前世界上任何其他厂商都准备好开始竞争之前,就在提供 5G 电信设备方面拥有优势。

 

FPGA 的价格触及了神经
早期,FPGA 被用于 SDRs(软件定义的无线电),同时构建了可同时用于许多不同标准的通信的无线电,实质上只有一部电话能说多种语言。这次,FPGA 触手可及。SDR 技术的实施方式存在分歧。商业供应商开发了具有成本效益的解决方案,如今地球上的每个基站都具有 SDR 技术。另一方面,在国防界,SDRs 是由大型国防承包商建造的,他们要保护的是利润丰厚的传统产品线。结果是基于 FPGA 的无线电产品的价格过高,以致美国国防市场的一部分对其使用产生了持续的过敏反应。

 

接下来,FPGA 试图在 DSP(数字信号处理器)和嵌入式市场中发展。在角落里几乎没有硬微处理器的 FPGA 开始出现。销售这些新的 FPGA 的压力是如此之大,以至于如果客户拒绝新的芯片系列,它们将被列入黑名单,有时甚至会拒绝服务几个月。鉴于 FPGA 产品因其巨大的表面积和知识产权层而无法降低价格,因此,发展 FPGA 市场的压力一直而且仍然是巨大的,FPGA 公司征服新市场的失败的规模也是如此。

 

在 HPC 和数据中心中触及神经
在过去的几年中,FPGA 试图在 HPC(高性能计算)和数据中心市场中发展。2017 年,微软宣布在数据中心中使用 Altera FPGA,而英特尔则收购了 Altera。2018 年赛灵思公司宣布其“数据中心首先”战略,赛灵思 CEO 在分析师面前宣布,赛灵思不是 FPGA 公司了。这可能是一种轻微的戏剧化,但从历史上看是相关的。

 

在 HPC 和 FPGA 的数据中心使用中,当今的主要障碍是布局和布线 - 运行将电路映射到 FPGA 元件的专有 FPGA 供应商软件所花费的时间。在大型 FPGA 和快速 CPU 服务器上,布局和布线最多需要三天,甚至三天后,很多次软件仍无法找到映射。

 

触及石油和天然气中的神经
然而,在石油和天然气的实施中,2007 年左右有了一个利基市场。传统计算机模拟地球上的钻孔以发现石油所花费的时间比钻探现场的实际建筑和钻探本身更长。FPGA 加速器的使用极大地改变了这种颠倒的时序。石油公司数据中心中的第一个 FPGA,用于计算地震图像,由 Maxeler Technologies 制造,并交付给 Chevron。

 

在石油和天然气中,FPGA 的使用扩展了几年,直到 ASIC 行业的压力导致其恢复为标准 CPU 技术。如今,石油和天然气中的预测和模拟仍然很重要,地震成像大多在 CPU 和 GPU 上完成,但 FPGA 的机会仍然存在。这提醒我们,“今天的新事物是明天的遗产”,当然,今天的新事物是 AI,并且专注于数据。

 

尽管如此,FPGA 仍然是一种快速上市的方式,一种获得竞争优势的简单方法以及许多任务关键情况的必不可少的技术 - 尽管与 ASIC 相比,每块芯片价格昂贵。但是,与在 CPU 或 GPU 上运行软件相比,在 HPC 和数据中心中,FPGA 的运营成本大大降低。所需的 FPGA 更少,与 CPU 和 GPU 相比,所需的散热更少。FPGA 使得数据中心更小,从而使运营商感到不安,他们担心自己的数据中心可能会缩小。

 

ASIC 与 FPGA
使用 FPGA 的另一种方法是补充 ASIC。构建 ASIC 的目的是保持固定功能,同时增加 FPGA,以为产品的最新更改或适应不同市场提供一定的灵活性。

 

现代 FPGA 集成了越来越多的硬件功能,并且变得越来越像 ASIC,而 ASIC 有时会在其设计中添加一些 FPGA 结构,以进行调试,测试,现场修复以及根据需要添加少量功能的灵活性。

 

尽管如此,ASIC 团队一直在与 FPGA 概念抗争。ASIC 设计师问:“您想要什么功能?” 如果回答是“我还不知道”,他们就会不耐烦。

 

无人驾驶汽车产业就是这样的新战场。由于算法不断变化,并且法律法规可能会在汽车驶入现场时发生变化,因此需要更新驾驶员,因此解决方案必须具有灵活性。FPGA 的时钟频率较低,因此散热片较小,因此物理尺寸比 CPU 和 GPU 小。更低的功耗和更小的尺寸使 FPGA 成为显而易见的选择。尽管如此,GPU 更易于编程,并且不需要三天的布局和路线。

 

此外,能够在车内和云中(主要用于模拟和测试)运行相同的代码是至关重要的,因此 FPGAs 必须先在云中可用,然后才能在车内使用。由于这些原因,许多开发人员更喜欢 GPU。

 

FPGA 的发展
FPGA 正在不断发展。现代接口正试图使 FPGA 易于编程,更加模块化,并与其他技术更加协作。FPGA 支持 AXI(高级可扩展接口)总线,这使它们更易于编程,但同时也带来了极大的效率低下,并使 FPGA 的性能下降,最终使竞争力下降。学术工作,例如 Eric Chung 的关于 FPGA 动态网络的论文,有助于解决路由问题,但是这种先进的思想尚未为业界所接受。

 

FPGA 如何连接?对于具有大量数据流的 HPC 工作负载,您可以使用 PCI Express 并部署通信隐藏技术。但是,像 NFV(网络功能虚拟化)这样的小型工作负载却可以同时为大量用户提供服务。通常,对于 NFV 和虚拟机加速,FPGA 必须直接连接到 CPU,可能使用缓存一致性作为一种通信机制,这是 VMware 最近调查的结果。当然,关键特性是能够使 FPGA 崩溃而不使 CPU 崩溃,反之亦然。超标量技术公司正在从 IBM 大型机时代重新发现需求,从而将越来越多的复杂性带入标准化平台。

 

群众也有机会。在提供 FPGA 平台时,没有 ASIC 开发预算且不了解最新芯片制造挑战和解决方案的组织可以开发电路并在其产品中建立竞争优势,例如在物联网(IoT)网络边缘、靠近传感器、显示器或仅在数据线上在线计算的新机会。

 

同时,FPGA 公司正在垂直向上推堆栈,并将其推入 CPU 插槽,英特尔在该市场上占据主导地位,例如,包括针对 NFV 的特殊说明。数据中心中新 CPU 和 FPGA 进入的主要障碍不仅在于速度和成本,还在于所有可能的 I / O 设备的软件和驱动程序的可用性。

 

使 FPGA 在数据中心中工作的关键是使它们易于使用—例如,使用自动工具来驱动 FPGA 的使用而不会产生布局和布线困难。微软率先在超标量数据中心中使用 FPGA 来加速 Bing,NFV 和 AI 算法。Microsoft 还构建了抽象,特定于域的语言和灵活的硬件基础结构。在商业上,FPGA 的主要问题是上市策略。

 

制造新芯片,然后开始考虑该软件为时已晚。而如何通过使硬件适合该软件来从现有软件中获取价值?这也带来了重新思考 FPGA 架构的机会。但是,要提一个警告:硅产业吞噬了现金。构建 ASICs 是一种扑克游戏,多年来赌注不断上升。这是一场赢家通吃的比赛,FPGAs 之类的威胁在比赛初期就被消除了。

 

FPGA 正在为硅项目带来额外的不良风险。

 

利基技术
虽然软件设计人员总是会说:“如果可以通过软件完成,则将通过软件来完成,” ASIC 设计人员将说:“如果可以通过 ASIC 完成,则将通过 ASIC 完成。” 最有趣的是,“如果可以用软件完成,那么您就不必与认为像 FPGA 的人打交道了。” 与制造 ASIC 所需的军队以及世界范围内的软件程序员相比,FPGA 拥有一个很小的社区,其中包含许多有时是古怪的程序员。FPGA 公司很小。FPGA 社区很小。

 

英特尔正在推动 FPGA 的灵活性。它是遵循构建硬件以运行现有软件的原则的最成功的公司。

 

fpga 可以比 cpu 和 gpu 更快,但是从工业界和投资界得到的惨痛教训是,在计算机存在的大部分时间里,速度并不重要,实时性也不重要。因此,仅仅为了速度而购买电脑是很少见的。它会发生,但它更多的是一个随机事件,而不是一个建立业务的市场。此外,FPGA 没有标准的、开源的、令人愉快的编程模型——因此,对于在所有 FPGA 芯片上工作或可以轻松交叉编译的 FPGA 程序,没有一个标准的市场。Maxeler 技术提供了一个高级解决方案来提供这样的接口,但是广泛的行业采用需要信任。要从早期采用者受益到惠及每个人,信任需要数据中心领域中现有供应商的一致和支持。

 

现实世界中的应用程序人员说:“我不在乎它是什么,只是给我一种方法去做我想做的事。” 尚未广泛探索的 FPGA 可能有哪些应用领域?对于实时计算,有制造。对于无人机的计算机视觉,这是 FPGA 的重量和功耗优势。在卫星上,进行硬件升级非常昂贵,因此 FPGA 提供了至关重要的长期灵活性。FPGA 需要找到一种能产生谐振的产品,并且它们必须易于编程。不只是硬件或软件,还包括生态系统。这是完整的解决方案。

 

超越当前市场范围的一种方法是实时编译和自动 FPGA 程序生成。这说起来容易做起来难,但是随着 AI 撕毁应用程序空间的机会越来越大。如今,一切都由 AI 完成。甚至诸如石油和天然气地震成像之类的传统算法都采用了 AI。需要科学和工程解决方案来处理 AI 块。FPGA 可能是一个很好的起点,可能首先是连接 AI 模块,然后将它们合并到 FPGA 架构中,例如 Xilinx 的下一代芯片,而 AI 架构,CPU,100G 接口和 FPGA 单元都在同一个 7 纳米芯片中。

 

从另一个角度来看,随着人工智能芯片产生和消耗大量数据,fpga 将需要满足这个庞大的需求,并将输出快速移走。随着人工智能处理的新 ASIC 的出现,fpga 可以为人工智能芯片公司提供差异化。

 

预测
以下的发展在 10 年或 25 年前就能预测到吗?虽然世界在变化,但预测似乎保持不变。

 

1. 将会有成功的 CPU+FPGA 服务器芯片,或直接访问 CPU 缓存层次的 FPGA。有人说可以,有人说不可以。

 

2. SoC(片上系统)FPGA 芯片将不断发展壮大,带动医疗,下一代电信和汽车行业等。

 

3. 开发人员将使用 FPGA 来做令人惊奇的事情并使世界变得更美好,但必须掩盖内部存在 FPGA 的事实。

 

4. 将保留 FPGA 名称,并构建称为 FPGA 的芯片,但是内部的一切将完全不同。

 

5. 当我们放弃(数据流)优化以使 FPGA 易于编程时,FPGA 的性能将降低,因此它们将不再与 CPU 竞争,后者将始终易于编程。

 

6. 将会有具有动态路由,不断发展的互连以及运行时灵活的数据移动的 FPGA。

 

7. 放置和布线软件以及 FPGA 顶部的完整软件堆栈将是开源的。Yosys 和 Lattice FPGA 已经开始努力。

 

8. 所有半导体架构都将与 TPU,GPU,CPU,ASIC 和 FPGA 组合成单个芯片。一些可能是每个整体的组合。其他将是每个部分的组合。

 

9. 更多的芯片将专注于有限的应用空间,而更少的通用芯片。从某种意义上说,一切都变成了 SoC。

 

最后评论
本文解决了多少个冲突,并且创建了多少个新冲突?从这个意义上讲,冲突是对现有工作方式的挑战。这种现有的做事方式可能会影响人们的思维方式,从而影响他们的行为方式。但是,也许更重要的是,这将影响我们的开发商如何谋生。