写点什么

FPGA 大发展!现在或许是从事 FPGA 行业的最好时代

作者:科技新消息
  • 2021 年 12 月 09 日
  • 本文字数:2969 字

    阅读完需:约 10 分钟

关于芯片行业,有一个灵魂拷问:什么是推动芯片发展的最根本动力?这个问题看起来是个送分题,答案绝大部分人都会脱口而出:摩尔定律。

每隔 18-24 个月,芯片上的晶体管数量就会增加一倍。但是,“晶体管数量本身并没有太多意义,有意义的是如何把这些多出来的晶体管用起来”,芯片大神 Jim Keller 曾经这样说过。所以晶体管数量的变化,其实反映着功耗、性能、面积、成本的变化。明确了这一点,就可以衍生出很多相关的推论,比如晶体管数量如果不变,芯片面积就会缩小一半、或者功耗缩减一半;面积如果不变,性能就会提升一倍,价格会降低一半,等等等等。

但是很多人也都在考虑另外一个问题:摩尔定律究竟描述的是表象,还是本质?上世纪六七十年代,戈登摩尔提出这个“定律”的时候,其实是在总结和描述芯片发展的规律。他的本意,并不是用这个规律来指导整个产业的发展。与其说摩尔定律像个指挥千军万马的将军,它更像是一面旗帜,代表了人们对于芯片产业不断发展的信心。

那么,究竟什么是推动芯片发展的根本动力?

从本质上来看,是需求。供需关系是经济学里最基础的概念,芯片行业几乎所有大大小小的创新与进步,其实都是基于需求的驱动。拿 FPGA 来举例,我们一直说它是延续摩尔定律最好的例子。并不是因为 FPGA 在盲目增加晶体管数量,而是它根据不同的需求,很好的把这些额外的晶体管利用起来了。

FPGA 从最早期的逻辑验证芯片,发展到网络通信设备中的重要组成部分,再发展到今天数据中心里的核心单元,这个过程就是在不断发现需求、满足需求、创造需求的循环。

2021 年 12 月 7 号-10 号,英特尔举行了 2021 英特尔 FPGA 技术大会,并且分享了很多 FPGA 技术与产品的最新进展。从这次的活动里,我们就能非常清楚的看到,需求如何改变了 FPGA 芯片发展的轨迹。我们接下来就一个一个的说。

1、FPGA 的新作用

提到 FPGA 的用途,很多人还停留在原型验证和硬件仿真上,这未免有些一叶障目了。拨开眼前这片树叶,你会发现 FPGA 已经用在太多地方了。用英特尔公司副总裁,FPGA 和电源产品事业部、数据中心和人工智能事业部、可编程解决方案事业部总经理 Patrick Dorsey 的话说,FPGA 可以用来加速云、端、及其中间的全部应用。

这就是 FPGA 的现状,远远不止原型验证,也远不止网络通信,而是作为高吞吐量、高能耗比的硬件加速单元,去加速你能想到的所有应用。当然,FPGA 只是整个链条中的一个环节。如果从更高的高度往下看,英特尔的另外一句很有名的口号,就很好的概括了所有需求:“移动更快、存储更多、处理一切。Move fast, Store more, Process everything.”

为了满足这样的需求,必然不能通过一种架构、一种产品、一种方案来实现。我们需要芯片、需要板卡、需要 IP、需要开发软件,也需要健康的生态,这些都是 FPGA 不断进化的方向。

2、Agilex FPGA 的新提升

如果穿越回 N 年前(N 大于等于 5),给当时的工程师说 FPGA 现在长这样,估计绝大部分人都会惊掉下巴。特别是 Agilex FPGA,更是和传统的 FPGA 架构有着巨大差别。

Agilex 这个名称源于 Agile(敏捷)和 Flexible(灵活)的合二为一。相比于其他指标,比如性能、功耗、成本,Agile + Fexible 这两点才是业界对现代 FPGA 的最迫切需求。

也就是说,人们不仅需要一个高吞吐量、高带宽、高逻辑单元的性能猛兽,更需要一个灵活性强、适用性广,开发简单高效的器件。只有这样,才能更好的履行“硬件加速器”的职责,才能符合前面说的大方向:移动更快、存储更多、处理一切。

从架构和技术的角度详细分析 Agilex 的改进与提升,总结起来主要有 6 个主要方面:

1、全新的芯片布局

2、新一代 HyperFlex 寄存器架构

3、多样的时序优化方法

4、英特尔 10 纳米 SuperFin 工艺

5、系统级 3D 芯片

6、更灵活的 DSP 和布线微架构

举例来说,Agilex 的芯片布局进行了大修,把通用 I/O、存储器 I/O、SRAM 等等单元都移到了芯片的上下两端。原本这些单元都在芯片中间按列分布,这会把芯片分割成很多个小的设计区域,容易造成布线拥堵和延时。Agilex 的新型芯片布局,就从根本上规避了这些问题,从而加速设计的时序收敛。

另外一个例子就是 Agilex 的 HyperFlex 寄存器架构。这种结构从 Stratix10 FPGA 里首次获得采用,到 Agilex 已经发展到了第二代。事实上,HyperFlex 的想法是非常理想的,也就是在 FPGA 的布线资源上插入很多小寄存器,可以将时序路径分割成更小的部分,从而极大提升系统的工作频率。

但是这种方案实施起来,就遇到很多问题。比如 HyperFlex 寄存器本身会引入额外的延时,每个小寄存器的扇出数量,也会对系统性能造成负面影响。另外加入了这么多额外的单元,又对设计软件的自动化算法提出了挑战。其实,这些问题很多都在 Stratix10 里真实存在。

也就是说,HyperFlex 的思路没错,但是实施方式出现了问题。所以,Agilex 改进了 Stratix10 里第一代 HyperFlex 的设计缺陷,从原本更宽的多扇出设计,改成了现在更窄的少扇出设计,同时简化了 HyperFlex 寄存器本身的设计,减少了旁路延时。FPGA 的基本组成单元 ALM,也进行了重新设计,单独增加了额外的输出端口,可以直连 HyperFlex 寄存器。这些优化设计,都让 Agilex 的性能取得了大幅提升。根据英特尔的数据,仅是 HyperFlex 相关的改进,就将延时降低了超过 20%。

当然还值得一提的是 Agilex 的制造工艺。它采用了英特尔的 10 纳米 SuperFin 工艺。它比英特尔的基础 10 纳米工艺取得了进一步提升。相比 14 纳米的 Stratix10,Agilex 更是取得了平均 50%的性能提升、以及高达 40%的功耗降低。

和赛灵思的 7 纳米旗舰产品 Versal 相比,Agilex 也可以取得 1.42 倍的性能提升,以及超过 30 瓦的功耗降低。

那么,什么是驱动这些提升的根本动力?就是数据中心对算力的需求、是边缘计算对延时的需求、是各种数据和应用对存储容量、数据传输速度的需求。

归根到底,都是各种需求。于是,FPGA 上集成了更多晶体管、更多 IP、更强大的收发器,原本的架构不够用,就设计新的架构,更好的利用这些多出来的晶体管。

所有这些,又会进一步延续摩尔定律的发展。

3、如何编程 FPGA

还想简单说说 FPGA 的编程方法。基于 RTL 的设计仍然是开发 FPGA 的主流手段,但是更多高层次开发方法也在不断发展。

Quartus 软件变的越来越智能,它不再把所有芯片一视同仁,也不再把芯片上的所有位置和部分一视同仁,而是根据大量的测试数据,分区域进行功耗和时序的优化。把更长的时序路径,放在更快的区域,把不那么长的路径,放在稍微慢一点的位置,从而实现整体的优化提升。

这些技术进步,说起来就寥寥几句,但实现起来又何其复杂。只有能用起来的芯片,才有价值。EDA 软件一直是 FPGA 厂商“皇冠上的明珠”,因为它的使命就是让芯片更好用。

为了提升可用性,英特尔又把 RISC-V 放到了 FPGA 里,提出了名叫 Nios V 的软核处理器。它有 5 级流水线和 AXI4 接口,比之前的 NiosII 处理器性能提升了 5 倍。但更重要的是,用户可以直接基于 RISC-V 生态进行软件开发,而不需要额外学习 Nios 了,这才是 Nios V 的最大意义。

结语

现在或许是从事 FPGA 行业最好的时代,不管是 FPGA 芯片本身,还是 FPGA 的应用,都有太多新的机会。我们完全不必纠结摩尔定律是否已经临近终结,只要需求还在,技术的进步就不会停息。

英特尔 FPGA 线上技术大会(12 月 7~10)正在进行,欢迎前往英特尔 FPGA 技术大会官网注册报名。

用户头像

还未添加个人签名 2021.01.07 加入

还未添加个人简介

评论

发布
暂无评论
FPGA大发展!现在或许是从事FPGA行业的最好时代